*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}body{overscroll-behavior:none;overflow:hidden}button,a{font:inherit;color:inherit}button:focus,a:focus{outline:none}svg{display:block}.os{background:var(--bg);-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}:root[data-theme=light] .os:before{content:"";z-index:100;height:env(safe-area-inset-top);background:#2d2d2d;position:fixed;inset:0 0 auto}.v{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);flex-direction:column;transition:opacity .3s,visibility 0s linear .3s;display:flex;position:absolute;inset:0}.os[data-state=app] .v-home{opacity:0;visibility:hidden}.os[data-state=home] .v-home{transition:opacity .3s}.v-app.closing{animation:.26s forwards app-close}@keyframes app-close{to{opacity:0;transform:scale(.94)}}.status{font-variant-numeric:tabular-nums;color:var(--fg);align-items:center;gap:12px;font-size:16px;display:flex}.status svg{width:21px;height:21px}.status [data-battery]{align-items:center;gap:6px;display:flex}.status [data-battery] svg{width:30px;height:15px}.status [data-battery]:empty,.status [data-net]:empty{display:none}.home-top{flex:none;justify-content:space-between;align-items:center;height:78px;padding:0 20px;display:flex}.user-btn{background:#ffc933;border-radius:50%;width:48px;height:48px;display:block;position:relative}.user-btn img{border-radius:50%;width:100%;height:100%;display:block}.is-selected:after{content:"";border:4px solid var(--accent);pointer-events:none;border-radius:8px;animation:.9s ease-in-out infinite alternate k-sel-pulse;position:absolute;inset:-7px}.user-btn.is-selected:after,.sys.is-selected:after{border-radius:50%}.tile-title{display:none}.tiles-viewport{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;padding:10px 20px 22px;overflow-y:auto}.tiles-viewport::-webkit-scrollbar{display:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width>=560px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.tile{aspect-ratio:1;background:var(--bg-3);box-shadow:var(--tile-shadow);cursor:pointer;touch-action:manipulation;border:0;border-radius:4px;padding:0;transition:transform .15s;display:block;position:relative}.tile:active{transform:scale(.97)}.tile.is-launching{visibility:hidden}.tile-art{background:var(--app,var(--bg-3));border-radius:4px;position:absolute;inset:0;overflow:hidden}.tile-art canvas,.tile-art img{object-fit:cover;width:100%;height:100%;display:block}.tile-name{font:700 clamp(19px, 6.4vw, 30px) / 1 var(--font-display);letter-spacing:-.03em;text-align:center;color:#fff;-webkit-text-stroke:6px #1d1d1f;paint-order:stroke fill;text-shadow:0 4px #1d1d1f;pointer-events:none;position:absolute;bottom:9%;left:6px;right:6px}.tile-badge{background:var(--red);color:#fff;font:700 10.5px/1.2 var(--font);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:4px 9px;position:absolute;top:8px;right:8px}.tile-empty{background:var(--bg-2);opacity:.45;cursor:default;box-shadow:none}:root[data-theme=light] .tile-empty{background:#dcdce0}.sys-row{flex:none;justify-content:center;gap:20px;padding:14px 0 20px;display:flex}.sys{background:var(--sys-bg);width:60px;height:60px;color:var(--c,var(--fg));box-shadow:var(--tile-shadow);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;text-decoration:none;transition:transform .12s;display:grid;position:relative}.sys:active{transform:scale(.92)}.sys svg{width:30px;height:30px}.sys-label{display:none}.bar{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;height:60px;margin:0 16px;padding:0 6px;font-size:16px;display:flex}.bar-left{min-width:0;color:var(--fg-2);align-items:center;gap:10px;display:flex}.hints{flex:none;align-items:center;gap:22px;display:flex}.hints .k-glyph{font-size:15px}.brand{font:700 15px var(--font-display);letter-spacing:-.01em;white-space:nowrap}.brand i{background:var(--blue);border-radius:6px 2px 2px 6px;width:10px;height:19px}.brand i+i{background:var(--red);border-radius:2px 6px 6px 2px;margin-left:-8px}.brand span{margin-left:2px}.os.intro .tile{animation:tile-in .55s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms)}.os.intro .sys{animation:pop-in .45s var(--pop) both;animation-delay:calc(.25s + var(--i,0) * 45ms)}@keyframes tile-in{0%{opacity:0;transform:translateY(40px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}}.launch{z-index:90;transition:opacity .26s;position:fixed;overflow:hidden}.launch canvas,.launch img{object-fit:cover;width:100%;height:100%;display:block}.launch.fade{opacity:0}.app-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;height:76px;margin:0 16px;padding:0 4px;display:flex}.app-icon{background:var(--app,var(--bg-3));border-radius:4px;flex:none;width:46px;height:46px;position:relative;overflow:hidden}.app-icon canvas,.app-icon img{object-fit:cover;width:100%;height:100%;display:block}.sys-icon{background:var(--sys-bg);color:var(--fg);border-radius:50%;place-items:center;display:grid}.sys-icon svg{width:26px;height:26px}.app-title{min-width:0}.app-title h1{margin:0;font-size:21px;font-weight:600;line-height:1.15}.app-title p{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:14px;overflow:hidden}.app-head .status{margin-left:auto;display:none}.app-body{flex-direction:column;flex:1;min-height:0;display:flex}.app-nav{scrollbar-width:none;border-bottom:1px solid var(--line);flex:none;gap:8px;padding:14px 16px;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.nav-item{background:var(--chip);min-height:42px;color:var(--fg);white-space:nowrap;cursor:pointer;touch-action:manipulation;border:0;border-radius:999px;flex:none;padding:0 17px;font-size:15px;position:relative}.nav-item.is-active{background:var(--accent);color:var(--on-accent)}.nav-item.is-selected:after{border-radius:999px;inset:-6px}.app-content{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:20px 20px 48px;font-size:16px;line-height:1.5;overflow-y:auto}.content-inner.enter{animation:.3s both content-in}@keyframes content-in{0%{opacity:0;transform:translateY(10px)}}.close-btn{cursor:pointer;background:0 0;border:0;padding:0}.close-btn span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.page-head{margin:0 0 20px}.kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--app,var(--accent));margin:0 0 8px;font-size:12.5px;font-weight:700}.page-head h2{margin:0;font-size:25px;font-weight:700;line-height:1.2}.sub,.lead{color:var(--fg-2);margin:10px 0 0}.sub a{color:var(--accent)}.hero{aspect-ratio:16/10;background:var(--app,var(--bg-3));border-radius:10px;position:relative;overflow:hidden}.hero-art,.hero-art canvas,.hero-art img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.play-btn{text-align:left;justify-content:flex-start;width:100%;margin:16px 0;padding:0 22px;position:relative}.play-btn .k-glyph{font-size:19px}.play-btn b{font-size:19px;display:block}.play-btn small{opacity:.85;margin-top:2px;font-size:13.5px;font-weight:500;display:block}.play-btn small:empty{display:none}.play-btn.is-selected:after{border-radius:999px;inset:-7px}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{background:var(--bg-2);border-radius:8px;flex-direction:column;padding:14px 16px;display:flex}.stat b{letter-spacing:-.02em;color:var(--app,var(--accent));font-size:26px;font-weight:800;line-height:1.1}.stat span{color:var(--fg-2);margin-top:4px;font-size:14px;line-height:1.3}.card{background:var(--bg-2);border-radius:8px;margin:0 0 14px;padding:18px 20px;position:relative}.bullets,.steps{margin:0;padding:0;list-style:none}.bullets li,.steps li{margin:10px 0;padding-left:26px;position:relative}.bullets li:before{content:"";background:var(--app,var(--accent));border-radius:2px;width:8px;height:8px;position:absolute;top:.6em;left:3px;transform:rotate(45deg)}.steps{counter-reset:step}.steps li{padding-left:36px}.steps li:before{counter-increment:step;content:counter(step);background:var(--app,var(--accent));width:24px;height:24px;color:var(--on-app,var(--on-accent));border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:.1em;left:0}.levels-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px;display:grid}.lvl{aspect-ratio:1;background:var(--bg-2);color:var(--fg);touch-action:manipulation;border-radius:6px;place-items:center;text-decoration:none;display:grid;position:relative}.lvl canvas{width:74%;height:74%;image-rendering:pixelated}.lvl b{font-size:22px}.lvl-num{background:var(--bg);min-width:22px;color:var(--fg-2);text-align:center;border-radius:999px;padding:2px 6px;font-size:11.5px;font-weight:700;line-height:1.3;position:absolute;top:4px;left:4px}.lvl.done .lvl-num{background:var(--ok);color:#fff}.lvl.current{box-shadow:0 0 0 3px var(--app,var(--accent))}.lvl.current .lvl-num{background:var(--app,var(--accent));color:var(--on-app,var(--on-accent))}.specs{border-top:1px solid var(--line)}.spec{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:14px 4px;display:flex}.spec span{color:var(--fg-3);flex:none}.spec b{text-align:right;font-weight:600}.actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.actions .k-btn{position:relative}.actions .k-btn.is-selected:after{border-radius:999px}.k-btn svg{width:22px;height:22px}.options{flex-direction:column;gap:10px;display:flex}.option{background:var(--bg-2);text-align:left;cursor:pointer;border:0;border-radius:8px;justify-content:space-between;align-items:center;height:60px;padding:0 20px;font-size:17px;display:flex;position:relative}.option.is-active{color:var(--accent);font-weight:600}.themes{grid-template-columns:1fr 1fr;gap:14px;display:grid}.theme-card{background:var(--bg-2);text-align:left;cursor:pointer;border:0;border-radius:10px;flex-direction:column;gap:12px;padding:12px;font-size:16px;display:flex;position:relative}.theme-card.is-active span{color:var(--accent);font-weight:600}.theme-card.is-active span:after{content:"  ✓"}.preview{border-radius:6px;height:86px;display:block;position:relative;overflow:hidden}.preview.dark{background:#2d2d2d}.preview.light{background:#ebebeb}.preview b{border-radius:2px;width:36px;height:36px;position:absolute;top:24px}.preview b:first-child{background:#a765cc;left:12px;box-shadow:0 0 0 3px #10cfe8}.preview.light b:first-child{box-shadow:0 0 0 3px #1a62f0}.preview b:nth-child(2){background:#35b6f0;left:56px}.preview b:nth-child(3){background:#ff8a2e;left:100px}@media (width>=820px) and (orientation:landscape){.v-home{justify-content:center}.home-top{top:env(safe-area-inset-top);height:112px;padding:0 56px;position:absolute;left:0;right:0}.user-btn{width:64px;height:64px}.user-btn.is-selected:after{border-width:5px;inset:-8px}.status{gap:16px;font-size:19px}.tile-title{white-space:nowrap;align-items:baseline;gap:12px;transition:opacity .15s;display:flex;position:absolute;top:calc(50% - 232px)}.tile-title b{color:var(--accent);font-size:22px;font-weight:500}.tile-title span{color:var(--fg-3);font-size:16px}.tile-title.is-hidden{opacity:0}.tiles-viewport{flex:none;padding:14px 64px;scroll-padding:0 64px;overflow:auto hidden}.tiles{gap:14px;display:flex}.tile{flex:none;width:clamp(200px,19vw,256px)}.tile-name{font-size:clamp(22px,2.2vw,30px)}.is-selected:after{border-width:5px;inset:-9px}.sys-row{gap:32px;padding:34px 0 0}.sys{width:72px;height:72px}.sys svg{width:36px;height:36px}.sys-label{white-space:nowrap;color:var(--accent);opacity:0;pointer-events:none;font-size:16px;display:block;position:absolute;top:86px;left:50%;transform:translate(-50%)}.sys.is-selected .sys-label{opacity:1}.bar{left:30px;right:30px;bottom:env(safe-area-inset-bottom);height:72px;margin:0;padding:0 26px 0 22px;font-size:18px;position:absolute}.v-app .bar{margin:0 30px;position:static}.app-head{height:96px;margin:0 30px;padding:0 22px}.app-head .status{display:flex}.app-icon{width:56px;height:56px}.app-title h1{font-size:26px}.app-body{flex-direction:row;margin:0 30px}.app-nav{border-bottom:0;flex-direction:column;gap:2px;width:300px;padding:20px 16px 20px 6px;overflow:hidden auto}.nav-item{text-align:left;background:0 0;border-radius:4px;min-height:60px;padding:0 20px 0 28px;font-size:19px}.nav-item.is-active{background:var(--bg-2);color:var(--accent)}.nav-item.is-active:before{content:"";background:var(--accent);border-radius:4px;width:5px;position:absolute;top:16px;bottom:16px;left:9px}.nav-item.is-selected:after{border-radius:7px;inset:-4px}.app-content{padding:28px 40px 60px 36px;font-size:17px}.app-content>.content-inner{max-width:760px}.page-head h2{font-size:30px}.hero{aspect-ratio:21/9}}@media (width>=820px) and (orientation:landscape) and (height<=620px){.tile-title{top:96px}.sys-row{padding-top:22px}}
