.btn{border-radius:var(--radius-s);cursor:pointer;white-space:nowrap;transition:background .12s, border-color .12s, transform .1s var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.btn-m{height:32px;font-size:13px}.btn-s{height:28px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent-fill);color:var(--accent-ink)}.btn-primary:disabled,.btn-primary[aria-disabled=true]{opacity:1;background:var(--bg-subtle);border-color:var(--line);color:var(--text-4);cursor:default}.btn-primary:not(:disabled):not([aria-disabled=true]):hover{background:var(--accent-fill-hover)}.btn-primary:not(:disabled):not([aria-disabled=true]):active{background:var(--accent-fill-active)}.btn:not(:disabled):not([aria-disabled=true]):active{transform:scale(.98)}.btn-secondary{background:var(--bg);border-color:var(--line);color:var(--text-2)}.btn-secondary:not(:disabled):hover{background:var(--bg-subtle);border-color:var(--line-strong)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--bg-subtle)}.btn-danger{background:var(--bg);border-color:var(--line);color:var(--danger)}.btn-danger:not(:disabled):hover{background:var(--bg-subtle);border-color:var(--danger)}.btn-fit-icon{flex:none;display:none}:is([data-fit-level="1"],[data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="1"],:is([data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="2"]{width:36px;height:36px;padding:0;position:relative}:is([data-fit-level="1"],[data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="1"] .btn-fit-text,:is([data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="2"] .btn-fit-text{display:none}:is([data-fit-level="1"],[data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="1"] .btn-fit-icon,:is([data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="2"] .btn-fit-icon{display:block}:is([data-fit-level="1"],[data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="1"]:after,:is([data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="2"]:after{content:"";height:40px;position:absolute;top:50%;left:-2px;right:-2px;transform:translateY(-50%)}:is([data-fit-level="1"],[data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="1"]:last-child:after,:is([data-fit-level="2"],[data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="2"]:last-child:after{left:-4px;right:0}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit]{width:32px;height:32px}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit]:after{left:-4px;right:-4px}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit]:last-child:after{left:-8px;right:0}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="3"] .btn-fit-text{display:none}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="3"] .btn-fit-icon{display:block}:is([data-fit-level="3"],[data-fit-level="4"]) .btn[data-fit="3"]{padding:0;position:relative}.icon-btn{border-radius:var(--radius-s);width:32px;height:32px;color:var(--text-3);cursor:pointer;transition:background .12s, color .12s, transform .1s var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn:not(:disabled):active{transform:scale(.96)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent)}.icon-btn.is-mixed{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft)}.icon-btn:disabled{opacity:.45;cursor:default}.tip-wrap{display:inline-flex;position:relative}.tip{z-index:60;background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-in), visibility 0s linear var(--dur-fast);border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip-wrap:hover>.tip{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out) .4s, visibility 0s linear .4s}.tip-wrap:has(:focus-visible)>.tip{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out) .4s, visibility 0s linear .4s}.tip-wrap.is-dismissed>.tip{opacity:0;visibility:hidden}.tip-wrap:has([aria-expanded=true])>.tip{opacity:0;visibility:hidden}@media (hover:none){.tip{display:none}}.menu-wrap{display:inline-flex;position:relative}.menu{z-index:50;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-m);width:max-content;min-width:180px;max-width:calc(100vw - 16px);box-shadow:var(--shadow-3);padding:4px;position:absolute;top:calc(100% + 6px)}.menu-start{left:0}.menu-end{right:0}.menu-item{width:100%;height:32px;color:var(--text-2);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.menu-item>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.menu-item>svg{flex:none}.menu-item:hover,.menu-item:focus-visible{background:var(--bg-subtle);outline:none}.menu-item.is-danger{color:var(--danger)}.menu-item:disabled{opacity:.45;cursor:default}.dialog{width:min(var(--dialog-w,440px), calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius-l);background:var(--bg);max-width:none;color:var(--text);box-shadow:var(--shadow-3);padding:0}.dialog::backdrop{background:var(--scrim)}.dialog-panel{padding:20px}.dialog-body{max-height:min(60vh,60dvh);overflow:auto}.dialog-title{margin:0 0 8px;font-size:16px;font-weight:600}.dialog-text{color:var(--text-3);margin:0}.dialog-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (width<=479px){.dialog{border-radius:var(--radius-l) var(--radius-l) 0 0;border-bottom:0;width:100vw;max-width:100vw;margin:auto 0 0}.dialog-panel{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.toast-host{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--radius-m);background:var(--text);color:var(--bg);box-shadow:var(--shadow-3);pointer-events:auto;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:13px;display:flex}.toast-action{color:var(--bg);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-weight:600;text-decoration:underline}.toast-action:hover{background:color-mix(in srgb, var(--bg) 16%, transparent)}.toast-action:focus-visible{outline-color:var(--bg)}.tip-hint{color:color-mix(in srgb, var(--bg) 72%, transparent);margin-top:2px;display:block}.avatar{color:var(--text);object-fit:cover;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.tip-key{background:color-mix(in srgb, var(--bg) 20%, transparent);font:inherit;border-radius:4px;margin-left:8px;padding:0 4px;font-size:10px}.menu-header{border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px 10px}.listbox{display:block}.listbox-trigger{border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--bg);width:100%;height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:14px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.listbox-trigger:hover{background:var(--bg-subtle)}.listbox-trigger:focus-visible,.listbox-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg);outline:none}.listbox-chevron{color:var(--text-3);transition:transform var(--dur) var(--ease);flex:none}.listbox-trigger[aria-expanded=true] .listbox-chevron{transform:rotate(180deg)}.listbox-pop{z-index:70;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-3);transform-origin:top;animation:pop-in var(--dur-base) var(--ease-out);outline:none;padding:4px;position:fixed;overflow-y:auto}.listbox-option{min-height:34px;color:var(--text-2);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:14px;display:flex}.listbox-option[data-active=true]{background:var(--bg-subtle);color:var(--text)}.listbox-option[aria-selected=true]{color:var(--text);font-weight:600}.listbox-check{color:var(--accent);flex:none}@keyframes pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@keyframes pop-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes sheet-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(32px)}}.menu{animation:pop-in var(--dur-base) var(--ease-out)}.menu-start{transform-origin:0 0}.menu-end{transform-origin:100% 0}.menu.is-closing,.listbox-pop.is-closing{animation:pop-out var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.dialog[open]{animation:pop-in var(--dur-base) var(--ease-out)}.dialog[open]::backdrop{animation:fade-in var(--dur-base) var(--ease-out)}.dialog.is-closing{animation:pop-out var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.dialog.is-closing::backdrop{animation:fade-out var(--dur-fast) var(--ease-in) forwards;pointer-events:none}.toast{animation:rise-in var(--dur) var(--ease-out)}@keyframes nudge{0%,to{transform:none}20%{transform:translate(-6px)}45%{transform:translate(5px)}70%{transform:translate(-3px)}}@keyframes nudge-ring{0%,to{box-shadow:var(--shadow-3)}30%{box-shadow:var(--shadow-3), 0 0 0 3px var(--accent,currentColor)}}.dialog.is-nudged{animation:nudge .4s var(--ease-out), nudge-ring .4s var(--ease-out)}@media (prefers-reduced-motion:reduce){.dialog.is-nudged{animation:nudge-ring .4s var(--ease-out)}}@media (width<=479px){.dialog[open]{animation-name:sheet-in}.dialog.is-closing{animation-name:sheet-out}.dialog[open].is-nudged{animation-name:nudge,nudge-ring}}@media (width<=479px) and (prefers-reduced-motion:reduce){.dialog[open].is-nudged{animation-name:nudge-ring}}@media (pointer:coarse),(width<=600px){.icon-btn{min-width:36px;min-height:36px}.btn-s,.btn-m{height:36px}.menu-item{height:40px}.listbox-option{min-height:40px}}@media (width<=599px){.menu-item{height:44px}.toast-action{min-width:44px;min-height:44px}}
