:root{--page:#16181a;--plastic:#c9463d;--plastic-dark:#9e3029;--bezel:#2b2d2a;--lcd-paper:#9ca38c;--text:#c8ccc0;--muted:#7c8278;--key:#f2c230;--key-hi:#ffe07a;--key-lo:#c99a16;--key-skirt:#9a720a;--key-travel:6px;--frame:6px;--glass:8px;--vh:var(--tg-viewport-stable-height,100svh);--safe-top:max(env(safe-area-inset-top,0px), calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)));--safe-right:max(env(safe-area-inset-right,0px), calc(var(--tg-safe-area-inset-right,0px) + var(--tg-content-safe-area-inset-right,0px)));--safe-bottom:max(env(safe-area-inset-bottom,0px), calc(var(--tg-safe-area-inset-bottom,0px) + var(--tg-content-safe-area-inset-bottom,0px)));--safe-left:max(env(safe-area-inset-left,0px), calc(var(--tg-safe-area-inset-left,0px) + var(--tg-content-safe-area-inset-left,0px)));--screen:max(200px, min(384px, calc(100vw - 80px), calc(var(--vh) - 312px - var(--safe-top) - var(--safe-bottom))));--lcd-on:#9be35a;--glass-w:calc(var(--screen) + 2 * var(--glass))}*{box-sizing:border-box}html,body{background:var(--page);color:var(--text);margin:0;overflow-x:hidden}body{min-height:var(--vh);padding:calc(16px + var(--safe-top)) calc(8px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(8px + var(--safe-left));overscroll-behavior:none;flex-direction:column;justify-content:center;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.keychain{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;align-items:center;max-width:100%;display:flex}.shell,.keywell,#btn{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.shell{background:var(--plastic);border-radius:26px;flex-direction:column;align-items:center;gap:18px;max-width:100%;padding:28px 18px;display:flex;box-shadow:inset 0 -6px 14px #00000047,inset 0 4px 10px #ffffff2e,0 10px 30px #00000080}.pager{--lcd-paper:#9be35a}.bezel{padding:var(--frame);background:var(--bezel);border-radius:calc(26px + var(--frame));box-shadow:inset 0 3px 6px #0000008c,0 1px #ffffff38}.glass{padding:var(--glass);background:var(--lcd-paper);border-radius:26px;transition:box-shadow .3s ease-out;position:relative;overflow:hidden}.glass:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 3px 7px #0000008c,inset 0 0 0 1px #3c0a0899,inset 0 -1px 2px #ffffff1f}#lcd{width:var(--screen);aspect-ratio:1;image-rendering:pixelated;background:var(--lcd-paper);display:block}.glass:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;mix-blend-mode:soft-light;background:radial-gradient(120% 70% at 0 100%,#d6ff9647,#0000 60%),radial-gradient(90% 60% at 100% 0,#143c0a2e,#0000 70%),linear-gradient(90deg,#c8ff8c29,#0000 30% 75%,#c8ff8c14);transition:opacity .3s ease-out;position:absolute;inset:0}.pager .glass:after{opacity:1}.pager .glass{box-shadow:0 0 10px 2px #9be35a8c,0 0 28px 6px #9be35a38}.keywell{background:#5e1b17;border-radius:32px;padding:6px 6px 12px;position:relative;box-shadow:inset 0 3px 6px #0000008c,0 1px #ffffff38}.keywell:before{content:"";left:6px;right:6px;top:calc(6px + var(--key-travel));bottom:calc(12px - var(--key-travel));background:var(--key-skirt);border-radius:26px;position:absolute;box-shadow:0 3px 6px #00000073}#btn{width:var(--glass-w);max-width:calc(100vw - 52px);height:max(88px, calc(var(--glass-w) / 3));background:radial-gradient(140% 90% at 50% 0%, var(--key-hi), transparent 55%), var(--key);box-shadow:inset 0 3px 0 #ffffff8c, inset 0 -9px 0 var(--key-lo), inset 7px 0 0 #ffffff2e, inset -7px 0 0 #0000001a;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:26px;outline:none;justify-content:center;align-items:center;padding:0;transition:transform 90ms cubic-bezier(.2,.9,.3,1.2);display:flex;position:relative}#btn:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:#5a3c0029;transition:opacity 90ms ease-out;position:absolute;inset:0}#btn.down{transform:translateY(var(--key-travel));transition-duration:25ms;transition-timing-function:ease-out}#btn.down:after{opacity:1;transition-duration:25ms}#btn:focus-visible{box-shadow:inset 0 3px 0 #ffffff8c, inset 0 -9px 0 var(--key-lo), 0 0 0 3px #fff}.cap-label{color:#80540080;letter-spacing:.32em;text-indent:.32em;text-shadow:0 -1px #46280073,0 1px #fff4c8bf;pointer-events:none;margin-bottom:6px;font:900 22px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media (prefers-reduced-motion:reduce){#btn,#btn:after,.glass,.glass:after{transition:none}}.gear{top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));z-index:5;width:44px;height:44px;color:var(--key);background:var(--bezel);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #3a3e3a;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:0 2px 8px #00000073}.gear:active{transform:scale(.94)}.gear:focus-visible,.sheet button:focus-visible{outline:2px solid var(--key);outline-offset:2px}.sheet{z-index:10;visibility:hidden;transition:visibility 0s linear .22s;position:fixed;inset:0}.sheet.open{visibility:visible;transition-delay:0s}.sheet-backdrop{opacity:0;background:#0000008c;transition:opacity .22s ease-out;position:absolute;inset:0}.sheet.open .sheet-backdrop{opacity:1}.sheet-panel{width:min(560px,100%);max-height:calc(var(--vh) * .7);overscroll-behavior:contain;padding:0 calc(14px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(14px + var(--safe-left));color:var(--text);background:var(--bezel);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:20px 20px 0 0;font-size:13px;line-height:1.45;transition:transform .22s cubic-bezier(.2,.8,.3,1);position:absolute;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,100%);box-shadow:0 -8px 30px #00000080,inset 0 1px #ffffff14}.sheet.open .sheet-panel{transform:translate(-50%)}.sheet-head{z-index:1;background:var(--bezel);border-bottom:1px solid #3a3e3a;justify-content:space-between;align-items:center;gap:12px;margin:0 -2px;padding:12px 2px 8px;display:flex;position:sticky;top:0}#dev-id{color:var(--key);letter-spacing:.04em;font-weight:700}.sheet-x{width:40px;height:40px;color:var(--text);cursor:pointer;background:#1f211f;border:1px solid #3a3e3a;border-radius:50%;place-items:center;padding:0;display:grid}.sheet h3{color:var(--key);letter-spacing:.14em;text-transform:uppercase;margin:16px 0 8px;font-size:11px;font-weight:700}.info{color:var(--muted);margin:10px 0 0}.info.msg:empty{display:none}.info.msg{min-height:1.45em;color:var(--text);margin-top:4px}.chips{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-bottom:8px;display:grid}.chips-tight{grid-template-columns:repeat(6,minmax(40px,1fr)) minmax(72px,1.6fr);gap:6px}.chips button{min-height:44px;font:inherit;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#1f211f;border:1px solid #3a3e3a;border-radius:10px;padding:6px 8px;box-shadow:inset 0 -2px #00000059}.chips button:active{background:#353935;transform:translateY(1px)}.chips button.on{color:#1b2410;background:var(--lcd-on);border-color:#6fa73a;font-weight:700}.chips button.danger{color:#ffb3a8;border-color:#6a2a24}#qr-link{color:#9fc2e8;word-break:break-all;-webkit-user-select:text;user-select:text;margin:10px 0 0;font-size:11px;display:block}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop,.sheet-panel{transition:none}}
