.deck{--deck-cell:112px;--deck-key-min-h:88px;--deck-gap:10px;--deck-radius:14px;color:var(--streamer-online-text);-webkit-tap-highlight-color:transparent;flex-direction:column;gap:14px;display:flex;position:relative}.deck--standalone{--deck-cell:104px;min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:var(--streamer-online-bg-page)}.deck--dock{--deck-cell:76px;--deck-key-min-h:60px;--deck-gap:6px;--deck-radius:9px;background:var(--streamer-online-bg-page);gap:8px;min-height:100vh;padding:6px}.deck__header{justify-content:space-between;align-items:center;gap:10px;min-height:40px;display:flex}.deck__title{color:var(--streamer-online-text-strong);font-size:18px;font-weight:750}.deck__channel select{border:1px solid var(--streamer-online-border);background:var(--streamer-online-bg-panel);max-width:60vw;min-height:36px;color:var(--streamer-online-text-strong);font:inherit;border-radius:8px;padding:0 10px;font-size:13px}.deck--dock .deck__header{min-height:0}.deck--dock .deck__channel select{min-height:26px;font-size:11px}.deck__status{text-align:center;color:var(--streamer-online-text-muted);margin:24px 0}.deck__tabs{scrollbar-width:thin;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.deck--standalone .deck__tabs{z-index:2;margin:0 calc(-1 * max(14px, env(safe-area-inset-left)));padding:8px max(14px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:var(--streamer-online-bg-page);border-top:1px solid var(--streamer-online-border);order:10;position:sticky;bottom:0}.deck__tab{border:1px solid var(--streamer-online-border);background:var(--streamer-online-bg-panel);min-height:40px;color:var(--streamer-online-text-muted);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;flex:none;padding:0 14px;font-size:13px;font-weight:600}.deck--standalone .deck__tab{min-height:44px}.deck--dock .deck__tab{min-height:28px;padding:0 10px;font-size:11px}.deck__tab[aria-current=page]{border-color:var(--streamer-online-accent);background:rgba(var(--streamer-online-accent-rgb), .16);color:var(--streamer-online-text-strong)}.deck__tab--add{border-style:dashed}.deck__page-tools{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.deck__grid{grid-template-columns:repeat(auto-fill, minmax(var(--deck-cell), 1fr));gap:var(--deck-gap);display:grid}.deck__key{min-height:var(--deck-key-min-h);aspect-ratio:1/.86;border-radius:var(--deck-radius);background:var(--deck-key-fill,#4a5466);color:#fff;font:inherit;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background-image:linear-gradient(#ffffff24,#fff0 55%);border:1px solid #0000002e;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px;transition:transform 90ms ease-out,filter 90ms ease-out,box-shadow .14s ease-out;display:flex;position:relative;box-shadow:inset 0 1px #ffffff2e,0 2px #00000038}.deck__key:active{filter:brightness(.9);transform:translateY(1px)scale(.97);box-shadow:inset 0 1px #ffffff1a}.deck__key:focus-visible{outline:3px solid var(--streamer-online-accent);outline-offset:2px}.deck__key:disabled{cursor:not-allowed;opacity:.55}.deck__key-icon{font-size:30px;line-height:1}.deck__key-label{-webkit-line-clamp:2;overflow-wrap:anywhere;text-shadow:0 1px 1px #00000059;-webkit-box-orient:vertical;font-size:13.5px;font-weight:650;line-height:1.2;display:-webkit-box;overflow:hidden}.deck--dock .deck__key{gap:3px;padding:6px 4px}.deck--dock .deck__key-icon{font-size:20px}.deck--dock .deck__key-label{font-size:11px}.deck__key-hotkey{color:#ffffffe6;background:#00000047;border-radius:5px;min-width:18px;padding:1px 4px;font:600 10px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;top:6px;right:7px}.deck__key-flash{border-radius:inherit;pointer-events:none;place-items:center;font-size:34px;font-weight:800;display:grid;position:absolute;inset:0}.deck__key--sending{animation:.9s ease-in-out infinite deck-sending}.deck__key--ok{box-shadow:0 0 0 3px var(--streamer-online-success), inset 0 1px 0 #ffffff2e}.deck__key--ok .deck__key-flash{background:#145a32b8}.deck__key--error{box-shadow:0 0 0 3px var(--streamer-online-danger);animation:.32s ease-in-out deck-shake}.deck__key--error .deck__key-flash{background:#781414b8}.deck__key--unavailable{opacity:.5;border-style:dashed;border-color:#fff9}.deck__key--selected{outline:3px solid var(--streamer-online-accent);outline-offset:3px}.deck__key--add{border:2px dashed var(--streamer-online-border-hover);box-shadow:none;color:var(--streamer-online-text-muted);background:0 0}.deck__key--add .deck__key-label{text-shadow:none}@keyframes deck-sending{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}@keyframes deck-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.deck__key{transition:none}.deck__key--sending,.deck__key--error{animation:none}.deck__key:active{transform:none}}.deck__empty{border:1px dashed var(--streamer-online-border);border-radius:var(--deck-radius);text-align:center;color:var(--streamer-online-text-muted);justify-items:center;gap:8px;padding:36px 16px;font-size:14px;display:grid}.deck__empty p{max-width:42ch;margin:0}.deck__empty-title{color:var(--streamer-online-text-strong);font-size:16px;font-weight:700}.deck--dock .deck__empty{padding:16px 8px;font-size:12px}.deck__footer{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.deck__hint{color:var(--streamer-online-text-dim);font-size:12px}.deck__hint kbd,.deck__howto kbd{border:1px solid var(--streamer-online-border);border-radius:4px;padding:0 4px;font:600 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.deck__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deck__primary,.deck__ghost{min-height:40px;font:inherit;cursor:pointer;touch-action:manipulation;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600}.deck__primary{background:var(--streamer-online-accent);color:#fff;border:1px solid #0000}.deck__ghost{border:1px solid var(--streamer-online-border);background:var(--streamer-online-bg-panel);color:var(--streamer-online-text)}.deck__ghost--danger{color:var(--streamer-online-danger)}.deck__primary:disabled,.deck__ghost:disabled{opacity:.5;cursor:not-allowed}.deck__primary:focus-visible,.deck__ghost:focus-visible,.deck__tab:focus-visible{outline:2px solid var(--streamer-online-accent);outline-offset:2px}.deck__editor{border:1px solid var(--streamer-online-border);border-radius:var(--deck-radius);background:var(--streamer-online-bg-panel);gap:12px;padding:14px;display:grid}.deck__editor-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.deck__editor-head h3{color:var(--streamer-online-text-strong);margin:0;font-size:15px}.deck__editor-grid{grid-template-columns:minmax(0,1fr) 110px;gap:10px;display:grid}.deck__field{min-width:0;color:var(--streamer-online-text-muted);gap:4px;font-size:12px;font-weight:600;display:grid}.deck__field--inline{display:inline-grid}.deck__field input[type=text],.deck__field input[type=number],.deck__field select{border:1px solid var(--streamer-online-border);background:var(--streamer-online-bg-page);width:100%;min-height:40px;color:var(--streamer-online-text-strong);font:inherit;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:500}.deck__field--icon input{text-align:center;font-size:18px}.deck__check{align-items:center;gap:6px;font-weight:500;display:inline-flex}.deck__colors{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.deck__colors legend{width:100%;color:var(--streamer-online-text-muted);margin-bottom:4px;font-size:12px;font-weight:600}.deck__swatch{background:var(--deck-key-fill);cursor:pointer;border-radius:50%;width:36px;height:36px;position:relative}.deck__swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.deck__swatch:has(input:checked){box-shadow:0 0 0 2px var(--streamer-online-bg-panel), 0 0 0 4px var(--streamer-online-text-strong)}.deck__swatch:has(input:focus-visible){outline:2px solid var(--streamer-online-accent);outline-offset:4px}.deck--standalone .deck__channel select,.deck--standalone .deck__field input[type=text],.deck--standalone .deck__field input[type=number],.deck--standalone .deck__field select{min-height:44px;font-size:16px}.deck--standalone .deck__primary,.deck--standalone .deck__ghost{min-height:44px;font-size:14px}.deck--standalone .deck__swatch{width:40px;height:40px}.deck--standalone .deck__field--icon input{font-size:18px}.deck__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.deck__links{border:1px solid var(--streamer-online-border);border-radius:var(--deck-radius);background:var(--streamer-online-bg-panel);padding:12px 14px;font-size:13px;line-height:1.5}.deck__links summary{cursor:pointer;color:var(--streamer-online-text-strong);font-weight:700}.deck__links p{color:var(--streamer-online-text-muted);margin:10px 0}.deck__link-list{gap:8px;margin:10px 0;padding:0;list-style:none;display:grid}.deck__link-list li{grid-template-columns:minmax(0,10em) minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.deck__link-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.deck__link-url{text-overflow:ellipsis;white-space:nowrap;color:var(--streamer-online-text-dim);font-size:11px;overflow:hidden}.deck__howto{color:var(--streamer-online-text-muted);margin:10px 0;padding-left:20px}@media (max-width:560px){.deck__link-list li{grid-template-columns:minmax(0,1fr) auto}.deck__link-url{display:none}}.deck__toast-region{left:50%;bottom:calc(16px + var(--save-command-bar-h,0px) + env(safe-area-inset-bottom));z-index:40;pointer-events:none;width:min(92vw,420px);position:fixed;transform:translate(-50%)}.deck--standalone .deck__toast-region{bottom:calc(76px + env(safe-area-inset-bottom))}.deck__toast{color:#f1f3f5;text-align:center;background:#1d2430;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.4;box-shadow:0 10px 30px #00000059}.deck__toast--error{background:#7a1f1f}.deck__toast--ok{background:#1f5a36}
