@layer base,components,variants;@layer components{.nokia-lcd{width:100%;container-type:inline-size;display:flex;flex-direction:column;align-items:center}.nokia-lcd__bezel{width:100%;border-radius:12px;padding:clamp(12px,3cqi,28px);box-shadow:inset 0 2px 8px #0009,0 4px 24px #00000080;position:relative;background:var(--tk-nokia-bezel-bg, #2e3142)}.nokia-lcd__bezel:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;z-index:1}.nokia-lcd__bezel[data-style=minimal]{background:transparent;box-shadow:none;padding:0;border:1px solid rgba(0,0,0,.15)}.nokia-lcd__bezel[data-style=minimal]:before{display:none}.nokia-lcd__bezel[data-style=none]{background:transparent;box-shadow:none;padding:0}.nokia-lcd__bezel[data-style=none]:before{display:none}.nokia-lcd__screen{width:100%;aspect-ratio:7 / 4;position:relative;background:var(--tk-nokia-bg, #91a37e);border-radius:6px;overflow:hidden;image-rendering:pixelated}.nokia-lcd__screen:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 2px 6px #00000026;pointer-events:none;z-index:10}.nokia-lcd__grid{position:absolute;inset:clamp(4px,1cqi,8px);display:grid;grid-template-columns:repeat(84,1fr);grid-template-rows:repeat(48,1fr);gap:1px;z-index:2}.nokia-lcd__cell{border-radius:1px;background:color-mix(in srgb,var(--tk-nokia-fg, #2b3026) 3%,var(--tk-nokia-bg, #91a37e));transition:background-color 30ms steps(1)}.nokia-lcd__cell[data-shape=square]{aspect-ratio:1}.nokia-lcd__cell--on{background:var(--tk-nokia-fg, #2b3026);box-shadow:.5px .5px #0000000f;transition:background-color var(--tk-nokia-ghost-speed, .12s) ease-out}.nokia-lcd__cell--bleed{background:color-mix(in srgb,var(--tk-nokia-fg, #2b3026) 10%,var(--tk-nokia-bg, #91a37e))}.nokia-lcd__backlight{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 10% 50%,var(--tk-nokia-backlight, rgba(170, 210, 80, .08)) 0%,transparent 60%),radial-gradient(ellipse at 90% 50%,var(--tk-nokia-backlight, rgba(170, 210, 80, .08)) 0%,transparent 60%);pointer-events:none;z-index:3}.nokia-lcd__flicker{position:absolute;inset:0;pointer-events:none;z-index:4;animation:nokia-flicker 16.67ms steps(2) infinite}@keyframes nokia-flicker{0%{opacity:1}50%{opacity:.985}}@keyframes nokia-flash{0%,to{opacity:1}50%{opacity:.3}}.nokia-lcd--flash .nokia-lcd__screen{animation:nokia-flash .5s steps(2) 4}@keyframes nk-print-dot{0%{opacity:0;filter:brightness(2.2);transform:translateY(-.25px) scale(.9)}55%{opacity:1;filter:brightness(1.4)}to{opacity:1;filter:brightness(1);transform:translateY(0) scale(1)}}@keyframes nk-scanline{0%{top:0}to{top:calc(100% - (100% / 48))}}[data-intro=true] .nokia-lcd__cell{opacity:0}[data-intro=true] .nokia-lcd__cell--printing{animation:nk-print-dot .14s steps(3,end) forwards;animation-delay:var(--scan-delay, 0ms)}[data-intro=true] .nokia-lcd__grid:after{content:"";position:absolute;left:0;right:0;top:0;height:calc(100% / 48);pointer-events:none;background:linear-gradient(to bottom,#cee6a200,#cee6a238,#cee6a200);mix-blend-mode:screen;animation:nk-scanline var(--nk-scan-duration, .76s) steps(48,end) 1 forwards;z-index:5}[data-fullscreen] .nokia-lcd{width:min(78vw,52vh);max-width:980px}[data-fullscreen] .nokia-lcd__bezel{padding:clamp(.75rem,1.8vh,1.5rem)}}
