:root{color-scheme:dark;--page-bg: #101318;--surface: #1a1d24;--surface-raised: #1d2027;--surface-muted: rgba(214, 228, 245, .035);--glass: rgba(28, 26, 32, .78);--glass-stroke: rgba(255, 255, 255, .13);--fg: #e8edf5;--fg-secondary: #b6c0cf;--fg-muted: #8b94a3;--brand: #a9998a;--brand-soft: #c0b2a4;--brand-text: #bfb2a4;--brand-emphasis: #f09a05;--brand-emphasis-hover: #f5b23c;--brand-emphasis-dark: #d88700;--on-brand: #0a0a0c;--fg-brand-emphasis: #f5b23c;--border-brand-emphasis: rgba(245, 178, 60, .5);--bg-brand-emphasis-subtle: rgba(240, 154, 5, .14);--bg-brand-subtle: rgba(169, 153, 138, .14);--bg-brand-muted: rgba(169, 153, 138, .2);--border: rgba(88, 98, 118, .75);--border-strong: #59637a;--border-focus: rgba(240, 245, 252, .92);--input-border: #6b7488;--list-hover: rgba(255, 255, 255, .12);--list-selected: rgba(169, 153, 138, .2);--icon-bg: rgba(214, 228, 245, .08);--icon-hover: rgba(255, 255, 255, .16);--ok: #2da160;--ok-soft: rgba(45, 161, 96, .16);--warn: #cd8528;--warn-soft: rgba(205, 133, 40, .16);--info: #5b9fe0;--info-soft: rgba(91, 159, 224, .16);--danger: #ec5941;--danger-soft: rgba(236, 89, 65, .16);--neutral-soft: rgba(139, 148, 163, .16);--radius: 10px;--radius-sm: 8px;--shadow: 0 12px 40px rgba(0, 0, 0, .55), 0 0 0 1px rgba(214, 228, 245, .07);--shadow-sm: inset 0 1px 0 rgba(214, 228, 245, .1), 0 1px 2px rgba(0, 0, 0, .35), 0 0 0 1px rgba(214, 228, 245, .06);--shadow-md: inset 0 1px 0 rgba(214, 228, 245, .08), 0 4px 16px rgba(0, 0, 0, .4), 0 0 0 1px rgba(214, 228, 245, .07);--font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--page-bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" on,"lnum" on}a{color:var(--brand-text);font-weight:500;text-decoration:none;transition:color .12s ease}a:hover{color:var(--fg);text-decoration:none}button,input,textarea,select{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:none;background:var(--icon-bg);border-radius:var(--radius-sm);padding:.45rem .9rem;transition:background .12s ease,color .12s ease}button:hover{background:var(--icon-hover)}button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}button.primary,a.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-emphasis);border:none;color:var(--on-brand);font-weight:700;border-radius:var(--radius-sm);padding:.45rem .9rem;text-decoration:none}button.primary:hover,a.primary:hover{background:var(--brand-emphasis-hover);color:var(--on-brand)}button.ghost{background:transparent}button.ghost:hover{background:var(--list-hover)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{width:100%;background:#101318b8;border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:.6rem .8rem;transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}textarea{resize:vertical;min-height:100px}.app{min-height:100%;display:flex;flex-direction:column}.topbar{width:100%;background:var(--surface-raised);border:none;border-radius:0;box-shadow:none;position:sticky;top:0;z-index:100}.topbar-inner{width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 40px;min-height:52px;box-sizing:border-box}.app-main{width:100%;max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem 3.5rem;box-sizing:border-box}.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none}.brand:hover{opacity:.85;color:inherit}.brand-duck{width:28px;height:28px;object-fit:contain;flex-shrink:0}.brand-name{font-weight:800;font-size:1rem;letter-spacing:-.02em;color:var(--fg)}.brand-sep{color:var(--fg-muted);font-weight:500;font-size:.95rem}.brand-product{font-weight:600;font-size:.95rem;color:var(--brand-text)}.tabs{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:0}.tabs a{color:var(--fg-muted);padding:6px 10px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.875rem;background:transparent;border:none}.tabs a.active{color:var(--fg);background:var(--list-selected)}.tabs a:hover:not(.active){color:var(--fg);background:var(--list-hover)}.user-chip{display:flex;align-items:center;gap:.65rem;color:var(--fg-muted);font-size:.875rem;font-weight:600}.user-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--surface);border:none}.user-chip .user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip .mock-pill{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-brand-emphasis);background:var(--bg-brand-emphasis-subtle);border:none;border-radius:999px;padding:.2rem .55rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.chips{display:flex;flex-wrap:wrap;gap:.25rem}.chips button{border:none;border-radius:10px;font-size:.875rem;font-weight:600;padding:.35rem .8rem;background:transparent;color:var(--fg-muted)}.chips button:hover{background:var(--list-hover);color:var(--fg)}.chips button.active{background:var(--list-selected);color:var(--fg)}.chips button.primary{background:var(--brand-emphasis);color:var(--on-brand);font-weight:700}.chips button.primary:hover{background:var(--brand-emphasis-hover);color:var(--on-brand)}.chip-filter{display:inline-flex;align-items:center;gap:.35rem;border:none;border-radius:10px;font-size:.875rem;font-weight:600;padding:.35rem .7rem;background:transparent;color:var(--fg-muted)}.chip-filter:hover{background:var(--list-hover);color:var(--fg)}.chip-filter.active{background:var(--list-selected);color:var(--fg)}.chip-filter.tone-under_review.active{color:var(--fg-secondary)}.chip-filter.tone-planned.active{color:var(--info);background:var(--info-soft)}.chip-filter.tone-in_progress.active{color:var(--warn);background:var(--warn-soft)}.chip-filter.tone-done.active{color:var(--ok);background:var(--ok-soft)}.chip-filter.tone-closed.active{color:var(--fg-muted);background:var(--neutral-soft)}.status-badge{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;font-weight:600;line-height:1}.status-badge-icon{flex-shrink:0}.status-sm{font-size:.8rem}.status-md{font-size:.9rem;padding:.35rem .65rem;border-radius:10px;background:var(--surface-muted)}.status-under_review{color:var(--fg-muted)}.status-planned{color:var(--info)}.status-in_progress{color:var(--warn)}.status-done{color:var(--ok)}.status-closed{color:var(--fg-muted);opacity:.75}.status-md.status-planned{background:var(--info-soft)}.status-md.status-in_progress{background:var(--warn-soft)}.status-md.status-done{background:var(--ok-soft)}.status-md.status-under_review,.status-md.status-closed{background:var(--neutral-soft)}.status-picker{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(88,98,118,.35)}.status-pick{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:10px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;background:transparent;color:var(--fg-muted)}.status-pick:hover{background:var(--list-hover);color:var(--fg)}.status-pick.active.tone-under_review{color:var(--fg-secondary);background:var(--neutral-soft)}.status-pick.active.tone-planned{color:var(--info);background:var(--info-soft)}.status-pick.active.tone-in_progress{color:var(--warn);background:var(--warn-soft)}.status-pick.active.tone-done{color:var(--ok);background:var(--ok-soft)}.status-pick.active.tone-closed{color:var(--fg-muted);background:var(--neutral-soft)}.board{display:grid;gap:.7rem}.card{display:grid;grid-template-columns:auto 1fr auto;gap:.95rem;align-items:start;padding:1rem 1.05rem;background:var(--surface);border:none;border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .12s ease}.card:hover{background:#1c2028}.card h3{margin:0 0 .3rem;font-size:1rem;font-weight:600;letter-spacing:-.01em}.card p{margin:0;color:var(--fg-secondary);font-size:.9rem}.meta{color:var(--fg-muted);font-size:.8rem;margin-top:.5rem;font-family:var(--mono)}.vote{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:3rem}.vote-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:2.85rem;padding:.45rem .4rem;border:none;border-radius:var(--radius-sm);background:var(--icon-bg);color:var(--fg-muted);font-family:var(--mono);font-size:.85rem;font-weight:700;line-height:1}.vote-btn:hover{background:var(--icon-hover);color:var(--fg)}.vote-btn.on{color:var(--fg-brand-emphasis);background:var(--bg-brand-emphasis-subtle)}.vote-icon{display:block}.vote-count{font-variant-numeric:tabular-nums}.vote-meta{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--fg-muted);font-family:var(--mono)}.panel{background:var(--surface);border:none;border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.stack{display:grid;gap:.75rem}.page-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.comment{padding:.85rem 0;border-top:1px solid var(--border)}.comment:first-of-type{border-top:none;padding-top:0}.comment header{display:flex;gap:.5rem;align-items:center;color:var(--fg-muted);font-size:.85rem;margin-bottom:.35rem}.comment header img{width:22px;height:22px;border-radius:50%;border:none}.comment header strong{color:var(--fg);font-weight:600}.images{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.images img{max-width:220px;max-height:160px;border-radius:var(--radius-sm);border:none;object-fit:cover}.dropzone-wrap{margin-top:.85rem}.dropzone{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border-radius:var(--radius);background:var(--surface-muted);outline:1.5px dashed rgba(88,98,118,.55);outline-offset:-1px;cursor:pointer;transition:background .12s ease,outline-color .12s ease,color .12s ease;color:var(--fg-muted)}.dropzone:hover{background:var(--list-hover);outline-color:var(--brand-text);color:var(--fg-secondary)}.dropzone.dragging{background:var(--bg-brand-emphasis-subtle);outline-color:var(--brand-emphasis);outline-style:solid;color:var(--fg-brand-emphasis)}.dropzone.uploading{cursor:progress;opacity:.85}.dropzone.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.dropzone-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.dropzone-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:10px;background:var(--icon-bg);flex-shrink:0;color:inherit}.dropzone.dragging .dropzone-icon{background:var(--bg-brand-emphasis-subtle)}.dropzone-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dropzone-copy strong{font-size:.9rem;font-weight:650;color:var(--fg)}.dropzone.dragging .dropzone-copy strong{color:var(--fg-brand-emphasis)}.dropzone-copy span{font-size:.78rem;color:var(--fg-muted);font-family:var(--mono)}.dropzone-error{margin:.45rem 0 0;font-size:.85rem;color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.changelog article{padding:1.25rem 0;border-bottom:1px solid var(--border)}.changelog article:last-child{border-bottom:none}.changelog time{color:var(--fg-muted);font-size:.85rem;font-family:var(--mono)}.changelog .md{margin-top:.75rem;color:var(--fg)}.changelog .md h1,.changelog .md h2,.changelog .md h3{margin:1rem 0 .4rem;letter-spacing:-.01em}.changelog .md p{margin:.4rem 0;color:var(--fg-secondary)}.changelog .md code{font-family:var(--mono);background:var(--surface-muted);padding:.1rem .35rem;border-radius:4px;font-size:.88em}.empty{color:var(--fg-muted);padding:2.5rem 0;text-align:center;font-family:var(--mono);font-size:.9rem}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.error{color:var(--danger);font-size:.9rem;background:var(--danger-soft);border:none;border-radius:var(--radius-sm);padding:.65rem .85rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--brand-text);font-size:.9rem;margin-bottom:.25rem}.back-link:hover{color:var(--fg)}.detail-title{margin:0 0 .5rem;font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.detail-body{white-space:pre-wrap;margin-top:1rem;color:var(--fg-secondary);line-height:1.55}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.board .card,.panel{animation:fade-up .28s ease both}@media(prefers-reduced-motion:reduce){.board .card,.panel,.card:hover{animation:none;transform:none}}@media(max-width:720px){.topbar-inner{flex-wrap:wrap;padding:10px 20px}.tabs{order:3;width:100%;justify-content:stretch}.tabs a{flex:1;text-align:center}.card{grid-template-columns:auto 1fr}.status-badge{grid-column:2;justify-self:start}}
