.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;text-decoration:none;white-space:nowrap;position:relative;font-family:var(--font-body);font-weight:600;font-size:var(--text-md);line-height:1;color:var(--color-text);background:transparent;border:1px solid transparent;height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-base) var(--motion-ease-overshoot)}.btn svg{display:block;width:16px;height:16px;flex:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary-fill);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-primary:active{background:var(--color-primary-pressed);box-shadow:none}.btn-secondary{background:var(--color-surface);border-color:var(--color-divider)}.btn-secondary:hover{background:var(--color-surface-2);border-color:color-mix(in srgb,var(--color-text) 25%,transparent)}.btn-secondary:active{background:var(--color-pressed)}.btn-ghost{color:var(--color-text-2)}.btn-ghost:hover{background:var(--color-hover);color:var(--color-text)}.btn-ghost:active{background:var(--color-pressed)}.btn-danger{background:var(--color-danger-fill);color:var(--color-on-accent)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-danger:active{background:var(--color-danger-pressed)}.btn-gradient{background:var(--gradient-brand);color:var(--color-on-accent);border:0}.btn-gradient:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-gradient:active{transform:translateY(0);box-shadow:none}.btn-sm{height:26px;padding:0 var(--space-2);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-sm svg{width:14px;height:14px}.btn-lg{height:44px;padding:0 var(--space-5);font-size:var(--text-lg);border-radius:var(--radius-pill)}.btn-lg svg{width:18px;height:18px}.btn-block{width:100%}.btn-loading{color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;inset:0;margin:auto;width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-on-accent) 30%,transparent);border-top-color:var(--color-on-accent);animation:spin .7s var(--motion-ease-linear) infinite}.btn-secondary.btn-loading:after,.btn-ghost.btn-loading:after{border-color:var(--color-divider);border-top-color:var(--color-text)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px),(pointer:coarse){.btn{min-height:40px}}.kbd{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;padding:3px 6px;border-radius:var(--radius-xs);color:var(--color-text-raised);background:var(--color-surface-2);border:1px solid var(--color-divider);box-shadow:0 1px 0 var(--color-divider)}.tipwrap{position:relative;display:inline-flex}.tipb{position:absolute;left:50%;z-index:1;display:inline-flex;align-items:center;gap:6px;width:max-content;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-neutral-1000);color:var(--color-neutral-100);font-size:var(--text-xs);font-weight:500;line-height:var(--leading-body);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-ease-out),transform var(--motion-duration-fast) var(--motion-ease-out)}.tipb.top{bottom:calc(100% + 6px);transform:translate(-50%)}.tipb.bot{top:calc(100% + 6px);transform:translate(-50%)}.tipb.is-closed{opacity:0}.tipb.top.is-closed{transform:translate(-50%) translateY(4px)}.tipb.bot.is-closed{transform:translate(-50%) translateY(-4px)}.tipb .kbd{background:color-mix(in srgb,var(--color-neutral-100) 12%,transparent);border-color:color-mix(in srgb,var(--color-neutral-100) 22%,transparent);color:var(--color-neutral-400);box-shadow:none}.btn-icon{width:32px;padding:0}.btn-icon.btn-sm{width:26px}.btn-icon.btn-lg{width:44px}@media(max-width:480px),(pointer:coarse){.btn-icon{min-width:40px}}.field{display:flex;flex-direction:column;gap:5px}.field>label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-2)}.field-hint{font-size:var(--text-xs);color:var(--color-text-2)}.field-error{font-size:var(--text-xs);color:var(--color-danger-text)}.input{width:100%;min-height:32px;padding:0 10px;font:inherit;font-size:var(--text-md);color:var(--color-text);caret-color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}[data-theme=light] .input{background-color:var(--color-surface)}.input::placeholder{color:var(--color-text-3)}.input:hover{border-color:color-mix(in srgb,var(--color-text) 30%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px var(--color-accent-tint)}.input:disabled{opacity:.45;cursor:not-allowed}.input[aria-invalid=true],.input.is-error{border-color:var(--color-danger)}.input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 20%,transparent)}.input-lg{min-height:48px;font-size:var(--text-lg);padding:0 var(--space-4);border-radius:var(--radius-pill)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>.input{flex:1}.input-prefix,.input-suffix{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-2)}.input-prefix{left:10px;pointer-events:none}.input-prefix svg{display:block;width:16px;height:16px}.input-suffix{right:var(--space-1)}.input-wrap.has-prefix>.input{padding-left:calc(10px + 16px + var(--space-2))}.input-wrap.has-suffix>.input{padding-right:var(--input-suffix-width, 40px)}.input-wrap.has-prefix>.input-lg{padding-left:calc(var(--space-4) + 16px + var(--space-2))}.input-wrap.has-prefix>.input-lg~.input-prefix,.input-wrap>.input-lg+.input-prefix{left:var(--space-4)}.input-group{display:flex;align-items:stretch;gap:var(--space-2)}.input-group .input,.input-group>.field{flex:1;min-width:0}.input-group.is-pill{padding:var(--space-1);border-radius:var(--radius-pill);background:var(--color-surface);border:1px solid var(--color-divider)}.input-group.is-pill .input{border:0;background:transparent;box-shadow:none}.input-group.is-pill:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-glow)}@media(max-width:480px){.input-group.is-pill{flex-direction:column;border-radius:var(--radius-xl)}.input-group.is-pill>.btn{width:100%}}@media(max-width:480px),(pointer:coarse){.input{min-height:40px}.input-lg{min-height:48px}}textarea.input{min-height:88px;padding:var(--space-2) 10px;resize:vertical;line-height:var(--leading-body)}textarea.input.is-autogrow{resize:none;overflow:hidden}.field-foot{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.textarea-counter{margin-left:auto;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}select.input{appearance:none;padding-right:28px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-2) 50%),linear-gradient(135deg,var(--color-text-2) 50%,transparent 50%);background-position:calc(100% - 14px) 13px,calc(100% - 10px) 13px;background-size:4px 4px;background-repeat:no-repeat}select.input:disabled{cursor:not-allowed}.slider{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;margin:0}.slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(var(--color-accent),var(--color-accent)) 0 / var(--value, 50%) 100% no-repeat,var(--color-surface-2)}.slider::-moz-range-track{height:4px;border-radius:2px;background:var(--color-surface-2)}.slider::-moz-range-progress{height:4px;border-radius:2px;background:var(--color-accent)}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--color-text);border:2px solid var(--color-accent);box-shadow:var(--shadow-sm);transition:transform var(--motion-duration-fast) var(--motion-ease-overshoot),background var(--motion-duration-fast) var(--motion-ease-standard)}.slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--color-text);border:2px solid var(--color-accent);transition:transform var(--motion-duration-fast) var(--motion-ease-overshoot),background var(--motion-duration-fast) var(--motion-ease-standard)}.slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.slider:active::-webkit-slider-thumb{transform:scale(1.25);background:var(--color-accent)}.slider:hover::-moz-range-thumb{transform:scale(1.15)}.slider:active::-moz-range-thumb{transform:scale(1.25);background:var(--color-accent)}.slider:focus-visible{outline:none}.slider:focus-visible::-webkit-slider-thumb{outline:2px solid var(--color-accent);outline-offset:2px}.slider:focus-visible::-moz-range-thumb{outline:2px solid var(--color-accent);outline-offset:2px}.slider:disabled{opacity:.45;cursor:not-allowed}.slider-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3)}.slider-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-2);min-width:4ch;text-align:right}.slider-row.is-disabled .slider-value{opacity:.45}@media(max-width:480px),(pointer:coarse){.slider{height:40px}}.tag{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;line-height:1;letter-spacing:.02em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.tag svg{width:12px;height:12px}.tag-accent{background:var(--color-accent-tint);color:var(--color-accent-hover)}.tag-accent-2{background:color-mix(in srgb,var(--color-accent-2) 14%,transparent);color:var(--color-accent-2-300)}.tag-neutral{background:var(--color-surface-2);color:var(--color-text-raised)}.tag-success{background:color-mix(in srgb,var(--color-success) 14%,transparent);color:var(--color-success)}.tag-warning{background:color-mix(in srgb,var(--color-warning) 14%,transparent);color:var(--color-warning-text)}.tag-danger{background:color-mix(in srgb,var(--color-danger) 14%,transparent);color:var(--color-danger-text)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-link);background:transparent}.tag-plan{background:var(--gradient-brand);color:var(--color-on-accent);border-radius:var(--radius-pill)}[data-theme=light] .tag-accent{color:var(--color-accent-700)}[data-theme=light] .tag-accent-2{color:var(--color-accent-2-700)}[data-theme=light] .tag-success{color:var(--color-success-700)}.toggle{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-md)}.toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle .track{position:relative;width:32px;height:18px;flex:none;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-divider);transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard)}.toggle .track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--color-text-2);transition:transform var(--motion-duration-base) var(--motion-ease-overshoot),background var(--motion-duration-fast) var(--motion-ease-standard)}.toggle:hover .track{border-color:color-mix(in srgb,var(--color-text) 30%,transparent)}.toggle input:checked+.track{background:var(--color-accent);border-color:var(--color-accent)}.toggle input:checked+.track:after{transform:translate(14px);background:var(--color-on-accent)}.toggle input:focus-visible+.track{outline:2px solid var(--color-accent);outline-offset:2px}.toggle input:disabled~*{opacity:.45;cursor:not-allowed}.toggle:has(input:disabled){cursor:not-allowed}.toggle.is-locked{cursor:not-allowed}.toggle.is-locked .track{opacity:.45}.toggle.is-locked .tag{margin-left:var(--space-1)}@media(max-width:480px),(pointer:coarse){.toggle{min-height:40px;align-items:center}}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md)}[data-theme=light] .seg{background:var(--color-surface-2)}.seg-opt{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;height:24px;padding:0 10px;font-size:var(--text-sm);font-weight:600;color:var(--color-text-2);border:0;background:transparent;border-radius:var(--radius-sm);font-family:var(--font-body);white-space:nowrap;transition:background var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.seg-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.seg-opt svg{width:14px;height:14px}.seg-opt:hover{color:var(--color-text);background:var(--color-hover)}.seg-opt:has(input:checked),.seg-opt.is-active,.seg-opt[aria-pressed=true]{background:var(--color-surface-2);color:var(--color-text);box-shadow:var(--shadow-sm)}[data-theme=light] .seg-opt:has(input:checked),[data-theme=light] .seg-opt.is-active,[data-theme=light] .seg-opt[aria-pressed=true]{background:var(--color-surface)}.seg-opt:has(input:focus-visible),.seg-opt:focus-visible{outline:2px solid var(--color-accent);outline-offset:-1px}.seg-accent .seg-opt:has(input:checked),.seg-accent .seg-opt.is-active{background:var(--color-primary-fill);color:var(--color-on-accent)}.seg-opt.is-disabled,.seg-opt:has(input:disabled){opacity:.45;cursor:not-allowed}.seg-sm .seg-opt{height:18px;padding:0 var(--space-2);font-size:var(--text-xs)}.seg-sm .seg-opt svg{width:12px;height:12px}@media(max-width:480px),(pointer:coarse){.seg-opt{min-height:34px}}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-divider)}.tab{position:relative;display:inline-flex;align-items:center;gap:6px;cursor:pointer;height:36px;padding:0 var(--space-3);font-size:var(--text-md);font-weight:500;color:var(--color-text-2);border:0;background:transparent;font-family:var(--font-body);margin-bottom:-1px;white-space:nowrap;transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.tab svg{width:14px;height:14px}.tab:hover,.tab[aria-selected=true],.tab.is-active{color:var(--color-text)}.tab[aria-selected=true]:after,.tab.is-active:after{content:"";position:absolute;left:var(--space-2);right:var(--space-2);bottom:0;height:2px;background:var(--color-accent);border-radius:2px 2px 0 0}.tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.tab:disabled{opacity:.45;cursor:not-allowed}@media(max-width:480px),(pointer:coarse){.tab{height:40px}}.toast{display:flex;align-items:center;gap:var(--space-3);width:min(360px,100%);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider);border-left:3px solid var(--color-accent);box-shadow:var(--shadow-lg);font-size:var(--text-md);color:var(--color-text);animation:toast-in var(--motion-duration-base) var(--motion-ease-overshoot)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes toast-out{to{opacity:0}}.toast.is-leaving{animation:toast-out var(--motion-duration-fast) var(--motion-ease-standard) forwards;pointer-events:none}.toast>svg{width:18px;height:18px;color:var(--color-accent);flex:none}.toast-success{border-left-color:var(--color-success)}.toast-success>svg{color:var(--color-success)}.toast-warning{border-left-color:var(--color-warning)}.toast-warning>svg{color:var(--color-warning)}.toast-danger{border-left-color:var(--color-danger)}.toast-danger>svg{color:var(--color-danger)}.toast-body{flex:1;min-width:0}.toast-body strong{display:block;font-weight:600}.toast-body span{color:var(--color-text-2);font-size:var(--text-sm)}.toast-stack{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:1000;display:grid;gap:var(--space-2);justify-items:end;pointer-events:none}.toast-stack>.toast{pointer-events:auto}@media(max-width:480px){.toast-stack{right:auto;left:50%;transform:translate(-50%);width:calc(100% - var(--space-4));justify-items:stretch}.toast-stack>.toast{width:100%}}.progress{height:6px;border-radius:3px;background:var(--color-surface-2);overflow:hidden}.progress-bar{height:100%;width:var(--value, 40%);border-radius:3px;background:var(--gradient-progress);transition:width var(--motion-duration-slow) var(--motion-ease-out)}.progress-accent .progress-bar{background:var(--color-accent)}.progress[data-state=indeterminate] .progress-bar{width:40%;animation:indeterminate 1.2s var(--motion-ease-standard) infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.progress-field{display:grid;gap:var(--space-1)}.progress-head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-2)}.progress-head strong{color:var(--color-text);font-weight:600}.meter{display:grid;gap:var(--space-1)}.meter-head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-2)}.meter-head strong{color:var(--color-text);font-weight:600}.meter .progress-bar{background:var(--color-accent)}.meter.is-warning .progress-bar{background:var(--color-warning)}.meter.is-danger .progress-bar{background:var(--color-danger)}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-2) 25%,color-mix(in srgb,var(--color-text) 10%,var(--color-surface-2)) 50%,var(--color-surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s var(--motion-ease-linear) infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:12px;width:100%}.skeleton-thumb-16-9{aspect-ratio:16 / 9;border-radius:var(--radius-md)}.skeleton-circle{aspect-ratio:1;border-radius:50%}.check{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-md)}.check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.check .box{width:16px;height:16px;flex:none;border:1.5px solid var(--color-text-3);background:var(--color-bg);border-radius:var(--radius-xs);display:grid;place-items:center;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard)}.check .box>*{grid-area:1 / 1}.check .box svg{width:12px;height:12px;color:var(--color-on-accent);opacity:0}.check .box:after{content:"";width:8px;height:2px;border-radius:1px;background:var(--color-on-accent);opacity:0}.check:hover .box{border-color:var(--color-accent)}.check input:checked+.box,.check input:indeterminate+.box{background:var(--color-accent);border-color:var(--color-accent)}.check input:checked+.box svg{opacity:1}.check input:indeterminate+.box:after{opacity:1}.check input:focus-visible+.box{outline:2px solid var(--color-accent);outline-offset:2px}.check input:disabled~*{opacity:.45;cursor:not-allowed}.check:has(input:disabled){cursor:not-allowed}@media(max-width:480px),(pointer:coarse){.check{min-height:40px;align-items:center}}.radio{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-md)}.radio input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border:1.5px solid var(--color-text-3);background:var(--color-bg);border-radius:50%;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 3px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.radio input:disabled~*{opacity:.45;cursor:not-allowed}.radio:has(input:disabled){cursor:not-allowed}.radio-group{display:flex;flex-wrap:wrap;gap:var(--space-4)}.radio-group.is-vertical{flex-direction:column;gap:var(--space-2)}@media(max-width:480px),(pointer:coarse){.radio{min-height:40px;align-items:center}}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-divider)}.card-kicker{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-link)}.card-title{font-family:var(--font-heading);font-weight:600;font-size:var(--text-lg);line-height:var(--leading-snug);margin:0}.card-body{margin:0;font-size:var(--text-md);color:var(--color-text-2);flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-2)}.card-meta>svg{width:12px;height:12px;flex:none}.card-meta-spread{justify-content:space-between}.card-compact{padding:var(--space-2);gap:var(--space-2)}.card-compact .card-meta{justify-content:space-between}.card-interactive{cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.card-interactive:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-text) 25%,transparent);box-shadow:var(--shadow-md);transition:transform var(--motion-duration-base) var(--motion-ease-overshoot),border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.card-interactive:active{transform:translateY(0)}.card-interactive.is-selected,.card-interactive[aria-pressed=true]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-glow)}.card-interactive:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.card.is-disabled{opacity:.45;pointer-events:none}.card.is-disabled.card-interactive{cursor:not-allowed}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.thumb{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-canvas)}.thumb>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.thumb:after{content:"";position:absolute;inset:0;background:var(--gradient-vignette);pointer-events:none}.thumb-content{position:absolute;inset:0;display:grid;place-items:center;z-index:1}.ratio-16-9{aspect-ratio:16 / 9}.ratio-9-16{aspect-ratio:9 / 16}.ratio-1-1{aspect-ratio:1}.ratio-4-5{aspect-ratio:4 / 5}@media(prefers-reduced-motion:reduce){.card-interactive:hover{transform:none}}@media(max-width:480px),(pointer:coarse){.card-interactive{min-height:44px}}.dialog-backdrop{--modal-out: var(--motion-duration-fast);position:fixed;inset:0;display:grid;place-items:center;padding:var(--space-4);background:var(--color-scrim);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:backdrop-in var(--motion-duration-base) var(--motion-ease-standard)}.dialog-backdrop.is-closing{animation:backdrop-out var(--modal-out) var(--motion-ease-standard) forwards;pointer-events:none}.dialog-backdrop.is-sheet-right{place-items:stretch end;padding:0;--modal-out: var(--motion-duration-base)}.dialog-backdrop.is-sheet-bottom{place-items:end stretch;padding:0;--modal-out: var(--motion-duration-base)}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.dialog-backdrop{animation-duration:var(--motion-duration-fast)}.dialog-backdrop.is-closing{--modal-out: var(--motion-duration-fast)}}.sheet{--sheet-w: 360px;display:flex;flex-direction:column;width:var(--sheet-w);max-width:100%;min-height:0;background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg)}.sheet-right{height:100%;border-radius:var(--radius-xl) 0 0 var(--radius-xl);border-right:0;animation:sheet-right-in var(--motion-duration-slow) var(--motion-ease-out)}.sheet-right.is-closing{animation:sheet-right-out var(--motion-duration-base) var(--motion-ease-in) forwards}.sheet-bottom{width:100%;max-height:calc(100% - var(--topbar-h));border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:0;animation:sheet-bottom-in var(--motion-duration-slow) var(--motion-ease-out)}.sheet-bottom.is-closing{animation:sheet-bottom-out var(--motion-duration-base) var(--motion-ease-in) forwards}@keyframes sheet-right-in{0%{transform:translate(100%)}}@keyframes sheet-right-out{to{transform:translate(100%)}}@keyframes sheet-bottom-in{0%{transform:translateY(100%)}}@keyframes sheet-bottom-out{to{transform:translateY(100%)}}.sheet-head{display:flex;align-items:center;gap:var(--space-2);flex:none;padding:var(--space-4) var(--space-4) var(--space-3);font-family:var(--font-heading);font-weight:700;font-size:var(--text-h4);letter-spacing:var(--tracking-snug)}.sheet-head .btn{margin-left:auto}.sheet-body{flex:1;min-height:0;overflow:auto;padding:0 var(--space-4) var(--space-3);display:grid;gap:var(--space-2);align-content:start}.sheet-body>.dialog-body{padding:0}.sheet-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:none;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider)}@media(prefers-reduced-motion:reduce){.sheet-right,.sheet-bottom{animation:sheet-fade-in var(--motion-duration-fast) var(--motion-ease-standard)}.sheet-right.is-closing,.sheet-bottom.is-closing{animation:sheet-fade-out var(--motion-duration-fast) var(--motion-ease-standard) forwards}}@keyframes sheet-fade-in{0%{opacity:0}}@keyframes sheet-fade-out{to{opacity:0}}@media(max-width:480px){.sheet-foot{flex-wrap:wrap}.sheet-foot .btn{flex:1 1 auto}.sheet-foot .dialog-meta{flex-basis:100%;margin-right:0}}.dialog{position:relative;isolation:isolate;width:min(480px,100%);max-height:100%;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--shadow-lg);animation:dialog-in var(--motion-duration-base) var(--motion-ease-out)}.dialog-sm{width:min(400px,100%)}.dialog-lg{width:min(640px,100%)}.dialog.is-closing{animation:dialog-out var(--motion-duration-fast) var(--motion-ease-standard) forwards}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes dialog-out{to{opacity:0;transform:scale(.98)}}.dialog-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h4);letter-spacing:var(--tracking-snug);line-height:var(--leading-body);margin:0;padding-right:var(--space-8)}.is-destructive .dialog-title{padding-right:0}.dialog-body{font-size:var(--text-md);color:var(--color-text-2);overflow:auto}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.dialog-meta{margin-right:auto;align-self:center;font-size:var(--text-sm);color:var(--color-text-2)}.dialog-close{position:absolute;top:var(--space-3);right:var(--space-3)}@media(prefers-reduced-motion:reduce){.dialog{animation:dialog-fade-in var(--motion-duration-fast) var(--motion-ease-standard)}.dialog.is-closing{animation:dialog-fade-out var(--motion-duration-fast) var(--motion-ease-standard) forwards}}@keyframes dialog-fade-in{0%{opacity:0}}@keyframes dialog-fade-out{to{opacity:0}}.floating{--float-x: 0px;--float-y: 0px;animation:float-in var(--motion-duration-fast) var(--motion-ease-out)}.floating.is-bottom{--float-y: -4px}.floating.is-top{--float-y: 4px}.floating.is-end{--float-x: -4px}.floating.is-start{--float-x: 4px}.floating.is-closing{animation:float-out var(--motion-duration-instant) var(--motion-ease-standard) forwards;pointer-events:none}@keyframes float-in{0%{opacity:0;transform:translate(var(--float-x),var(--float-y))}}@keyframes float-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.floating{animation:float-fade-in var(--motion-duration-instant) var(--motion-ease-standard)}}@keyframes float-fade-in{0%{opacity:0}}.popover{position:relative;width:max-content;min-width:200px;max-width:360px;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.popover-title{font-weight:600;font-size:var(--text-md);margin-bottom:var(--space-2)}.popover-arrow{position:absolute;width:10px;height:10px;background:var(--color-surface);transform:rotate(45deg)}.is-bottom>.popover-arrow{top:-6px;left:calc(var(--arrow, 24px) - 5px);border-left:1px solid var(--color-divider);border-top:1px solid var(--color-divider)}.is-top>.popover-arrow{bottom:-6px;left:calc(var(--arrow, 24px) - 5px);border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.is-end>.popover-arrow{left:-6px;top:calc(var(--arrow, 24px) - 5px);border-left:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.is-start>.popover-arrow{right:-6px;top:calc(var(--arrow, 24px) - 5px);border-top:1px solid var(--color-divider);border-right:1px solid var(--color-divider)}.menu{min-width:220px;max-height:320px;overflow:auto;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.menu-item{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;color:var(--color-text);white-space:nowrap;user-select:none}.menu-icon,.menu-check{display:grid;place-items:center;width:14px;height:14px;flex:none;color:var(--color-text-2)}.menu-icon svg,.menu-check svg{width:14px;height:14px}.menu-check{color:var(--color-accent)}.menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.menu-item .kbd,.menu-item .tag{margin-left:auto}.menu-item:hover{background:var(--color-hover)}.menu-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-1px}.menu-item.is-selected{background:var(--color-accent-tint)}.menu-item.is-selected .menu-icon{color:var(--color-accent)}.menu-item.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.menu-item.is-destructive,.menu-item.is-destructive .menu-icon{color:var(--color-danger-text)}.menu-item.is-locked{color:var(--color-text-2)}.menu-sep{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-divider)}@media(max-width:480px),(pointer:coarse){.menu-item{height:44px}}.panel-frame{--panel-w: 280px;display:flex;align-items:stretch;min-width:0}.panel-frame>.panel{width:var(--panel-w);flex:none}.panel-frame.is-start{flex-direction:row-reverse}.panel{display:flex;flex-direction:column;min-width:0;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-lg);overflow:hidden}.panel-head{display:flex;align-items:center;gap:var(--space-2);height:36px;flex:none;padding:0 var(--space-3);font-size:var(--text-sm);font-weight:600;border-bottom:1px solid var(--color-divider)}.panel-head .spacer{flex:1}.panel-head-tabs{padding:0 var(--space-2)}.panel-head-tabs .tabs{border-bottom:0}.panel-body{padding:var(--space-3);display:grid;gap:var(--space-3);align-content:start;overflow:auto}.panel-body[hidden]{display:none}.panel-section{display:grid;gap:var(--space-2)}.panel-section>h6{margin:0}.prop{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.prop>label{color:var(--color-text-2)}.prop .input{min-height:26px;font-size:var(--text-sm);padding:0 var(--space-2)}.prop .field{gap:0}.panel-chevron{transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.panel.is-collapsed .panel-chevron{transform:rotate(-90deg)}.resize-handle{position:relative;width:4px;flex:none;cursor:col-resize;background:transparent;touch-action:none;transition:background var(--motion-duration-fast) var(--motion-ease-standard)}.resize-handle:before{content:"";position:absolute;inset:0 -4px}.resize-handle:hover,.resize-handle.is-active,.resize-handle:focus-visible{background:var(--color-accent)}.resize-handle.is-active{transition:none}.resize-handle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty{display:grid;place-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);color:var(--color-text-2)}.empty-icon{display:grid;place-items:center}.empty-icon svg{width:28px;height:28px;color:var(--color-text-3)}.empty-error .empty-icon svg{color:var(--color-danger)}.empty strong{color:var(--color-text);font-weight:600}.empty .btn{margin-top:var(--space-2)}.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.tier{display:grid;gap:var(--space-2);align-content:start;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-divider)}.tier.is-hi{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.tier h4{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-h5)}.tier .price{font-size:var(--text-h3);font-weight:700;letter-spacing:var(--tracking-snug)}.tier .price span{font-size:var(--text-sm);font-weight:500;color:var(--color-text-2)}.tier ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:var(--text-sm);color:var(--color-text-2)}.tier ul svg{width:12px;height:12px;color:var(--color-success);margin-right:6px;vertical-align:-1px}.tier .btn{margin-top:var(--space-1)}.tier-note{font-size:var(--text-xs);color:var(--color-text-2)}.tier-marketing{padding:var(--space-5)}.tier-marketing .price{font-size:var(--text-h2);font-weight:800;letter-spacing:var(--tracking-snug)}@media(max-width:480px){.tiers{grid-template-columns:1fr}}.gate{display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-accent-2) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-accent-2) 40%,transparent);animation:gate-in var(--motion-duration-base) var(--motion-ease-overshoot)}.gate.is-closing{animation:gate-out var(--motion-duration-fast) var(--motion-ease-standard) forwards;pointer-events:none}@keyframes gate-in{0%{opacity:0;transform:translateY(8px)}}@keyframes gate-out{to{opacity:0}}.gate-icon{display:grid;place-items:center}.gate-icon svg{width:18px;height:18px;color:var(--color-accent-2-300)}[data-theme=light] .gate-icon svg{color:var(--color-accent-2-600)}.gate-text{min-width:0}.gate-title{font-family:var(--font-body);font-weight:600;font-size:var(--text-md);letter-spacing:0;margin:0;color:var(--color-text)}.gate-body,.gate-guarantee{font-size:var(--text-sm);color:var(--color-text-2);margin:0}.gate-card{position:relative;grid-template-columns:1fr;grid-auto-flow:row;justify-items:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border-style:dashed}.gate-card .gate-dismiss{position:absolute;top:var(--space-2);right:var(--space-2)}.gate-card .gate-text{display:grid;gap:var(--space-2);justify-items:center}.gate-strip{padding:var(--space-2) var(--space-3);gap:var(--space-2);border-radius:var(--radius-sm)}.gate-strip .gate-title{font-size:var(--text-sm)}.gate-strip .gate-icon svg{width:14px;height:14px}.gate-stack{display:grid;gap:var(--space-3)}.dialog.gate-blocking{animation:gate-in var(--motion-duration-base) var(--motion-ease-overshoot)}.dialog.gate-blocking.is-closing{animation:dialog-out var(--motion-duration-fast) var(--motion-ease-standard) forwards}.gate-blocking .gate-guarantee{text-align:center;margin-top:var(--space-2)}@media(prefers-reduced-motion:reduce){.gate,.dialog.gate-blocking{animation:gate-fade-in var(--motion-duration-fast) var(--motion-ease-standard)}}@keyframes gate-fade-in{0%{opacity:0}}@media(max-width:480px){.gate:not(.gate-card):not(.gate-strip){grid-template-columns:auto minmax(0,1fr);grid-auto-flow:row dense}.gate:not(.gate-card):not(.gate-strip)>.btn,.gate:not(.gate-card):not(.gate-strip)>.gate-guarantee{grid-column:2;justify-self:start}}.strip-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 40%,transparent)}.strip-icon{display:grid;place-items:center;flex:none}.strip-icon svg{width:14px;height:14px;color:var(--color-danger)}.strip-message{flex:1;min-width:0}.row-item{display:flex;align-items:center;gap:var(--space-2);width:100%;height:32px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;color:var(--color-text);white-space:nowrap;overflow:hidden}.row-icon,.row-trailing{display:grid;place-items:center;flex:none;color:var(--color-text-2)}.row-icon svg,.row-trailing svg{width:14px;height:14px}.row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.row-item:hover{background:var(--color-hover)}.row-item:active{background:var(--color-pressed)}.row-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-1px}.row-item.is-selected{background:var(--color-accent-tint);color:var(--color-text)}.row-item.is-selected .row-icon,.row-item.is-selected .row-trailing{color:var(--color-accent)}.row-item:disabled{opacity:.45;cursor:not-allowed}@media(max-width:480px),(pointer:coarse){.row-item{height:44px}}.stage{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--color-canvas);color:var(--color-neutral-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-stage)}.stage-ground{background:var(--gradient-ground-dark)}.stage-vignette:after{content:"";position:absolute;inset:0;background:var(--gradient-vignette);pointer-events:none;z-index:1}.stage>*{position:relative;z-index:2}.stage>.stage-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:0}.stage-16-9{aspect-ratio:16 / 9}.stage-16-10{aspect-ratio:16 / 10}.stage-9-16{aspect-ratio:9 / 16}.stage-1-1{aspect-ratio:1}.ticker{display:grid;gap:6px;min-width:0}.ticker-steps{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-2);margin:0;padding:0;list-style:none;min-width:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-neutral-500)}.ticker-steps li{white-space:nowrap;transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.ticker-steps .is-done{color:var(--color-neutral-400)}.ticker-steps .is-current{color:var(--color-neutral-100)}.ticker-steps .is-current b{font-weight:600}.topbar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);height:var(--topbar-h);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-divider);box-sizing:border-box;min-width:0}.tb-l{display:flex;align-items:center;gap:var(--space-3);min-width:0}.tb-c{display:flex;justify-content:center;min-width:0}.tb-r{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end;min-width:0}.tb-brand{font-size:var(--text-md);flex:none}.tb-div{width:1px;height:20px;background:var(--color-divider);flex:none}.tb-title{--tb-title-w: 320px;position:relative;display:inline-flex;min-width:0}.tb-titlebtn{display:inline-flex;align-items:center;gap:var(--space-2);max-width:var(--tb-title-w);min-width:0;height:28px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);font-weight:600;cursor:pointer;transition:background var(--motion-duration-fast) var(--motion-ease-standard)}.tb-titlebtn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-titlebtn svg{width:13px;height:13px;color:var(--color-text-3);flex:none;transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.tb-titlebtn:hover{background:var(--color-hover)}.tb-titlebtn:hover svg{color:var(--color-text-2)}.tb-titlebtn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tb-edit{width:var(--tb-title-w)}.tb-edit .input{min-height:28px;height:28px;padding:0 var(--space-2);font-size:var(--text-md);font-weight:600;animation:tb-title-in var(--motion-duration-fast) var(--motion-ease-standard)}@keyframes tb-title-in{0%{opacity:0}}.tb-status{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-3);flex:none;white-space:nowrap}.tb-status .dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--color-success)}.tb-status .dot-warning{background:var(--color-warning)}.tb-status .dot-accent{background:var(--color-accent)}.tb-status .dot-success{background:var(--color-success)}.tb-status .dot-danger{background:var(--color-danger)}.tb-renderbar{position:absolute;top:calc(var(--topbar-h) - 1px);left:0;right:0;z-index:4;height:3px;border-radius:0}.tb-renderbar .progress-bar{border-radius:0}@media(max-width:1024px){.tb-status{display:none}}.topbar.is-condensed{grid-template-columns:minmax(0,1fr) auto;padding:0 var(--space-3);gap:var(--space-2)}.topbar.is-condensed .tb-brand{font-size:var(--text-sm)}.topbar.is-condensed .tb-title{--tb-title-w: 150px}.topbar.is-condensed .tb-titlebtn,.topbar.is-condensed .tb-edit .input{font-size:var(--text-sm)}.topbar.is-condensed .tb-titlebtn svg{display:none}.topbar.is-condensed .tb-status{display:none}.tb-segrow{display:flex;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-divider)}.tb-segrow .seg{flex:1}.tb-segrow .seg-opt{flex:1;justify-content:center}.plan-ind{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-2);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:transparent;color:var(--color-text-2);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;flex:none;transition:background var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.plan-ind:hover{background:var(--color-hover);color:var(--color-text)}.plan-ind:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.plan-ind.is-open{border-color:var(--color-accent);color:var(--color-text);background:var(--color-hover)}.plan-ind>svg{width:16px;height:16px;flex:none}.plan-ind .plan-mini{display:block;width:52px}.plan-ind .plan-num{font-family:var(--font-mono);font-size:var(--text-xs)}.plan-ind.is-warn .progress-bar{background:var(--color-warning)}.plan-ind.is-danger .progress-bar{background:var(--color-danger)}@media(max-width:480px),(pointer:coarse){.plan-ind{min-height:40px}}
