:root{color-scheme:dark;--ink: #10151c;--surface: #1a2330;--surface-2: #212c3a;--surface-3: #2a3646;--brass: #c9a34e;--brass-soft: #e3c988;--teal: #57938f;--teal-soft: #8fbdb9;--wine: #a5546a;--wine-soft: #cf94a4;--sage: #84a077;--sage-soft: #b3c7a8;--rust: #b6603b;--rust-soft: #dd9b78;--paper: #ece5d4;--paper-dim: #b7b0a0;--ash: #7d8899;--line: rgba(236, 229, 212, .1);--line-strong: rgba(236, 229, 212, .18);font-size:16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:var(--ink);color:var(--paper);font-family:Inter,SF Pro Text,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--brass);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}.accent-brass{--accent: var(--brass);--accent-soft: var(--brass-soft)}.accent-teal{--accent: var(--teal);--accent-soft: var(--teal-soft)}.accent-wine{--accent: var(--wine);--accent-soft: var(--wine-soft)}.accent-sage{--accent: var(--sage);--accent-soft: var(--sage-soft)}.accent-rust{--accent: var(--rust);--accent-soft: var(--rust-soft)}.primary{border:none;border-radius:8px;background:var(--brass);color:var(--ink);font-weight:600;padding:10px 18px;font-size:.85rem}.secondary{border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--paper-dim);font-weight:500;padding:10px 16px;font-size:.85rem}.secondary:hover{border-color:var(--paper-dim);color:var(--paper)}.destructive{background:var(--rust);color:var(--ink)}.link-button{border:none;background:transparent;padding:0;color:var(--ash);font-family:IBM Plex Mono,monospace;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.link-button:hover{color:var(--brass-soft)}.brand{font-family:Yatra One,Fraunces,serif;font-weight:400;font-size:1.85rem;letter-spacing:.005em;color:var(--brass-soft);margin:0;display:flex;align-items:baseline;gap:11px}.brand .potli-mark{width:34px;height:37px;flex-shrink:0;align-self:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.brand .dot{color:var(--brass-soft)}.brand .by-line{font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}.app{display:flex;min-height:100vh;max-width:1240px;margin:0 auto;padding:36px 28px 60px;gap:0}.tab-rail{display:flex;flex-direction:column;gap:16px;padding-top:118px;flex-shrink:0}.tab-btn{position:relative;writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;gap:10px;width:44px;padding:16px 11px;border:none;border-radius:0 10px 10px 0;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--tab-color, var(--brass));box-shadow:2px 3px #00000047;transition:transform .18s ease,width .18s ease,box-shadow .18s ease,filter .18s ease;filter:saturate(.72) brightness(.86)}.tab-btn svg{width:15px;height:15px;flex-shrink:0}.tab-btn .grommet{position:absolute;top:10px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:#00000052;box-shadow:inset 0 1px 1px #0006}.tab-btn .count{font-family:IBM Plex Mono,monospace;font-size:.62rem;opacity:.75}.tab-btn:hover{filter:saturate(.85) brightness(.94)}.tab-btn.active{filter:none;width:52px;margin-right:-14px;box-shadow:1px 2px #00000038;z-index:3}.tab-btn[data-tab=brass]{--tab-color: var(--brass)}.tab-btn[data-tab=teal]{--tab-color: var(--teal)}.tab-btn[data-tab=wine]{--tab-color: var(--wine)}.tab-btn[data-tab=sage]{--tab-color: var(--sage)}.tab-btn[data-tab=rust]{--tab-color: var(--rust)}.spine{width:22px;flex-shrink:0;background-image:radial-gradient(circle,rgba(236,229,212,.16) 1.1px,transparent 1.1px);background-size:100% 14px;background-position:center top;margin-top:118px}.book{flex:1;min-width:0;background:var(--surface);border-radius:4px 14px 14px 4px;box-shadow:0 24px 60px -20px #0009,inset 1px 0 0 var(--line-strong);overflow:hidden}.book-header{padding:26px 44px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.stat-strip{display:flex;align-items:center;gap:22px;font-family:IBM Plex Mono,monospace}.stat{text-align:right}.stat .n{font-size:1.3rem;color:var(--paper);display:block;line-height:1}.stat .l{font-size:.62rem;color:var(--ash);text-transform:uppercase;letter-spacing:.1em}.account{text-align:right;padding-left:20px;border-left:1px solid var(--line)}.account-name{font-family:Inter,sans-serif;font-size:.82rem;color:var(--paper-dim);margin-bottom:3px}.panel{padding:32px 44px 48px;animation:fade .28s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.panel-title{font-family:Fraunces,serif;font-weight:600;font-size:1.35rem;margin:0;color:var(--paper)}.panel-sub{font-size:.84rem;color:var(--paper-dim);margin:4px 0 0}.panel-head-right{display:flex;align-items:center;gap:14px}.panel-count{font-family:IBM Plex Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash)}.add-btn{background:none;border:1px solid var(--line-strong);color:var(--paper);padding:9px 16px;border-radius:20px;font-size:.78rem;display:flex;align-items:center;gap:7px;transition:border-color .15s,background .15s}.add-btn:hover{border-color:var(--accent, var(--brass));background:#ffffff08}.add-btn svg{width:13px;height:13px}.loading-note{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--ash);margin-bottom:18px}.error-card{border:1px solid rgba(182,96,59,.4);border-radius:10px;padding:12px 14px;background:#b6603b1f;color:var(--rust-soft);font-size:.82rem;line-height:1.4;margin-bottom:18px}.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.inv-card{position:relative;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;text-align:left;transition:transform .15s,border-color .15s}.inv-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.inv-thumb{height:72px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:600;font-size:1.35rem;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-soft)}.inv-body{padding:12px 16px 16px}.inv-name{font-size:.92rem;font-weight:600;margin:0 0 3px;color:var(--paper)}.inv-cat{font-family:IBM Plex Mono,monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash);margin:0 0 10px}.inv-meta{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--paper-dim);border-top:1px dashed var(--line);padding-top:9px}.inv-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;opacity:0;transform:translateY(-3px);transition:opacity .15s,transform .15s}.inv-card:hover .card-actions,.pin-card:hover .card-actions,.spec-row:hover .card-actions{opacity:1;transform:translateY(0)}.card-actions.inline{position:static;opacity:0;transform:none}.card-actions button{width:26px;height:26px;border-radius:50%;border:none;background:#10151c9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--paper);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.card-actions.inline button{background:var(--surface-3)}.card-actions button svg{width:12px;height:12px}.card-actions .edit-btn:hover{background:var(--brass);color:var(--ink)}.card-actions .del-btn:hover{background:var(--rust);color:var(--ink)}.pin-grid{columns:4 220px;column-gap:16px}@media(max-width:900px){.pin-grid{columns:2 200px}}.pin-card{break-inside:avoid;margin-bottom:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:16px;position:relative;cursor:pointer;text-align:left;width:100%;transition:transform .15s,border-color .15s}.pin-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.pin-card:before{content:"";position:absolute;top:-5px;left:18px;width:10px;height:10px;border-radius:50%;background:var(--accent, var(--wine));box-shadow:0 1px 3px #0006}.pin-tag{font-family:IBM Plex Mono,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-soft, var(--wine-soft));margin:0 0 8px}.pin-name{font-weight:600;font-size:.9rem;margin:0 0 4px;color:var(--paper)}.pin-note{font-size:.78rem;color:var(--paper-dim);margin:0;line-height:1.45}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:720px){.profile-grid{grid-template-columns:1fr}}.spec-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:13px 16px;cursor:pointer;text-align:left;transition:border-color .15s}.spec-row:hover{border-color:var(--line-strong)}.spec-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.spec-row .label{font-family:IBM Plex Mono,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash)}.spec-row .value{font-size:.85rem;color:var(--sage-soft)}.chit-list{display:flex;flex-direction:column;gap:12px}.chit{display:flex;align-items:center;gap:18px;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:10px;padding:16px 20px;transition:opacity .25s,transform .25s}.chit-badge{font-family:IBM Plex Mono,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rust-soft);background:#b6603b24;padding:4px 9px;border-radius:5px;white-space:nowrap;flex-shrink:0}.chit-body{flex:1;min-width:0}.chit-title{font-size:.88rem;color:var(--paper);margin:0 0 4px}.chit-diff{font-family:IBM Plex Mono,monospace;font-size:.76rem;color:var(--paper-dim);line-height:1.4}.chit-diff .old{color:var(--ash);text-decoration:line-through}.chit-diff .arrow{color:var(--ash)}.chit-diff .new{color:var(--brass-soft)}.chit-meta{font-family:IBM Plex Mono,monospace;font-size:.64rem;color:var(--ash);margin-top:6px}.chit-actions{display:flex;gap:8px;flex-shrink:0}.stamp-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;display:flex;align-items:center;justify-content:center;color:var(--paper-dim);transition:all .15s}.stamp-btn svg{width:15px;height:15px}.stamp-btn.approve:hover{border-color:var(--sage);color:var(--sage-soft);background:#84a0771a}.stamp-btn.discard:hover{border-color:var(--rust);color:var(--rust-soft);background:#b6603b1a}.empty-pending{text-align:center;padding:50px 20px;color:var(--ash);font-family:IBM Plex Mono,monospace;font-size:.8rem;line-height:1.6;border:1px dashed var(--line);border-radius:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080b10b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fade .2s ease}.modal-overlay.open{display:flex}.modal-card,.composer-card,.confirm-dialog{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 30px 70px -20px #000000b3;overflow:hidden;animation:pop .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes pop{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-hero{height:120px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:600;font-size:2rem;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-soft)}.modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:none;background:#10151c8c;color:var(--paper);display:flex;align-items:center;justify-content:center}.modal-close svg{width:14px;height:14px}.modal-body{padding:20px 26px 24px}.modal-cat{font-family:IBM Plex Mono,monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ash);margin:0 0 6px}.modal-title{font-family:Fraunces,serif;font-weight:600;font-size:1.5rem;color:var(--paper);margin:0 0 14px}.modal-notes{font-size:.86rem;line-height:1.55;color:var(--paper-dim);margin:0 0 14px}.modal-specs{display:flex;flex-direction:column}.modal-spec{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px dashed var(--line)}.modal-spec .l{font-family:IBM Plex Mono,monospace;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash)}.modal-spec .v{font-family:IBM Plex Mono,monospace;font-size:.86rem;color:var(--paper);text-align:right}.modal-foot{display:flex;justify-content:flex-end;margin-top:18px}.composer-card{max-width:460px;position:relative}.composer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.composer-head h3{font-family:Fraunces,serif;font-weight:600;font-size:1.15rem;margin:0;color:var(--paper)}.composer-head .modal-close{position:static}.composer-body{padding:18px 24px 4px;display:flex;flex-direction:column;gap:14px;max-height:60vh;overflow-y:auto}.composer-label{display:flex;flex-direction:column;gap:6px;font-family:IBM Plex Mono,monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash)}.composer-label input,.composer-label textarea,.structured-row input{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:8px;padding:10px 12px;color:var(--paper);font-family:Inter,sans-serif;font-size:.85rem;text-transform:none;letter-spacing:normal;outline:none}.composer-label input:focus,.composer-label textarea:focus,.structured-row input:focus{border-color:var(--accent, var(--brass))}.composer-label textarea{min-height:80px;resize:vertical;line-height:1.5}.composer-label input::placeholder,.composer-label textarea::placeholder,.structured-row input::placeholder{color:var(--ash)}.structured-block{border:1px solid var(--line);border-radius:10px;padding:12px;background:#0000001f;display:flex;flex-direction:column;gap:10px}.structured-head{display:flex;align-items:center;justify-content:space-between}.structured-title{font-family:IBM Plex Mono,monospace;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-dim)}.ghost-btn{display:flex;align-items:center;gap:5px;border:1px solid var(--line-strong);background:transparent;color:var(--paper-dim);border-radius:16px;padding:5px 12px;font-family:IBM Plex Mono,monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}.ghost-btn svg{width:11px;height:11px}.ghost-btn:hover{border-color:var(--accent, var(--brass));color:var(--paper)}.structured-list{display:flex;flex-direction:column;gap:8px}.structured-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 32px;gap:8px;align-items:center}.del-inline{width:32px;height:32px;border-radius:8px;border:1px solid var(--line-strong);background:transparent;color:var(--ash);display:flex;align-items:center;justify-content:center}.del-inline svg{width:14px;height:14px}.del-inline:hover{border-color:var(--rust);color:var(--rust-soft)}.composer-hint{font-size:.76rem;color:var(--ash);line-height:1.45;margin:0}.composer-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px}.confirm-dialog{padding:24px 26px}.confirm-dialog h3{font-family:Fraunces,serif;font-weight:600;margin:0;font-size:1.25rem;color:var(--paper)}.confirm-dialog p{margin:12px 0 0;color:var(--paper-dim);font-size:.9rem;line-height:1.5}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toast{position:fixed;right:22px;bottom:22px;max-width:320px;padding:12px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);box-shadow:0 20px 50px -20px #000000b3;color:var(--paper);font-size:.84rem;line-height:1.4;transform:translateY(16px);opacity:0;pointer-events:none;transition:.18s ease;z-index:60}.toast.show{transform:translateY(0);opacity:1}.center-state,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;color:var(--paper-dim);font-family:IBM Plex Mono,monospace;font-size:.85rem}.auth-card{width:min(460px,100%);border:1px solid var(--line-strong);border-radius:16px;padding:32px;background:var(--surface);box-shadow:0 30px 70px -30px #000000b3;font-family:Inter,sans-serif}.consent-card{width:min(560px,100%)}.auth-card .brand{margin-bottom:22px}.auth-heading{font-family:Fraunces,serif;font-weight:600;font-size:1.6rem;margin:0 0 10px;color:var(--paper);line-height:1.15}.auth-copy{margin:0 0 20px;color:var(--paper-dim);line-height:1.55;font-size:.9rem}.auth-label{display:grid;gap:8px;margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ash)}.auth-label input{height:46px;border:1px solid var(--line-strong);border-radius:10px;padding:0 14px;background:var(--surface-3);color:var(--paper);font-family:Inter,sans-serif;font-size:.9rem;text-transform:none;letter-spacing:normal;outline:none}.auth-label input:focus{border-color:var(--brass)}.auth-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.auth-error{border:1px solid rgba(182,96,59,.4);border-radius:10px;padding:12px 14px;background:#b6603b1f;color:var(--rust-soft);font-size:.82rem;line-height:1.4;margin-bottom:16px}.consent-section{margin-bottom:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.small-label{margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}.consent-value{font-size:.95rem;font-weight:600;color:var(--paper)}.small{font-size:.78rem}.muted-text{color:var(--ash)}.scope-list{display:flex;flex-wrap:wrap;gap:8px}.scope-pill{border:1px solid rgba(132,160,119,.3);border-radius:999px;padding:6px 12px;background:#84a0771a;font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--sage-soft)}.consent-copy{margin:4px 0 18px;color:var(--paper-dim);line-height:1.55;font-size:.86rem}@media(max-width:760px){.app{flex-direction:column;padding:20px 14px 40px;gap:14px}.tab-rail{flex-direction:row;padding-top:0;overflow-x:auto;gap:8px;padding-bottom:4px}.tab-btn{writing-mode:horizontal-tb;transform:none;border-radius:10px;width:auto;padding:9px 14px;flex-shrink:0}.tab-btn.active{width:auto;margin-right:0;transform:translateY(-3px)}.tab-btn .grommet,.spine{display:none}.book{border-radius:14px}.book-header{padding:24px 22px 20px}.stat-strip{gap:16px}.account{padding-left:14px}.panel{padding:22px 22px 36px}.chit{flex-wrap:wrap}}
