.btn{border-radius:var(--radius-md);letter-spacing:-.005em;cursor:pointer;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out), scale .16s var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:8px 12px;font-size:14px;font-weight:500;line-height:1.2;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn[aria-busy=true]{cursor:progress}.btn-primary{border-color:var(--accent);color:var(--accent-text)}.btn-secondary{border-color:var(--border-strong);color:var(--text-primary)}.btn-ghost{color:var(--accent-text);border-color:#0000}.btn-danger{border-color:var(--color-danger);color:var(--color-danger)}.btn-danger--soft{background:var(--color-danger-tint)}.btn-success{border-color:var(--status-completed);color:var(--success-text)}.btn-icon{border-color:var(--border);width:36px;height:36px;color:var(--text-secondary);padding:0}@media (pointer:coarse){.btn-icon{width:44px;height:44px}}.btn-block{width:100%}.btn-sm{padding:4px 10px;font-size:12px}.btn-on-section{border-color:var(--on-section-accent);color:var(--on-section-accent)}.btn-on-section--quiet{border-color:color-mix(in srgb, var(--on-section) 25%, transparent);color:var(--on-section)}.btn-on-section--success{border-color:var(--on-section-success);color:var(--on-section-success)}.btn-on-section:focus-visible{outline-color:var(--on-section-accent)}@media (hover:hover) and (pointer:fine){.btn-on-section:hover:not(:disabled){background:var(--on-section-track)}.btn-primary:hover:not(:disabled){border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent)}.btn-secondary:hover:not(:disabled){border-color:var(--field-edge);background:color-mix(in srgb, var(--text-primary) 7%, transparent)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 5%, transparent)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:var(--on-status)}.btn-success:hover:not(:disabled){background:var(--status-completed);color:var(--on-status)}.btn-icon:hover:not(:disabled){background:color-mix(in srgb, var(--text-primary) 7%, transparent);color:var(--text-primary)}}.btn:active:not(:disabled){scale:.97}.btn-primary:active:not(:disabled){border-color:var(--accent-fill);background:color-mix(in srgb, var(--accent-fill) 85%, var(--accent-900));color:var(--on-accent)}.btn-secondary:active:not(:disabled),.btn-icon:active:not(:disabled){background:color-mix(in srgb, var(--text-primary) 12%, transparent)}.btn-ghost:active:not(:disabled){background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.btn-danger:active:not(:disabled){background:color-mix(in srgb, var(--color-danger) 85%, var(--text-primary));color:var(--on-status)}.btn-success:active:not(:disabled){background:color-mix(in srgb, var(--status-completed) 85%, var(--text-primary));color:var(--on-status)}.btn-install{color:var(--color-section);background:#f4f3ef;border-color:#f4f3ef;font-weight:600}.btn-install:focus-visible{outline-color:#f4f3ef}@media (hover:hover) and (pointer:fine){.btn-install:hover:not(:disabled){background:#fff;border-color:#fff}}.btn-install:active:not(:disabled){background:#e6e4ee;border-color:#e6e4ee}.card{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px}.card-hover{transition:box-shadow .16s var(--ease-out)}.card-hover:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.card-hover:hover{box-shadow:var(--shadow-md)}}.dialog-backdrop{z-index:9000;background:var(--scrim);animation:fade .16s var(--ease-out) both;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:rise .22s var(--ease-out) both;padding:22px 24px;overflow-y:auto}.dialog:focus{outline:none}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);font-size:12px;font-weight:500}.input{background:var(--bg-surface);border:1px solid var(--field-edge);border-radius:var(--radius-md);width:100%;min-height:36px;color:var(--text-primary);caret-color:var(--accent);transition:border-color .16s var(--ease-out);padding:6px 10px;font-size:14px}.input::placeholder{color:var(--text-muted);opacity:1}.input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-surface-muted)}.input-icon-left{padding-left:34px}.input-icon-right{padding-right:34px}@media (hover:hover) and (pointer:fine){.input:hover:not(:disabled){border-color:var(--text-primary)}.input.is-invalid:hover:not(:disabled),.input[aria-invalid=true]:hover:not(:disabled){border-color:var(--color-danger)}}.input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--text-primary)}.input.is-invalid,.input[aria-invalid=true]{border-color:var(--color-danger)}@media (pointer:coarse){.input{font-size:16px}}.chip{border-radius:var(--radius-md);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;align-items:center;padding:5px 11px;font-size:12px;display:inline-flex}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.chip:not(.is-active):hover{border-color:var(--field-edge);color:var(--text-primary)}}.chip.is-active{border-color:var(--accent);color:var(--accent-tint-text);background:var(--accent-tint-soft);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.seg{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);gap:2px;padding:3px;display:inline-flex}.seg-opt{color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;padding:5px 12px;font-size:13px;font-weight:500}.seg-opt:focus-visible{outline:2px solid var(--accent-tint-text);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.seg-opt:not(.is-active):hover{background:color-mix(in srgb, var(--text-primary) 6%, transparent)}}.seg-opt.is-active{background:var(--accent-tint-soft);color:var(--accent-tint-text);position:relative}.seg-opt.is-active:after{content:"";border:1px solid color-mix(in srgb, var(--accent-tint-text) 28%, transparent);border-radius:var(--radius-md);pointer-events:none;position:absolute;inset:0}.tab{border-radius:var(--radius-md);text-align:left;color:var(--text-secondary);cursor:pointer;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;align-items:center;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.tab:focus-visible{outline:2px solid var(--accent-tint-text);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.tab:not([aria-selected=true]):hover{background:color-mix(in srgb, var(--text-primary) 6%, transparent);color:var(--text-primary)}}.tab[aria-selected=true]{background:var(--accent-tint-soft);color:var(--accent-tint-text);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}@media (pointer:coarse){.tab{min-height:40px}}.tool{border-radius:var(--radius-md);min-width:28px;min-height:28px;color:var(--text-secondary);cursor:pointer;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.tool:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tool:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.tool:hover:not(:disabled):not([aria-pressed=true]):not([aria-expanded=true]):not([data-on=true]){background:color-mix(in srgb, var(--text-primary) 7%, transparent);color:var(--text-primary)}}.tool[aria-pressed=true],.tool[aria-expanded=true],.tool[data-on=true]{background:var(--accent-fill);color:var(--on-accent)}.tool[aria-pressed=true]:focus-visible,.tool[aria-expanded=true]:focus-visible,.tool[data-on=true]:focus-visible{outline-color:var(--on-accent)}.tool--edged{border:1px solid var(--border-strong);min-width:36px;min-height:36px}@media (pointer:coarse){.tool{min-width:36px;min-height:36px}.tool--edged{min-width:44px;min-height:44px}}.toggle-track{border-radius:var(--radius-md);border:1px solid var(--field-edge);background:var(--bg-surface-muted);width:42px;height:24px;transition:background-color .2s var(--ease-out), border-color .2s var(--ease-out);position:relative}.toggle-track:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle-track.is-on{background:var(--accent);border-color:var(--accent)}.toggle-knob{border-radius:var(--radius-sm);background:var(--text-muted);width:18px;height:18px;transition:transform .2s var(--ease-out), background-color .2s var(--ease-out);position:absolute;top:2px;left:2px}.toggle-track.is-on .toggle-knob{background:var(--on-accent);transform:translate(18px)}.task-checkbox{border-radius:var(--radius-sm);border:1.5px solid var(--field-edge);width:17px;height:17px;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out)}.task-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-checkbox.is-checked{background:var(--accent);border-color:var(--accent)}.task-checkbox{position:relative}.task-checkbox:after{content:"";position:absolute;inset:-6px}@media (pointer:coarse){.task-checkbox:after{inset:-14px}}.check{appearance:none;border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;width:24px;height:24px;margin:0;position:relative}.check:before,.check:after{content:"";position:absolute}.check:before{border:1.5px solid var(--field-edge);border-radius:var(--radius-sm);background:var(--bg-surface);transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out);inset:3px}.check:after{background:0 0;inset:5px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.check[type=radio]:after{border-radius:var(--radius-sm);inset:8px;-webkit-mask:none;mask:none}.check:checked:before{background:var(--accent);border-color:var(--accent)}.check:checked:after{background:var(--on-accent)}.check:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.check:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.check:not(:checked):hover:not(:disabled):before{border-color:var(--text-primary)}}.choice{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out);align-items:flex-start;gap:8px;padding:9px 12px 9px 9px;display:flex}.choice:has(:checked){border-color:var(--accent);background:var(--accent-tint-soft)}.choice:has(:disabled){cursor:default}.choice:has(:checked) :focus-visible{outline-color:var(--accent-tint-text)}@media (hover:hover) and (pointer:fine){.choice:not(:has(:checked),:has(:disabled)):hover{border-color:var(--field-edge);background:var(--bg-surface-muted)}}.page-title{font-family:var(--heading-family,var(--font-title), "Sora", var(--font-sans));letter-spacing:-.02em;color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.15}.page-title--sm{font-size:1.375rem}@media (max-width:639px){.page-title{font-size:1.5rem}.page-title--sm{font-size:1.25rem}}.page-sub{color:var(--text-muted);margin-top:4px;font-size:13px}.section-title{font-family:var(--heading-family,var(--font-title), "Sora", var(--font-sans));letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.section-title--on-section{color:var(--on-section-muted)}.text-link{border-radius:var(--radius-sm);color:var(--accent-tint-text);margin-block:-6px;padding-block:6px;font-size:12px;font-weight:500}.text-link--on-section{color:var(--on-section-accent)}.text-link:focus-visible{outline:2px solid var(--accent-tint-text);outline-offset:2px}.text-link--on-section:focus-visible{outline-color:var(--on-section-accent)}@media (hover:hover) and (pointer:fine){.text-link:hover{text-underline-offset:3px;text-decoration:underline}}.tag{border-radius:var(--radius-md);align-items:center;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.tag--strong{font-weight:600}.tag--caps{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.empty{border-block:1px solid var(--border);text-align:center;color:var(--text-muted);padding:56px 16px;font-size:14px}.icon-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:color .16s var(--ease-out), background-color .16s var(--ease-out);justify-content:center;align-items:center;margin:-6px;padding:6px;display:inline-flex}.icon-btn--accent{color:var(--accent-text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:0}@media (hover:hover) and (pointer:fine){.icon-btn:hover:not(:disabled){color:var(--accent-text);background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.icon-btn--danger:hover:not(:disabled){color:var(--color-danger)}}@media (pointer:coarse){.icon-btn{margin:-8px;padding:8px}}.trigger{background:var(--bg-surface);border:1px solid var(--field-edge);border-radius:var(--radius-md);cursor:pointer;transition:border-color .16s var(--ease-out)}.trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--text-primary)}.trigger[aria-expanded=true]{border-color:var(--text-primary)}@media (hover:hover) and (pointer:fine){.trigger:hover:not(:disabled){border-color:var(--text-primary)}}.trigger--filter{border-color:var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:13px;font-weight:500}.panel{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:4px}.option{border-radius:var(--radius-md);text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;transition:color .16s var(--ease-out), background-color .16s var(--ease-out);align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.option--md{font-size:14px;font-weight:400}.option[data-active=true]{background:var(--bg-surface-muted);color:var(--text-primary)}.option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (hover:hover) and (pointer:fine){.option:hover{background:var(--bg-surface-muted);color:var(--text-primary)}}.option[aria-selected=true],.option[aria-checked=true],.option[aria-pressed=true]{background:var(--accent-tint-soft);color:var(--accent-tint-text)}.option[aria-selected=true]:after,.option[aria-checked=true]:after,.option[aria-pressed=true]:after{content:"";background:currentColor;flex:none;width:14px;height:14px;margin-left:auto;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.on-tint:focus-visible,.on-tint :focus-visible{outline-color:var(--accent-tint-text)}.skeleton{background:color-mix(in srgb, var(--text-primary) 9%, transparent);border-radius:var(--radius-md)}
