:root{--ink: #3a3a1f;--ink-soft: #6b6b4f;--ink-deep: #16160e;--paper: #ffffff;--paper-soft: #f2f2f2;--hairline: #e8e8e0;--terracotta: #cf6c4f;--font-sans: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:13.5px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}::selection{background:#cf6c4f4d}.app{display:flex;height:100%}.sidebar{width:336px;flex-shrink:0;background:var(--paper);border-right:1px solid var(--hairline);padding:28px 24px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.viewport{flex:1;min-width:0}.brand{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--terracotta);margin-bottom:10px}h1{font-family:var(--font-sans);font-size:26px;font-weight:700;letter-spacing:-.035em;line-height:1.05;color:var(--ink-deep)}.tagline{color:var(--ink-soft);line-height:1.55;margin-top:10px;margin-bottom:22px}section{border-top:1px solid var(--hairline);padding:18px 0}h2{font-family:var(--font-mono);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:12px;display:flex;align-items:baseline;justify-content:space-between}.count{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;text-transform:none;color:var(--terracotta)}h2.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}h2.toggle:hover{color:var(--ink)}.toggle+table{margin-top:12px}.chevron{display:inline-block;width:12px;color:var(--terracotta)}.fields{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink)}input[type=number]{width:76px;padding:6px 9px;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:12.5px;text-align:right;transition:border-color .15s ease}input[type=number]:focus{outline:none;border-color:var(--ink-soft)}button{font-family:var(--font-sans);font-size:12.5px;font-weight:500;padding:7px 13px;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}button:hover:not(:disabled):not(.active){background:var(--paper-soft);border-color:#d9d9c8}button:disabled{opacity:.35;cursor:default}button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.modes,.row{display:flex;gap:6px;flex-wrap:wrap}.row{margin-top:10px}.tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.tabs button{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:5px 9px;border-radius:999px}.tabs button.active{background:var(--terracotta);border-color:var(--terracotta);color:var(--paper)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:6px;border-bottom:1px solid var(--paper-soft)}th{font-family:var(--font-mono);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}td{font-size:12.5px}td:first-child{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-soft)}td:last-child,th:last-child{text-align:right}td:last-child{font-family:var(--font-mono)}.swatches{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.swatch{width:26px;height:26px;padding:0;border-radius:50%;border:1px solid rgba(0,0,0,.12);transition:transform .12s ease,box-shadow .12s ease}.swatch:hover{transform:scale(1.1)}.swatch.active{box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.hint{margin-top:10px;color:var(--ink-soft);font-size:12.5px;line-height:1.55}footer{margin-top:auto;border-top:1px solid var(--hairline);padding-top:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}footer a{color:var(--terracotta);text-decoration:none}footer a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#d9d9c8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}
