:root{--navy: #0b1a3a;--navy-2: #071229;--navy-3: #040b1c;--navy-glass: rgba(9, 21, 48, .8);--gold: #d9a21b;--gold-2: #f1c45a;--gold-soft: rgba(217, 162, 27, .55);--cream: #f3ead7;--cream-dim: rgba(243, 234, 215, .72);--cream-faint: rgba(243, 234, 215, .45);--blue: #2a4fc0;--blue-num: #3358d4;--ink: #9b2b24;--line: rgba(243, 234, 215, .16);--f-display: "Abril Fatface", "Playfair Display", "Didot", "Bodoni 72", Georgia, serif;--f-serif: "Playfair Display", "Didot", Georgia, "Times New Roman", serif;--f-sans: "Barlow", "Avenir Next", "Helvetica Neue", system-ui, -apple-system, sans-serif;--radius: 14px;--shadow: 0 18px 50px rgba(0, 0, 0, .45);--ease: cubic-bezier(.2, .7, .2, 1)}html,body{margin:0;height:100%;background:var(--navy-2);overflow:hidden;color:var(--cream);font-family:var(--f-sans)}#app canvas{display:block;outline:none}.ui-hidden .ui-layer{display:none!important}.ui-layer{position:fixed;z-index:10;font-variant-numeric:lining-nums}button{font-family:var(--f-sans)}kbd{font-family:var(--f-sans);font-size:11.5px;font-weight:600;color:var(--cream);background:#f3ead714;border:1px solid rgba(243,234,215,.25);border-bottom-width:2px;border-radius:6px;padding:2px 7px;min-width:14px;text-align:center;white-space:nowrap;display:inline-block;line-height:1.35}.btn{appearance:none;border:0;cursor:pointer;border-radius:999px;font-weight:600;letter-spacing:.03em;display:inline-flex;align-items:center;gap:10px;transition:transform .15s ease,background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease}.btn svg{width:18px;height:18px;flex:none}.btn:focus-visible{outline:2px solid var(--cream);outline-offset:3px}.btn-gold{background:var(--gold);color:var(--navy);font-size:17px;padding:15px 34px 15px 28px;box-shadow:0 10px 30px #d9a21b47}.btn-gold:hover{transform:translateY(-1px);background:#e8b434;box-shadow:0 14px 36px #d9a21b61}.btn-ghost{background:#07122940;color:var(--cream);font-size:14.5px;padding:13px 22px;border:1px solid rgba(243,234,215,.3)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn.sm{font-size:12.5px;padding:8px 16px}#ld{inset:0;display:flex;align-items:center;justify-content:center;z-index:50;background:radial-gradient(120% 90% at 30% 20%,#142a5c 0%,var(--navy) 45%,var(--navy-2) 100%);transition:opacity .6s ease}#ld.out{opacity:0;pointer-events:none}#ld .box{width:min(560px,calc(100vw - 48px))}#ld .kicker{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}#ld h2{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,6vw,58px);line-height:1.02;margin:12px 0 28px;color:var(--cream)}#ld .bar{height:2px;background:var(--line);border-radius:2px;overflow:hidden}#ld .bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .25s ease}#ld .st{margin-top:12px;font-size:13px;color:var(--cream-dim);letter-spacing:.02em;min-height:1.2em}#ld .ld-ft{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream-faint);white-space:nowrap}img.rv{height:26px;width:auto;display:inline-block;opacity:.92;vertical-align:middle}img.rv.sm{height:24px}.v3a{font-family:var(--f-sans);font-weight:600;letter-spacing:.14em;color:var(--cream)}#start{inset:0;z-index:40;display:flex;align-items:stretch;justify-content:center;background:linear-gradient(98deg,#040b1cf2,#071229db 42%,#0b1a3a59);transition:opacity .6s ease}#start.out{opacity:0;pointer-events:none}#start .wrap{width:min(1200px,calc(100vw - 40px));display:grid;grid-template-columns:1.3fr .85fr;gap:64px;align-items:center;padding:64px 0 40px;box-sizing:border-box}#start .top{position:absolute;top:22px;left:50%;transform:translate(-50%);width:min(1200px,calc(100vw - 40px));display:flex;justify-content:space-between;font-size:12px;color:var(--cream-dim);letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:10px}#start .top b{color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:11px}#start .top b.v3a{color:var(--cream);letter-spacing:.16em;font-size:12px;text-transform:none}#start .top .pv{display:inline-flex;align-items:center;gap:14px}#start .top .pv img.rv{height:24px;margin:-4px 0}#start .foot{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:min(1200px,calc(100vw - 40px));display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--cream-faint);letter-spacing:.04em;border-top:1px solid var(--line);padding-top:12px}#start .foot b{color:var(--cream-dim);font-weight:600;letter-spacing:.14em}#start .foot i{width:3px;height:3px;border-radius:50%;background:var(--gold-soft)}#start .foot img.rv{margin-left:2px}#start .kick{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}#start h1{font-family:var(--f-display);font-weight:400;font-size:clamp(46px,6.6vw,98px);line-height:.94;margin:0;color:var(--cream);letter-spacing:-.01em;text-shadow:0 6px 30px rgba(0,0,0,.35)}#start .sub{font-family:var(--f-serif);font-style:italic;font-size:clamp(19px,2vw,27px);color:var(--gold);margin:18px 0 0}#start .rule{width:72px;height:2px;background:var(--gold);margin:26px 0 22px}#start .lead{font-size:15.5px;line-height:1.6;color:var(--cream-dim);max-width:36em;margin:0 0 30px}#start .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}#start .note{font-size:12px;color:var(--cream-faint);margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}#start .note span{display:inline-flex;gap:6px;align-items:center}#start .circ{border:1px solid rgba(51,88,212,.6);border-radius:12px;padding:22px 28px 20px;background:#040b1c9e;box-shadow:var(--shadow)}#start .circ h3{margin:0 0 8px;font-family:var(--f-display);font-weight:400;font-size:30px;color:var(--cream)}#start .circ .k{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--blue-num);font-weight:600;margin-bottom:4px}#start .circ ol{list-style:none;padding:0;margin:0}#start .circ li{display:grid;grid-template-columns:72px 1fr;align-items:center;padding:6px 0;border-top:1px solid var(--line)}#start .circ li:first-child{border-top:0}#start .circ .n{font-family:var(--f-display);font-size:38px;line-height:1;color:var(--blue-num)}#start .circ .n sup{font-size:.42em;vertical-align:top;position:relative;top:.1em}#start .circ .t{font-size:14.5px;color:var(--cream);line-height:1.25}#start .circ .t small{display:block;color:var(--cream-dim);font-size:12.5px;margin-top:2px}#start .circ li{padding:12px 0}#start .circ .n{font-size:46px}#start .circ .t{font-size:16px}#start .circ .route{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}#start .circ .rk{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:9px}#start .circ .rl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 6px;font-size:12.5px;color:var(--cream)}#start .circ .rl span{padding:4px 9px;border-radius:999px;border:1px solid rgba(243,234,215,.2);background:#f3ead70a;white-space:nowrap}#start .circ .rl i{width:10px;height:1px;background:var(--gold);position:relative;flex:none}#start .circ .rl i:after{content:"";position:absolute;right:-1px;top:-3px;border:3.5px solid transparent;border-left:5px solid var(--gold);border-right:0}#start .circ .closed,#menu .closed{margin:14px 0 0;font-size:12.5px;line-height:1.45;color:var(--cream-faint)}#menu .closed{margin:12px 0 16px}#hud{top:20px;left:22px;pointer-events:none;max-width:min(520px,calc(100vw - 44px));transition:opacity .6s ease}#hud .room{display:flex;align-items:center;gap:14px;padding:10px 18px 10px 12px;border-radius:12px;background:linear-gradient(90deg,#040b1cc7,#040b1c4d);border-left:2px solid var(--gold);transition:opacity .4s ease,transform .4s ease}#hud .room.swap{opacity:0;transform:translateY(-6px)}#hud .num{font-family:var(--f-display);font-size:34px;line-height:1;color:var(--gold);min-width:48px;text-align:center}#hud .num:empty{display:none}#hud .lbl{font-family:var(--f-serif);font-variant-numeric:lining-nums;font-size:17px;color:var(--cream);line-height:1.2}#hud .flr{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-dim);margin-top:3px}#hints{right:22px;top:24px;font-size:11.5px;color:var(--cream-dim);display:flex;gap:12px;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6);transition:opacity .6s ease}#hints span{display:flex;gap:6px;align-items:center}#xhair{left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#f3ead7d9;box-shadow:0 0 0 1px #00000059;pointer-events:none;transition:transform .2s ease,background .2s ease}#xhair.hot{transform:scale(1.8);background:var(--gold)}#card{--card-w: min(430px, calc(100vw - 44px) );left:22px;bottom:26px;width:var(--card-w);max-height:calc(100vh - 150px);overflow:hidden;padding:18px 22px 20px;border-radius:var(--radius);background:var(--navy-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:var(--shadow);pointer-events:none;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease;box-sizing:border-box}#card.on{opacity:1;transform:none}#card .k{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}#card h4{margin:6px 0 8px;font-family:var(--f-display);font-weight:400;font-size:26px;line-height:1.08;color:var(--cream)}#card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--cream-dim);white-space:pre-line}@media(max-height:800px){#card{--card-w: min(380px, calc(100vw - 44px) );padding:14px 18px 15px;max-height:40vh;-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 26px),transparent)}#card h4{font-size:22px;margin:4px 0 6px}#card p{font-size:13px;line-height:1.42}}@media(max-width:1500px)and (min-width:901px){body.g-cardon .g-cap{left:calc(22px + var(--cap-card, 430px) + (100vw - 22px - var(--cap-card, 430px) - 312px) / 2);max-width:calc(100vw - 22px - var(--cap-card, 430px) - 312px - 36px)}}@media(max-width:1500px)and (min-width:901px)and (max-height:800px){body.g-cardon{--cap-card: 380px}}body.g-cinema #hud,body.g-cinema #hints,body.g-cinema #map,body.g-cinema #xhair,body.g-cinema #card{opacity:0!important}body.g-hints-quiet #hints{opacity:0}#map{right:22px;bottom:22px;border-radius:14px;overflow:hidden;background:#040b1ccc;border:1px solid var(--line);box-shadow:var(--shadow);transition:all .3s ease;pointer-events:none}#map canvas{display:block}#map .cap{position:absolute;left:12px;top:9px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);pointer-events:none}#map .leg{position:absolute;right:12px;top:9px;font-size:10.5px;color:var(--cream-dim);pointer-events:none}#map.big{right:50%;bottom:50%;transform:translate(50%,50%);z-index:22}#map.off{display:none}#menu{inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#040a1899;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s ease}#menu.on{opacity:1;pointer-events:auto}#menu .panel{width:min(800px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(160deg,#0e1f44f7,#071229fa);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:24px 30px 20px;box-sizing:border-box}#menu .hd{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:10px}#menu .hd .k{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}#menu .hd h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:34px}#menu .hd span{font-size:12px;color:var(--cream-dim)}#menu .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}#menu .tabs button{background:transparent;border:0;color:var(--cream-dim);font-size:13.5px;padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.02em}#menu .tabs button:hover{color:var(--cream)}#menu .tabs button.on{color:var(--gold);border-bottom-color:var(--gold);font-weight:600}#menu .row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}#menu .row.end{margin:4px 0 6px;justify-content:flex-end}#menu .row .btn-gold{font-size:15.5px;padding:12px 30px 12px 24px}#menu .row .btn-ghost{font-size:13.5px;padding:11px 18px 11px 15px}#menu .row .btn-ghost svg{width:17px;height:17px}#menu .sec{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:4px 0 10px;display:flex;justify-content:space-between}#menu .sec i{font-style:normal;letter-spacing:.04em;color:var(--cream-dim);text-transform:none}#menu .go{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:4px}#menu .go button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:#f3ead70a;border:1px solid var(--line);color:var(--cream);border-radius:12px;padding:12px;cursor:pointer;font-size:14px;line-height:1.2;transition:border-color .2s ease,background .2s ease,transform .15s ease}#menu .go button:hover{border-color:var(--gold);background:#d9a21b14;transform:translateY(-1px)}#menu .go button:disabled{opacity:.38;cursor:default;border-color:var(--line);background:transparent;transform:none}#menu .go b{height:30px;display:flex;align-items:center}#menu .go b.x{font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1;color:var(--blue-num)}#menu .go b.x sup{font-size:.42em;vertical-align:top;position:relative;top:.12em}#menu .go b.i{width:30px;justify-content:center;border-radius:50%;border:1px solid rgba(217,162,27,.5);color:var(--gold-2)}#menu .go b.i svg{width:17px;height:17px}#menu .go small{display:block;color:var(--cream-dim);font-size:11.5px;margin-top:3px}#menu .go kbd{position:absolute;right:9px;top:9px;font-size:10px;padding:0 5px;opacity:.7}#menu .opts{display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;align-items:start;margin-bottom:18px}#menu .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}#menu .seg button{background:transparent;color:var(--cream-dim);border:0;padding:8px 16px;cursor:pointer;font-size:13px}#menu .seg button.on{background:var(--gold);color:var(--navy);font-weight:600}#menu label{font-size:13px;color:var(--cream-dim);display:flex;flex-direction:column;gap:4px}#menu input[type=range]{accent-color:var(--gold);width:100%}#menu .ctl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 26px;margin-bottom:18px}#menu .ctl.x div{font-size:13px;color:var(--cream-faint)}#menu .ctl div,#help .grid div{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--cream-dim)}#menu .ctl kbd,#help .grid kbd{min-width:64px}#menu .credits{padding:6px 0 16px}#menu .credits h4{margin:0;font-family:var(--f-display);font-weight:400;font-size:30px;color:var(--cream)}#menu .credits .cs{margin:4px 0 18px;font-family:var(--f-serif);font-style:italic;color:var(--gold);font-size:17px}.cr{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:11px 0;border-top:1px solid var(--line);font-size:14px}.cr span{color:var(--cream-dim);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;padding-top:2px}.cr b{color:var(--cream);font-weight:500;font-size:16px}#menu .ft{font-size:12px;color:var(--cream-dim);border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}#menu .credits .logos{display:flex;align-items:center;gap:26px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}#menu .credits .logos .v3a{font-size:20px;letter-spacing:.18em}#menu .credits .logos img.rv{height:30px}#menu .credits .logos .cdr{font-family:var(--f-serif);font-style:italic;font-size:18px;color:var(--cream-dim)}#help{inset:0;z-index:35;display:none;align-items:center;justify-content:center;background:#040a189e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#help.on{display:flex}#help .panel{width:min(660px,calc(100vw - 32px));background:var(--navy);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:16px;padding:24px 30px;box-shadow:var(--shadow);box-sizing:border-box}#help .k{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}#help h3{margin:4px 0 16px;font-family:var(--f-display);font-weight:400;font-size:30px}#help .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 26px;margin:0 0 18px}#help p{font-size:13px;color:var(--cream-dim);margin:0 0 18px;line-height:1.55}#help p kbd{font-size:10.5px;padding:0 5px}#help .k kbd{font-size:10px;padding:0 5px;margin-left:6px;letter-spacing:0;text-transform:none}#help .grid.pk{gap:6px 26px;margin:8px 0 18px}#help .grid.pk div{font-size:12.5px}#help .grid.pk kbd{min-width:92px;font-size:10.5px}#help .btn-gold{font-size:15px;padding:11px 28px}#toast{left:50%;top:96px;transform:translate(-50%) translateY(-10px);opacity:0;transition:all .3s ease;pointer-events:none;padding:9px 18px;border-radius:999px;background:var(--navy-glass);border:1px solid var(--line);font-size:13.5px;color:var(--cream);z-index:45}#toast.on{opacity:1;transform:translate(-50%)}#fade{inset:0;background:#02060f;opacity:0;pointer-events:none;transition:opacity .28s ease;z-index:25}#fade.on{opacity:1}#stats{right:12px;top:54px;z-index:60;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfe3ff;background:#0000009e;padding:7px 10px;border-radius:8px;pointer-events:none;white-space:pre}.joy-base{position:fixed;width:112px;height:112px;border-radius:50%;border:1px solid rgba(243,234,215,.35);background:#07122959;display:none;z-index:20;pointer-events:none}.joy-base.on{display:block}.joy-knob{position:absolute;left:36px;top:36px;width:40px;height:40px;border-radius:50%;background:#d9a21bcc}@media(max-width:900px){#start .foot{position:static;transform:none;margin:0 auto 20px;flex-wrap:wrap}#start .top .pv b{display:none}#start .wrap{grid-template-columns:1fr;gap:26px;padding:70px 0 30px;overflow:auto}#start{overflow:auto;align-items:flex-start}#menu .go{grid-template-columns:repeat(2,minmax(0,1fr))}#menu .opts,#menu .ctl,#help .grid{grid-template-columns:1fr}#hints{display:none}}@media(max-height:760px)and (min-width:901px){#start .wrap{padding-bottom:56px}#start .circ li{padding:6px 0}#start .circ .n{font-size:34px}#start .lead{margin-bottom:20px}#start .rule{margin:18px 0 16px}}
