.prompt-fallback{min-height:320px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.import-textarea{min-height:260px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.import-preview{display:flex;flex-direction:column;gap:12px}.solution-preview{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.solution-preview h3{font-size:16px}.solution-md-preview{max-height:220px;overflow:auto}.char-count{margin:4px 0 0;text-align:right;font-size:12px;color:var(--text-muted)}.char-count.is-over{color:var(--danger);font-weight:600}.checkbox-line{display:flex;align-items:center;gap:8px;margin-top:12px}.plan-group h4{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:15px}.plan-group ul{margin:0 0 6px;padding-left:22px}.draft-cat{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.draft-cat.is-off{opacity:.55}.draft-cat-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.draft-cat-head .input{flex:1 1 180px}.draft-icon{font-size:20px}.draft-tasks{list-style:none;margin:0;padding:0 0 0 26px;display:flex;flex-direction:column;gap:6px}.draft-tasks li{display:flex;align-items:center;gap:8px}.help ul{padding-left:20px}.help h3{font-size:15px;margin:14px 0 6px}.help h3:first-child{margin-top:0}.code-block{margin:0 0 12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);overflow:auto;font-size:12.5px;line-height:1.5}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:260px;padding:6px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.menu-list>*{display:block;width:100%;padding:9px 12px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.menu-list>*:hover{background:var(--surface-2)}@media(max-width:520px){.hide-sm{display:none}}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700;font-size:16px;text-decoration:none}.brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:var(--accent-soft)}.topbar-actions{display:flex;align-items:center;gap:6px}.main{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:20px 16px 48px}@media(min-width:900px){.main{padding:28px 32px 64px}.topbar{padding-left:32px;padding-right:32px}}.login{min-height:100dvh;display:grid;place-items:center;padding:16px;position:relative}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:32px 28px;text-align:center}.login-card h1{font-size:22px}.login-card p{margin:0}.login-logo{font-size:40px}.login-theme{position:absolute;top:16px;right:16px}.checkbox-line{display:flex;align-items:center;gap:8px}.settings-links{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;margin:4px 0 18px;padding-top:14px;border-top:1px solid var(--border)}.category{display:flex;flex-direction:column;gap:14px;max-width:980px;margin:0 auto}.back-link{color:var(--text-muted);text-decoration:none;font-weight:500;align-self:flex-start}.back-link:hover{color:var(--text)}.category-head{display:flex;flex-direction:column;gap:14px;padding:18px 20px}.category-title{display:flex;align-items:center;gap:12px}.category-title h1{font-size:clamp(20px,3vw,26px);min-width:0}.category-icon{font-size:28px}.category-progress{display:flex;flex-direction:column;gap:6px}.category-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.category-actions .btn-danger-ghost{margin-left:auto}.task-list{display:flex;flex-direction:column;gap:8px}.task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap}.task-row.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.task-row-title{flex:1 1 200px;min-width:0;font-weight:500;text-decoration:none;overflow-wrap:anywhere}.task-row-title:hover{color:var(--accent)}.task-row.is-done .task-row-title{text-decoration:line-through;color:var(--text-muted)}.task-row-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-muted);font-size:13px}.mini-progress{display:inline-flex;align-items:center;gap:6px;width:88px}.meta-icon{white-space:nowrap}.task-select{width:18px;height:18px;accent-color:var(--accent)}.status-chip{flex-shrink:0;min-width:84px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform .12s ease}.status-chip:active{transform:scale(.95)}.status-open{background:var(--surface-2);color:var(--text-muted);border-color:var(--border)}.status-doing{background:var(--accent-soft);color:var(--accent)}.status-done{background:var(--success-soft);color:var(--success)}.selection-bar{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;box-shadow:var(--shadow-lg)}.selection-bar span{font-weight:600;margin-right:auto}.add-task{display:flex;gap:8px}.dashboard{display:flex;flex-direction:column;gap:20px}.row-end{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.link-btn{font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.hero{display:grid;gap:24px;padding:22px;background:linear-gradient(135deg,var(--accent-soft),var(--surface) 65%)}@media(min-width:900px){.hero{grid-template-columns:1.25fr 1fr;align-items:center;padding:28px 32px}}.hero-title{font-size:clamp(22px,3vw,30px);letter-spacing:-.01em;margin-bottom:14px}.hero-progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-weight:600}.hero-progress-head strong{font-size:28px;font-variant-numeric:tabular-nums}.hero-progress p{margin:8px 0 0}.countdown-units{display:flex;gap:8px;flex-wrap:wrap}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:68px;padding:10px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.countdown-value{font-size:clamp(26px,4vw,40px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.countdown-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.countdown-date{margin:10px 0 0}.countdown-reached{font-size:22px;font-weight:700;margin:0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.stat:hover{border-color:var(--border-strong)}.stat.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.stat-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{font-size:13px;color:var(--text-muted)}.stat-doing .stat-value{color:var(--accent)}.stat-done .stat-value{color:var(--success)}.stat-overdue.is-alert{border-color:var(--danger);background:var(--danger-soft)}.stat-overdue.is-alert .stat-value{color:var(--danger)}.filtered{padding:16px 18px}.filtered-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.filtered-head h2{font-size:16px}.filtered-list{list-style:none;margin:0;padding:0}.filtered-list a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;text-decoration:none}.filtered-list a:hover{background:var(--surface-2)}.filtered-title{flex:1;min-width:0;overflow-wrap:anywhere}.filtered-cat{font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.section-head h2{font-size:18px}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.tile-grid{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:640px){.tile-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.tile-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1500px){.tile-grid{grid-template-columns:repeat(4,1fr)}}.sortable-item{display:flex;min-width:0}.sortable-item>*{flex:1;min-width:0}.sortable-item.is-dragging>*{box-shadow:var(--shadow-lg)}.tile{display:flex;flex-direction:column;gap:12px;min-height:156px;padding:18px;color:inherit;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.tile.is-complete{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.tile-head{display:flex;align-items:center;gap:10px}.tile-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:11px;background:var(--surface-2);font-size:22px}.tile-name{flex:1;min-width:0;font-size:16px;overflow-wrap:anywhere}.tile-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--text-muted)}.tile-meta strong{color:var(--text);font-variant-numeric:tabular-nums}.tile-foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tile-empty{margin:auto 0 0}.tile-add{display:flex;align-items:center;justify-content:center;min-height:156px;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.tile-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tile-add-form{display:flex;flex-direction:column;gap:10px;padding:16px}.emoji-picks{display:flex;flex-wrap:wrap;gap:4px}.emoji-picks button{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:18px;cursor:pointer}.emoji-picks button.is-active{border-color:var(--accent);background:var(--accent-soft)}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end;background:#0a0c1059;animation:fade-in .15s ease}.panel{width:min(580px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);animation:slide-in .22s cubic-bezier(.22,1,.36,1)}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@media(max-width:640px){.panel{border-left:0}}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--border)}.panel-head-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.panel-body{flex:1;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:18px 20px;padding-bottom:max(32px,env(safe-area-inset-bottom))}.panel-title{font-size:20px;font-weight:700;border-color:transparent}.panel-title:hover{border-color:var(--border)}.panel-fields{display:grid;grid-template-columns:1fr;gap:0 16px}@media(min-width:520px){.panel-fields{grid-template-columns:1fr 1fr}.panel-fields>.field:first-child{grid-column:1 / -1}}.deadline-row{display:flex;align-items:center;gap:6px}.panel-section{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.panel-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.panel-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--border);font-size:13px}.checklist-items{display:flex;flex-direction:column;gap:2px}.check-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-sm)}.check-item:hover{background:var(--surface-2)}.check-text{flex:1;min-width:0}.check-item.is-done .check-text{text-decoration:line-through;color:var(--text-muted)}.check{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:24px;height:24px;cursor:pointer}.check input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.check-box{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;border:2px solid var(--border-strong);background:var(--surface);transition:background-color .15s ease,border-color .15s ease}.check-box:after{content:"";width:10px;height:5px;margin-top:-2px;border-left:2px solid var(--on-strong);border-bottom:2px solid var(--on-strong);transform:rotate(-45deg) scale(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.check input:checked+.check-box{background:var(--success);border-color:var(--success)}.check input:checked+.check-box:after{transform:rotate(-45deg) scale(1)}.check input:focus-visible+.check-box{outline:2px solid var(--accent);outline-offset:2px}.check-add{margin-top:4px}.ai-loading{display:flex;align-items:center;gap:12px;padding:24px 0}.improve-grid{display:grid;gap:14px}@media(min-width:700px){.improve-grid{grid-template-columns:1fr 1fr}}.improve-col{padding:14px;border-radius:var(--radius);background:var(--surface-2)}.improve-col.is-new{background:var(--accent-soft)}.improve-col h4,.suggestions-head{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.improve-col p{margin:0 0 6px;white-space:pre-wrap}.suggestions-head{margin-top:18px}.suggestions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.suggestions label{display:flex;align-items:center;gap:8px}.row-start{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.gallery-thumb{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:11px;color:#fff;background:linear-gradient(transparent,#000000b3);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-thumb.is-error{cursor:default;aspect-ratio:auto;grid-column:1 / -1;padding:10px;place-items:stretch;border-color:var(--danger);background:var(--danger-soft)}.upload-error{display:flex;flex-direction:column;gap:8px;color:var(--danger);font-size:13px}.lightbox{position:relative;display:grid;place-items:center;background:var(--surface-2);border-radius:var(--radius);overflow:hidden}.lightbox img{max-height:70dvh;width:auto;height:auto;object-fit:contain}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#00000073;color:#fff;font-size:26px;cursor:pointer}.lightbox-nav.is-prev{left:10px}.lightbox-nav.is-next{right:10px}.lightbox-bar{display:flex;gap:8px;margin-top:12px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.solution-empty{padding:14px;border-radius:var(--radius);border:1px dashed var(--border-strong)}.solution-empty p{margin:0 0 10px}.solution-edit{min-height:220px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.solution-md{line-height:1.6;overflow-wrap:anywhere}.solution-md h1,.solution-md h2,.solution-md h3{font-size:15px;margin:16px 0 6px}.solution-md h1:first-child,.solution-md h2:first-child,.solution-md h3:first-child{margin-top:0}.solution-md p,.solution-md ul,.solution-md ol{margin:0 0 10px}.solution-md ul,.solution-md ol{padding-left:22px}.solution-md code{padding:1px 5px;border-radius:4px;background:var(--surface-2);font-size:.92em}.solution-md blockquote{margin:0 0 10px;padding:6px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.materials h4{margin:4px 0 6px;font-size:13px;color:var(--text-muted)}.materials ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.materials label{display:flex;gap:8px;align-items:center}.materials label.is-checked{text-decoration:line-through;color:var(--text-muted)}:root,:root[data-theme=light]{color-scheme:light;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f0f2f5;--surface-3: #e7eaef;--border: #e1e4ea;--border-strong: #c9ced8;--text: #1a1e26;--text-muted: #5a6371;--text-faint: #8a93a1;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0fe;--accent-contrast: #ffffff;--on-strong: #ffffff;--success: #15803d;--success-soft: #e8f5ec;--warning: #b45309;--warning-soft: #fdf3e6;--danger: #c2261d;--danger-soft: #fdecea;--progress-track: #e6e9ef;--progress-fill: var(--accent);--progress-done: #16a34a;--shadow-sm: 0 1px 2px rgb(16 24 40 / .06);--shadow-md: 0 4px 12px rgb(16 24 40 / .08), 0 1px 3px rgb(16 24 40 / .06);--shadow-lg: 0 16px 40px rgb(16 24 40 / .16);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #14161b;--surface: #1c1f26;--surface-2: #232730;--surface-3: #2b303a;--border: #2f3440;--border-strong: #3d4452;--text: #e6e8ec;--text-muted: #a0a8b6;--text-faint: #6f7786;--accent: #8b93f8;--accent-hover: #a3a9fa;--accent-soft: #262a47;--accent-contrast: #14161b;--on-strong: #14161b;--success: #5cc38a;--success-soft: #1b2e24;--warning: #e3a857;--warning-soft: #33291a;--danger: #f07a70;--danger-soft: #3a2020;--progress-track: #2c313b;--progress-fill: var(--accent);--progress-done: #4fb87e;--shadow-sm: none;--shadow-md: 0 0 0 1px var(--border-strong);--shadow-lg: 0 16px 40px rgb(0 0 0 / .5)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}h1,h2,h3{line-height:1.25;margin:0}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--text-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:36px;padding:0 14px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-danger-ghost{border-color:transparent;background:transparent;color:var(--danger)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-sm{min-height:28px;padding:0 10px;font-size:13px}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius);border:0;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:16px}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn-sm{width:28px;height:28px;font-size:13px}.input{width:100%;min-height:38px;padding:8px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit}textarea.input{resize:vertical;min-height:90px}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field-label{font-size:13px;font-weight:600;color:var(--text-muted)}.form-error{color:var(--danger);margin:.5em 0 0}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--text-muted);white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.segmented button{display:inline-flex;align-items:center;gap:6px;min-height:30px;min-width:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:500;cursor:pointer;justify-content:center}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .segmented button.is-active{background:var(--surface-3)}.loading{padding:48px;text-align:center;color:var(--text-muted)}.error-box{padding:24px;text-align:center}.empty{padding:32px;text-align:center}.spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;color:var(--text-faint);padding:4px 2px;font-size:14px;letter-spacing:-2px;line-height:1}.drag-handle:active{cursor:grabbing}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.progress{position:relative;width:100%;height:8px;border-radius:999px;background:var(--progress-track);overflow:hidden}.progress-sm{height:4px}.progress-lg{height:12px}.progress-fill{height:100%;border-radius:inherit;background:var(--progress-fill);transition:width .6s cubic-bezier(.22,1,.36,1)}.progress.is-complete .progress-fill{background:var(--progress-done)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0a0c1073;animation:fade-in .15s ease}.modal{width:min(560px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in .18s cubic-bezier(.22,1,.36,1)}.modal-wide{width:min(920px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 20px;border-bottom:1px solid var(--border)}.modal-head h2{font-size:17px;overflow-wrap:anywhere}.modal-body{padding:20px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.toasts{position:fixed;z-index:60;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100% - 32px));pointer-events:none}.toast{padding:10px 14px;border-radius:var(--radius);background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);font-weight:500;animation:pop-in .2s ease;pointer-events:auto}.toast-error{background:var(--danger);color:var(--on-strong)}.toast-success{background:var(--success);color:var(--on-strong)}.inline-edit{font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 6px;margin:-3px -7px;cursor:text;text-align:left;overflow-wrap:anywhere}.inline-edit:hover{border-color:var(--border);background:var(--surface-2)}.inline-edit-input{min-height:32px;padding:4px 8px}
