:root{--color-paper:#fafafa;--color-ink:#1a1a1a;--color-ink-light:#4a4a4a;--color-accent:#c4a574;--color-accent-light:#e8d5b8;--color-border:#e5e5e5;--color-white:#ffffff;--color-white-fixed:#ffffff;--color-shadow:rgba(0,0,0,0.08);--color-overlay:rgba(0,0,0,0.6);--color-hero-bg-start:#f5f5f5;--color-hero-bg-end:#e8d5b8;--color-hero-overlay:rgba(255,255,255,0.3);--font-display:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;--font-chinese:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:6rem;--space-2xl:8rem;--max-width:1200px;--max-width-narrow:800px;--transition-fast:0.15s ease;--transition-base:0.3s ease;--transition-slow:0.5s ease}[data-theme=dark]{--color-paper:#121212;--color-ink:#f5f5f5;--color-ink-light:#a0a0a0;--color-border:#333333;--color-white:#1e1e1e;--color-shadow:rgba(0,0,0,0.4);--color-overlay:rgba(0,0,0,0.8);--color-hero-bg-start:#1a1a1a;--color-hero-bg-end:#121212;--color-hero-overlay:rgba(0,0,0,0.5)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body),var(--font-chinese);font-size:16px;line-height:1.7;color:var(--color-ink);background-color:var(--color-paper);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display),var(--font-chinese);font-weight:400;line-height:1.3;letter-spacing:-.02em;margin-bottom:1rem}h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.03em}h1,h2{font-weight:300}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1rem}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}.container{max-width:var(--max-width)}.container,.container-narrow{margin:0 auto;padding:0 var(--space-md)}.container-narrow{max-width:var(--max-width-narrow)}section{padding:var(--space-xl) 0}@media (max-width:768px){section{padding:var(--space-lg) 0}}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:1px solid var(--color-ink);background:transparent;color:var(--color-ink);font-size:1rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-ink);transition:left var(--transition-base);z-index:-1}.btn:hover:before{left:0}.btn:hover{color:var(--color-paper);border-color:var(--color-ink)}.btn-primary{border-color:var(--color-accent);color:var(--color-accent)}.btn-primary:before{background:var(--color-accent)}.btn-primary:hover{color:var(--color-white);border-color:var(--color-accent)}.card{background:var(--color-white);border:1px solid var(--color-border);padding:var(--space-md);transition:all var(--transition-base)}.card:hover{box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-4px)}.grid{display:grid;grid-gap:var(--space-md);gap:var(--space-md)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-col{display:flex;flex-direction:column}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}input,select,textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-ink);font-family:inherit;font-size:1rem;transition:border-color var(--transition-fast),background-color var(--transition-base),color var(--transition-base)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent)}textarea{resize:vertical;min-height:120px}label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-light)}.divider{height:1px;background:var(--color-border);margin:var(--space-lg) 0}.text-center{text-align:center}.text-uppercase{text-transform:uppercase}.text-accent{color:var(--color-accent)}.text-light{color:var(--color-ink-light)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease}.editable{position:relative;cursor:pointer;padding:.25rem;margin:-.25rem;border-radius:2px;transition:background-color var(--transition-fast)}.editable:hover{background-color:rgba(196,165,116,.1)}.editable:after{content:"✎";position:absolute;top:-8px;right:-8px;font-size:.75rem;color:var(--color-accent);opacity:0;transition:opacity var(--transition-fast)}.editable:hover:after{opacity:1}.inline-editing{display:inline-block;width:100%}.inline-editing input,.inline-editing textarea{width:100%;padding:.5rem;border:2px solid var(--color-accent);background:var(--color-white);font-family:inherit;font-size:inherit;color:inherit;border-radius:4px}.inline-editing textarea{min-height:100px;resize:vertical}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.edit-actions button{padding:.5rem 1rem;border:1px solid var(--color-ink);background:var(--color-white);color:var(--color-ink);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.edit-actions button:first-child{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.edit-actions button:hover{opacity:.8}.edit-mode-active:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;border:5px solid #c94c4c;pointer-events:none;z-index:10000;box-shadow:inset 0 0 15px rgba(201,76,76,.3)}.edit-mode-active{overflow-x:hidden}.edit-actions button:disabled{opacity:.5;cursor:not-allowed}html[lang=zh]{font-size:17px}html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{letter-spacing:.05em}@media (max-width:768px){:root{--space-lg:3rem;--space-xl:4rem;--space-2xl:5rem}.container{padding:0 var(--space-sm)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media print{.no-print{display:none!important}}