@media(max-width:700px){header.topbar{flex-wrap:wrap}.toolbar{margin-left:auto}}
:root{font-family:Inter,system-ui,sans-serif;color:#20201f;background:#f7f7f5;font-synthesis:none;--purple:#5746e8;--muted:#6b6b66;--line:#e5e5e0}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,textarea,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a699ff}button{border:1px solid var(--line);background:white;color:inherit;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:500}button:hover{border-color:#bbb6dc;background:#faf9ff}.primary{background:var(--purple);border-color:var(--purple);color:white}.primary:hover{background:#4938d0;color:white}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.link{border:0;background:none;color:var(--purple);padding:0;font-weight:600}.danger{color:#aa302b}.small{font-size:12px;color:var(--muted);line-height:1.6}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;letter-spacing:-.5px}.logo{width:31px;height:31px;border-radius:9px;background:var(--purple);display:grid;place-items:center;color:white;font-size:18px}header.topbar{max-width:1320px;margin:auto;padding:30px 40px;display:flex;align-items:center;justify-content:space-between;gap:14px}.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}main{max-width:1320px;padding:20px 40px 36px;margin:auto}h1{font-size:29px;letter-spacing:-1px;margin:0 0 8px;font-weight:650}p{line-height:1.6}h2,h3{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category{background:white;border:1px solid var(--line);border-radius:19px;padding:24px;min-width:0;display:flex;flex-direction:column;min-height:205px}.category-head{display:flex;align-items:center;gap:13px}.category-head h2{font-size:19px;letter-spacing:-.4px}.category-head p{font-size:12px;color:var(--muted);margin:5px 0 0}.category-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#eeeaff;color:#6553ee;font-size:19px}.knowledge .category-icon{background:#e5f5eb;color:#147a3a}.preference .category-icon{background:#fff0e1;color:#9a4d12}.count{margin-left:auto;color:var(--muted);font-size:12px}.card-preview{margin:20px 0;min-height:35px;flex:1;font-size:13px;line-height:1.8;color:#64645e}.card-preview div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.category .link{align-self:flex-start}.chat{margin-top:28px;background:#efefec;border-radius:20px;padding:24px;min-height:430px}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.chat-head h2{font-size:15px;font-weight:600}.connection{font-size:11px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);margin-top:7px}.dot{width:6px;height:6px;border-radius:50%;background:#aaa9a3}.dot.ready{background:#319163}.chat-tools{display:flex;gap:6px}.selection-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0 0}.messages{padding:22px 0;display:flex;flex-direction:column;gap:16px;max-height:490px;overflow:auto;overscroll-behavior:contain;min-height:210px}.welcome{margin:auto;text-align:center;max-width:520px;padding:18px}.welcome-icon{color:var(--purple);font-size:28px;margin-bottom:12px}.welcome h3{font-size:21px;letter-spacing:-.6px;font-weight:600}.welcome p{font-size:13px;color:var(--muted);margin:10px 0 20px}.starters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.starters button{font-size:12px;background:#f8f8f5}.bubble{max-width:85%;border-radius:15px;padding:15px 18px;background:white;align-self:flex-start;font-size:14px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:#e8e6fb;color:#383071}.bubble.system{background:#f9f8f3;border:1px solid #dedbd0;color:#696354;font-size:13px}.bubble .message-actions{display:flex;gap:10px;margin-top:9px}.bubble small{display:block;font-size:10px;color:var(--muted);margin-top:10px}.composer{background:white;border:1px solid #deded8;border-radius:15px;padding:13px;box-shadow:0 2px 6px #00000003}.composer textarea{resize:vertical;min-height:54px;max-height:170px;width:100%;border:0;padding:5px;background:transparent;line-height:1.6;font-size:14px}.composer-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center}.composer-bottom span{font-size:11px;color:var(--muted)}.notice{font-size:11px;color:var(--muted);margin:12px 0 0;line-height:1.6}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#292631;color:white;padding:13px 20px;border-radius:12px;z-index:10;font-size:13px;max-width:90vw}.toast:empty{display:none}dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:600px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 32px);color:inherit;box-shadow:0 25px 80px #0002}dialog::backdrop{background:#27233366}dialog[open]{display:flex;flex-direction:column}.dialog-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:flex-start;justify-content:space-between;flex-shrink:0}.dialog-head h2{font-size:19px}.dialog-head p{font-size:12px;color:var(--muted);margin:7px 0 0}.dialog-body{padding:24px;overflow:auto;min-height:0}.dialog-head .quiet{padding:0 5px;font-size:21px}.field{display:block;margin:0 0 18px;font-size:13px;font-weight:500}.field input,.field textarea,.field select{display:block;width:100%;padding:11px 12px;border:1px solid #d8d8d3;border-radius:9px;margin-top:8px;background:white;font-size:14px}.field textarea{min-height:140px;resize:vertical;line-height:1.6}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.item{padding:16px 0;border-bottom:1px solid var(--line)}.item h3{font-size:14px;overflow-wrap:anywhere}.item p{font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.item-actions{display:flex;gap:6px;flex-wrap:wrap}.item-actions button{padding:7px 10px;font-size:12px}.select-item{display:flex;gap:12px;align-items:flex-start;margin:16px 0;font-size:14px}.select-item input{accent-color:var(--purple);margin-top:3px;flex-shrink:0}.select-item span{overflow-wrap:anywhere}.select-item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.warning{padding:12px;background:#faf4e7;color:#80622e;border-radius:9px;font-size:12px;line-height:1.6;margin-bottom:17px}.error{color:#a63333;font-size:13px;line-height:1.5}.empty-list{padding:28px 0;color:var(--muted);font-size:13px}.backup{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.backup summary{cursor:pointer;font-size:13px}.package{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f5f8;padding:15px;font-size:12px;max-height:260px;overflow:auto}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){header.topbar{padding:20px}.brand{font-size:16px}.topbar .toolbar button{padding:8px;font-size:12px}main{padding:12px 20px 25px}h1{font-size:24px}.cards{grid-template-columns:1fr;gap:12px}.category{min-height:160px;padding:20px}.card-preview{margin:13px 0}.chat{padding:17px;margin-top:20px}.bubble{max-width:95%}.chat-tools button{font-size:11px;padding:8px}.composer-bottom span{max-width:65%;line-height:1.5}.dialog-body{padding:20px}.welcome{padding:14px 0}.intro{align-items:flex-start}.intro .avatar{margin-top:4px}}

/* ---------- 0.3 additions, in the original visual language ---------- */
.item-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.item-draft{background:#fffaf3;border-radius:12px;padding:16px;margin:0 -16px}
.decks-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}.decks-row .chip{cursor:pointer}
.render-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0 10px}.render-row select{border:1px solid #d8d8d3;border-radius:9px;padding:8px 10px;background:white;font-size:13px}
.warnings{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}.warnings .warning{margin:0;padding:10px 12px}.warning-info{background:#eeeaff;color:#544498}.warning-block{background:#fdeaea;color:#aa302b;font-weight:600}
.package-text{width:100%;min-height:200px;resize:vertical;border:0;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre-wrap;padding:5px}.package-text:disabled{color:var(--muted)}
.guard{border-radius:9px;padding:12px;margin:0 0 18px;font-size:13px;line-height:1.5}.guard-ok{color:#147a3a;padding:0;margin:0 0 14px}.guard-warn{background:#fff0e1;color:#80622e}.guard-block{background:#fdeaea;color:#8f2a25}.guard .small{margin:4px 0 8px;color:inherit}.guard-list{margin:0 0 10px;padding-left:18px}.guard-list code{font-size:12px;background:#ffffffa0;padding:1px 4px;border-radius:4px}.guard button{font-size:12px;padding:7px 10px}
.signin-link{display:inline-block;margin-top:10px;text-decoration:none;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600}
.dialog-body h3{font-size:14px;margin:18px 0 8px}
.field select{display:block;width:100%;padding:11px 12px;border:1px solid #d8d8d3;border-radius:9px;margin-top:8px;background:white;font-size:14px}
.field input[type=date]{min-height:44px}
.dialog-body details.backup{margin:0 0 18px;border-top:0;padding-top:0}
@media(max-width:700px){.render-row select{width:100%}.item-draft{margin:0}}
.item-meta{margin:8px 0 0}.item-meta .link{font-size:12px;font-weight:500}
.lint{background:#eeeaff;color:#544498;border-radius:9px;padding:10px 12px;margin:0 0 18px;font-size:13px}.lint summary{cursor:pointer;font-weight:600}.lint-list{margin:8px 0 4px;padding-left:18px;line-height:1.5}.lint .small{color:inherit;opacity:.8;margin:4px 0 0}
.polish{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 18px;font-size:13px}.polish-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}.polish-cols h4{margin:0 0 6px;font-size:12px;color:var(--muted)}.polish .package{max-height:320px;font-size:12px}@media(max-width:700px){.polish-cols{grid-template-columns:1fr}}
.list-controls{margin:0 0 6px;font-size:13px}.list-controls select{border:1px solid #d8d8d3;border-radius:9px;padding:7px 10px;background:white;font-size:13px}.tag-row{margin:0 0 6px}.tag-row .chip{cursor:pointer}.dup-hint{color:#9a4d12;margin:6px 0 0}

.category{cursor:pointer;transition:border-color .15s,box-shadow .15s}.category:hover,.category:focus-visible{border-color:#bbb6dc;box-shadow:0 4px 18px #5746e812}.category .link{cursor:pointer}
.preview-active{color:#319163}.preview-more{color:var(--muted);font-size:12px}
.chat .welcome{margin:28px auto 8px}.chat .welcome h3{font-size:21px}.chat .welcome p{margin:10px 0 18px}.starters .primary{background:var(--purple);color:#fff}
.selection-strip .link{font-size:12px}
#account{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.composer-bottom .chat-tools{display:flex;gap:6px}
@media(max-width:700px){#account{max-width:140px}.composer-bottom{flex-wrap:wrap}}

.count{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1;color:inherit;font-size:12px}
.count strong{font-size:34px;font-weight:650;letter-spacing:-1.5px;color:#20201f}.count small{color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap}
.skill .count strong{color:#5746e8}.knowledge .count strong{color:#147a3a}.preference .count strong{color:#9a4d12}
.preview-note{color:#9a4d12;font-size:12px;margin-top:4px}
#item-count{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}
.stat{font-size:13px;color:var(--muted)}.stat strong{font-size:15px;color:#20201f;font-weight:650}
.stat-on strong{color:#319163}.stat-warn strong{color:#9a4d12}
@media(max-width:700px){.count strong{font-size:28px}}
.verdict{border-radius:9px;padding:10px 12px;margin:8px 0;font-size:13px}.verdict-pass{background:#e5f5eb;color:#1d6b3a}.verdict-fail{background:#fdeaea;color:#8f2a25}.verdict-none{background:#efefec;color:var(--muted)}.verdict .small{color:inherit;opacity:.85;margin:4px 0 0}.verdict-note{font-weight:600}
.trial-panel{margin:12px 0 18px}.trial .polish-cols{margin:8px 0}.effect span{white-space:nowrap}
.receipt{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vote{border:1px solid var(--line);background:#fff;border-radius:8px;padding:3px 7px;font-size:13px;line-height:1}.vote-on{background:#e6e3fa;border-color:#bbb6dc}
.field-hint{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.5}
.settings-section{margin:0 0 10px;border-top:0;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.settings-section summary{font-size:14px;font-weight:600;cursor:pointer}.settings-section[open] summary{margin-bottom:12px}.settings-section .package{margin:8px 0}
.small.ok{color:#147a3a;font-weight:600}
.link-quiet{border:0;background:none;padding:0;color:var(--muted);font-size:11px;cursor:pointer;text-align:left}.link-quiet:hover{color:var(--purple);text-decoration:underline}
.dialog-head p:empty{display:none}
.app-tabs{margin:6px 0 10px}.app-tabs button{border:0;background:transparent;padding:7px 13px;border-radius:9px;font-size:13px;font-weight:600;color:#6b6b66}.app-tabs button.on{background:#fff;color:#20201f;box-shadow:0 1px 2px #0000000f}.app-tabs button:hover{color:#20201f;background:transparent}.app-tabs button.on:hover{background:#fff}
[hidden]{display:none!important}
.golden{border:1px dashed #bbb6dc;border-radius:12px;padding:12px 14px;margin-top:12px;background:#faf9ff}.golden strong{display:block;margin-bottom:4px;font-size:14px}.golden button{margin-top:8px}
.suggest-link{display:inline-block;margin:6px 0 0 0;font-size:12px;font-weight:600;padding:0}.suggest-link:disabled{opacity:.6}
.receipt-item summary{font-size:13px}.receipt-facts{margin:8px 0 10px}.receipt-facts .small{margin:4px 0}.receipt-item .field{margin:8px 0 10px}.receipt-item .vote{font-size:12px;padding:6px 10px}
/* ---- 0.3 spacing pass: one scale (8 · 12 · 16 · 20 · 28) so no block sits on its neighbour ---- */
.dialog-body>.row:first-child{margin:0 0 20px}
.dialog-body .row+.field,.dialog-body button+.field,.settings-section>.field-hint+button,.settings-section>button+button{margin-top:16px}
.list-controls{margin:0 0 8px}.tag-row{margin:14px 0 2px}
.item{padding:18px 0}.item-actions{margin-top:12px}.item-meta{margin:10px 0 0}
.suggest-link{margin:10px 0 0}
.dialog-body details.backup{margin:4px 0 20px}.backup[open]>summary{margin-bottom:14px}
.dialog-body form>.row:last-child{margin-top:20px}
.settings-section{padding:16px 18px;margin:0 0 12px}.settings-section>.field-hint{margin-top:10px}
.app-tabs{margin:10px 0 12px}.golden{margin-top:16px}
.warnings{gap:8px;margin:0 0 12px}
.chat-head{margin-bottom:4px}
.item>h3{margin:0 0 10px}.item-head{margin:0 0 10px}.item-head h3{margin:0}.item>p{margin:0}.item>p.item-meta{margin:10px 0 0}.dialog-body>.item:first-child{padding-top:2px}
@media(max-width:700px){.item-draft{margin:0 -10px;padding:12px 10px}}
.starters button{font-size:13px}.package-text{font-size:13px}.select-item input{margin-top:4px}.dialog-head .quiet{margin-top:-2px}

/* category rows: checkbox on the left, menu in the top right */
.item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 8px}
.item-top .select-row{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;color:var(--purple)}
.item-top .select-row input{width:18px;height:18px;margin:0;accent-color:var(--purple);flex-shrink:0}
.overflow{position:relative;display:flex;margin-left:auto}
.overflow-trigger{width:34px;height:34px;padding:0;display:grid;place-items:center;color:var(--muted)}
.overflow-trigger .dots{width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.overflow-menu{position:fixed;margin:0;padding:6px;min-width:176px;border:1px solid var(--line);border-radius:12px;background:#fffdf8;box-shadow:0 16px 40px #2622162e}
.overflow-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;box-shadow:none}
.overflow-menu button:hover{background:#f4efe6;transform:none;box-shadow:none;border-color:transparent}
.overflow-menu button.danger{color:#aa302b}
.overflow-menu .menu-rule{height:1px;margin:4px 8px;background:var(--line)}
.list-controls select.quiet-sort{border-color:transparent;background:transparent;color:var(--muted);font-size:13px;padding:6px 8px}
.archive-toggle{padding:6px 10px;font-size:13px;font-weight:500}
.archive-toggle.on{background:#e7e1d4;color:#20201f}
.archive-note{margin:0 0 4px}
.deck-actions .quiet.danger{border-color:transparent;background:transparent;box-shadow:none}
.deck-actions .quiet.danger:hover{background:#fdeaea;transform:none;box-shadow:none;border-color:transparent}
