:root{--bg:#101010;--ink:#f1f0eb;--muted:#aaa9a3;--red:#ef232c;--line:#343434}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,'Noto Sans KR',sans-serif;font-size:15px;line-height:1.8}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}header{height:78px;position:absolute;z-index:5;top:0;width:100%;display:flex;align-items:center;padding:0 4%;border-bottom:1px solid #ffffff30;gap:50px}.brand{font:38px Georgia,serif;font-weight:bold;letter-spacing:-5px}.brand span{color:var(--red);font-size:22px;margin-left:8px}nav{display:flex;gap:30px;font-size:13px}nav a:hover,footer a:hover{color:var(--red)}.nav-entry{margin-left:auto;font-size:13px;border-bottom:1px solid var(--red)}.hero{position:relative;min-height:850px;height:100svh;max-height:1100px;overflow:hidden;background:#151515}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#0c0c0c 3%,#0c0c0cf0 25%,#0c0c0c55 55%,#0000 75%),linear-gradient(0deg,#101010 0%,transparent 30%),url('assets/hero.webp') 85% 30%/auto 120% no-repeat;filter:grayscale(1)}.hero-body{position:relative;z-index:2;padding:160px 6% 100px;max-width:1100px}.eyebrow,.section-id{font-size:11px;letter-spacing:2px;font-weight:600}.eyebrow i{display:inline-block;width:6px;height:6px;background:var(--red);margin-right:9px;border-radius:50%}h1{font-family:Didot,'Bodoni MT',Georgia,serif;font-weight:400;font-size:clamp(65px,8.6vw,138px);line-height:.94;letter-spacing:-6px;margin:50px 0 30px}h1 em,em{color:var(--red);font-style:normal}h1 span{letter-spacing:-7px}.hero-kicker{font-size:21px;font-weight:600}.intro{color:#bbb;line-height:2;font-size:14px;margin:24px 0 35px}.cta{background:var(--red);border:1px solid var(--red);color:white;display:inline-flex;justify-content:space-between;gap:65px;padding:15px 22px;font-size:13px}.cta:hover{background:#b71721}.hero-bottom{position:absolute;z-index:2;bottom:30px;left:4%;right:4%;display:flex;justify-content:space-between;color:#999;font-size:10px;letter-spacing:1px}.hero-bottom button{background:none;border:0;color:#ccc;font-size:11px}.rain{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.rain canvas{display:block;width:100%;height:100%}.rain.off{display:none}.ticker{border-block:1px solid var(--line);padding:17px 6%;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1.4px}.ticker b{color:var(--red);font-weight:400}.section{padding:110px 6%;max-width:1600px;margin:auto}.section-id{color:var(--red);margin-bottom:20px}h2{font-size:clamp(32px,3.6vw,54px);font-weight:500;letter-spacing:-2px;line-height:1.4;margin:0 0 30px}h3{letter-spacing:-1px}.opening{display:grid;grid-template-columns:1fr 1fr;gap:0 10%;border-bottom:1px solid var(--line)}.opening>.section-id{grid-column:1/-1}.opening-copy{color:var(--muted)}.opening-copy p:first-child{margin-top:0}.numbers{display:flex;gap:55px;margin-top:40px;font-size:11px}.numbers strong{display:block;color:var(--ink);font:50px Georgia,serif}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:40px}.section-heading p{font-size:13px;color:var(--muted)}small{font-size:11px;color:#858580}.atlas{display:grid;grid-template-columns:1.4fr 1fr;background:#191919;border:1px solid var(--line)}.map-wrap{position:relative;max-height:800px;overflow:hidden}.map-wrap>img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.7}.map-tag{position:absolute;top:18px;left:18px;font-size:9px;letter-spacing:2px;background:#111b;padding:5px 10px}.pin{position:absolute;background:var(--red);width:17px;height:17px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 7px #ef232c33;transform:translate(-50%,-50%);padding:0}.pin:hover,.pin.active{box-shadow:0 0 0 12px #ef232c66}.place-panel{padding:35px;min-width:0}.place-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:25px}.place-tabs button{font-size:11px;background:none;border:1px solid #454545;padding:5px 9px;color:#bbb}.place-tabs button.active{border-color:var(--red);color:white;background:#ef232c20}.place-panel>img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1)}.place-panel h3{font-size:30px;margin:22px 0 12px}.place-panel p{font-size:13px;color:var(--muted)}.meta{border-top:1px solid var(--line);padding-top:15px;color:#ddd;font-size:11px}.map-note{font-size:11px;color:#777;margin-top:30px}.factions{padding-top:60px}.faction-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.faction-tabs button{background:none;border:0;color:#888;padding:19px 5px;border-bottom:2px solid transparent;font-size:13px}.faction-tabs button[aria-selected=true]{color:white;border-color:var(--red)}.faction-feature{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:45px 0}.faction-feature h3{font-size:39px;font-weight:500;margin:0 0 15px}.faction-feature p{color:#bbb;max-width:520px;font-size:14px}.text-button{background:none;border:0;padding:10px 0;border-bottom:1px solid #666;font-size:12px}.truth{border-left:2px solid var(--red);padding-left:18px;color:#ddd!important}.faction-quote{border-left:1px solid var(--line);padding-left:50px}.faction-quote>span{font:68px Georgia,serif;color:var(--red)}.faction-quote p{font-size:23px}.characters{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.person{border:1px solid var(--line);background:#171717;padding:0;text-align:left;overflow:hidden;transition:border-color .2s}.person:hover{border-color:var(--red)}.person img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover;filter:grayscale(.2)}.person-meta{padding:13px 18px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.person-meta small{color:#999}.nocturne{display:grid;grid-template-columns:1fr 1fr;min-height:730px;background:#080808}.nocturne-img{background:linear-gradient(90deg,transparent,#080808),url('assets/hotel.webp') center/cover;filter:grayscale(1)}.nocturne-content{padding:70px 12% 70px 5%}.diamond{color:var(--red);font-size:35px}.nocturne h2{font:clamp(45px,5vw,77px)/1.03 Georgia,serif;letter-spacing:-3px;margin:18px 0}.nocturne p{color:#aaa;font-size:13px}.nocturne .nocturne-korean{letter-spacing:3px;color:#eee;font-size:11px}.rules{margin:28px 0;border-top:1px solid var(--line)}.rules p{border-bottom:1px solid var(--line);padding:12px 0;margin:0;font-size:11px}.rules b{color:var(--red);margin-right:15px}details{font-size:12px}summary{cursor:pointer}.paths{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px}.paths article{padding:0 35px;border-left:1px solid var(--line)}.paths article:first-child{padding-left:0;border-left:0}.paths article>span{color:var(--red);font:26px Georgia,serif}.paths h3{font-size:23px;font-weight:400}.paths p{color:#aaa;font-size:13px}.entry{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:130px}.entry p{color:#aaa}.entry small{display:block;line-height:1.9;margin-top:25px}.entry label{font-size:12px;display:block;margin-bottom:10px}.entry input,.entry select{background:#191919;color:white;border:1px solid #555;border-radius:0;width:100%;padding:15px;margin-bottom:25px}.entry .cta{width:100%}output{display:block;margin-top:25px}output:not(:empty){border:1px solid #666;padding:25px;background:#e5e3dc;color:#151515;position:relative}output strong{font:30px Georgia,serif;display:block}output p{color:#333!important;margin:8px 0;font-size:12px}.stamp{display:inline-block;color:#b31a20;border:2px solid #b31a20;padding:3px 14px;transform:rotate(-8deg);font-weight:bold;letter-spacing:2px;font-size:14px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:30px 6%;font-size:11px;color:#999}dialog{background:#161616;color:white;border:1px solid #666;width:min(850px,94vw);max-height:90svh;padding:0}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}.close{position:absolute;right:12px;top:10px;background:#111c;border:1px solid #666;width:40px;height:40px;font-size:26px;z-index:2}dialog img{display:block;width:100%}.dossier-text{padding:30px}dialog h3{font-size:30px;margin:0}dialog p{color:#bbb}.emotion-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.emotion-tabs button{background:#252525;border:1px solid #555;padding:5px 12px;font-size:12px}.emotion-tabs button.active{border-color:var(--red)}.dossier-portrait{max-height:380px;object-fit:cover;object-position:50% 25%}body.modal-open{overflow:hidden}@media(min-width:1600px){.hero-body{margin-left:max(0px,calc((100vw - 1600px)/2))}}@media(max-width:800px){header{gap:20px;height:68px}nav{gap:15px;font-size:11px}.nav-entry{font-size:11px}.hero{min-height:760px;height:95svh}.hero-art{background:linear-gradient(0deg,#101010 3%,#10101055 65%,#10101022),linear-gradient(90deg,#101010bb,#10101011),url('assets/hero.webp') 65% center/cover}.hero-body{padding:160px 6% 100px}h1{font-size:clamp(50px,10.5vw,82px);letter-spacing:-3px}h1 span{letter-spacing:-3px}.hero-kicker{font-size:16px}.eyebrow{font-size:9px;letter-spacing:1px}.hero-bottom span:last-child{display:none}.ticker span:last-child{display:none}.ticker{font-size:9px;letter-spacing:0}.section{padding:65px 6%}.opening,.entry{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.atlas{grid-template-columns:1fr}.map-wrap{height:560px}.map-wrap>img{object-position:center}.place-panel{padding:25px}.faction-tabs{grid-template-columns:repeat(2,1fr)}.faction-feature{grid-template-columns:1fr;gap:20px}.faction-quote{padding-left:20px}.faction-quote>span{font-size:40px}.characters{grid-template-columns:1fr}.nocturne{grid-template-columns:1fr}.nocturne-img{height:270px;background-image:linear-gradient(0deg,#080808,transparent),url('assets/hotel.webp')}.nocturne-content{padding:30px 6% 65px}.paths{grid-template-columns:1fr;gap:25px;margin-top:35px}.paths article,.paths article:first-child{border:0;border-top:1px solid var(--line);padding:20px 0 0}footer{gap:15px}footer p{font-size:9px}.numbers{gap:35px}.intro{font-size:13px}.map-note{margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rain{animation:none;display:none}*{transition:none!important}}
@media(min-width:801px){.hero-art{left:35%;background:linear-gradient(90deg,#101010 0%,#10101055 22%,transparent 55%),linear-gradient(0deg,#101010,transparent 35%),url('assets/hero.webp') 25% center/cover no-repeat}.hero-body{max-width:950px}h1{font-size:clamp(65px,7.6vw,122px)}}
.map-wrap{max-height:none;align-self:start}.map-wrap>img{height:auto;display:block;object-fit:contain}.place-panel{align-self:start;position:sticky;top:25px}@media(max-width:800px){.map-wrap{height:auto}.place-panel{position:static}}
/* Visual-first second edition */
.opening{padding-block:65px}.opening-copy p{font-size:14px;max-width:450px}.opening h2{font-size:clamp(30px,3vw,43px)}.city{padding-top:65px}.atlas{grid-template-columns:1.65fr 1fr}.map-stage{min-width:0;border-right:1px solid var(--line)}.scene-tools{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:space-between;padding:15px;background:#111;border-bottom:1px solid var(--line)}.scene-tools button,.time-tools button{background:#202020;border:1px solid #454545;padding:7px 11px;font-size:11px}.scene-tools button.active,.time-tools button.active{border-color:var(--red);background:#ef232c20;color:#fff}.view-modes{display:flex;gap:5px}.camera-controls{display:flex;align-items:center;gap:5px}.camera-controls label{font-size:10px;display:flex;align-items:center;gap:8px;margin-left:10px}.camera-controls input{width:65px;accent-color:var(--red)}.city-viewport{position:relative;height:660px;overflow:hidden;background:#0c0e10}.city-viewport[hidden],.map-wrap[hidden],[hidden]{display:none!important}#cityCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#cityCanvas:active{cursor:grabbing}#cityLabels{position:absolute;inset:0;pointer-events:none}.scene-pin{position:absolute;transform:translate(-50%,-100%);background:#0d0d0dda;border:1px solid #777;color:#ddd;white-space:nowrap;padding:5px 8px;font-size:10px;pointer-events:auto;display:flex;gap:5px;align-items:center}.scene-pin i{width:5px;height:5px;border-radius:50%;background:#ddd}.scene-pin.active{color:white;border-color:var(--red);z-index:3;background:#6a1117}.scene-pin.active i{background:var(--red)}.scene-pin:hover{background:var(--red);z-index:4}.scene-hint{position:absolute;bottom:35px;left:18px;font-size:10px;color:#ddd;pointer-events:none}.scene-note{position:absolute;bottom:15px;left:18px;color:#777;font-size:9px}.place-panel{padding:25px;position:static}.place-panel>img{aspect-ratio:4/3}.place-panel h3{margin-top:20px}.time-tools{display:flex;align-items:center;gap:5px;margin-bottom:12px}.time-tools span{font-size:10px;color:#aaa;margin-right:auto}.place-tabs{margin-bottom:18px}.place-panel .section-id{margin-bottom:12px}.place-panel p{line-height:1.8;font-size:14px}.place-panel .map-note{display:none}.map-wrap{max-height:720px;overflow:auto}.map-wrap>img{min-height:0}.pin{width:20px;height:20px}.faction-feature{padding-block:35px;grid-template-columns:1.2fr 1fr}.faction-feature p{font-size:15px}.faction-feature h3{font-size:35px}.faction-quote{display:flex;flex-direction:column;justify-content:center}.faction-quote>span{font-size:48px;line-height:1}.faction-quote p{font-size:20px;margin:10px 0}.characters{grid-template-columns:repeat(5,1fr);gap:12px}.person{position:relative}.person img{aspect-ratio:3/4;object-fit:cover;object-position:50% 25%;filter:grayscale(.5);transition:filter .25s,transform .35s}.person:hover img{filter:grayscale(0);transform:scale(1.035)}.person-meta{display:flex;flex-direction:column;align-items:start;padding:15px 12px;line-height:1.8;background:#171717;position:relative}.person-meta strong{font-size:20px;font-weight:500}.person-meta small{font-size:10px}.person-no{position:absolute;top:10px;left:10px;font-size:10px;background:#111b;padding:2px 8px}.person:last-child{grid-column:auto}.sealed{grid-column:1/-1;text-align:center;padding:65px;background:repeating-linear-gradient(135deg,#171717 0 2px,#131313 2px 15px);border:1px solid #444}.sealed>span{font:80px Georgia,serif;color:#555}.sealed h3{font-size:24px;font-weight:400}.sealed p{color:#999;font-size:13px}.portrait-layout{display:grid;grid-template-columns:1.3fr 1fr}.portrait-frame{background:#090909;min-height:450px}.dossier-portrait{width:100%;height:100%;min-height:450px;max-height:70svh;object-fit:cover;object-position:center top}.portrait-frame.show-card{display:flex;align-items:center}.show-card .dossier-portrait{min-height:0;height:auto;object-fit:contain}.dossier-text{padding:55px 25px 30px}.dossier-text h3{font-size:38px}.dossier-text p{font-size:13px}.emotion-tabs{gap:5px}.emotion-tabs button{font-size:11px;padding:6px 10px}.portrait-note{display:block;margin-top:30px}.paths{gap:16px}.paths article,.paths article:first-child{min-height:320px;border:1px solid #333;padding:100px 25px 25px;background-position:center;background-size:cover;display:flex;flex-direction:column;justify-content:end}.paths article p{max-width:260px;color:#ddd}.paths h3{margin:5px 0;font-size:23px}.paths article>span{font-size:18px}.radio-button{background:none;border:0;color:#ddd;font-size:11px;text-decoration:underline;text-underline-offset:5px}.hero-kicker{font-size:23px}.nocturne-content .rules{margin:20px 0}.section-heading p{max-width:280px}.entry{padding-top:65px}.section-heading h2{margin-bottom:0}@media(max-width:1100px){.characters{grid-template-columns:repeat(3,1fr)}.atlas{grid-template-columns:1fr}.city-viewport{height:600px}.place-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.place-panel .section-id,.place-tabs{grid-column:1/-1}.time-tools{grid-column:1;grid-row:3}.place-panel>img{grid-column:1;grid-row:4/8}.place-panel h3{grid-column:2;grid-row:3;margin:0}.place-panel>p{grid-column:2;grid-row:4}.place-panel .meta{grid-column:2;grid-row:5}.place-panel .map-note{display:none}}@media(max-width:650px){.characters{grid-template-columns:repeat(2,1fr);gap:10px}.characters .person:last-child{grid-column:1/-1;max-width:calc(50% - 5px)}.hero-kicker{font-size:18px}.faction-feature{grid-template-columns:1fr}.faction-quote{display:none}.faction-tabs button{font-size:12px}.portrait-layout{grid-template-columns:1fr}.portrait-frame{min-height:0}.dossier-portrait{min-height:0;height:48svh;max-height:48svh}.dossier-text{padding:25px}.dossier-text h3{font-size:30px}.portrait-note{margin-top:15px}.scene-tools{padding:10px;gap:9px}.camera-controls{width:100%;flex-wrap:wrap}.camera-controls label{margin-left:auto}.city-viewport{height:480px}.scene-pin{font-size:9px;padding:5px}.scene-hint{font-size:9px}.place-panel{display:block;padding:20px}.place-panel h3{margin-top:20px}.place-panel .section-id{margin-bottom:15px}.map-wrap{max-height:600px}.ticker{flex-wrap:wrap}.ticker b{display:none}.opening-copy .numbers{margin-top:20px}.opening{padding-block:50px}.paths article,.paths article:first-child{min-height:260px;padding:90px 22px 22px}.paths{gap:12px}.section{padding-block:55px}.hero-body h1{font-size:clamp(42px,10vw,65px)}.intro{max-width:310px}.pin{box-shadow:0 0 0 4px #ef232c33}}
