@import "https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap";.pl-app{--bg:#f6f1e6;--surface:#fff;--surface-alt:#fbf7ee;--ink:#241e19;--ink-soft:#786c5c;--line:#e2d6c0;--gold:#a97c2e;--rani:#8f2044;--rani-soft:#f5e1e7;--peacock:#1b6b66;--peacock-soft:#dceeeb;--olive:#6b6b2e;--olive-soft:#eaead4;--plum:#5b3b6e;--plum-soft:#e9e0ee;--danger:#b3261e;--radius:10px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif}.pl-app *{box-sizing:border-box}.pl-mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.pl-serif{font-family:Zilla Slab,Georgia,serif}.pl-header{border-bottom:1px solid var(--line);background:var(--surface);z-index:20;position:sticky;top:0}.pl-header-inner{max-width:1180px;margin:0 auto;padding:18px 24px 0}.pl-brand{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.pl-brand-title{letter-spacing:.2px;font-family:Zilla Slab,serif;font-size:23px;font-weight:700}.pl-brand-sub{color:var(--ink-soft);letter-spacing:.3px;font-size:12.5px}.pl-tabs{gap:4px;display:flex;overflow-x:auto}.pl-tab{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;padding:10px 16px;font-family:Zilla Slab,serif;font-size:14.5px;font-weight:600}.pl-tab:hover{color:var(--ink)}.pl-tab.active{color:var(--rani);border-bottom-color:var(--rani)}.pl-container{max-width:1180px;margin:0 auto;padding:26px 24px 60px}.pl-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.pl-section-title{letter-spacing:.2px;border-bottom:2px dashed var(--gold);margin:0 0 14px;padding-bottom:8px;font-family:Zilla Slab,serif;font-size:15px;font-weight:700}.pl-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;transition:transform .12s,opacity .12s;display:inline-flex}.pl-btn:active{transform:scale(.97)}.pl-btn-primary{background:var(--rani);color:#fff}.pl-btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.pl-btn-ghost:hover{background:var(--surface-alt)}.pl-btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.pl-btn-danger:hover{background:#fbeae9}.pl-btn-sm{padding:6px 11px;font-size:12.5px}.pl-input,.pl-select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:9px 11px;font-family:Inter,sans-serif;font-size:14px}.pl-label{color:var(--ink-soft);letter-spacing:.3px;text-transform:uppercase;margin-bottom:5px;font-size:11.5px;font-weight:700;display:block}.pl-chip{border:1px solid var(--line);background:var(--surface-alt);cursor:pointer;color:var(--ink);border-radius:20px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;display:inline-flex}.pl-chip.selected{background:var(--rani-soft);border-color:var(--rani);color:var(--rani);font-weight:600}.pl-chip .x{opacity:.5}.pl-chip .x:hover{opacity:1}.pl-tag{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:20px;padding:3px 9px;font-size:10.5px;font-weight:700}.tag-peacock{background:var(--peacock-soft);color:var(--peacock)}.tag-gold{color:var(--gold);background:#f3e7d1}.tag-rani{background:var(--rani-soft);color:var(--rani)}.tag-olive{background:var(--olive-soft);color:var(--olive)}.tag-plum{background:var(--plum-soft);color:var(--plum)}.pl-ledger-row{border-bottom:1px dotted var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;font-size:13.5px;display:flex}.pl-ledger-row .val{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:IBM Plex Mono,monospace}.pl-ledger-row.total{border-bottom:none;border-top:2px solid var(--ink);margin-top:4px;padding-top:10px;font-size:16px;font-weight:700}.pl-ledger-row.total .val{color:var(--rani);font-size:19px}.pl-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.pl-item-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:box-shadow .15s,transform .15s;overflow:hidden}.pl-item-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #241e1914}.pl-item-thumb{aspect-ratio:4/3;background:var(--surface-alt);width:100%;color:var(--ink-soft);border-bottom:2px dashed var(--gold);justify-content:center;align-items:center;display:flex;overflow:hidden}.pl-item-thumb img{object-fit:cover;width:100%;height:100%}.pl-item-body{padding:12px 14px}.pl-item-name{margin:0 0 4px;font-family:Zilla Slab,serif;font-size:15.5px;font-weight:700}.pl-item-price{color:var(--rani);margin:0;font-family:IBM Plex Mono,monospace;font-size:17px;font-weight:600}.pl-item-meta{color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.5}.pl-item-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pl-empty{text-align:center;color:var(--ink-soft);padding:50px 20px}.pl-empty .pl-serif{color:var(--ink);margin-bottom:6px;font-size:18px}.pl-toast{z-index:50;background:var(--ink);color:#fff;border-radius:9px;align-items:center;gap:8px;max-width:88vw;padding:12px 18px;font-size:13.5px;font-weight:500;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 24px #00000038}.pl-toast.error{background:var(--danger)}.pl-sidebar-list{flex-direction:column;gap:2px;display:flex}.pl-sidebar-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.pl-sidebar-item:hover{background:var(--surface-alt)}.pl-sidebar-item.active{background:var(--rani-soft);color:var(--rani);font-weight:600}.pl-presets-layout{grid-template-columns:220px 1fr;align-items:start;gap:20px;display:grid}.pl-new-layout{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.pl-cost-block{border-bottom:1px solid var(--line);padding:14px 0}.pl-cost-block:last-child{border-bottom:none}.pl-summary-panel{position:sticky;top:130px}@media (width<=900px){.pl-presets-layout,.pl-new-layout{grid-template-columns:1fr}.pl-summary-panel{position:static}}
