:root{color-scheme:light;--paper:#f7f6f2;--white:#fff;--ink:#202a35;--muted:#747a7e;--line:#dcded9;--navy:#24394a;--green:#4b7161;--red:#9b4d50;font-family:"Yu Gothic UI","Meiryo",sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.8}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:2px;min-height:44px;padding:10px 20px;transition:background .16s,border-color .16s}button:hover{background:#f0f2ed;border-color:#8b9d92}button:disabled{cursor:not-allowed;color:#a1a5a4;background:#e9ebe7;border-color:#e0e3dd}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #718f7e;outline-offset:4px}a{color:inherit}.primary{background:var(--navy);border-color:var(--navy);color:white;padding:13px 24px}.primary:hover{background:#365367;color:white}.primary:disabled{background:#dee2df;color:#969f9a;border-color:#dee2df}.quiet{background:transparent}.report-button{background:#edf2ee;border-color:#b3c5ba;color:#315344}.shell{max-width:1280px;margin:auto;padding:0 48px}header{display:flex;gap:25px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,"Yu Mincho",serif;font-size:34px;letter-spacing:-1.8px;line-height:1.2;text-decoration:none;color:#1d2e42;white-space:nowrap}.brand em{font-style:normal;color:#517260}.header-title{border-left:1px solid #aeb5b2;padding-left:23px;font-size:12px;letter-spacing:.1em}.header-title small{font-size:8px;display:block;letter-spacing:.12em;color:var(--muted)}.header-links{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:11px}.header-links>span{color:var(--muted);letter-spacing:.06em}.header-links button{font-size:11px;min-height:40px;padding:8px 13px;background:transparent}nav{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:0}nav button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 0;border:0;border-radius:0;background:none;font-size:12px;color:#868c87}nav button:hover{background:none;color:var(--green)}nav button:disabled{border:0;background:none;color:#a8ada9;cursor:default}nav button.active{color:var(--ink);font-weight:600}nav button>span{font-size:9px;width:24px;height:24px;display:grid;place-items:center;border:1px solid #d0d7d0;border-radius:50%;line-height:1}nav button.active>span{color:white;background:var(--navy);border-color:var(--navy)}nav button.visited>span{color:var(--green);border-color:#9ab6a5}.route-end{margin-left:auto;color:#929991;font-size:11px;letter-spacing:.08em}main{outline:none;min-height:60vh;padding-bottom:32px}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--green);margin:0 0 17px;font-weight:500}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:500}h1{font-size:42px;line-height:1.5;letter-spacing:.13em;margin-bottom:0}h2{font-size:25px;line-height:1.8;letter-spacing:.08em}h3{font-size:16px;font-weight:500}.subtle{color:var(--muted);font-size:12px}.breadcrumb{font-size:10px;color:#8e948f;margin:26px 0 22px;letter-spacing:.06em}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:38px 0 28px}.breadcrumb+.page-heading{margin-top:0}.page-heading .eyebrow{margin-bottom:7px}.page-counter{font-family:Georgia,serif;font-size:35px;font-weight:400;letter-spacing:.02em}.page-counter small{font-size:15px;color:#a2aaa2}.collection-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;margin:20px 0 44px}.collection-intro h2{font-size:24px;margin:0 0 13px}.collection-intro>div>p{color:#757d7a;font-size:12px;line-height:2.1;margin:0;max-width:520px}.page-note{border-left:2px solid #839789;padding:0 0 0 22px;font-size:11px}.page-note>span{font-size:10px;letter-spacing:.1em;color:var(--green);font-weight:600}.page-note p{margin:7px 0 5px;line-height:1.9}.page-note small{font-size:10px;color:#8a9289}.section-label{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0;font-size:12px;letter-spacing:.1em}.section-label small{font-size:9px;letter-spacing:.08em;color:#94998e}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.collection-card{min-width:0}.collection-card>button{border:1px solid transparent;background:none;padding:0;text-align:left;width:100%;height:100%;display:flex;flex-direction:column}.collection-card>button:hover{border-color:#b7c3b7;background:#fff}.collection-image{width:100%;aspect-ratio:1.18;overflow:hidden;background-color:#d9d5c8;flex-shrink:0}.name-art{background-image:url('assets/name-exhibits.png');background-repeat:no-repeat;background-size:300% 200%;aspect-ratio:1}.art-1{background-position:0 0}.art-2{background-position:50% 0}.art-3{background-position:100% 0}.art-4{background-position:0 100%}.art-5{background-position:50% 100%}.art-6{background-position:100% 100%}.card-copy{padding:16px 10px 7px;width:100%}.work-id{font-size:9px;color:#7c8c7c;letter-spacing:.1em}.card-copy h3{margin:4px 0 13px;letter-spacing:.06em}.card-copy h3>span{float:right;color:#728578;font-size:16px}.card-copy p{border-top:1px solid var(--line);font-size:10px;color:#8b9189;margin:0;padding:9px 0 0;display:flex;justify-content:space-between;gap:12px}.card-copy p>b{color:#4b5751;font-size:11px;font-weight:400}.feedback{margin:30px 0 0;padding:14px 18px;font-size:12px;color:#65776a;background:#ecf0e9;border:1px solid #dce4d8;line-height:1.8}.pagination{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding:25px 0 10px;margin-top:26px;font-size:12px}.pagination small{display:block;margin-top:4px;color:#92998f;font-size:10px}.completion{color:#7d857b;font-size:11px}.completion.done{color:var(--green)}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-actions button{font-size:12px}.work-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:start;margin:35px 0}.work-detail .collection-image{aspect-ratio:1}.image-caption{font-size:10px;color:#8c958c;margin:12px 0 0}.work-info{padding:18px 0}.work-info h2{margin-bottom:17px}.work-info>p:not(.eyebrow){font-size:12px;line-height:2.1;color:#798479}.work-info dl{margin:28px 0;border-top:1px solid var(--line)}.work-info dl>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.work-info dt{font-size:11px;color:#8c958b}.work-info dd{margin:0}.work-info .report-button{width:100%;margin-top:16px;font-size:12px}.detail-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;font-size:11px;color:#8e968c}.detail-navigation button{font-size:11px}.home-hero{display:grid;grid-template-columns:1.1fr 1fr .2fr;gap:40px;padding:55px 0 48px;border-bottom:1px solid var(--line);align-items:center}.home-copy h1{font-size:clamp(40px,5vw,62px);line-height:1.7;letter-spacing:.17em;margin-bottom:20px}.home-copy>p:not(.eyebrow){font-size:12px;color:#7c857b;line-height:2.2}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 20px}.home-caption{font-size:8px;color:#8d9589;letter-spacing:.13em}.hero-art>.name-art{width:100%;aspect-ratio:.85;background-size:300% 200%;border:8px solid white;box-shadow:0 10px 40px #343e3414}.hero-art>span{display:block;font-size:9px;color:#89927f;margin-top:12px;letter-spacing:.1em}.hero-side{font-family:Georgia,serif;font-size:38px;color:#c2c7bd;line-height:1.5;align-self:start;padding-top:25px;letter-spacing:.03em}.hero-side em{color:#78927b;font-style:normal}.how-to{padding:40px 0 35px;position:relative}.how-to h2{font-size:27px;margin-bottom:10px}.how-to>p:not(.eyebrow){font-size:12px;color:#7c8579;line-height:2}.how-to ol{display:flex;list-style:none;gap:35px;padding:12px 0 0;margin:0;font-size:11px;color:#697765}.how-to li{display:flex;align-items:center;gap:12px}.how-to b{font-family:Georgia,serif;font-size:20px;color:#a2b39e;font-weight:400}.home-settings{border:1px solid var(--line);padding:15px 22px;font-size:12px;background:#fff}.home-settings summary{cursor:pointer}.settings{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:20px 0;font-size:12px}.settings label{display:flex;flex-direction:column;gap:6px}.settings label.check{flex-direction:row;align-items:center;gap:10px}.settings select{padding:10px;background:white;border:1px solid #bfc9bb;font-size:12px;color:var(--ink)}.settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.settings input[type=range]{accent-color:var(--green);max-width:170px;height:24px}.graphic{position:relative;background:linear-gradient(135deg,#dedbcb,#c0cbbd);isolation:isolate}.graphic-appearance{background:linear-gradient(130deg,#ddd8ca,#bac6b8)}.graphic-memory{background:linear-gradient(130deg,#d1d9d1,#a4b4b0)}.graphic-will{background:linear-gradient(130deg,#e1d9c8,#bcb29b)}.graphic small{position:absolute;left:20px;bottom:15px;font-size:9px;letter-spacing:.2em;color:#5b6a5c}.graphic-circle{position:absolute;width:55%;aspect-ratio:1;border:1px solid #f8faf09c;border-radius:50%;top:15%;left:22.5%}.graphic-person{position:absolute;left:40%;top:29%;width:20%;height:48%;background:#576c5e;opacity:.6;clip-path:polygon(35% 0,66% 0,76% 10%,66% 22%,80% 28%,100% 70%,78% 70%,69% 42%,68% 100%,53% 100%,50% 66%,47% 100%,31% 100%,32% 42%,20% 70%,0 70%,21% 28%,36% 22%,24% 10%)}.graphic-lines{position:absolute;inset:20%;border-top:1px solid #f3f3e3b0;border-bottom:1px solid #f3f3e3b0;transform:rotate(-20deg)}.graphic-2 .graphic-circle{border-radius:0;transform:rotate(45deg)}.graphic-3 .graphic-person{left:26%;opacity:.4}.graphic-4 .graphic-lines{transform:rotate(20deg)}.graphic-5 .graphic-circle{width:75%;left:12.5%}.graphic-6 .graphic-person{transform:scaleX(-1);left:48%}.admin-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;background:white;border:1px solid var(--line);padding:45px;margin:35px 0}.admin-layout p{font-size:12px;color:#798274}.admin-layout h2{font-size:24px}.admin-note{display:inline-flex;flex-direction:column;gap:5px;background:#f4efda;padding:15px 20px;font-size:11px;margin:12px 0 18px}.admin-note strong{font-family:monospace;font-size:16px;font-weight:400;letter-spacing:.06em}.admin-layout form{display:flex;flex-direction:column;gap:15px;font-size:12px;padding-top:12px}.admin-layout input{width:100%;padding:13px;background:#fafbf7;border:1px solid #bcc8b5;min-height:46px;color:var(--ink)}.admin-layout [aria-invalid=true]{border-color:#a45f57}.screening-player{background:#202d33;min-height:360px;padding:35px;position:relative;color:#efefdf;overflow:hidden}.player-tag{font-size:9px;letter-spacing:.2em;color:#9faf9f}.screening-text{text-align:center;font-family:"Yu Mincho",serif;font-size:clamp(18px,2vw,28px);line-height:1.8;margin:50px 0 25px}.screening-text small{display:block;font:12px/2 sans-serif;margin-top:12px;color:#a3baa5}.attendees{display:flex;gap:24px;justify-content:center;margin:26px 0}.attendees span{display:block;width:25px;height:65px;border-radius:40% 40% 0 0;background:linear-gradient(#8aa48b,#415949);position:relative}.attendees span:before{content:"";position:absolute;top:-18px;left:3px;width:19px;height:19px;border-radius:50%;background:#8aa48b}.released .attendees span{animation:leave 3s ease-in forwards}.interrupted{box-shadow:inset 0 0 0 1px #a2666c}.return-page{position:relative;border:1px solid var(--line);min-height:400px;background:#ebede6;overflow:hidden;margin-top:30px}.return-archive{padding:35px;min-height:400px}.return-archive h2{font-size:25px;max-width:500px}.return-archive>p:not(.eyebrow){color:#6d7d6d;font-size:12px}.rescue-line{display:flex;flex-wrap:wrap;gap:10px 15px;align-items:center;margin-top:16px;color:#8a9387;font-size:10px}.rescue-line b{color:#597a64;font-weight:400}#sound-caption{margin-left:auto;color:#96605e}.timer{font-variant-numeric:tabular-nums;font-size:12px;color:#73907a}.exit{background:#e7ede5;border-color:#aec1a7;font-size:12px}.playback{position:absolute;left:17%;top:10%;width:64%;border:1px solid #aa8586;background:#f9f5ed;box-shadow:0 18px 55px #29262e3d}.playback.front{left:21%;top:15%;transform:rotate(.6deg)}.window-bar{display:flex;align-items:center;justify-content:space-between;padding-left:18px;font-size:10px;background:#e5dddb;border-bottom:1px solid #c6b1ae;color:#76625d}.window-bar button{border:0;border-left:1px solid #c6b1ae;background:none;border-radius:0;font-size:20px;min-width:48px}.player-body{padding:20px 24px 26px;text-align:center}.player-body h2{font-size:22px;margin:6px 0}.player-body p{font-size:12px;color:#927b77}.play-icon{font-size:30px;color:#ac8b87}.fake{background:#6b454f;color:#fff;border-color:#986974;min-height:46px}.fake:hover{background:#865664;color:white}.record{position:absolute;inset:7% 13%;background:#f4f0df;border:1px solid #c6be9f;padding:22px;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:space-between;box-shadow:0 10px 30px #3e3b2529}.record>span{font-size:10px;letter-spacing:.06em;color:#8b886d}.archive-letter{font-family:"Yu Mincho",serif;font-size:27px;line-height:1.7;border-top:1px solid #c8c2ad;border-bottom:1px solid #c8c2ad;padding:20px 30px;text-align:center}.record button{width:100%}.temptation{position:absolute;left:10%;right:10%;top:30%;text-align:center}.temptation h2{font-size:28px}.temptation p{font-size:11px;color:#946a71;margin-top:14px}.girl{position:absolute;bottom:0;right:8%;width:100px;height:210px;background:#17212b;opacity:.18;clip-path:polygon(35% 0,65% 0,77% 12%,72% 25%,65% 32%,100% 78%,68% 82%,62% 100%,52% 100%,50% 84%,46% 100%,36% 100%,32% 82%,0 78%,35% 32%,28% 25%,23% 12%);pointer-events:none;transform-origin:bottom}.girl.near{transform:scale(1.6);opacity:.28}.girl.closer{transform:scale(2.2);opacity:.4;transition:transform .6s}.girl.sweep{animation:sweep .7s forwards}.haunted .return-page{border-color:#aa8c8b;background:#e6e5df}.urgent .return-page{box-shadow:inset 0 0 0 2px #b37777}.urgent .timer{color:#aa5359}.end-panel{text-align:center;padding:55px 25px 65px;background:white;border:1px solid var(--line);margin:35px 0}.end-panel h2{font-size:28px}.end-panel p{font-size:13px;color:#7a8777;line-height:2}.end-count{font:70px/1.5 Georgia,serif;color:#587d64;margin:25px 0}.end-count small{font-size:25px;color:#bac5b4}.end-panel.final h1{font-size:65px;letter-spacing:.1em}.overlay{position:fixed;inset:0;background:#1b2636b3;backdrop-filter:blur(5px);z-index:30;display:grid;place-items:center;padding:20px}.dialog{background:var(--paper);border:1px solid #b8c4b3;padding:35px;width:min(550px,100%);max-height:90dvh;overflow:auto;box-shadow:0 25px 80px #17233566}.dialog h2{font-size:28px}.dialog p{font-size:13px}.dialog .settings{grid-template-columns:1fr}.dialog>button{margin-top:16px}.failure{animation:fade .4s ease-out}footer{margin-top:24px;padding:32px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;color:#939b8f;font-size:9px}footer strong{font-family:Georgia,serif;font-size:19px;font-weight:400;color:#758572}footer small{display:block;font-size:7px;letter-spacing:.15em}footer p{font-size:9px;margin:0;line-height:1.9}footer>span{font-size:10px;letter-spacing:.1em}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#debug{position:fixed;left:10px;bottom:10px;z-index:40;max-width:min(430px,95vw);padding:10px;background:#21392ff2;border:1px solid #91ab8d;color:white;font:10px monospace}.debug-buttons{display:flex;flex-wrap:wrap;gap:4px}.debug-buttons button{font-size:10px;padding:4px 8px;min-height:30px}#debug p{margin:9px 0 0}.reduced *, .reduced *:before,.reduced *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@keyframes leave{to{transform:translateX(100px);opacity:0}}@keyframes sweep{from{right:100%;opacity:.4}to{right:-30%;opacity:0}}@keyframes fade{from{background:#05090e}to{background:#1b2636b3}}
@media(min-width:1100px){.collection-grid .collection-image{aspect-ratio:1.12}.collection-grid .name-art{aspect-ratio:1}}
@media(max-width:800px){.shell{padding:0 28px}.header-links>span{display:none}.header-title{font-size:11px;padding-left:18px}nav{gap:22px}.home-hero{gap:24px;grid-template-columns:1fr 1fr}.hero-side{display:none}.home-copy h1{font-size:44px}.collection-intro{gap:30px;grid-template-columns:1fr 1fr}.collection-intro h2{font-size:21px}.collection-grid{gap:25px 16px}.card-copy{padding:13px 4px 5px}.card-copy h3{font-size:14px}.work-detail{gap:30px}.admin-layout{padding:30px;gap:30px}footer>span{display:none}.how-to ol{gap:22px}}
@media(max-width:540px){.shell{padding:0 20px}header{gap:12px;padding:22px 0}.brand{font-size:27px}.header-title{font-size:9px;padding-left:12px}.header-title small{font-size:6px;letter-spacing:.02em}.header-links button{font-size:9px;min-height:40px;padding:8px}.header-links{margin-left:auto}nav{gap:0;justify-content:space-between;padding:13px 0}nav button{font-size:10px;gap:5px}nav button>span{width:20px;height:20px;font-size:8px}.route-end{font-size:9px;margin-left:0}.home-hero{grid-template-columns:1fr;gap:26px;padding:35px 0}.home-copy h1{font-size:46px;margin-bottom:18px}.home-copy>.eyebrow{font-size:8px}.hero-art{width:78%;margin:0 auto}.hero-art>.name-art{aspect-ratio:1}.home-actions{margin:22px 0 17px}.home-actions button{font-size:12px}.how-to{padding:30px 0}.how-to h2{font-size:22px}.how-to ol{flex-direction:column;gap:8px}.home-settings{padding:14px}.settings{grid-template-columns:1fr}.breadcrumb{margin:22px 0 15px;font-size:9px}.page-heading{margin:30px 0 22px;gap:12px;align-items:center}.page-heading h1{font-size:33px}.page-heading>.quiet{font-size:10px;padding:9px}.page-counter{font-size:28px}.page-counter small{font-size:12px}.collection-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.collection-intro h2{font-size:21px}.collection-intro>div>p{font-size:11px}.page-note{padding-left:16px}.section-label{font-size:11px}.section-label small{font-size:7px;letter-spacing:.02em}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px}.card-copy{padding:10px 2px 3px}.card-copy h3{font-size:12px;margin:4px 0 10px}.card-copy h3>span{font-size:13px}.card-copy p{font-size:8px;gap:5px}.card-copy p>b{font-size:9px}.work-id{font-size:8px}.feedback{font-size:11px;padding:12px;margin-top:25px}.pagination{flex-direction:column;align-items:stretch;gap:18px;margin-top:22px;padding-top:22px}.page-actions{justify-content:flex-end}.pagination .page-actions button{font-size:11px;padding:12px 16px;flex:1}.work-detail{grid-template-columns:1fr;gap:18px;margin-top:22px}.work-info{padding-top:0}.work-info h2{font-size:24px}.work-info dl{margin:22px 0}.work-info dl>div{font-size:11px}.detail-navigation button{padding:10px 14px;font-size:10px}.admin-layout{grid-template-columns:1fr;padding:23px;gap:12px}.admin-layout h2{font-size:22px}.admin-layout form{padding-top:0}.screening-player{padding:22px;min-height:340px}.screening-text{margin-top:48px;font-size:20px}.attendees{gap:16px}.attendees span{width:20px;height:54px}.return-page,.return-archive{min-height:390px}.return-archive{padding:24px}.return-archive h2{font-size:23px}.playback{left:5%;width:86%}.playback.front{left:9%;top:16%}.player-body{padding:20px 15px}.player-body h2{font-size:20px}.window-bar{padding-left:13px;font-size:9px}.record{inset:8% 6%;padding:20px}.archive-letter{font-size:24px}.temptation{left:5%;right:5%;top:30%}.temptation h2{font-size:25px}.rescue-line{font-size:9px}#sound-caption{margin-left:0;width:100%}.end-panel{padding:40px 20px}.end-panel h2{font-size:23px}.end-panel.final h1{font-size:45px}.dialog{padding:25px}.dialog h2{font-size:24px}footer{padding:25px 0;gap:15px;align-items:start;flex-direction:column}footer p{font-size:8px}}
