@font-face{font-family:Inter;src:url('../assets/inter-regular.ttf')}@font-face{font-family:Inter;src:url('../assets/inter-bold.ttf');font-weight:800}:root{--night:#0c1420;--panel:#162331;--paper:#f2efe5;--blue:#78c9ee;--orange:#f4a970;--green:#a8d99a;--violet:#c1a7ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--paper);font-family:Inter,Arial,sans-serif}button{font:inherit}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:20;background:white;color:#0c1420;padding:12px}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:3px}.site-header{height:72px;position:sticky;top:0;z-index:10;padding:0 max(20px,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0c1420ee;border-bottom:1px solid #ffffff2c;backdrop-filter:blur(14px)}.back{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none;font-size:13px;font-weight:800}.back:hover{text-decoration:underline}.back svg,.controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tag,.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#a2bdd0}.intro{max-width:1260px;margin:auto;padding:68px 20px 70px}.intro h1{font-size:clamp(50px,7.1vw,110px);letter-spacing:-.088em;line-height:.91;margin:20px 0 24px}.intro h1 em,.idea h2 em{font-style:normal;color:var(--orange)}.lead{max-width:640px;font-size:clamp(17px,1.7vw,22px);line-height:1.5;color:#d1dbe0;margin:0}.ribbon{position:relative;overflow:hidden;white-space:nowrap;background:#d2a184;color:#13202a;transform:skewY(-2deg);height:48px;display:flex;align-items:center;margin-bottom:-22px;z-index:2}.ribbon div{font-size:14px;font-weight:800;letter-spacing:.22em;min-width:max-content;animation:band 25s linear infinite}@keyframes band{to{transform:translateX(-50%)}}.game{background:radial-gradient(circle at 24% 22%,#274258 0,#182734 34%,#121e2b 74%);padding:76px max(20px,calc((100vw - 1260px)/2)) 68px}.game-head{display:flex;justify-content:space-between;align-items:end;gap:15px}.game-head .eyebrow{margin:0}.game-head h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.06em;margin:8px 0 24px;line-height:1}.orientation{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;min-width:150px;margin:0 0 26px}.orientation-dot{width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}.blue{--portal:var(--blue)}.orange{--portal:var(--orange)}.green{--portal:var(--green)}.violet{--portal:var(--violet)}.orientation{color:var(--portal)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);align-items:start;gap:clamp(28px,4.8vw,68px)}.stage{width:100%;max-width:790px;aspect-ratio:1;position:relative;overflow:hidden;border-radius:26px;background:radial-gradient(circle,#1e3644,#0a1521 72%);box-shadow:inset 0 0 0 1px #bad5e222,0 35px 90px #050d18a0}.stage:before{content:'';position:absolute;inset:2.2%;border:1px dashed #ffffff20;border-radius:17px;pointer-events:none}.world{--turn:0deg;position:absolute;inset:4.5%;border-radius:13px;transform:rotate(var(--turn));transition:transform .6s cubic-bezier(.23,.88,.34,1);background:radial-gradient(circle at 50% 50%,#2b4758 0,#1c303f 45%,#142431 100%);box-shadow:0 10px 50px #0007,inset 0 0 45px #07141f;overflow:hidden}.world-pattern{position:absolute;inset:0;opacity:.72;background:repeating-linear-gradient(0deg,transparent 0,transparent calc(11.111% - 1px),#ddf7ff12 calc(11.111% - 1px),#ddf7ff12 11.111%),repeating-linear-gradient(90deg,transparent 0,transparent calc(11.111% - 1px),#ddf7ff12 calc(11.111% - 1px),#ddf7ff12 11.111%)}.world-pattern:after{content:'';position:absolute;inset:20%;border:3px solid #bddce011;transform:rotate(22deg);box-shadow:0 0 0 16px #88b5c208,0 0 0 54px #88b5c205}.wall{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.17em;font-size:clamp(8px,1vw,12px);color:#0c1420;box-shadow:0 0 24px currentColor}.wall-north,.wall-south{left:0;right:0;height:4.2%}.wall-north{top:0;background:var(--blue)}.wall-south{bottom:0;background:var(--green)}.wall-east,.wall-west{top:0;bottom:0;width:4.2%;writing-mode:vertical-rl}.wall-east{right:0;background:var(--orange)}.wall-west{left:0;background:var(--violet);transform:rotate(180deg)}.board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr)}.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0}.cell.shaded:before{content:'';position:absolute;inset:16%;border:1px solid #cce4e515;transform:rotate(45deg)}.cell.block{background:linear-gradient(135deg,#4a5660 0,#6e7b80 45%,#253a47 46%,#192a36 100%);border:1px solid #a7b4b858;box-shadow:inset 0 0 0 6px #131e2870,0 4px 13px #0008;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}.cell.start:after{content:'';width:80%;height:80%;border:1px dashed #ffe0b6;border-radius:50%;opacity:.55}.cell.goal span{font-size:clamp(24px,5vw,57px);color:#f4e1bb;text-shadow:0 0 20px #f6d9a4;animation:pulse 2.5s ease-in-out infinite}.socket{position:relative;width:74%;height:74%;z-index:2;background:#bfe5ee14;border:2px dashed #bfe5ee8c;border-radius:12px;color:white;cursor:pointer;transform:rotate(45deg);transition:background .18s,transform .18s,box-shadow .18s}.socket:hover,.socket:focus-visible{background:#d2eff33d;transform:rotate(45deg) scale(1.09)}.socket.filled{border:2px solid var(--portal);background:color-mix(in srgb,var(--portal) 37%,#172635);box-shadow:0 0 24px color-mix(in srgb,var(--portal) 50%,transparent)}.socket:disabled{cursor:default}.portal-glyph{display:block;transform:rotate(-45deg);font-size:clamp(19px,3.8vw,40px);line-height:1;color:#fff;text-shadow:0 0 14px var(--portal)}.runner{--counter-turn:0deg;position:absolute;z-index:5;width:7%;height:10%;left:5.55%;top:83.33%;transform:translate(-50%,-50%) rotate(var(--counter-turn));transition:left .2s linear,top .2s linear,transform .6s cubic-bezier(.23,.88,.34,1);filter:drop-shadow(0 7px 6px #0009);pointer-events:none}.runner .head{position:absolute;width:47%;height:36%;left:26%;top:0;border-radius:48% 48% 42% 42%;background:#ffe0b0;box-shadow:inset -5px -2px #c59c7a}.runner .head:after{content:'';position:absolute;right:12%;top:42%;width:10%;height:10%;border-radius:50%;background:#20303d}.runner .body{position:absolute;left:20%;top:34%;width:60%;height:40%;border-radius:34% 34% 18% 18%;background:linear-gradient(110deg,#e6b273,#b96e56);border:2px solid #f6d9b76b}.runner .leg{position:absolute;top:69%;width:19%;height:29%;border-radius:4px;background:#a7c8cf;transform-origin:top}.runner .leg.left{left:28%}.runner .leg.right{right:28%}.runner.walking .leg.left{animation:step .3s infinite alternate}.runner.walking .leg.right{animation:step .3s infinite alternate-reverse}@keyframes step{to{transform:rotate(30deg)}}@keyframes pulse{50%{opacity:.5;transform:scale(.86)}}.side{border-top:1px solid #ffffff40;padding-top:20px}.how{display:grid;grid-template-columns:35px 1fr;gap:10px;margin-bottom:18px;font-size:14px;line-height:1.45;color:#d2dde0}.how p{margin:0}.step-no,.inventory-label{font-size:11px;letter-spacing:.12em;font-weight:800;color:#a2bdd0}.inventory-label{margin:30px 0 12px}.inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-choice{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:12px;background:#0d1927;border:1px solid color-mix(in srgb,var(--portal) 75%,transparent);border-radius:8px;color:var(--portal);font-size:13px;font-weight:800;cursor:pointer}.portal-choice:before{content:'';width:13px;height:13px;background:var(--portal);border-radius:3px;transform:rotate(45deg);flex:none;box-shadow:0 0 12px var(--portal)}.portal-choice span{margin-right:auto}.portal-choice b{font-size:11px;color:#fff}.portal-choice:hover,.portal-choice:focus-visible,.portal-choice.selected{background:color-mix(in srgb,var(--portal) 26%,#0d1927);box-shadow:0 0 0 2px var(--portal)}.portal-choice:disabled{opacity:.4;cursor:default}.hint{font-size:11px;color:#aebfc7;line-height:1.5}.controls{display:grid;gap:9px;margin:28px 0 15px}.controls button{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:10px 14px;border:1px solid #aec4d0;border-radius:6px;background:transparent;color:#f2efe5;font-weight:800;cursor:pointer}.controls button.primary{background:#f4ba81;color:#14222b;border-color:#f4ba81}.controls button:hover:not(:disabled),.controls button:focus-visible{background:#bce6ea;color:#10202b;border-color:#bce6ea}.controls button:disabled{opacity:.4;cursor:default}.controls button[hidden]{display:none}.status{min-height:48px;font-size:13px;line-height:1.4;color:#bce6ea}.levels{display:flex;gap:8px;margin-top:22px;max-width:790px}.levels button{width:45px;height:45px;border:1px solid #7894a3;border-radius:6px;background:#0c1724;color:white;font-weight:800;cursor:pointer}.levels button:hover,.levels button:focus-visible,.levels button.active{background:#bce6ea;color:#10202b;border-color:#bce6ea}.idea{padding:90px max(20px,calc((100vw - 1260px)/2));background:#0c1420}.idea h2{font-size:clamp(45px,6vw,86px);letter-spacing:-.08em;line-height:.9;margin:10px 0 25px}.idea>p:last-child{max-width:640px;color:#c9d6dc;line-height:1.6}footer{padding:27px max(20px,calc((100vw - 1260px)/2));border-top:1px solid #ffffff27;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#aebfc7}footer p{margin:0}footer nav{display:flex;gap:18px;flex-wrap:wrap}footer a:hover{text-decoration:underline}@media(max-width:900px){.play-layout{grid-template-columns:1fr}.stage{max-width:690px}.side{max-width:690px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.inventory-label,.inventory,.hint,.controls,.status{grid-column:1/-1}.inventory{grid-template-columns:repeat(4,minmax(0,1fr))}.orientation{align-self:end}}@media(max-width:620px){.site-header{height:62px}.tag{font-size:9px;text-align:right}.intro{padding:47px 20px 54px}.intro h1{font-size:clamp(43px,10vw,65px)}.game{padding-block:58px 45px}.game-head{display:block}.orientation{margin:0 0 20px}.stage{border-radius:10px}.world{inset:3%;border-radius:6px}.wall{font-size:7px}.socket{border-radius:5px}.portal-glyph{font-size:20px}.runner{width:7.5%}.side{display:block}.inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.idea{padding-block:64px}footer{display:block}footer nav{margin-top:18px}}@media(max-width:350px){.portal-choice{font-size:11px;min-height:58px;padding:8px}.portal-choice b{font-size:10px}.tag{max-width:110px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon div,.cell.goal span,.runner.walking .leg{animation:none}.world,.runner,.socket{transition:none}}
