@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff")}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:var(--player-font,"Geist Variable", sans-serif);color:#eef4ef;font-synthesis:none;text-rendering:optimizelegibility;--cyan:#00b7ff;--green:#b9f5cb;--ink:#07100b;--paper:#f2f7f1;--player-background:#d8e4dd;--player-surface:#f4f8f5;--player-surface-raised:#fbfdfb;--player-text:#203129;--player-heading-text:#203129;--player-text-muted:#65736c;--player-accent-text-role:#2c705a;--player-accent:#2c705a;--player-accent-text:#fff;--player-border:#97b0a3;--player-font:"Geist Variable", sans-serif;--player-panel-opacity:100%;--player-card-opacity:100%;--player-frame-width:0vmin;--player-frame-color:transparent;background:#050706}*{box-sizing:border-box}html{background:#050706}body{background:radial-gradient(circle at 18% 4%,#306b4930,#0000 32rem),radial-gradient(circle at 92% 30%,#00b7ff14,#0000 28rem),#050706;min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible{outline-offset:4px;outline:3px solid #00b7ffbd}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kontexti-wordmark{min-width:0;height:1.75rem;color:var(--player-text);letter-spacing:-.052em;text-rendering:geometricprecision;align-items:center;gap:.42rem;font-family:Geist Variable,sans-serif;font-size:1.02rem;font-weight:690;line-height:1;display:inline-flex}.kontexti-wordmark__mark-shell{flex:none;width:1.75rem;height:1.75rem;position:relative}.kontexti-wordmark__mark{width:100%;height:100%;display:block;overflow:visible}.kontexti-wordmark__route{fill:none;stroke:var(--player-accent);stroke-linecap:round;stroke-width:1.8px}.kontexti-wordmark__origin{fill:var(--player-surface-raised);stroke:var(--player-accent);stroke-width:1.7px}.kontexti-wordmark__destination{fill:var(--player-accent)}.kontexti-wordmark__destination-core{fill:var(--player-surface-raised)}.kontexti-wordmark__name{white-space:nowrap}.player-map-waiting{z-index:2;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));color:var(--player-text);background:color-mix(in srgb, var(--player-background) 38%, transparent);place-items:center;animation:.32s cubic-bezier(.32,.72,0,1) both player-waiting-enter;display:grid;position:fixed;inset:0}.player-map-waiting__content{text-align:center;place-items:center;gap:clamp(.65rem,2dvh,1rem);width:min(72vw,15rem);max-height:25dvh;display:grid}.kontexti-wordmark--waiting{flex-direction:column;gap:clamp(.5rem,1.6dvh,.85rem);height:auto;font-size:clamp(1.2rem,5vw,1.65rem)}.kontexti-wordmark--waiting .kontexti-wordmark__mark-shell{width:clamp(3.5rem,12dvh,6.3rem);height:clamp(3.5rem,12dvh,6.3rem)}.kontexti-wordmark--waiting .kontexti-wordmark__mark-shell:before{border:1.5px solid color-mix(in srgb, var(--player-accent) 24%, transparent);border-top-color:var(--player-accent);border-right-color:color-mix(in srgb, var(--player-accent) 72%, transparent);content:"";border-radius:50%;animation:6s cubic-bezier(.45,0,.55,1) infinite kontexti-waiting-orbit;position:absolute;inset:-.55rem}.player-map-waiting__content p{color:var(--player-text);letter-spacing:-.018em;margin:0;font-size:clamp(1rem,4vw,1.15rem);font-weight:560;line-height:1.25}@keyframes kontexti-waiting-orbit{to{transform:rotate(360deg)}}@keyframes player-waiting-enter{0%{opacity:0}to{opacity:1}}.player-shell{--player-overlay-duration:.3s;--player-overlay-ease:cubic-bezier(.32,.72,0,1);width:100%;min-height:100dvh;color:var(--player-text);background:var(--player-background);position:relative;overflow:hidden}.player-shell__map{position:fixed;inset:0}.player-shell__map .player-map{border-radius:0}.player-shell__map .maplibregl-ctrl-bottom-left,.player-shell__map .maplibregl-ctrl-bottom-right{display:none}.player-shell.is-map-locked .player-shell__map{pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none}.player-discovery-notice{z-index:30;top:max(1rem, env(safe-area-inset-top));width:min(34rem,100% - 2rem);color:var(--player-text);background:color-mix(in srgb, var(--player-surface-raised) 94%, transparent);border:1px solid color-mix(in srgb, var(--player-border) 72%, transparent);box-shadow:0 .75rem 2rem color-mix(in srgb, var(--player-text) 20%, transparent);text-align:center;border-radius:.9rem;margin-inline:auto;padding:.8rem 1rem;font-weight:600;position:fixed;left:1rem;right:1rem}.player-shell.is-playing:after{z-index:5;box-sizing:border-box;background-image:var(--player-frame-image,none);content:"";pointer-events:none;background-position:50%;background-size:100% 100%;border:0;position:fixed;inset:0}.player-overlay{z-index:10;position:fixed;inset:0}.player-overlay__scrim{background:color-mix(in srgb, var(--player-background) 24%, transparent);opacity:0;transition:opacity var(--player-overlay-duration) var(--player-overlay-ease);position:absolute;inset:0}.player-overlay__surface{opacity:0;transition:opacity var(--player-overlay-duration) var(--player-overlay-ease), transform var(--player-overlay-duration) var(--player-overlay-ease);will-change:opacity, transform;position:relative}.player-overlay.is-open .player-overlay__scrim,.player-overlay.is-open .player-overlay__surface{opacity:1}.player-overlay--panel{padding:max(.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom));align-items:start;display:grid}.player-overlay--panel .player-overlay__surface{background:color-mix(in srgb, var(--player-surface) 58%, transparent);border:1px solid color-mix(in srgb, var(--player-border) 72%, transparent);width:min(44rem,100%);height:min(80dvh,48rem);box-shadow:0 1.25rem 4rem color-mix(in srgb, var(--player-text) 24%, transparent), inset 0 1px 0 #ffffff57;-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);transform-origin:50% 18%;border-radius:1.8rem;margin:0 auto;overflow:hidden;transform:translateY(1.4rem)scale(.985)}.player-overlay--panel.is-open .player-overlay__surface{transform:translate(0,0)scale(1)}.player-overlay--game.player-overlay--panel{padding:0}.player-overlay--game.player-overlay--panel .player-overlay__surface{transform-origin:50%;border:0;border-radius:0;width:100%;max-width:none;height:100dvh;margin:0}:root[data-player-skin=true] .player-overlay--game.player-overlay--panel .player-overlay__surface{background-color:#0000;background-image:linear-gradient(color-mix(in srgb, var(--player-surface) var(--player-panel-opacity), transparent), color-mix(in srgb, var(--player-surface) var(--player-panel-opacity), transparent)), var(--player-panel-texture,none);background-position:50%;background-repeat:no-repeat;background-size:cover}.player-overlay--status{place-items:center;display:grid}.player-overlay--status .player-overlay__surface{place-items:center;display:grid;transform:scale(.96)}.player-overlay--status.is-open .player-overlay__surface{transform:scale(1)}.player-overlay--status .player-overlay__scrim{background:var(--player-background)}.player-panel-layout{grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:1.15rem;display:grid}.player-panel-header{border-bottom:1px solid color-mix(in srgb, var(--player-border) 62%, transparent);align-items:center;min-height:2.15rem;padding:.1rem .35rem .9rem;display:flex}.player-library-content{overscroll-behavior:contain;align-content:start;gap:1.35rem;min-height:0;padding:1rem .35rem;display:grid;overflow-y:auto}.player-library-content section{gap:.55rem;display:grid}.player-library-content h2{color:var(--player-text-muted);letter-spacing:.04em;margin:0;font-size:.72rem;font-weight:670}.player-game-list{gap:.45rem;display:grid}.player-game-list>p{color:var(--player-text-muted);margin:0;padding:.75rem .9rem}.player-game-list button,.player-panel-tools button{min-height:3.1rem;color:var(--player-text);background:color-mix(in srgb, var(--player-surface-raised) 44%, transparent);text-align:left;border:1px solid #0000;border-radius:.9rem;padding:.72rem .9rem;font-weight:570}.player-game-list>button{justify-content:space-between;align-items:center;gap:1rem;display:flex}.player-game-list small{color:var(--player-text-muted);font-size:.72rem}.player-game-row{grid-template-columns:minmax(0,1fr) auto;gap:.35rem;display:grid}.player-game-row .player-game-delete{min-height:0;color:var(--player-text-muted);background:0 0;padding-inline:.65rem;font-size:.72rem}.player-panel-tools{border-top:1px solid color-mix(in srgb, var(--player-border) 62%, transparent);gap:.8rem;padding:.9rem .35rem .1rem;display:flex}.player-panel-tools button{text-align:center;background:0 0;border-radius:.65rem;flex:1;padding-inline:.25rem}.player-notice{border:1px solid var(--player-border);color:var(--player-text-muted);border-radius:.8rem;padding:.7rem .85rem;font-size:.82rem}.player-waiting-status{text-align:center;place-items:center;gap:clamp(.65rem,2dvh,1rem);width:min(72vw,15rem);max-height:25dvh;display:grid}.player-waiting-status>p{color:var(--player-text);margin:0;font-size:clamp(1rem,4vw,1.15rem);font-weight:560;line-height:1.25}.player-waiting-action{min-height:2.65rem;color:var(--player-accent-text);background:var(--player-accent);border:0;border-radius:999px;padding:.55rem 1rem;font-weight:650}.kontexti-wordmark--waiting.is-static .kontexti-wordmark__mark-shell:before{opacity:.35;animation:none}.player-overlay--panel .game-shell{background:0 0;flex-direction:column;height:100%;padding:1rem;display:flex;overflow:hidden}.player-overlay--game .game-shell{padding:1rem}.player-overlay--panel .game-shell .runtime-header{margin:0;padding:0 .15rem .8rem}.runtime-header{gap:.7rem;min-width:0;padding:.1rem 0 1rem;display:grid}.runtime-header__decoration{aspect-ratio:640/144;background:var(--player-header-decoration) center / contain no-repeat;pointer-events:none;width:100%;display:none}:root[data-player-skin=true][data-player-has-header-decoration=true] .player-overlay--game .runtime-header__decoration{display:block}.runtime-header__content{grid-template-columns:minmax(2.75rem,auto) minmax(0,1fr) minmax(2.75rem,auto);align-items:start;min-width:0;display:grid}.runtime-header__action-space,.runtime-header__exit{width:max-content;min-width:2.75rem;min-height:2.75rem}.runtime-header__action-space{visibility:hidden}.runtime-header__copy{text-align:center;min-width:0;padding-inline:.55rem}.runtime-header__copy .eyebrow{margin-inline:auto}.runtime-header__copy h1{overflow-wrap:anywhere}.runtime-header__exit{justify-self:end;padding:.55rem .7rem}:root[data-player-skin=true] .player-overlay--game{--player-readable-card-opacity:max(88%, var(--player-card-opacity));--player-readable-header-opacity:max(92%, var(--player-card-opacity))}:root[data-player-skin=true] .player-overlay--game .runtime-header__copy{background:color-mix(in srgb, var(--player-surface-raised) var(--player-readable-header-opacity), transparent);border:1px solid color-mix(in srgb, var(--player-border) 82%, transparent);border-radius:1rem;padding-block:.55rem}.player-overlay--panel .game-shell .world-items{overscroll-behavior:contain;flex:0 30%;min-height:0;overflow-y:auto}.player-overlay--panel .game-shell .event-shell{flex:auto;min-height:0;padding:.15rem;overflow:hidden}.player-overlay--panel .game-shell .event-card{background:color-mix(in srgb, var(--player-surface-raised) 64%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;height:100%;margin:0;display:flex;overflow:hidden}:root[data-player-skin=true] .player-overlay--game .event-card,:root[data-player-skin=true] .player-overlay--game .world-item{background:color-mix(in srgb, var(--player-surface-raised) var(--player-readable-card-opacity), transparent)}.player-overlay--panel .game-shell .event-card>h2,.player-overlay--panel .game-shell .event-card>.runtime-feedback,.player-overlay--panel .game-shell .event-card>p{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.player-overlay--panel .game-shell .event-card>.runtime-choices,.player-overlay--panel .game-shell .event-card>.primary-button{flex:none}.player-overlay--panel .game-shell .event-card>form{flex-direction:column;height:100%;min-height:0;display:flex}.player-overlay--panel .game-shell .event-card>form .runtime-open-text{flex:auto;min-height:0}.player-overlay--panel .game-shell .event-card>form textarea{resize:none;height:100%;max-height:none}@media (width<=480px){.player-overlay--panel{padding:max(.5rem, env(safe-area-inset-top)) .5rem max(.5rem, env(safe-area-inset-bottom))}.player-overlay--panel .player-overlay__surface{border-radius:1.45rem}.player-overlay--game.player-overlay--panel .player-overlay__surface{border-radius:0}.player-panel-layout{padding:.9rem}.player-panel-tools{gap:.35rem}.player-panel-tools button{font-size:.84rem}}:root[data-player-has-emblem=true] .kontexti-wordmark--waiting{background:var(--player-emblem-image) center / contain no-repeat;width:clamp(5rem,24vw,8rem);height:clamp(5rem,24vw,8rem)}:root[data-player-has-emblem=true] .kontexti-wordmark--waiting>*{visibility:hidden}@media (prefers-reduced-motion:reduce){.player-overlay__scrim,.player-overlay__surface{transition-duration:1ms}.kontexti-wordmark--waiting .kontexti-wordmark__mark-shell:before{animation:none}}.eyebrow{color:#eef4efad;letter-spacing:.18em;background:#eef4ef14;border-radius:999px;width:max-content;padding:.42rem .7rem;font-size:.64rem;font-weight:720;display:inline-flex}.player-overlay--game .eyebrow{color:var(--player-accent-text-role)}.eyebrow--dark{color:#07100b94;background:#07100b12}.library-page{width:min(1180px,100% - 3rem);margin:0 auto;padding:6.5rem 0 8rem}.library-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:4rem;margin-bottom:5rem;display:grid}.hero-copy h1{color:#f2f7f1;letter-spacing:-.075em;max-width:860px;margin:1.5rem 0;font-size:clamp(3.3rem,8vw,7.8rem);font-weight:620;line-height:.89}.hero-copy p{color:#eef4ef9e;max-width:630px;margin:0;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.6}.hero-mark{aspect-ratio:1;background:radial-gradient(circle,#00b7ff1f,#00b7ff04 68%,#0000 69%);border-radius:50%;place-items:center;padding:2.2rem;display:grid}.hero-mark .kontexti-logo{width:100%}.kontexti-logo{color:#17b9f2;letter-spacing:-.075em;text-align:center;width:min(54vw,340px);font-size:clamp(2.35rem,9vw,5.5rem);font-weight:760;line-height:.9;display:block}.notice{color:#d9ffe4;background:#b9f5cb1a;border-radius:1.1rem;margin:-2rem 0 2.5rem;padding:1rem 1.25rem}.notice--error{color:#ffd1d1;background:#ff70701f}.notice--warning{color:#ffe2ad;background:#ffbe501f}.library-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);align-items:stretch;gap:1.5rem;display:grid}.game-card-shell,.import-shell,.event-shell,.map-frame{background:#ffffff0e;border-radius:2.4rem;padding:.45rem;box-shadow:inset 0 1px #ffffff14}.game-card{background:var(--paper);min-height:520px;color:var(--ink);border-radius:2rem;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.game-card__visual{background:radial-gradient(circle at 35% 36%,#b9f5cbf2 0 4%,#0000 4.3%),linear-gradient(145deg,#0d291a,#133924 54%,#08140d);justify-content:flex-end;align-items:flex-start;padding:2rem;display:flex;position:relative;overflow:hidden}.game-card__visual:before,.game-card__visual:after{content:"";aspect-ratio:1;border:1px solid #b9f5cb38;border-radius:47% 53% 67% 33%/45% 34% 66% 55%;width:72%;position:absolute;transform:rotate(24deg)}.game-card__visual:after{width:38%;transform:rotate(-18deg)}.game-card__visual span{z-index:1;color:#e1ffeaad;letter-spacing:.12em;font-size:.72rem;position:relative}.game-card__visual i{background:var(--green);border-radius:50%;width:2.6rem;height:2.6rem;position:absolute;bottom:2.2rem;left:2rem;box-shadow:0 0 2.4rem #b9f5cb61}.game-card__body{flex-direction:column;padding:clamp(2rem,4vw,4rem);display:flex}.game-card__body h2,.import-card h2{letter-spacing:-.055em;margin:1.35rem 0 .8rem;font-size:clamp(2rem,4vw,3.7rem);font-weight:630;line-height:.98}.game-card__body>p,.import-card>p{color:#07100b9e;margin:0;line-height:1.55}.game-card dl{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:auto 0 1.7rem;display:grid}.game-card dl div{background:#07100b0e;border-radius:1rem;padding:1rem}.game-card dt{color:#07100b78;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.game-card dd{margin:.35rem 0 0;font-size:.9rem;font-weight:650}.primary-button,.secondary-button,.quiet-button{cursor:pointer;border:0;transition:transform .56s cubic-bezier(.32,.72,0,1),background .56s cubic-bezier(.32,.72,0,1)}.primary-button{background:var(--ink);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;width:100%;padding:.55rem .6rem .55rem 1.35rem;font-weight:650;display:flex}.primary-button i,.stored-game__open i{background:#ffffff1c;border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;font-size:1.4rem;font-style:normal;transition:transform .56s cubic-bezier(.32,.72,0,1);display:grid}.primary-button:hover i,.stored-game__open:hover i{transform:translate(.18rem)}.primary-button:active,.secondary-button:active,.quiet-button:active{transform:scale(.98)}.import-card{background:#101512;border-radius:2rem;flex-direction:column;min-height:100%;padding:2.4rem;display:flex;box-shadow:inset 0 1px #ffffff12}.import-card h2{color:#eff7f1;font-size:clamp(2rem,3.4vw,3.2rem)}.import-card>p{color:#eef4ef8c}.secondary-button{background:var(--green);color:#082013;border-radius:999px;margin-top:auto;padding:1rem 1.25rem;font-weight:680}.library-count{color:#eef4ef6b;text-align:center;margin-top:1rem;font-size:.78rem}.stored-games{margin-top:4rem;scroll-margin-top:1rem}.stored-games>div{gap:.65rem;margin-top:1rem;display:grid}.stored-game{background:#ffffff0e;border-radius:1.4rem;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.stored-game__open{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:1rem 1rem 1rem 1.25rem;display:flex}.stored-game__open span{gap:.25rem;display:grid}.stored-games small{color:#eef4ef70}.stored-game__delete{color:#eef4efad;cursor:pointer;background:0 0;border:0;border-left:1px solid #ffffff1a;align-self:stretch;padding:0 1rem}.stored-game__delete:hover{color:#fff;background:#ffffff14}.world-items{gap:.75rem;width:min(100%,48rem);margin:0 auto 1rem;display:grid}.world-item{border:1px solid color-mix(in srgb, var(--player-border) 78%, transparent);background:color-mix(in srgb, var(--player-surface-raised) 91%, transparent);color:var(--player-text);border-radius:1.1rem;padding:1rem 1.1rem}.world-item h2{margin:.2rem 0 .5rem}.world-item p{color:var(--player-text-muted);margin:.5rem 0}.world-item summary{cursor:pointer;font-weight:720}.world-item ul{margin:.75rem 0 0;padding-left:1.2rem}.world-item--new{box-shadow:0 0 0 1px color-mix(in srgb, var(--player-accent) 40%, transparent)}.world-item--new .primary-button{margin-top:.8rem}.catalog-games{border:1px solid color-mix(in srgb, var(--player-border) 82%, transparent);background:color-mix(in srgb, var(--player-surface) 88%, transparent);border-radius:1.8rem;margin:0 0 1.5rem;padding:1.5rem}.catalog-games__heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.catalog-games__heading h2{color:var(--player-text);margin:.75rem 0 0;font-size:clamp(1.65rem,3vw,2.4rem)}.catalog-games__heading .quiet-button{flex:none}.catalog-games__empty{color:var(--player-text-muted);margin:1.25rem 0 0}.catalog-games__list{gap:.65rem;margin-top:1.25rem;display:grid}.catalog-games__list article{border:1px solid var(--player-border);background:color-mix(in srgb, var(--player-surface-raised) 92%, transparent);border-radius:1.2rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem .9rem .9rem 1.1rem;display:flex}.catalog-games__list article>span{gap:.2rem;min-width:0;display:grid}.catalog-games__list strong{color:var(--player-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-games__list small{color:var(--player-text-muted)}.catalog-games__list button{background:var(--player-accent);color:var(--player-accent-text);cursor:pointer;border:0;border-radius:999px;flex:none;padding:.7rem 1rem;font-weight:680}.catalog-games__list button:disabled{cursor:default;opacity:.55}.safety-screen{z-index:100;background:#000;place-items:center;min-height:100dvh;display:grid;position:fixed;inset:0;overflow:hidden}.game-runtime--blocked{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.safety-screen__glow{place-items:center;width:min(72vw,430px);animation:8s cubic-bezier(.32,.72,0,1) infinite alternate safety-breathe;display:grid;position:relative}.safety-screen__glow:before{content:"";aspect-ratio:1;filter:blur(18px);background:radial-gradient(circle,#00b7ff2e,#00b7ff0a 42%,#0000 70%);border-radius:50%;width:80%;position:absolute}.safety-screen__glow .kontexti-logo{filter:drop-shadow(0 0 18px #00b7ff38);width:100%;position:relative}.safety-screen__status{color:#f4f7f5;text-align:center;place-items:center;gap:1.25rem;width:min(88vw,460px);display:grid}.safety-screen__status .safety-screen__glow{width:min(64vw,360px)}.safety-screen__status p{color:#f4f7f5c7;margin:0;font-size:1rem}.safety-screen__status button{color:#06120c;min-height:3.25rem;font:inherit;cursor:pointer;background:#b8f5cf;border:1px solid #ffffff38;border-radius:999px;padding:.75rem 1.25rem;font-weight:720}.safety-screen__status .safety-screen__exit,.safety-screen--message button{color:#f4f7f5d1;min-height:2.75rem;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #fff3;border-radius:999px;padding:.65rem 1rem}.safety-screen--message{align-content:center;gap:1.25rem}.safety-screen--message p{color:#f4f7f5;letter-spacing:-.025em;margin:0;font-size:clamp(1.3rem,5vw,2rem);font-weight:560}@keyframes safety-breathe{0%{opacity:.48;transform:scale(.985)}to{opacity:.82;transform:scale(1)}}.game-shell{min-height:100dvh;color:var(--ink);background:#e9f0e9;padding:1.2rem}.game-shell--with-background{background-repeat:no-repeat;background-size:cover;background-attachment:fixed}.game-shell--with-background .runtime-header,.game-shell--with-background .event-card{background:color-mix(in srgb, var(--player-surface-raised) 86%, transparent);border:1px solid color-mix(in srgb, var(--player-border) 78%, transparent);box-shadow:0 1rem 3rem color-mix(in srgb, var(--player-background) 24%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.08);backdrop-filter:blur(14px)saturate(1.08)}.game-shell--with-background .runtime-header{border-radius:1.5rem;margin-bottom:1rem;padding:1rem}.runtime-header .eyebrow{color:#07100b8c;background:#07100b12}.runtime-header h1{color:var(--player-heading-text);letter-spacing:-.055em;margin:.6rem 0 0;font-size:clamp(2.1rem,7vw,4rem);line-height:.95}.quiet-button{color:var(--ink);background:#07100b12;border-radius:999px;padding:.75rem 1rem}.map-frame{background:color-mix(in srgb, var(--player-border) 42%, transparent);height:min(55dvh,560px)}.player-map{border-radius:2rem;width:100%;height:100%;overflow:hidden}.player-map--loading{background:radial-gradient(circle at 24% 34%, color-mix(in srgb, var(--player-accent) 18%, transparent) 0 2px, transparent 3px), linear-gradient(145deg, var(--player-background), var(--player-surface))}.player-map-marker{border:3px solid var(--player-surface-raised);background:var(--player-accent);width:1.8rem;height:1.8rem;color:var(--player-accent-text);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;box-shadow:0 4px 18px #00000052}.player-map-marker--player{background:#2b8cff;width:1.15rem;height:1.15rem}.player-map-marker--target{border-radius:.45rem .45rem .45rem 0;transform:rotate(-45deg)}.player-map-marker--target:first-letter{transform:rotate(45deg)}.player-map-marker--item{width:1.35rem;height:1.35rem}:root[data-player-has-player-marker=true] .player-map-marker--player,:root[data-player-has-target-marker=true] .player-map-marker--target,:root[data-player-has-item-marker=true] .player-map-marker--item{color:#0000;width:2rem;height:2rem;box-shadow:none;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border:0;border-radius:0}:root[data-player-has-player-marker=true] .player-map-marker--player{background-image:var(--player-marker-player)}:root[data-player-has-target-marker=true] .player-map-marker--target{background-image:var(--player-marker-target);transform:none}:root[data-player-has-item-marker=true] .player-map-marker--item{background-image:var(--player-marker-item)}.player-map-label{border:1px solid var(--player-border);background:color-mix(in srgb, var(--player-surface-raised) 88%, transparent);max-width:12rem;color:var(--player-text);white-space:nowrap;border-radius:.55rem;padding:.35rem .55rem;font-size:.75rem;font-weight:720;box-shadow:0 4px 14px #0000003d}.map-surface{background:linear-gradient(90deg, color-mix(in srgb, var(--player-text) 5%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--player-text) 5%, transparent) 1px, transparent 1px), var(--player-surface);background-size:28px 28px;border-radius:2rem;height:100%;position:relative;overflow:hidden}.map-water{aspect-ratio:1;background:color-mix(in srgb, var(--player-surface) 66%, var(--player-accent));border-radius:45%;width:62%;position:absolute;inset:-28% -32% auto auto;transform:rotate(-20deg)}.map-road{background:color-mix(in srgb, var(--player-surface-raised) 92%, var(--player-text));width:140%;height:2rem;box-shadow:0 0 0 .35rem color-mix(in srgb, var(--player-border) 72%, transparent);transform-origin:50%;position:absolute}.map-road--one{top:48%;left:-18%;transform:rotate(-17deg)}.map-road--two{top:65%;left:-22%;transform:rotate(34deg)}.map-target,.map-player{border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;display:grid;position:absolute}.map-target{background:var(--player-text);box-shadow:0 0 0 .6rem color-mix(in srgb, var(--player-accent) 20%, transparent);top:22%;right:27%}.map-target i{background:var(--player-accent);border-radius:50%;width:.8rem;height:.8rem}.map-player{background:var(--player-surface-raised);box-shadow:0 0 0 .6rem color-mix(in srgb, var(--player-surface-raised) 50%, transparent);bottom:20%;left:25%}.map-player i{background:var(--player-accent);border-radius:50%;width:.8rem;height:.8rem}.map-caption{background:color-mix(in srgb, var(--player-surface) 88%, transparent);color:var(--player-text);border:1px solid var(--player-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:.85rem 1rem;display:grid;position:absolute;top:1rem;left:1rem}.map-caption strong{font-size:1.25rem}.map-caption span{color:var(--player-text-muted);font-size:.75rem}.event-shell{background:#07100b14;margin-top:1rem}.event-card{background:#f7faf6;border-radius:2rem;padding:clamp(1.7rem,5vw,3rem)}.event-card h2{max-width:820px;color:var(--player-heading-text);letter-spacing:-.05em;margin:1.2rem 0 .8rem;font-size:clamp(1.8rem,6vw,3.8rem);line-height:1.02}.event-card p{color:#07100b8f;max-width:620px;line-height:1.55}.event-card .primary-button{max-width:420px;margin-top:2rem}.runtime-feedback{font-size:clamp(1.05rem,3vw,1.35rem)}.runtime-choices{gap:.75rem;width:min(100%,760px);margin-top:1.7rem;display:grid}.runtime-choices button{width:100%;min-height:4.4rem;color:var(--player-text);text-align:left;background:color-mix(in srgb, var(--player-surface) 84%, transparent);border:1px solid var(--player-border);cursor:pointer;border-radius:1.3rem;grid-template-columns:2.5rem 1fr 1.5rem;align-items:center;gap:.8rem;padding:.65rem 1rem .65rem .65rem;display:grid}.runtime-choices button>span{width:2.5rem;height:2.5rem;color:var(--player-accent-text);background:var(--player-accent);border-radius:50%;place-items:center;font-size:.8rem;display:grid}.runtime-choices button>strong{font-size:1rem;line-height:1.35}.runtime-choices button>i{color:var(--player-text-muted);font-size:1.45rem;font-style:normal}.runtime-choices button:active{transform:scale(.99)}.runtime-open-text{width:min(100%,760px);color:var(--player-text-muted);gap:.55rem;margin-top:1.5rem;font-size:.78rem;font-weight:680;display:grid}.runtime-open-text textarea{resize:vertical;width:100%;min-height:9rem;color:var(--player-text);background:var(--player-surface);border:1px solid var(--player-border);border-radius:1.2rem;padding:1rem;line-height:1.5}.runtime-open-text textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--player-accent) 72%, transparent);outline-offset:3px}.event-card--ending,.event-card--error{flex-direction:column;justify-content:center;min-height:min(68dvh,620px);display:flex}.developer-panel{z-index:110;color:#fff;background:#101512f0;border-radius:1.25rem;width:min(410px,100% - 1.5rem);padding:.85rem;position:fixed;bottom:.75rem;right:.75rem;box-shadow:0 1.2rem 4rem #0003}.developer-panel strong{color:#ffffff94;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .65rem .25rem;font-size:.72rem;display:block}.developer-panel div{flex-wrap:wrap;gap:.4rem;display:flex}.developer-panel button{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:999px;flex:1;min-width:82px;padding:.62rem;font-size:.78rem}.developer-panel button[aria-pressed=true]{background:var(--green);color:#082013}.sensor-diagnostics{z-index:110;color:#fff;background:#050a08eb;border:1px solid #ffffff29;border-radius:1rem;width:min(320px,100% - 1.5rem);padding:.85rem;font-size:.72rem;position:fixed;bottom:.75rem;left:.75rem}.sensor-diagnostics strong{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.55rem;display:block}.sensor-diagnostics dl{gap:.3rem;margin:0;display:grid}.sensor-diagnostics dl div{justify-content:space-between;gap:1rem;display:flex}.sensor-diagnostics dt{color:#ffffff94}.sensor-diagnostics dd{font-variant-numeric:tabular-nums;margin:0}@media (width<=820px){.library-page{width:100%;padding:3.5rem 1rem 6rem}.library-hero{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}.hero-mark{display:none}.library-grid,.game-card{grid-template-columns:1fr}.game-card__visual{min-height:230px}.game-card__body{min-height:430px}.import-card{min-height:360px}.game-shell{padding:.75rem}.map-frame{height:48dvh}.developer-panel{top:calc(.75rem + env(safe-area-inset-top));bottom:auto}}@media (width<=480px){.hero-copy h1{font-size:3.25rem}.game-card dl{grid-template-columns:1fr}.game-card dl div{justify-content:space-between;align-items:center;display:flex}.game-card dd{margin:0}.runtime-header h1{font-size:2.3rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.library-page{color:var(--player-text)}.game-card{background:var(--player-surface-raised);color:var(--player-text)}.import-card{background:var(--player-surface);color:var(--player-text);border:1px solid var(--player-border)}.import-card h2{color:var(--player-text)}.import-card>p,.import-card .library-count{color:var(--player-text-muted)}.import-card code{color:var(--player-accent)}.secondary-button{background:var(--player-accent);color:var(--player-accent-text)}.game-shell{background:var(--player-background);color:var(--player-text)}.game-shell .runtime-header .eyebrow,.game-shell .eyebrow--dark{color:var(--player-text-muted);background:color-mix(in srgb, var(--player-text) 8%, transparent)}.game-shell .quiet-button{color:var(--player-text);background:color-mix(in srgb, var(--player-text) 8%, transparent);border:1px solid var(--player-border)}.event-card{background:var(--player-surface-raised);color:var(--player-text);border:1px solid var(--player-border)}.event-card p{color:var(--player-text-muted)}.event-card .primary-button{color:var(--player-accent-text);background:var(--player-accent)}
