@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,900&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--paper: #f4eee1;--card: #fbf7ee;--ink: #23252b;--soft: #6b6457;--line: #d8cdb4;--line2: #c9bda0;--clay: #c0532f;--teal: #2c6f68;--shadow: 0 1px 0 #fff inset, 0 14px 30px -18px rgba(40, 30, 10, .5)}*{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{font-family:Hanken Grotesk,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 85% -10%,#fbf6ea,transparent 60%),repeating-linear-gradient(0deg,transparent 0 26px,rgba(180,160,120,.07) 26px 27px),var(--paper)}#app{display:flex;flex-direction:column;height:100vh;overflow:hidden}header{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--line);background:linear-gradient(#fbf7ee,#f6f0e2)}header h1{font-family:Fraunces,serif;font-weight:900;font-size:24px;margin:0;letter-spacing:-.02em}header h1 .dot{color:var(--clay)}header .sub{font-size:13px;color:var(--soft);font-family:JetBrains Mono,monospace}.layout{display:flex;flex:1;min-height:0}aside{width:380px;min-width:340px;border-right:1px solid var(--line);background:var(--card);overflow-y:auto;padding:16px 16px 60px}.group{margin-bottom:18px}.group>.gh{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin:0 0 8px;font-weight:700}.row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.row.gapwide{gap:16px}.row.actions{gap:9px}label.fld{font-size:12px;color:var(--soft);display:flex;flex-direction:column;gap:3px}select,input[type=number],input[type=text],.name{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:7px;padding:6px 8px}input[type=number]{width:64px}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden}.seg button{font-family:JetBrains Mono,monospace;font-size:12px;border:0;background:#fff;padding:6px 11px;cursor:pointer;color:var(--soft)}.seg button.on{background:var(--ink);color:#fbf7ee}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.check input,.cb{width:16px;height:16px;accent-color:var(--clay)}hr{border:0;border-top:1px dashed var(--line2);margin:16px 0}.item{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 11px;margin-bottom:9px;box-shadow:var(--shadow);transition:opacity .15s,filter .15s}.item.off{opacity:.42;filter:grayscale(.4)}.item .top{display:flex;align-items:center;gap:9px}.item .name{flex:1;font-weight:700;font-size:14px;border:0;background:transparent;padding:2px 0;color:var(--ink)}.item .name:focus{outline:1px solid var(--line2);border-radius:5px;padding:2px 4px}.item .note{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--soft);margin:2px 0 6px}.item .note.warn{color:var(--clay)}.item .meta{display:flex;gap:7px;align-items:flex-end;flex-wrap:wrap}.item .meta .x{align-self:center;color:var(--soft);font-family:JetBrains Mono,monospace;font-size:13px}.item .calc{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--teal);margin-top:7px}.iconbtn{border:1px solid var(--line2);background:#fff;border-radius:7px;width:28px;height:28px;cursor:pointer;font-size:14px;color:var(--soft);display:grid;place-items:center;padding:0}.iconbtn:hover{border-color:var(--clay);color:var(--clay)}.iconbtn.on{background:var(--ink);color:#fbf7ee;border-color:var(--ink)}.photos{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;align-items:center}.thumb{width:34px;height:34px;border-radius:6px;object-fit:cover;border:1px solid var(--line2);cursor:pointer}.addphoto{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--clay);border:1px dashed var(--line2);border-radius:7px;padding:5px 9px;cursor:pointer;background:#fff}.addphoto input{display:none}.btn{font-family:Hanken Grotesk;font-weight:700;font-size:13px;border:0;border-radius:9px;padding:9px 14px;cursor:pointer}.btn.primary{background:var(--clay);color:#fff}.btn.ghost{background:#fff;border:1px solid var(--line2);color:var(--ink)}.btn:active{transform:translateY(1px)}main{flex:1;min-width:0;overflow-y:auto;padding:22px 26px 80px;background:radial-gradient(900px 500px at 50% -20%,#fbf7ee,transparent 60%)}.toolbar{position:sticky;top:0;z-index:5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;margin:-6px 0 18px;border:1px solid var(--line);border-radius:12px;background:#fbf7eeeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow)}.toolbar .spacer{flex:1}.pill{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--soft);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 11px}.pill b{color:var(--ink)}.pill.fill b{color:var(--teal)}.pagewrap{margin:0 auto 30px;max-width:980px}.pagecap{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--soft)}.pagecap .pl{color:var(--ink);font-weight:700}.pagecap a{color:var(--clay);text-decoration:none;border-bottom:1px dotted var(--clay);cursor:pointer}canvas.page{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 20px 40px -24px #281e0a8c}.help{font-size:12.5px;color:var(--soft);max-width:980px;margin:6px auto 0;line-height:1.55}.help b{color:var(--ink)}.empty{color:var(--soft);font-style:italic;padding:30px;text-align:center}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px;border:3px solid var(--card)}
