.device{--w:340px;width:min(var(--w), 100%);margin-inline:auto;padding-top:26px;position:relative}.device-md{--w:290px}.device-sm{--w:220px;padding-top:20px}.device-loop{aspect-ratio:1;width:15%;box-shadow:0 0 0 2px var(--ink), inset 0 0 0 2px var(--ink);border:7px solid #cfc7b5;border-radius:50%;position:absolute;top:0;left:50%;translate:-50%}.device-sm .device-loop{border-width:5px}.device-shell{aspect-ratio:5/5.9;border:3px solid var(--ink);background:radial-gradient(circle at 30% 20%, color-mix(in srgb, white 55%, var(--shell-light)) 0 6%, transparent 22%), radial-gradient(120% 90% at 50% 110%, var(--shell-dark), var(--shell) 62%);width:100%;box-shadow:7px 8px 0 var(--ink), inset -12px -16px 0 #00000012, inset 9px 10px 0 #ffffff29;border-radius:50% 50% 47% 47%/57% 57% 43% 43%;flex-direction:column;align-items:center;padding-top:12%;display:flex;position:relative}.device-brand{font-family:var(--f-pixel), monospace;font-weight:700;font-size:clamp(.62rem, calc(var(--w) * .032), .86rem);letter-spacing:.18em;color:var(--ink);margin-bottom:3.5%}.lcd-bezel{aspect-ratio:1/.9;background:var(--shell-dark);border:3px solid var(--ink);border-radius:20%/22%;width:63%;padding:4.2%;box-shadow:inset 0 3px #00000038}.lcd{background-color:var(--lcd);background-image:linear-gradient(color-mix(in srgb, var(--lcd-ink) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--lcd-ink) 7%, transparent) 1px, transparent 1px);height:100%;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--lcd-ink) 22%, transparent), inset 4px 5px 0 color-mix(in srgb, var(--lcd-ink) 12%, transparent);color:var(--lcd-ink);font-family:var(--f-lcd), monospace;line-height:1;font-size:clamp(.85rem, calc(var(--w) * .05), 1.25rem);background-size:5px 5px;border-radius:14%/15%;grid-template-rows:auto 1fr auto;gap:2px;padding:7% 8% 6%;display:grid;overflow:hidden}.lcd-top,.lcd-bottom{white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;min-height:1em;display:flex}.lcd-bottom{justify-content:center}.lcd-pet{place-items:center;min-height:0;display:grid}.lcd-pet svg{width:74%;height:auto;max-height:100%}.device[data-dim] .lcd{background-color:color-mix(in srgb, var(--lcd) 82%, var(--lcd-ink))}.device[data-dim] .lcd-pet svg{opacity:.75}.lcd-blink{background:var(--lcd-ink);width:34%;height:8%;min-height:6px;animation:1s steps(2,jump-none) infinite lcd-blink}@keyframes lcd-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.lcd-blink{opacity:.5;animation:none}}.hearts{gap:3px;display:inline-flex}.hearts svg{width:clamp(10px, calc(var(--w) * .042), 14px);height:auto}.device-buttons{justify-content:center;gap:9%;width:72%;margin-top:7%;display:flex}.dbtn-wrap{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.dbtn-wrap:nth-child(2){translate:0 22%}.dbtn{width:clamp(30px, calc(var(--w) * .13), 46px);aspect-ratio:1;background:radial-gradient(circle at 35% 30%, #ffe7a3 0 12%, var(--button) 45%, var(--button-dark) 100%);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);font-family:var(--f-pixel), monospace;font-weight:700;font-size:clamp(.6rem, calc(var(--w) * .03), .8rem);color:var(--ink);transition:transform 80ms var(--ease-out), box-shadow 80ms var(--ease-out);border-radius:50%;place-items:center;padding:0;display:grid}button.dbtn{cursor:pointer;position:relative}button.dbtn:after{content:"";border-radius:50%;position:absolute;inset:-8px}button.dbtn:hover:not(:disabled):not([aria-disabled=true]){box-shadow:0 5px 0 var(--ink);transform:translateY(-1px)}button.dbtn:active:not(:disabled):not([aria-disabled=true]){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}button.dbtn:disabled,button.dbtn[aria-disabled=true]{cursor:not-allowed;filter:saturate(.4);opacity:.7}button.dbtn:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:50%}.dbtn-label{font-family:var(--f-pixel), monospace;font-size:clamp(.6rem, calc(var(--w) * .03), .75rem);color:var(--ink);white-space:nowrap;min-height:1em;font-weight:700}@media (prefers-reduced-motion:reduce){.dbtn{transition:none}}.bubble{background:var(--card);border:2px solid var(--ink);max-width:30ch;box-shadow:3px 3px 0 var(--ink);text-wrap:pretty;border-radius:14px;padding:.7em .95em;font-size:.98rem;line-height:1.4;position:relative}.bubble:after{content:"";background:var(--card);border:solid var(--ink);border-width:0 0 2px 2px;width:14px;height:14px;position:absolute}.bubble[data-side=left]:after{top:22px;left:-9px;rotate:45deg}.bubble[data-side=right]:after{top:22px;right:-9px;rotate:-135deg}.bubble[data-side=bottom]:after{bottom:-9px;left:28px;rotate:-45deg}.bubble[data-side=top]:after{top:-9px;left:28px;rotate:135deg}.bubble-who{font-family:var(--f-pixel), monospace;color:var(--muted);margin-bottom:2px;font-size:.7rem;display:block}
