:root{--ink:#101e28;--cream:#ede9d9;--muted:#9ca9a9;--gold:#ddaf68}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--cream);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.32;cursor:default}button{transition:color .2s,background .2s,transform .2s}button:hover:not(:disabled){color:#fff}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}#world{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}.grain{pointer-events:none;position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.frame{pointer-events:none;position:absolute;inset:22px;border:1px solid #ccd3c512}.frame:before,.frame:after{content:'+';position:absolute;color:#b8bca255;font-size:17px;top:-10px;left:-5px}.frame:after{left:auto;right:-5px;top:auto;bottom:-9px}header{height:100px;padding:0 55px;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;width:100%;z-index:4}.brand{text-decoration:none;color:var(--cream);font:30px Georgia,serif;letter-spacing:5px;display:flex;align-items:center}.brand span{transform:skewY(-15deg);display:inline-block}.brand i{font:9px Arial,sans-serif;letter-spacing:2.7px;margin-left:22px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:28px}.header-right>span{font-size:8px;letter-spacing:2px;color:#9ba7a2}.header-right button{border:0;background:none;font-size:10px;letter-spacing:1.5px;padding:10px 0}.header-right #help{border:1px solid #aab8b744;border-radius:50%;width:25px;height:25px;padding:0;font-family:Georgia,serif;font-size:14px}.header-right b{font-size:15px;color:var(--gold);margin-left:5px;font-weight:normal}.overlay{position:absolute;inset:0;z-index:3}.intro-content{position:absolute;left:11%;top:23%;width:400px}.eyebrow{font-size:9px;letter-spacing:3px;color:var(--gold);font-weight:500}.eyebrow>span{display:inline-block;width:24px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}h1{font:normal clamp(100px,12vw,180px)/1 Georgia,'Times New Roman',serif;letter-spacing:-10px;margin:24px 0 0}h1>span{color:var(--gold)}.subtitle{font:italic 26px Georgia,serif;letter-spacing:.5px;margin:4px 0 28px;color:#dddccc}.intro-copy{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:32px}.primary{display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--gold);color:#15242c!important;border:1px solid var(--gold);padding:17px 22px;min-width:230px;font-size:11px;letter-spacing:1px}.primary:hover{background:#f0cc92;box-shadow:0 0 35px #dbaf6914}.primary>span{font-size:20px;line-height:12px}.meta{font-size:8px;letter-spacing:1.4px;color:#809196;margin-top:25px}.meta>span{padding:0 10px}.text-button{border:0;background:none;padding:16px 0 0;font-size:11px;color:var(--muted)}.text-button span{margin-left:20px}.intro-caption{position:absolute;bottom:75px;right:11%;text-align:right;display:flex;flex-direction:column;gap:13px}.intro-caption span{font-size:8px;letter-spacing:2px;color:#93a3a4}.intro-caption i{font:italic 16px Georgia,serif;color:#d0cbb5}.chapter{position:absolute;left:55px;top:132px;pointer-events:none}.chapter h2{font:normal 32px Georgia,serif;letter-spacing:-.8px;margin:13px 0}.chapter p{color:#a5b1b0;font-size:11px;line-height:1.7;max-width:255px}.chapter .eyebrow{font-size:8px;letter-spacing:2.5px}#fragments{display:flex;gap:12px;margin-top:22px}#fragments span{height:11px;width:11px;display:block;border:1px solid #acb2a860;transform:rotate(45deg);transition:background .5s,box-shadow .5s}#fragments span.found{background:var(--gold);border-color:var(--gold);box-shadow:0 0 15px #dcad6880}.dimension{position:absolute;right:55px;top:145px;display:flex;gap:12px;align-items:center;opacity:.8}.dimension>span{font:48px Georgia,serif;color:#b8c4bc}.dimension b,.dimension small{display:block;font-size:8px;letter-spacing:2px;line-height:2.2}.dimension small{font-size:7px;color:var(--muted);letter-spacing:1px}.bottom{position:absolute;bottom:54px;left:55px;right:55px;display:flex;align-items:center;justify-content:space-between}.controls{display:flex;align-items:center;gap:0;border-bottom:1px solid #a4b0a631;border-top:1px solid #a4b0a631;background:#12232bb3;backdrop-filter:blur(10px)}.controls button{height:55px;border:0;background:none;font-size:11px;display:flex;align-items:center;gap:12px;padding:0 16px}.controls>button:first-child,.controls>button:last-child{color:var(--muted);font-size:23px}.controls b{font-weight:normal;letter-spacing:.5px}.controls #fold{min-width:248px;justify-content:space-between;border-left:1px solid #a4b0a625;border-right:1px solid #a4b0a625}.controls kbd{font:8px Arial,sans-serif;color:#a1ada9;letter-spacing:1px}.fold-icon{font-size:25px;color:var(--gold)}.move-tip{font-size:8px;letter-spacing:1.3px;color:#a8b3ae;position:relative;padding-left:28px}.move-tip small{font-size:9px;color:#71868c;letter-spacing:.4px;display:block;margin-top:7px}.mouse-icon{border:1px solid #97a5a1;display:block;width:12px;height:19px;border-radius:8px;position:absolute;left:0;top:0}.mouse-icon:before{content:'';position:absolute;width:1px;height:5px;background:#97a5a1;left:5px;top:3px}.hint-button{border:0;background:none;font:italic 13px Georgia,serif;color:#b4bbaa}.hint-button span{margin-left:12px;font:9px Arial,sans-serif;border:1px solid #8d9f9633;padding:5px 6px}.chapter-dots{position:absolute;bottom:28px;left:50%;display:flex;gap:7px;transform:translateX(-50%)}.chapter-dots b{width:20px;height:2px;background:#56707755}.chapter-dots b.active{background:var(--gold)}#message{position:absolute;bottom:142px;left:50%;transform:translateX(-50%) translateY(6px);color:#dfd9c6;font:italic 16px Georgia,serif;text-align:center;line-height:1.5;max-width:650px;width:80%;opacity:0;transition:opacity .4s,transform .4s;text-shadow:0 2px 10px #101e28;background:radial-gradient(ellipse,#10212ccc,transparent 70%);padding:10px}#message.visible{opacity:1;transform:translateX(-50%)}#hover-label{position:absolute;font-size:9px;letter-spacing:1px;color:#e6d5b3;pointer-events:none;opacity:0;transform:translate(-50%,-100%);text-shadow:0 2px 8px #06111c}.modal{display:flex;justify-content:center;align-items:center;flex-direction:column;background:#0c1b25cc;backdrop-filter:blur(9px);text-align:center}.line-symbol{font-size:70px;color:var(--gold);margin-bottom:35px;text-shadow:0 0 40px #f8b463}.modal h2{font:normal 54px Georgia,serif;margin:22px}.modal p{color:#a5b3b1;font:italic 19px/1.6 Georgia,serif;margin:0 0 36px}.ending{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#0e252cbb,#101e2811)}.ending h2{font:normal clamp(44px,5vw,76px)/1.1 Georgia,serif;letter-spacing:-2px;margin:28px 0 12px}.ending p{font:italic 18px Georgia,serif;color:#c3cbbd}.end-line{height:32px;width:1px;background:var(--gold);margin:15px}.ending .end-note{font-size:13px;line-height:1.8;color:#91aaa9}.ending small{font-size:8px;letter-spacing:2px;color:#9aacaa;margin-top:25px}#stats{font-size:9px;color:var(--gold);letter-spacing:1.3px;margin:10px 0 25px}.help-panel{background:#0b1821c9;backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;z-index:6}.help-card{max-width:520px;padding:40px}.help-card h2{font:normal 40px Georgia,serif;margin:20px 0 28px}.help-card dl{display:grid;grid-template-columns:100px 1fr;row-gap:17px;font-size:11px}.help-card dt{color:var(--gold)}.help-card dd{margin:0;color:#b6c2bc}.help-card p{font:italic 13px/1.8 Georgia,serif;color:#899f9e;margin:27px 0}#veil{pointer-events:none;position:absolute;inset:0;z-index:8;background:#101e28;opacity:0;transition:opacity .65s}#veil.cover{opacity:1}#error{position:absolute;inset:35%;color:#fff;z-index:10;background:#15232b;padding:20px}body.folded .dimension>span{color:var(--gold)}body.folded .controls{border-color:#d6ae6860}body.folded #fold{color:#ebc587}@media(max-width:1050px){header{padding:0 35px}.brand i{display:none}.chapter{left:35px;top:110px}.chapter h2{font-size:27px}.bottom{left:35px;right:35px}.move-tip{display:none}.controls #fold{min-width:230px}.intro-content{left:9%;top:22%}.intro-caption{right:8%}.dimension{right:35px}.header-right>span{display:none}}@media(max-width:650px){.intro-content{left:10%;top:20%}.intro-caption{display:none}.frame{inset:12px}header{padding:0 25px;height:75px}.chapter{top:90px;left:25px}.chapter h2{font-size:23px}.chapter p{max-width:200px}.dimension{top:92px;right:25px}.dimension>span{font-size:35px}.bottom{bottom:40px;left:15px;right:15px;justify-content:center}.hint-button{position:absolute;bottom:73px;right:10px}.controls button{padding:0 12px}.controls #fold{min-width:210px}#message{bottom:180px;font-size:14px}.intro-content{width:82%}.intro h1{font-size:120px}.meta{font-size:7px}.header-right{gap:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}

.ending{background:radial-gradient(ellipse at center,#0e252ce6 0%,#101e2866 75%)}
@media(max-width:650px){.intro{background:linear-gradient(90deg,#101e28aa,transparent)}}

.transforming .fold-icon{animation:fold-pulse 1.3s ease-in-out infinite}.transforming .controls{border-color:#ddaf6877}@keyframes fold-pulse{50%{transform:scale(1.2);text-shadow:0 0 12px #dcb473}}

#qa-panel{position:absolute;z-index:20;right:24px;top:260px;width:230px;padding:16px;background:#081a24ee;border:1px solid #ddaf6855;font:11px Arial;color:#ede9d9}#qa-panel strong{font-size:9px;letter-spacing:1px;color:#ddaf68}#qa-panel label{display:block;margin-top:10px}#qa-panel input,#qa-panel select{display:block;width:100%;margin-top:4px;background:#223946;color:white;border:1px solid #557079;padding:4px}#qa-panel button{display:block;margin-top:10px;width:100%;padding:8px;background:#ddaf68;color:#10232d;border:0;font-size:10px}#qa-report{display:block;margin-top:12px;line-height:1.5;overflow-wrap:anywhere}

/* PLI II — hierarchy, breathing room and contextual commands. */
.grain{opacity:.022}.chapter{top:112px;max-width:270px}.chapter h2{font-size:28px}.chapter p{color:#bec9c4}.dimension{top:118px}.controls:empty{display:none}.chapter-dots b.current{height:4px;background:#f6d398}.chapter-dots b.active{background:#d6bd8a}
#tutorial{position:absolute;bottom:143px;left:50%;transform:translateX(-50%);padding:14px 25px;background:#102531ed;border:1px solid #dcc08655;border-radius:3px;font:14px/1.6 Georgia;text-align:center;max-width:590px;width:80%;box-shadow:0 10px 60px #04131b66}
#tutorial:not([hidden])~.bottom{}.on-map .controls,.on-map .dimension,.on-map .chapter-dots{display:none}#enter-gate{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);z-index:3}.on-map #message{bottom:175px}
#boss-phase{position:absolute;top:205px;right:55px;font:10px Arial;letter-spacing:2px;color:#e4bc7d;border-top:1px solid #d4b77f55;padding-top:15px}.chapter h2{max-width:290px}.on-map .chapter{pointer-events:none}.bottom{bottom:42px}#message{bottom:115px}.chapter-dots{bottom:20px}.controls{border-radius:4px}.intro .meta{line-height:1.8}#map-back{color:var(--gold)}
@media(max-width:850px){.chapter h2{font-size:22px}.chapter p{max-width:190px;font-size:10px}.dimension{right:30px}.chapter{top:100px}#boss-phase{top:175px;right:30px}.bottom .hint-button{font-size:11px}.intro-content{left:9%}}

.in-prologue #message{display:none}.in-prologue .chapter-dots{display:none}

#boss-arrival{position:absolute;z-index:5;left:50%;top:38%;transform:translateX(-50%);text-align:center;pointer-events:none;padding:30px 60px;background:radial-gradient(ellipse,#10232ee8 20%,#10232d00 72%);animation:arrival 3.5s both;min-width:550px}#boss-arrival small{display:block;font:9px Arial;letter-spacing:4px;color:#dfbc7a}#boss-arrival strong{display:block;font:44px Georgia;font-weight:normal;margin:22px 0}#boss-arrival span{font:italic 16px Georgia;color:#c7d2ca}@keyframes arrival{0%{opacity:0;transform:translateX(-50%) translateY(10px)}15%,70%{opacity:1;transform:translateX(-50%)}100%{opacity:0;transform:translateX(-50%) translateY(-8px)}}#revisit-prologue{display:block;margin:10px 0 22px;padding:0}

.controls{position:absolute;left:50%;transform:translateX(-50%)}@media(max-width:650px){.controls{position:static;transform:none}}

/* Mobile: identical puzzles, all actions reachable without a keyboard. */
#world{touch-action:none;user-select:none;-webkit-user-select:none}
button{touch-action:manipulation}
.mobile-navigation,.touch-help{display:none}
#message,#tutorial,#boss-phase,.dimension{pointer-events:none}
.help-panel{overflow-y:auto;overscroll-behavior:contain}
.touch-layout{height:100dvh;overscroll-behavior:none}
.touch-layout header{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
.touch-layout .brand{font-size:27px}.touch-layout .brand i,.touch-layout .header-right>span{display:none}
.touch-layout .header-right{gap:5px}.touch-layout .header-right button,.touch-layout .header-right #help{min-width:44px;min-height:44px;padding:8px;font-size:10px}.touch-layout .header-right #help{font-size:18px}
.touch-layout .frame{inset:10px;opacity:.6}
.touch-layout .chapter{left:max(20px,env(safe-area-inset-left));top:calc(72px + env(safe-area-inset-top));max-width:calc(100% - 40px)}
.touch-layout .chapter .eyebrow{font-size:8px;letter-spacing:1.2px}.touch-layout .chapter h2{font-size:23px;margin:9px 0;max-width:none}.touch-layout .chapter p{font-size:11px;max-width:100%;margin:6px 0}
.touch-layout #fragments{margin-top:12px;gap:12px}.touch-layout .dimension{top:auto;bottom:calc(195px + env(safe-area-inset-bottom));right:20px;gap:6px}.touch-layout .dimension>span{font-size:22px}.touch-layout .dimension b{font-size:8px}.touch-layout .dimension small{display:none}
.touch-layout .bottom{bottom:calc(12px + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:grid;grid-template-columns:1fr auto;gap:10px 6px;align-items:center;justify-content:stretch}
.touch-layout .controls{position:static;transform:none;grid-column:1/-1;justify-self:center;max-width:100%;background:#10232ff2}
.touch-layout .controls button{height:52px;min-width:48px;padding:0 12px;gap:8px}.touch-layout .controls #fold{min-width:0;width:180px;justify-content:center;font-size:13px}.touch-layout kbd,.touch-layout .hint-button span,.touch-layout .move-tip,.touch-layout .chapter-dots{display:none}
.touch-layout .mobile-navigation{display:flex;gap:3px;justify-content:center}.mobile-navigation button{border:1px solid #a4b0a63d;border-radius:5px;background:#10232fe8;color:#dedcc6;font-size:24px;width:44px;height:46px;padding:0}
.touch-layout .hint-button{position:static;min-width:52px;min-height:46px;font:12px Arial;border:1px solid #d4b77f55;border-radius:5px;background:#10232fe8;padding:8px;color:var(--gold)}
.touch-layout #message,.touch-layout #tutorial{bottom:calc(128px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:560px;font-size:13px;line-height:1.45;padding:10px 13px;background:#10232fee;border-radius:5px}
.touch-layout #message{margin:0}.touch-layout #message:empty{display:none}
.touch-layout #enter-gate{bottom:calc(124px + env(safe-area-inset-bottom));min-height:48px;min-width:220px}
.touch-layout.on-map #message{bottom:calc(185px + env(safe-area-inset-bottom))}.touch-layout.on-map .mobile-navigation{grid-column:1/-1}
.touch-layout #boss-phase{top:var(--chapter-bottom,205px);left:20px;right:auto;font-size:9px;letter-spacing:1px;padding-top:8px}
.touch-layout #boss-arrival{min-width:0;width:100%;padding:20px;top:32%}.touch-layout #boss-arrival strong{font-size:30px}.touch-layout #boss-arrival small{letter-spacing:2px}
.touch-layout .intro-content{top:calc(95px + env(safe-area-inset-top));left:8%;width:84%}.touch-layout .intro h1{font-size:100px;margin-top:18px}.touch-layout .subtitle{font-size:23px;margin-bottom:20px}.touch-layout .intro-copy{margin-bottom:23px}.touch-layout .meta{font-size:8px;letter-spacing:.6px}.touch-layout .meta>span{padding:0 4px}.touch-layout .intro-caption{display:none}.touch-layout .text-button{min-height:44px}
.touch-layout .help-panel{display:block;padding:calc(18px + env(safe-area-inset-top)) 0 calc(18px + env(safe-area-inset-bottom))}.touch-layout .help-card{margin:auto;padding:20px 26px;max-width:560px}.touch-layout .help-card h2{font-size:29px;margin:16px 0}.touch-layout .keyboard-help{display:none}.touch-layout .touch-help{display:block}.touch-layout .help-card p{font-size:15px;line-height:1.65;margin:20px 0}.touch-layout #revisit-prologue{min-height:44px;margin:4px 0 14px}.touch-layout #close-help{width:100%}
.touch-layout .modal,.touch-layout .ending{padding:calc(76px + env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));overflow-y:auto}.touch-layout .line-symbol{font-size:44px;margin-bottom:15px}.touch-layout .modal h2{font-size:34px;margin:18px 0}.touch-layout .modal p{font-size:17px;margin-bottom:24px}.touch-layout .ending h2{font-size:40px}.touch-layout .ending p{font-size:15px}.touch-layout .end-line{margin:4px;height:18px}.touch-layout .ending small{margin-top:16px}
@media(max-height:700px) and (orientation:portrait){.touch-layout .intro-content{top:75px}.touch-layout .intro h1{font-size:80px;margin-top:12px}.touch-layout .intro-copy{margin:12px 0 18px}.touch-layout .subtitle{margin-bottom:14px}.touch-layout .meta{margin-top:12px}.touch-layout .dimension{display:none}}
@media(max-height:500px) and (orientation:landscape){
 .touch-layout .chapter{top:62px}.touch-layout .chapter h2{font-size:19px;margin:5px 0}.touch-layout .chapter p,.touch-layout #fragments,.touch-layout .dimension{display:none}
 .touch-layout #boss-phase{top:64px;left:auto;right:20px}.touch-layout .bottom{display:flex;justify-content:space-between;gap:8px;bottom:calc(8px + env(safe-area-inset-bottom))}.touch-layout .controls{order:2;margin-left:auto}.touch-layout .mobile-navigation{order:0}.touch-layout .hint-button{order:1}.touch-layout .controls #fold{width:145px}.touch-layout .controls button{height:46px;min-width:44px;padding:0 8px}
 .touch-layout #tutorial,.touch-layout #message{bottom:calc(64px + env(safe-area-inset-bottom));font-size:12px;padding:6px 12px}.touch-layout #enter-gate{bottom:calc(67px + env(safe-area-inset-bottom));min-width:210px;padding:12px 18px}.touch-layout.on-map #message{bottom:calc(122px + env(safe-area-inset-bottom))}.touch-layout.on-map .bottom{justify-content:center}
 .touch-layout .intro-content{top:70px;width:86%;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:center}.touch-layout .intro-content>.eyebrow{grid-column:1/-1}.touch-layout .intro h1{font-size:75px;grid-column:1;margin:6px 0}.touch-layout .subtitle{grid-column:1;font-size:20px;margin:0}.touch-layout .intro-copy{grid-column:1;font-size:11px;margin:8px 0}.touch-layout #start{grid-column:2;grid-row:2}.touch-layout #resume{grid-column:2;grid-row:3;padding:10px 0}.touch-layout .meta{grid-column:2;grid-row:4;margin:0}.touch-layout .modal,.touch-layout .ending{justify-content:flex-start;padding-top:72px}.touch-layout .line-symbol{display:none}.touch-layout .ending h2{font-size:32px;margin:12px 0}.touch-layout .ending .end-note,.touch-layout .end-line{display:none}
}
.touch-layout #qa-panel{top:64px;right:12px;max-height:calc(100dvh - 80px);overflow-y:auto}
/* The second world speaks in copper blue: local motion, distinct from gold memories. */
#world-travel{position:absolute;right:55px;top:195px;display:flex;gap:8px;z-index:2}#world-travel button{min-height:44px;background:#10232fee;border:1px solid #758f8c66;border-radius:4px;padding:10px 14px;color:#b8c8c1;font-size:11px}#world-travel button[aria-pressed=true]{color:#a5efdf;border-color:#78c9bc}
#turn-platine{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);min-height:46px;padding:12px 24px;background:#163b40;border:1px solid #8bd5c7;border-radius:4px;color:#c2f1df;font-size:13px;z-index:2}#turn-platine kbd{font:9px Arial;margin-left:14px;color:#b0ccc4}#turn-platine:active{transform:translateX(-50%) translateY(2px)}
#mechanic-note{position:absolute;top:258px;left:55px;max-width:250px;font:italic 13px/1.6 Georgia;color:#98cabc;pointer-events:none}.with-platines #message{bottom:184px}
.touch-layout #world-travel{top:calc(162px + env(safe-area-inset-top));left:20px;right:auto;gap:6px}.touch-layout #world-travel button{font-size:11px;padding:10px}
.touch-layout #mechanic-note{top:var(--chapter-bottom,205px);left:20px;right:20px;max-width:480px;font-size:13px;line-height:1.45}
.touch-layout #turn-platine{bottom:calc(130px + env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:330px}.touch-layout.with-platines #message{bottom:calc(200px + env(safe-area-inset-bottom))}.touch-layout.with-platines .dimension{display:none}
@media(max-height:500px) and (orientation:landscape){.touch-layout #world-travel{top:66px;left:auto;right:20px}.touch-layout #mechanic-note{top:110px;left:20px;width:280px;font-size:11px}.touch-layout #turn-platine{bottom:64px;width:270px;left:auto;right:12px;transform:none}.touch-layout.with-platines #message{bottom:132px}.touch-layout #turn-platine:active{transform:translateY(2px)}}

header{pointer-events:none}header button,header a{pointer-events:auto}

:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
#platine-preview-label{display:block;margin-top:5px;font:10px/1.3 Arial,sans-serif;color:#98cabc}
#platine-preview-label[hidden]{display:none}

/* The carnet belongs to the same gold / copper instrument as the 3D scene. */
.intro-content{top:16%;max-height:calc(100% - 145px);overflow:auto;scrollbar-width:thin;padding:0 8px 16px 0}.intro h1{font-size:110px;margin-top:10px}.intro .subtitle{font-size:22px;margin-bottom:14px}.intro-copy{margin:0 0 18px}.menu-nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:15px}.menu-nav button{border:0;background:none;font-size:10px;letter-spacing:1.6px;padding:10px 0;color:#b8c7c3}.menu-nav button:hover{color:#efca8f;transform:translateX(5px)}.intro #resume{margin-bottom:10px}.intro #start{background:none;color:#bdc9c4!important;border:0;padding:10px 0;min-width:0;font-size:10px;letter-spacing:1.5px}.intro .meta{margin-top:16px}.workshop{z-index:7;background:linear-gradient(90deg,#0c1d27f5 0%,#102530e6 45%,#10253055 100%);padding:110px 8%;display:flex;align-items:center}.workshop-card{max-width:640px;width:100%;max-height:100%;overflow:auto;padding:20px 28px 24px 0;scrollbar-width:thin}.workshop h2{font:42px Georgia;margin:20px 0}.workshop h3{font:20px Georgia;color:var(--gold)}.wallet-line{font:17px Georgia;color:#e8ca97}.panel-note{font:11px/1.7 Arial;color:#99b1b2;max-width:450px}.lore-line{font:italic 16px/1.9 Georgia;color:#bacac4;max-width:480px}.character-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.character-card{display:flex;align-items:center;gap:16px;text-align:left;border:1px solid #a9c9c333;background:#16343e8c;padding:20px 14px;min-height:155px}.character-card.selected{border-color:#ddaf68aa;background:#28444399}.character-card strong{display:block;font:23px Georgia;font-weight:normal}.character-card small{display:block;font:11px/1.6 Arial;color:#9eb6b7;margin:10px 0}.character-card b{display:block;font:8px Arial;letter-spacing:1px;color:var(--gold)}.skin-emblem{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:53px;color:var(--skin);font:34px Georgia;border-bottom:1px solid var(--skin);filter:drop-shadow(0 0 8px var(--skin))}.option-label{display:block;font-size:9px;letter-spacing:2px;color:var(--gold);margin:25px 0 12px}#quality{display:block;background:#19333d;color:#ede9d9;padding:13px;width:280px;max-width:100%;border:1px solid #a5c4b966;font:14px Georgia}#music-volume{display:block;width:280px;max-width:100%;accent-color:#ddaf68;min-height:35px}.panel-action,.world-card{display:block;background:#18363e;border:1px solid #b8c8b44d;padding:17px 22px;text-align:left;font:15px Georgia;margin:22px 0;color:#dce1cc;min-height:50px;max-width:100%}.world-card{width:430px}.workshop #close-workshop{padding:15px 0;color:var(--gold);letter-spacing:1px}.workshop.reveal .character-card.selected{animation:presence-reveal 1.6s ease-out}@keyframes presence-reveal{0%{box-shadow:0 0 70px #8ce0d288;transform:translateY(6px)}100%{box-shadow:0 0 0 transparent;transform:translateY(0)}}#wallet{color:var(--gold);white-space:nowrap}#read-inscription{position:absolute;bottom:175px;right:55px;border:1px solid #ddaf6844;background:#112b35dc;color:var(--gold);font:italic 13px Georgia;padding:14px;z-index:3}body[data-quality=low] .grain{display:none}body[data-quality=low] .controls{backdrop-filter:none}
@media(max-width:700px){.intro-content{top:110px;max-height:calc(100% - 130px);left:8%;width:84%}.intro h1{font-size:90px}.intro .subtitle{font-size:21px}.intro-copy{font-size:12px}.intro .primary{padding:14px 18px;min-width:220px}.menu-nav{gap:0;margin-top:8px}.menu-nav button{padding:12px 0;min-height:42px}.intro .meta{font-size:7px}.workshop{padding:85px 24px 20px;background:#102530ee}.workshop-card{padding:14px 0}.workshop h2{font-size:32px;margin:18px 0}.character-list{gap:8px}.character-card{display:block;padding:12px;min-height:190px}.character-card strong{font-size:21px}.skin-emblem{height:38px;width:30px;margin-bottom:10px;font-size:28px}.lore-line{font-size:14px}#read-inscription{bottom:230px;right:20px}header .header-right{gap:13px}#wallet{font-size:11px}}
@media(max-height:500px){.intro-content{top:85px;max-height:calc(100% - 105px)}.intro h1{font-size:58px}.intro-copy,.intro .subtitle{display:none}.intro .primary{padding:10px 15px}.menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.menu-nav button{min-height:36px;padding:7px 0}.workshop{padding-top:70px;padding-bottom:10px}.character-card{min-height:150px}.workshop h2{font-size:27px}}
.skin-emblem{position:relative;height:64px;width:40px;border:0}.skin-emblem:before{content:'';position:absolute;bottom:5px;left:6px;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:38px solid var(--skin)}.skin-emblem:after{content:'';position:absolute;top:9px;left:14px;width:12px;height:12px;border-radius:50%;background:var(--skin)}.skin-emblem i{position:absolute;top:8px;left:8px;width:24px;height:5px;background:var(--gold);border-radius:50%;z-index:1}.skin-emblem[data-shape=archiviste]:before{border-left-width:18px;border-right-width:18px;border-bottom-width:30px;left:2px}.skin-emblem[data-shape=archiviste] i{top:24px;background:#dfb57f;transform:rotate(-15deg)}.skin-emblem[data-shape=veilleur]:before{border-left-width:19px;border-right-width:19px;border-bottom-width:44px;left:1px}.skin-emblem[data-shape=veilleur] i{top:40px;left:31px;width:8px;height:10px;border-radius:0;box-shadow:0 0 10px #ffcd78}.skin-emblem[data-shape=echo]:before{border-left-width:10px;border-right-width:10px;left:10px;opacity:.5}.skin-emblem[data-shape=echo] i{top:0;background:none;border:1px solid var(--skin);height:9px}#debug-graph{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}#debug-panel{position:absolute;left:18px;bottom:20px;z-index:20;background:#081923ec;border:1px solid #80ceb966;padding:12px;width:260px;font:10px/1.6 monospace}#debug-panel button{background:#243e48;border:1px solid #8dcdb866;padding:7px;color:#9df8d8}#debug-panel pre{white-space:pre-wrap;max-height:200px;overflow:auto;color:#b9d5ca}#qa-panel{max-height:calc(100% - 275px);overflow:auto}
body.panel-open #intro,body.panel-open #hud{opacity:0;pointer-events:none}.intro,#hud{transition:opacity .25s}.workshop select:focus-visible,.workshop input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.workshop #close-workshop{position:absolute;top:23px;right:30px;min-height:44px;padding:10px 15px;border:1px solid #ddaf6844;background:#102934;z-index:2}
@media(max-height:500px) and (orientation:landscape){.touch-layout .intro-content{top:70px;max-height:calc(100% - 90px);display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.touch-layout .intro-content>.eyebrow{grid-column:1/-1;grid-row:1}.touch-layout .intro h1{grid-column:1;grid-row:2;font-size:75px;margin:12px 0}.touch-layout .intro-copy{display:block;grid-column:1;grid-row:3/5;margin:12px 0;align-self:start}.touch-layout .subtitle{display:none}.touch-layout #resume{grid-column:2;grid-row:2;padding:12px 18px;min-width:180px;justify-content:space-between}.touch-layout #start{grid-column:2;grid-row:3;margin:0;padding:8px 0}.touch-layout .menu-nav{grid-column:2;grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:0}.touch-layout .menu-nav button{font-size:8px;min-height:36px;padding:8px 0;text-align:left}.touch-layout .meta{grid-column:2;grid-row:5;font-size:6px;margin-top:8px}}
.intro #start.primary{display:flex;justify-content:space-between;background:var(--gold);color:#15242c!important;border:1px solid var(--gold);padding:15px 22px;min-width:230px}.intro #start.primary:hover{background:#f0cc92}

.character-card:disabled{opacity:.62;border-style:dashed}

/* A journey crosses the rendered world; the geometry remains visible beneath it. */
#save-status{position:fixed;right:22px;bottom:12px;z-index:90;font:10px Arial,sans-serif;letter-spacing:.12em;color:#cfdfcc;background:#10232cd9;border:1px solid #91aa9333;border-radius:20px;padding:8px 13px;opacity:0;pointer-events:none;transition:opacity .4s}
#save-status.visible{opacity:1}#save-status.save-warning{color:#ffe0aa;pointer-events:auto}
#world-crossing{position:fixed;inset:0;z-index:35;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#10212b55,transparent 40%,transparent 60%,#10212b88);color:#ece4c9;text-align:center}
#world-crossing[hidden]{display:none}#world-crossing small{letter-spacing:.3em;font:11px Arial}#world-crossing h2{font:italic clamp(22px,4vw,45px) Georgia;margin:20px 20px 24vh;text-shadow:0 2px 15px #10212b}#world-crossing p{font:italic 15px Georgia}.travel-line{height:1px;width:180px;background:#688783;transform:scaleX(var(--travel,0));box-shadow:0 0 12px #b7e9d5}
body:has(#world-crossing:not([hidden])) #hud{opacity:.15;pointer-events:none}
@media(max-width:700px){#save-status{bottom:4px;right:10px;font-size:9px}#world-crossing h2{margin-bottom:22vh}}
#resonate{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);min-height:48px;padding:12px 24px;border:1px solid #c6a7fa;background:#332b4e;color:#ece2ff;border-radius:4px;z-index:2;font-size:13px}#resonate kbd{font:9px Arial;margin-left:12px}.two-actions #mechanic-actions{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:2}.two-actions #mechanic-actions button{position:static;transform:none;max-width:235px;min-height:52px;padding:10px 15px}.two-actions #platine-preview-label{font-size:9px;max-width:165px}.with-resonances #mechanic-note{color:#c8b6ed}.with-resonances #message{bottom:195px}.resonance-world .chapter .eyebrow,.resonance-world #chapter-count{color:#d0bfe7}.resonant#world-crossing{background:radial-gradient(ellipse,transparent 28%,#30284499 70%,#151328c9)}.resonant .travel-line{background:#c6a7f7;box-shadow:0 0 40px #b690fb66}.resonant h2{color:#eadfff}.touch-layout #resonate{bottom:calc(130px + env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:330px}.touch-layout.two-actions #mechanic-actions{bottom:calc(130px + env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:430px}.touch-layout.two-actions #mechanic-actions button{width:50%;padding:8px;min-height:58px;font-size:12px}.touch-layout.two-actions #mechanic-actions kbd{display:none}.touch-layout.with-resonances #message{bottom:calc(207px + env(safe-area-inset-bottom))}.touch-layout.with-resonances .dimension{display:none}.touch-layout #world-travel{flex-wrap:wrap;max-width:calc(100% - 40px)}.touch-layout #world-travel button{font-size:10px;padding:9px 7px}.touch-layout.resonance-world #mechanic-note{font-size:12px}
@media(max-height:500px) and (orientation:landscape){.touch-layout #resonate{bottom:64px;width:250px;left:auto;right:12px;transform:none}.touch-layout.two-actions #mechanic-actions{bottom:64px;left:auto;right:12px;transform:none;max-width:390px;width:390px}.touch-layout.with-resonances #message{bottom:134px}.touch-layout #world-travel{max-width:390px}}

#world-crossing.resonant::before{content:"";position:absolute;width:min(45vw,340px);height:min(45vw,340px);border:1px solid #c6a7f74d;transform:translateY(-15%) rotate(calc(45deg + var(--travel,0)*30deg)) scale(calc(.5 + var(--travel,0)));box-shadow:0 0 45px #b690fb22;z-index:-1}@media(prefers-reduced-motion:reduce){#world-crossing.resonant::before{display:none}}
/* Second journeys: a restrained blue language alongside the gold memories. */
#blue-visual{position:absolute;width:13px;height:20px;z-index:3;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 0 7px #31baff)}
#blue-visual::before{content:'';position:absolute;inset:0;background:#249dff;border:1px solid #d1f4ff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
#blue-visual::after{content:'';position:absolute;inset:5px 4px;background:#bbeeff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
#blue-status{position:absolute;right:4.3vw;top:43%;max-width:250px;color:#acd9f1;font:10px/1.7 Arial,sans-serif;letter-spacing:1.7px;text-align:right;pointer-events:none}
.touch-layout.platines-world:not(.secret-level) #blue-status{top:calc(var(--chapter-bottom,220px) + 65px);left:20px;right:20px;max-width:none;text-align:left}
.touch-layout.platines-world.platine-discovery .discovery-action{left:50%;right:auto;transform:translateX(-50%);bottom:calc(205px + env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:330px;text-align:center}
.touch-layout.platines-world.platine-discovery #message{bottom:calc(274px + env(safe-area-inset-bottom))}
.discovery-action{position:absolute;right:4.3vw;bottom:140px;max-width:270px;padding:14px 19px;border:1px solid #9accea66;border-radius:4px;background:#172e42df;color:#c8eaff;font:12px/1.5 Arial,sans-serif;cursor:pointer;min-height:48px}
#blue-clue{color:#dedbc8;border-color:#d8d2ba55;background:#293039dd}
#achievement-toast{position:fixed;z-index:90;right:30px;top:85px;max-width:320px;display:flex;align-items:center;gap:15px;padding:16px 23px;border:1px solid #c8bfa044;background:#142331ed;box-shadow:0 10px 32px #0004;opacity:0;transform:translateY(-10px);transition:opacity .45s,transform .45s;pointer-events:none;color:#e5d8b0}
#achievement-toast.visible{opacity:1;transform:translateY(0)}
#achievement-toast>span:first-child{font:27px Georgia;color:#b8dfff}
#achievement-toast small{display:block;font:8px/1.7 Arial;letter-spacing:1.8px;color:#b8c4c8}
#achievement-toast strong{display:block;font:18px/1.5 Georgia}
.achievement-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.achievement-card{position:relative;border:1px solid #b7c1ba25;padding:19px 18px 18px 52px;min-height:140px;color:#b7c1c5;background:#192b3722;border-radius:3px}
.achievement-card.unlocked{border-color:#cfbd8166;background:#c8ba8110;color:#eee2c6}
.achievement-icon{position:absolute;left:17px;top:17px;font:24px Georgia;color:#87b3d0}
.achievement-card strong{font:18px/1.4 Georgia}.achievement-card p{font-size:11px!important;line-height:1.7!important;letter-spacing:0!important;margin:8px 0 12px!important;color:inherit!important}
.achievement-card small{display:block;font:8px Arial;letter-spacing:1px;margin-top:7px;color:#a7b8c1}
.achievement-card progress{display:block;width:100%;height:3px;accent-color:#a8d6ed;border:0;background:#b0bfca20}
.achievement-card progress::-webkit-progress-bar{background:#b0bfca20}.achievement-card progress::-webkit-progress-value{background:#a8d6ed}
.skin-emblem[data-shape="arpenteuse"]{transform:rotate(15deg)}
.skin-emblem[data-shape="tisserand"] i{border-left:3px double var(--skin);border-right:3px double var(--skin)}
.skin-emblem[data-shape="cantatrice"] i{clip-path:polygon(10% 0,40% 20%,70% 0,100% 100%,0 100%)}
.skin-emblem[data-shape="azur"] i{clip-path:polygon(0 0,30% 20%,50% 0,70% 20%,100% 0,100% 100%,0 100%)}
.skin-emblem[data-shape="palimpseste"] i{transform:skewY(-15deg);border:3px double var(--skin)}
.skin-emblem[data-shape="fondeur"] i{width:28px;border-radius:3px}
.skin-emblem[data-shape="silence"] i{border-radius:50%;background:transparent;border:2px solid var(--skin)}
.skin-emblem[data-shape="prisme"] i{clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%)}
.secret-level .frame{border-color:#b7d6e12b}.secret-level .chapter h2{color:#ddebf0}
#workshop details{margin-top:20px;border-top:1px solid #d4b77f33;padding-top:12px}#workshop summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--gold);font-size:12px}#import-save{display:block;max-width:100%;margin:16px 0;color:var(--cream);font:12px Arial}#workshop details .panel-action{display:block;margin:10px 0}#playtest-enabled{vertical-align:middle;margin-right:8px}
.touch-layout.secret-level #blue-status{top:calc(var(--chapter-bottom,205px) + 30px);left:20px;right:20px;max-width:none;text-align:left;font-size:8px}
@media(max-width:700px){#blue-status{top:var(--chapter-bottom,220px);right:20px;max-width:210px;font-size:8px}.discovery-action{right:20px;bottom:calc(155px + env(safe-area-inset-bottom));max-width:230px;font-size:11px}#achievement-toast{top:72px;right:15px;left:15px;max-width:none;padding:13px 18px}.achievement-list{grid-template-columns:1fr}.achievement-card{min-height:120px}}
@media(prefers-reduced-motion:reduce){#achievement-toast{transition:none;transform:none}}
