:root{color:#1a1a1a;background:#e8ecf4;font-family:system-ui,Segoe UI,sans-serif;line-height:1.4}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.app-shell{max-width:100%;padding:.75rem 1rem 1.5rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.toolbar h1{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:650}.toolbar-actions{flex-wrap:wrap;gap:.35rem;display:flex}.toolbar-actions button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c5cdd9;border-radius:6px;padding:.35rem .65rem;font-size:.875rem}.toolbar-actions button:hover{background:#f4f6fa}.pen-picker{background:#fff;border:1px solid #c5cdd9;border-radius:999px;align-items:center;gap:.5rem;padding:.2rem .45rem .2rem .65rem;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.pen-picker-label{letter-spacing:.04em;text-transform:uppercase;color:#64748b;-webkit-user-select:none;user-select:none;font-size:.72rem;font-weight:600}.pen-swatches{align-items:center;gap:.28rem;display:flex}.pen-swatch{background:var(--swatch,#ccc);cursor:pointer;border:2px solid #ffffffd9;border-radius:50%;width:1.35rem;height:1.35rem;padding:0;transition:transform .12s,box-shadow .12s;box-shadow:inset 0 1px #ffffff59,0 0 0 1px #0f172a1f}.pen-swatch:hover{transform:scale(1.08);box-shadow:inset 0 1px #ffffff59,0 0 0 1px #0f172a33}.pen-swatch:focus-visible{outline-offset:2px;outline:2px solid #4a6cf7}.pen-swatch--active{transform:scale(1.06);box-shadow:inset 0 1px #ffffff59,0 0 0 2px #4a6cf7,0 0 0 4px #4a6cf740}.formula-panel{background:#fff;border:1px solid #c5cdd9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.formula-panel label{color:#444;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.formula-panel input[type=text]{font:inherit;border:1px solid #b8c0ce;border-radius:4px;flex:1;min-width:12rem;padding:.35rem .5rem}.sheet-scroll{background:#fff;border:1px solid #9aa5b8;border-radius:8px;max-height:calc(100vh - 11rem);overflow:auto;box-shadow:0 2px 12px #0f172a0f}.sheet{border-collapse:collapse;table-layout:fixed;font-size:.8rem}.sheet th,.sheet td{vertical-align:middle;border:1px solid #c5cdd9;width:4.5rem;height:1.75rem;padding:0}.sheet th{text-align:center;z-index:2;background:#d8def0;font-weight:600;position:sticky}.sheet thead th{top:0}.sheet tbody th:first-child{z-index:3;width:2.25rem;left:0}.sheet thead th:first-child{z-index:4;width:2.25rem;left:0}.sheet input.cell-input{width:100%;height:100%;font:inherit;text-align:center;background:#fffef0;border:none;margin:0;padding:0 2px}.sheet input.cell-input:focus{outline-offset:-2px;background:#fff;outline:2px solid #4a6cf7}.status{color:#555;margin-top:.5rem;font-size:.8rem}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;max-width:36rem;max-height:85vh;padding:1.25rem 1.5rem;overflow:auto;box-shadow:0 20px 50px #0003}.modal h2{margin:0 0 .75rem;font-size:1.2rem}.modal p{color:#333;margin:0 0 .65rem;font-size:.9rem}.modal button{font:inherit;color:#fff;cursor:pointer;background:#4a6cf7;border:1px solid #4a6cf7;border-radius:6px;margin-top:.75rem;padding:.4rem 1rem}.hidden-file{display:none}
