html.gate-open{overflow:hidden}.gate{z-index:70;color:#e2e8f0;font-family:var(--font-body);background:#060b16;transition:transform .7s cubic-bezier(.7,0,.2,1),opacity .7s;position:fixed;inset:0;overflow:hidden}.gate.is-leaving{opacity:.6;pointer-events:none;transform:translateY(-100%)}.gate-grid{background-image:linear-gradient(#2dd4bf0f 1px,#0000 1px),linear-gradient(90deg,#2dd4bf0f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;mask-image:radial-gradient(at 70% 40%,#000 20%,#0000 75%)}.gate-glow{filter:blur(10px);background:radial-gradient(circle,#2dd4bf2e,#0000 60%);border-radius:50%;width:60vmax;height:60vmax;animation:6s ease-in-out infinite gate-breathe;position:absolute;top:-20vmax;right:-20vmax}@keyframes gate-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.gate-inner{height:100%;max-width:var(--wide);flex-direction:column;gap:1.5rem;margin:0 auto;padding:1.6rem clamp(1rem,3vw,2.5rem) 1.4rem;display:flex;position:relative}.gate-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.gate-brand{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#94a3b8;align-items:center;gap:.6rem;font-size:.74rem;display:inline-flex}.gate-dot{background:#2dd4bf;border-radius:50%;width:.55rem;height:.55rem;animation:1.6s ease-out infinite gate-pulse;box-shadow:0 0 #2dd4bf99}@keyframes gate-pulse{0%{box-shadow:0 0 #2dd4bf99}to{box-shadow:0 0 0 12px #2dd4bf00}}.gate-skip{font:inherit;color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.8rem;display:inline-flex}.gate-skip:hover{color:#fff;background:#ffffff1a}.gate-skip kbd{font-family:var(--font-mono);color:#94a3b8;border:1px solid #fff3;border-radius:4px;padding:.1rem .35rem;font-size:.66rem}.gate-cols{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);min-height:0;display:grid}.gate-h{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#2dd4bf;margin-bottom:1rem;font-size:.7rem}.gate-lines{font-family:var(--font-mono);flex-direction:column;gap:.7rem;margin:0;padding:0;font-size:clamp(.82rem,1.1vw,1rem);list-style:none;display:flex}.gate-lines li{grid-template-columns:6.5rem 1fr;align-items:baseline;gap:1rem;padding-left:1.1rem;animation:.3s both gate-in;display:grid;position:relative}.gate-lines li:before{content:"›";color:#475569;position:absolute;left:0}.gate-lines li.ok:before{content:"✓";color:#2dd4bf}.gate-lines .k{color:#64748b;letter-spacing:.08em;text-transform:uppercase;font-size:.72em}.gate-lines .v{color:#f1f5f9}.gate-lines .v:after{content:"▍";color:#2dd4bf;animation:.9s steps(2,end) infinite gate-blink}.gate-lines li.ok .v:after,.gate-lines li:not(:last-child) .v:after{content:""}@keyframes gate-blink{to{opacity:0}}@keyframes gate-in{0%{opacity:0;transform:translateY(6px)}}.gate-decision{text-align:center;flex-direction:column;align-items:center;gap:1.4rem;display:flex}.gate-ring{aspect-ratio:1;place-items:center;width:min(260px,60vw);display:grid;position:relative}.gate-ring svg{width:100%;height:100%;position:absolute;inset:0}.gate-ring circle{fill:none;stroke-width:1.5px}.gate-ring .r1{stroke:#2dd4bf40;stroke-dasharray:4 10;transform-origin:50%;animation:18s linear infinite gate-spin}.gate-ring .r2{stroke:#2dd4bf8c;stroke-dasharray:120 400;stroke-linecap:round;transform-origin:50%;animation:3.2s linear infinite reverse gate-spin}.gate-ring .r3{stroke:#94a3b840}.gate-ring .tick{fill:none;stroke:#2dd4bf;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:140;stroke-dashoffset:140px;opacity:0}.gate.is-decided .r2{stroke-dasharray:520 0;stroke:#2dd4bf;transition:stroke-dasharray .8s;animation:none}.gate.is-decided .tick{opacity:1;animation:.6s .3s forwards gate-draw}@keyframes gate-spin{to{transform:rotate(360deg)}}@keyframes gate-draw{to{stroke-dashoffset:0}}.gate-risk{flex-direction:column;gap:.2rem;transition:opacity .3s;display:flex;position:relative}.gate.is-decided .gate-risk{opacity:0}.gate-risk span{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#94a3b8;font-size:.66rem}.gate-risk b{font-family:var(--font-display);letter-spacing:-.02em;color:#f8fafc;font-size:2rem;font-weight:800}.gate-risk b.low{color:#2dd4bf}.gate-risk b.med{color:#fbbf24}.gate-policies{text-align:left;flex-direction:column;gap:.45rem;width:100%;max-width:26rem;margin:0;padding:0;list-style:none;display:flex}.gate-policies li{opacity:.35;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:3.4rem 1fr auto;align-items:center;gap:.75rem;padding:.55rem .8rem;font-size:.86rem;transition:opacity .3s,border-color .3s,background .3s;display:grid}.gate-policies li.is-on{opacity:1}.gate-policies li.pass{background:#2dd4bf12;border-color:#2dd4bf66}.gate-policies li.warn{background:#fbbf2412;border-color:#fbbf2473}.gate-policies .pid{font-family:var(--font-mono);letter-spacing:.08em;color:#94a3b8;font-size:.68rem}.gate-policies .pname{color:#e2e8f0}.gate-policies .pres{font-family:var(--font-mono);color:#2dd4bf;white-space:nowrap;font-size:.7rem}.gate-policies li.warn .pres{color:#fbbf24}.gate-verdict{opacity:0;flex-direction:column;align-items:center;gap:.35rem;transition:opacity .5s,transform .5s;display:flex;transform:translateY(10px)}.gate-verdict.is-on{opacity:1;transform:none}.gate-vkick{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:#94a3b8;font-size:.66rem}.gate-vbig{font-family:var(--font-display);letter-spacing:-.03em;color:#f8fafc;font-size:clamp(1.9rem,4vw,3rem);font-weight:800;line-height:1}.gate-vsub{color:#94a3b8;max-width:26rem;font-size:.9rem}.gate-enter{color:#06201c;background:#2dd4bf;border:0;margin-top:.8rem}.gate-enter:hover{background:#5eead4}.gate-foot{font-family:var(--font-mono);color:#64748b;letter-spacing:.04em;font-size:.68rem}@media (width<=860px){.gate-inner{gap:1rem;overflow:auto}.gate-cols{grid-template-columns:1fr;align-items:start;gap:1.5rem}.gate-lines li{grid-template-columns:5rem 1fr;gap:.6rem}.gate-ring{width:min(180px,50vw)}.gate-risk b{font-size:1.5rem}.gate-foot{display:none}}@media (prefers-reduced-motion:reduce){.gate,.gate-glow,.gate-dot,.gate-ring .r1,.gate-ring .r2,.gate-lines li{transition:none;animation:none}}.journey{--progress:0;height:3000vh;position:relative}.j-stage{height:100vh;position:sticky;top:0;overflow:hidden}.j-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.j-copy{pointer-events:none;z-index:1;position:absolute;inset:0}.j-panel{left:max(1rem, calc((100vw - var(--wide)) / 2 + 1rem));opacity:0;visibility:hidden;pointer-events:none;will-change:opacity, transform;width:min(34rem,100vw - 2rem);position:absolute;top:50%;transform:translateY(-50%)}.j-panel .actions,.j-panel a,.j-panel button{pointer-events:auto}.j-new{border:1px solid color-mix(in srgb, var(--c-offence) 45%, transparent);background:color-mix(in srgb, var(--c-offence) 8%, var(--paper));color:var(--ink);pointer-events:auto;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:100%;margin-bottom:1.4rem;padding:.45rem .9rem .45rem .5rem;font-size:.9rem;text-decoration:none;display:inline-flex}.j-new b{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--c-offence);border-radius:999px;padding:.15rem .55rem;font-size:.66rem;font-weight:600}.j-new i{color:var(--c-offence);font-style:normal;transition:transform .2s}.j-new:hover i{transform:translate(3px)}@media (width<=520px){.j-new{border-radius:14px}}.j-new:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.j-kicker{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem;font-size:.72rem;display:block}.j-case .j-kicker,.j-case .j-stats b,.j-casen{color:var(--c,var(--accent))}.j-btn-c{background:var(--c,var(--accent));color:#0b1220;border:0}.j-h{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0 0 1rem;font-size:clamp(2.2rem,5.2vw,4.2rem);font-weight:800;line-height:1.02}.j-h-case{font-size:clamp(1.7rem,3.6vw,2.9rem)}.j-panel:has(.j-stats) .j-h{font-size:clamp(2rem,4.4vw,3.6rem)}.j-panel.j-case:has(.j-stats) .j-h{font-size:clamp(1.7rem,3.4vw,2.8rem)}.j-p{color:var(--ink-2);max-width:30rem;margin:0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.j-case .j-p{-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(.95rem,1.15vw,1.05rem);display:-webkit-box;overflow:hidden}.j-stats{flex-wrap:wrap;gap:2rem;margin-top:1.6rem;display:flex}.j-stats-4{gap:1.4rem}.j-stats b{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:800;line-height:1;display:block}.j-stats-4 b{font-size:clamp(1.4rem,2.6vw,2rem)}.j-stats span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:.4rem;font-size:.7rem;display:block}.j-panel .actions{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}@media (height<=820px){.j-panel:has(.j-stats) .j-p{font-size:1rem}.j-panel:has(.j-stats) .j-stats{margin-top:1rem}}.j-num{font-family:var(--font-display);color:var(--accent);letter-spacing:-.02em;font-size:1.6em;font-weight:800}.j-granted,.j-denied{margin-top:1.2rem;display:none}.journey.is-approved .j-ask,.journey.is-denied .j-ask{display:none}.journey.is-approved .j-granted{animation:.5s j-in;display:block}.j-push{transition:top .5s}@media (width>=721px){.journey.is-approved .j-push{top:max(5rem,50% - 16rem)}}.journey.is-denied .j-denied{animation:.5s j-in;display:block}@keyframes j-in{0%{opacity:0;transform:translateY(10px)}}.j-links{gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.j-links li{flex-direction:column;gap:.1rem;display:flex}.j-links a{color:var(--ink);font-size:1.05rem;font-weight:700;text-decoration:none}.j-links a:hover{color:var(--accent)}.j-links span{color:var(--ink-3);font-size:.82rem}@media (width>=721px){.j-play{top:max(4.5rem,50% - 17rem)}}.j-games{gap:.55rem;max-width:32rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.j-games button{text-align:left;background:color-mix(in srgb, var(--paper) 70%, transparent);border:1px solid var(--line-2);width:100%;color:var(--ink);cursor:pointer;font:inherit;border-radius:12px;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.8rem 1rem;transition:border-color .2s,transform .2s;display:grid}.j-games button:hover{border-color:var(--accent);transform:translate(4px)}.j-games b{font-size:1rem;font-weight:700}.j-games span{color:var(--ink-2);grid-column:1;font-size:.84rem;line-height:1.4}.j-games em{font-style:normal;font-family:var(--font-mono);color:var(--accent);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-size:.72rem}.j-brief{color:var(--ink-2);margin-top:1rem;font-size:.9rem;line-height:1.5}.j-rail{z-index:3;pointer-events:none;flex-direction:column;gap:.9rem;display:flex;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}.j-rdot{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);opacity:.6;justify-content:flex-end;align-items:center;gap:.6rem;font-size:.62rem;transition:opacity .3s,color .3s;display:flex}.j-rdot i{border:1.5px solid;border-radius:50%;order:2;width:.5rem;height:.5rem}.j-rdot.is-active{opacity:1;color:var(--accent)}.j-rdot.is-active i{box-shadow:0 0 0 4px var(--accent-soft);background:currentColor}.j-marquee{border-top:1px solid var(--line);background:var(--paper);opacity:clamp(0, calc((var(--progress) - .945) * 14), 1);pointer-events:none;display:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.journey.is-end .j-marquee{display:block}.j-mtrack{width:max-content;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);gap:2.5rem;padding:.6rem 0;font-size:.7rem;animation:40s linear infinite j-marquee;display:flex}.j-mtrack span:after{content:"·";color:var(--accent);margin-left:2.5rem}@keyframes j-marquee{to{transform:translate(-50%)}}.j-skip{border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);opacity:clamp(0, calc(1 - (var(--progress) - .93) * 14), 1);border-radius:999px;padding:.5rem .85rem;font-size:.8rem;text-decoration:none;position:absolute;bottom:1.25rem;right:1.25rem}.j-skip:hover{color:var(--ink);border-color:var(--accent-line)}.j-hint{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);opacity:clamp(0, calc(1 - var(--progress) * 30), 1);font-size:.68rem;animation:2.2s ease-in-out infinite j-bob;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}@keyframes j-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}.journey.is-static{height:auto}.journey.is-static .j-stage{height:auto;position:static;overflow:visible}.journey.is-static .j-canvas,.journey.is-static .j-hint,.journey.is-static .j-skip,.journey.is-static .j-rail,.journey.is-static .j-marquee{display:none}.journey.is-static .j-copy{pointer-events:auto;position:static}.journey.is-static .j-panel{width:auto;max-width:var(--measure);margin:0 auto;padding:3rem 1rem;position:static;transform:none;opacity:1!important;visibility:visible!important}@media (width<=720px){.j-panel{top:auto;bottom:4.5rem;transform:none}.j-copy:before{content:"";background:linear-gradient(to top, color-mix(in srgb, var(--paper) 94%, transparent) 62%, transparent);pointer-events:none;height:60%;position:absolute;bottom:0;left:0;right:0}.j-h,.j-h-case{font-size:clamp(1.6rem,7vw,2.2rem)!important}.j-stats-4{gap:.9rem 1.2rem}.j-stats-4 div{min-width:40%}.j-p{font-size:.95rem}.j-case .j-p{-webkit-line-clamp:3}.j-games{gap:.4rem;margin-top:.9rem}.j-games button{padding:.55rem .8rem}.j-games span{display:none}.j-stats{gap:1.2rem}.j-rail{gap:.6rem;right:.6rem}.j-rdot{gap:0;font-size:0}.j-rdot i{width:.45rem;height:.45rem}}
