@font-face{font-family:PixelUI;src:url('/assets/unifont-pixel-v2.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--sky:#11294e;--ink:#173c6a;--snow:#f4fcff;--frost:#d8ecff;--line:#769ccc;--frame:url('/assets/frame-ice.svg');--active:url('/assets/frame-ice-active.svg');color-scheme:dark;font-synthesis:none;font-family:PixelUI,monospace;font-size:20px;line-height:1.5;color:var(--snow);background:var(--sky);scrollbar-color:var(--line) var(--sky)}
*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100svh}body::before{content:"";position:fixed;inset:0;background:var(--sky) url('/assets/snow-night-desktop-v1.webp') center/cover no-repeat;image-rendering:pixelated;z-index:-2}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:var(--sky);background:var(--frost)}:focus-visible{outline:3px dashed var(--snow);outline-offset:6px}input{caret-color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
main{min-height:100svh;padding:clamp(40px,8vh,88px) 32px 100px}.launch-header{display:flex;flex-direction:column;align-items:center}.toolbox-mark{image-rendering:pixelated;object-fit:contain;margin-bottom:8px}h1{font-weight:400;font-size:32px;line-height:1.5;margin:0 0 28px}.search{display:flex;align-items:center;gap:12px;width:min(360px,100%);height:52px;border:4px solid transparent;border-image:var(--frame) 8 stretch;background:rgba(207,230,255,.86);color:var(--ink);padding:0 12px}.search-icon{width:20px;height:20px;fill:currentColor;flex:none;shape-rendering:crispEdges}.search input{width:100%;min-width:0;border:0;padding:8px 0;background:transparent;color:var(--ink);border-radius:0;outline:none}.search input::placeholder{color:#30527e;opacity:1}.search:focus-within{outline:2px solid var(--frost);outline-offset:4px}.search-clear{padding:4px;border:0;background:none;font-size:16px;white-space:nowrap;color:var(--ink)}input::-webkit-search-cancel-button{display:none}
.apps{display:grid;grid-template-columns:repeat(2,192px);justify-content:center;gap:40px 64px;margin:64px auto 0;max-width:1000px}.app{display:flex;flex-direction:column;align-items:center;gap:20px;padding:12px 8px 16px;min-width:0}.app-tile{display:grid;place-items:center;width:152px;height:152px;position:relative;border:8px solid transparent;border-image:var(--frame) 8 stretch;background:rgba(167,201,248,.8) url('/assets/ice-facets.svg') center/192px;box-shadow:4px 6px 0 #456d9b;transition:transform .18s cubic-bezier(.22,1,.36,1),background-color .18s;isolation:isolate}.app-tile::before{content:"";position:absolute;pointer-events:none;left:-8px;right:-8px;top:-15px;height:22px;background:url('/assets/snow-bank-1.svg') center/100% 100% no-repeat;image-rendering:pixelated}.ledger-tile::before{background-image:url('/assets/snow-bank-4.svg')}.app-tile img{width:128px;height:128px;object-fit:contain;image-rendering:pixelated}.app-name{line-height:1.3;text-align:center;padding:4px 10px;background:rgba(17,41,78,.78)}.app:hover .app-tile,.app:focus-visible .app-tile{transform:translateY(-6px);background-color:rgba(207,230,255,.94);border-image-source:var(--active)}.app:active .app-tile{transform:translateY(2px);box-shadow:2px 2px 0 #456d9b}.empty{text-align:center;margin:64px auto 0}.empty p{background:rgba(17,41,78,.84);width:fit-content;margin:0 auto 24px;padding:8px 16px}.ice-button{border:4px solid transparent;border-image:var(--frame) 8 stretch;padding:8px 16px;min-height:44px;color:var(--ink);background:#cfe6ff}.ice-button:hover{background:#e4f3ff}.scene-weather{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;image-rendering:pixelated}
@media(max-width:700px){body::before{background-image:url('/assets/snow-night-mobile-v1.webp')}main{padding:36px 20px 132px}.toolbox-mark{width:48px;height:48px}h1{font-size:28px;margin-bottom:24px}.search{width:300px;max-width:100%}.apps{grid-template-columns:repeat(2,minmax(0,160px));gap:28px 16px;margin-top:48px}.app{gap:16px;padding:12px 0}.app-tile{width:120px;height:120px}.app-tile img{width:96px;height:96px}.app-name{font-size:18px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
