*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:calc(14px * var(--ui-scale));overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video,canvas,svg{max-width:100%}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.16;background-image:radial-gradient(circle,rgba(25,27,24,.3) 0 .44px,transparent .72px),linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px);background-size:4px 4px,100% 35px;mix-blend-mode:multiply}body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:var(--ink);opacity:0}body.ink-refresh::after{animation:ink-refresh .34s steps(3,end)}@keyframes ink-refresh{0%{opacity:0}24%{opacity:.14}46%{opacity:.02}68%{opacity:.07}100%{opacity:0}}
.hidden{display:none!important}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:var(--muted)}.quiet{color:var(--quiet)}.eyebrow{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.page-title{font-size:clamp(28px,3.4vw,52px);line-height:.98;letter-spacing:-.045em;margin:6px 0 8px;font-weight:640}.lede{max-width:760px;color:var(--muted);font-size:14px;line-height:1.6}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.card.flat{box-shadow:none}.card.ink-blue{background:linear-gradient(135deg,var(--paper),var(--blue-soft))}.card.ink-cyan{background:linear-gradient(135deg,var(--paper),var(--cyan-soft))}.card.ink-green{background:linear-gradient(135deg,var(--paper),var(--green-soft))}.card.ink-yellow{background:linear-gradient(135deg,var(--paper),var(--yellow-soft))}.card.ink-red{background:linear-gradient(135deg,var(--paper),var(--red-soft))}.card.ink-violet{background:linear-gradient(135deg,var(--paper),var(--violet-soft))}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card h2,.card h3{margin:0}.card h2{font-size:17px}.card h3{font-size:13px}.btn{height:38px;border:1px solid var(--line-strong);background:var(--paper);border-radius:var(--radius-sm);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s var(--ease)}.btn:hover{background:var(--paper-2);transform:translateY(-1px)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.good{background:var(--green-soft);border-color:var(--green)}.btn.danger{background:var(--red-soft);border-color:var(--red)}.btn.icon{width:38px;padding:0}.btn svg{width:17px;height:17px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--paper)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius-sm);padding:10px 11px;outline:none}.textarea{min-height:120px;resize:vertical}.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:12px 0}.kpi{font-size:30px;letter-spacing:-.04em}.small{font-size:11px}.tiny{font-size:9px}.progress{height:7px;background:var(--paper-3);border:1px solid var(--line);overflow:hidden}.progress>span{display:block;height:100%;background:var(--ink)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);background:var(--paper-2)}.skeleton{position:relative;overflow:hidden;background:var(--paper-3);border:1px solid var(--line)}.skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:shimmer 1.25s infinite}@keyframes shimmer{100%{transform:translateX(100%)}}.toast-host{position:fixed;right:14px;bottom:14px;z-index:3000;display:flex;flex-direction:column;gap:8px}.toast{max-width:330px;padding:11px 13px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);box-shadow:var(--shadow);font-size:11px;animation:toast-in .2s var(--ease)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.file-drop{border:1px dashed var(--line-strong);background:var(--paper-2);padding:22px;text-align:center;border-radius:var(--radius)}.file-drop.drag{background:var(--yellow-soft);border-color:var(--yellow)}.table-wrap{overflow:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:var(--paper)}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}th{font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);background:var(--paper-2)}.app-note{font-size:10px;line-height:1.55;color:var(--muted);padding:10px;border-left:3px solid var(--yellow);background:var(--yellow-soft)}
@media(max-width:900px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media(max-width:560px){.grid-4,.grid-3{grid-template-columns:1fr}.card{padding:13px}.page-title{font-size:34px}.btn{min-height:40px}}

@view-transition{navigation:auto}::view-transition-old(root){animation:.16s ease both fade-old}::view-transition-new(root){animation:.24s var(--ease) both fade-new}@keyframes fade-old{to{opacity:0;filter:grayscale(.25)}}@keyframes fade-new{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
