@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Serif+TC:wght@400;500;600;700;900&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth;background:#11100f}body{color:#e9e3d8;background:#11100f;margin:0;font-family:Noto Serif TC,Georgia,serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:root{--paper:#e9e3d8;--ink:#11100f;--red:#b64435;--line:#e9e3d838;--muted:#9e988f}.audio-dock{z-index:4;color:#d5c9ba;letter-spacing:.04em;background:#11100feb;border:1px solid #e9e3d84d;align-items:center;gap:12px;padding:8px 12px;font:10px DM Mono,monospace;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.music-picker{white-space:nowrap;align-items:center;gap:8px;display:flex}.music-picker select{color:#ece4d8;max-width:150px;font:inherit;letter-spacing:.02em;background:0 0;border:0;outline:none}.music-picker option{color:#ece4d8;background:#171513}.audio-dock audio{width:240px;height:28px}.audio-underlay{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.wrap{width:min(1180px,100% - 64px);margin-inline:auto}.nav{z-index:2;color:#f0ece4;justify-content:space-between;align-items:center;height:84px;display:flex;position:absolute;left:0;right:0}.logo{letter-spacing:.08em;font-size:18px;font-weight:900;line-height:1}.logo span{letter-spacing:.2em;color:#c9c0b5;margin-top:7px;font:10px DM Mono,monospace;display:block}.nav-links{align-items:center;gap:26px;font-size:14px;display:flex}.nav-links>a{opacity:.82}.sound{color:inherit;letter-spacing:.08em;background:0 0;border:1px solid #ffffff59;padding:8px 11px;font:10px DM Mono,monospace}.sound.on{color:#f3b7aa;border-color:#d96e57}.hero{align-items:end;height:100vh;min-height:760px;display:flex;position:relative;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{filter:saturate(.62)contrast(1.12);background:url(/images/grimm-hero.png) 50%/cover no-repeat;transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,#090706eb 2%,#09070680 47%,#08090a1a),linear-gradient(#0000 50%,#080808c7)}.hero-copy{z-index:1;padding-bottom:116px;position:relative}.eyebrow,.en{color:#cabcaa;letter-spacing:.16em;font:10px DM Mono,monospace}.hero h1{letter-spacing:-.075em;margin:18px 0 28px;font-size:clamp(48px,7.4vw,100px);font-weight:900;line-height:1.08}.hero-intro{color:#d3ccc1;width:min(440px,100%);font-size:18px;line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.primary-button{border:1px solid var(--paper);color:var(--paper);background:0 0;align-items:center;gap:40px;margin-top:22px;padding:16px 19px;font-weight:700;display:inline-flex}.primary-button:hover{background:var(--paper);color:var(--ink)}.sound-launch{color:#e5d7c7;letter-spacing:.04em;background:#0a0a0a73;border:1px solid #d6c4adb3;margin-top:22px;padding:15px 17px;font:11px DM Mono,monospace}.sound-launch:hover,.sound-launch.playing{color:#f2a395;border-color:#d96e57}.hero-note{z-index:1;letter-spacing:.15em;writing-mode:vertical-rl;align-items:center;gap:10px;font:10px DM Mono,monospace;display:flex;position:absolute;bottom:42px;right:32px}.hero-note i{border-left:1px solid #ddd;height:62px}.manifesto{grid-template-columns:1fr 2.1fr;gap:6vw;padding:155px 0 140px;display:grid}.manifesto h2,.section-top h2,.about h2,.letter h2{letter-spacing:-.06em;margin:0;font-size:clamp(30px,4vw,58px);line-height:1.35}.manifesto em{color:#c65a4a;font-style:normal}.manifesto div>p,.about p{max-width:480px;color:var(--muted);margin:30px 0 0;font-size:16px;line-height:2}.archive{padding-bottom:148px}.section-top{border-top:1px solid var(--line);justify-content:space-between;align-items:end;padding-top:23px;display:flex}.section-top h2{margin-top:12px}.count{text-align:right;margin:0;font:44px DM Mono,monospace}.count span{color:var(--muted);letter-spacing:.12em;font-size:11px}.controls{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:42px 0 26px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{color:var(--muted);background:0 0;border:0;padding:8px 12px}.filters button.active{color:var(--ink);background:var(--paper)}.search{border-bottom:1px solid var(--line);color:var(--muted);padding:8px 0}.search input{color:var(--paper);background:0 0;border:0;outline:0;width:135px;margin-left:7px}.search input::placeholder{color:#817b73}.story-grid{grid-template-columns:repeat(3,1fr);gap:44px 20px;padding-top:32px;display:grid}.story-card{border-top:1px solid var(--line);cursor:pointer;padding-top:12px}.story-card:hover .story-image img{filter:grayscale(0);transform:scale(1.06)}.story-image{aspect-ratio:4/4.55;background:#272421;position:relative;overflow:hidden}.story-image:after{content:"";background:linear-gradient(#0000 52%,#00000075);position:absolute;inset:0}.story-image img{object-fit:cover;filter:grayscale(.42);width:100%;height:100%;transition:all .6s}.index,.tag{z-index:1;letter-spacing:.1em;font:10px DM Mono,monospace;position:absolute;top:12px}.index{left:12px}.tag{background:#0f0f0f99;padding:5px 7px;right:12px}.story-body{padding:18px 2px 0}.story-body .en{color:#a84e41;margin:0}.story-body h3{letter-spacing:-.04em;margin:8px 0;font-size:25px}.story-intro{color:#9e988f;min-height:74px;margin:0;font-size:14px;line-height:1.8}.meta{color:#c7beb1;letter-spacing:.06em;border-top:1px solid var(--line);justify-content:space-between;margin-top:16px;padding-top:12px;font:10px DM Mono,monospace;display:flex}.meta span:last-child{color:#bd5647}.empty{color:var(--muted);padding:50px 0}.about{color:#201d19;background:#ded8cc;padding:130px 0}.about-grid{grid-template-columns:1fr 2.1fr;gap:6vw;display:grid}.about .eyebrow{color:#716a60}.about p{color:#5f5950}.letter{justify-content:space-between;gap:80px;padding:140px 0;display:flex}.letter form{flex-direction:column;align-items:stretch;width:min(410px,100%);display:flex}.letter label{color:#c3b9aa;font-size:13px}.letter input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--paper);background:0 0;outline:0;padding:15px 0;font-size:18px;display:block}.letter .primary-button{justify-content:space-between}.letter small{color:#777169;margin-top:16px;font-size:11px;line-height:1.7}footer{border-top:1px solid var(--line);letter-spacing:.08em;color:#938d85;justify-content:space-between;align-items:center;padding:30px 0 38px;font:10px DM Mono,monospace;display:flex}footer p{text-align:center;line-height:1.8}footer small{letter-spacing:.03em;font-size:9px}footer>a:last-child{color:#d3c7b7}.reader{z-index:5;background:#0a0908fa;padding:90px 24px;position:fixed;inset:0;overflow:auto}.close{color:var(--paper);background:0 0;border:0;font:12px DM Mono,monospace;position:fixed;top:28px;right:32px}.reader-inner{max-width:620px;margin:auto}.reader h2{letter-spacing:-.075em;margin:12px 0;font-size:clamp(37px,6vw,68px);line-height:1.2}.reader-deck{color:#bcb4a8;font-size:18px;line-height:1.8}.reader-rule{border-top:1px solid var(--line);margin:40px 0}.prose{color:#d4cdc2;margin:0 0 27px;font-size:18px;line-height:2.1}.the-end{text-align:center;color:#8d857a;letter-spacing:.15em;margin-top:60px;font:10px DM Mono,monospace}.chapter-label{color:#b6473f;letter-spacing:.13em;margin:44px 0 16px;font:11px DM Mono,monospace}.book-chapter:first-of-type .chapter-label{margin-top:0}@media (width<=720px){.wrap{width:min(100% - 36px,1180px)}.nav{height:68px}.nav-links>a{display:none}.hero{min-height:680px}.hero-copy{padding-bottom:100px}.hero h1{font-size:52px}.hero-intro{font-size:16px}.hero-note{bottom:26px;right:18px}.manifesto,.about-grid{grid-template-columns:1fr;gap:22px;padding-top:88px;padding-bottom:85px}.archive{padding-bottom:86px}.controls,.letter{flex-direction:column;align-items:stretch;gap:20px}.search{width:100%}.search input{width:calc(100% - 30px)}.story-grid{grid-template-columns:1fr;gap:34px}.story-card .story-image{aspect-ratio:1.3}.story-intro{min-height:0}.about,.letter{padding:85px 0}.letter h2{font-size:42px}footer{flex-wrap:wrap;gap:18px}.reader{padding:80px 22px}.close{top:22px;right:19px}.prose{font-size:16px;line-height:2}.section-top h2{font-size:39px}.audio-dock{justify-content:space-between;width:calc(100% - 24px);bottom:10px}.music-picker{min-width:0}.music-picker select{max-width:116px}.audio-dock audio{width:52%}}
