:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#090b0f;--panel:#11141a;--raised:#171b23;--rule:#262b35;--rule-strong:#343a47;--paper:#e6e9ef;--graphite:#8d95a4;--graphite-dim:#626a78;--brass:#c8974e;--brass-bright:#e0b06a;--danger:#d4574e;--bar:46px;--tray:268px;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--label-size:10px;--label-track:.14em}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--void);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:13px}.app{grid-template-rows:var(--bar) 1fr;height:100%;display:grid;overflow:hidden}.toolbar{background:var(--panel);border-bottom:1px solid var(--rule);scrollbar-width:none;align-items:center;gap:20px;padding:0 14px;display:flex;overflow-x:auto}.toolbar::-webkit-scrollbar{display:none}.brand .mark{font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;font-size:14px;font-weight:600}.brand .mark em{color:var(--brass);vertical-align:1px;padding:0 1px;font-size:10px;font-style:normal;font-weight:500}.upload{border:1px solid var(--brass);color:var(--brass-bright);cursor:pointer;background:0 0;flex:none;padding:6px 14px;font-size:12px;font-weight:600;transition:background .12s;position:relative}.upload:hover{background:color-mix(in srgb, var(--brass) 14%, transparent)}.upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload.disabled{border-color:var(--rule-strong);color:var(--graphite-dim);cursor:progress}.upload.disabled input{pointer-events:none}.tools{flex:none;align-items:center;gap:2px;display:flex}.btn-tool{appearance:none;color:var(--graphite);font-family:var(--sans);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;padding:5px 11px;font-size:12px;text-decoration:none;transition:color .12s,background .12s}.btn-tool:hover:not(:disabled){color:var(--paper);background:var(--raised)}.btn-tool.active{color:var(--brass-bright);background:color-mix(in srgb, var(--brass) 12%, transparent);border-color:color-mix(in srgb, var(--brass) 40%, transparent)}.btn-tool:disabled{color:var(--graphite-dim);cursor:default}.btn-tool.accent{color:var(--brass-bright);border-color:var(--brass)}.pdf-opts{gap:10px;margin-left:auto}.pdf-select{flex-direction:column;flex:none;gap:1px;display:flex}.pdf-select>span{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--graphite-dim)}.pdf-select select{appearance:none;background:var(--raised);border:1px solid var(--rule);color:var(--paper);font-family:var(--mono);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--graphite) 50%), linear-gradient(135deg, var(--graphite) 50%, transparent 50%);background-position:right 9px center,right 5px center;background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding:3px 20px 3px 7px;font-size:11px}.hint-line{color:var(--brass);white-space:nowrap;flex:none;padding-left:4px;font-size:11px}.body{grid-template-columns:var(--tray) 1fr;min-height:0;display:grid}.sidebar{background:var(--panel);border-right:1px solid var(--rule);flex-direction:column;min-height:0;display:flex}.tabs{border-bottom:1px solid var(--rule);flex:none;display:flex}.tabs button{appearance:none;color:var(--graphite-dim);font-family:var(--sans);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:10px 4px 8px;transition:color .12s}.tabs button:hover{color:var(--graphite)}.tabs button.active{color:var(--paper);border-bottom-color:var(--brass)}.pens{min-height:0;margin:0;padding:4px 0 16px;list-style:none;overflow-y:auto}.pen{appearance:none;cursor:pointer;text-align:left;width:100%;color:var(--paper);background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:6px 12px 6px 10px;transition:background .1s;display:grid}.pen:hover{background:var(--raised)}.pen:focus-visible{border-left-color:var(--brass);background:var(--raised);outline:none}.pen-stroke{align-items:center;height:14px;display:flex}.pen-stroke>span{width:100%;transition:opacity .12s;display:block}.pen-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.pen.off .pen-stroke>span{opacity:.18}.pen.off .pen-name{color:var(--graphite-dim);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.empty-actions{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:14px;margin:6px 0 2px;display:flex}.empty-cta{font:inherit;letter-spacing:.01em;color:var(--ink-on-brass,#1a1204);background:var(--brass);cursor:pointer;border:1px solid #0000;padding:10px 18px;font-size:13px;font-weight:600;transition:transform .14s,filter .14s}.empty-cta:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.empty-cta:disabled{opacity:.5;cursor:default}.empty-cta:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.empty-or{color:var(--graphite-dim);font-size:12px}@media (prefers-reduced-motion:reduce){.empty-cta:hover:not(:disabled){transform:none}}.empty-li{color:var(--graphite-dim);padding:14px 12px;font-size:12px;list-style:none}.panel-body{flex-direction:column;gap:10px;min-height:0;padding:12px;display:flex}.hint{color:var(--graphite-dim);margin:0;font-size:11px;line-height:1.45}.input{background:var(--raised);border:1px solid var(--rule);width:100%;color:var(--paper);font-family:var(--sans);padding:7px 9px;font-size:12px}.input::placeholder{color:var(--graphite-dim)}.input:focus-visible{border-color:var(--brass);outline:none}.list{flex-direction:column;gap:1px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.list li{background:var(--raised);border-left:2px solid var(--rule-strong);padding:9px 10px}.list li.resolved{opacity:.55;border-left-color:#0000}.list .row{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite-dim);align-items:baseline;gap:8px;font-size:10px;display:flex}.list .note-text{word-break:break-word;margin:4px 0 6px;font-size:12px;line-height:1.45}.list .actions{text-transform:none;letter-spacing:0;gap:6px;display:flex}.list button{appearance:none;border:1px solid var(--rule-strong);color:var(--graphite);font-family:var(--sans);cursor:pointer;background:0 0;padding:3px 9px;font-size:11px}.list button:hover{color:var(--paper);border-color:var(--graphite-dim)}.stage{background:var(--void);min-width:0;position:relative}.canvas{position:absolute;inset:0}.empty{pointer-events:none;align-content:center;justify-items:start;gap:10px;max-width:640px;padding:0 max(8vw,48px);display:grid;position:absolute;inset:0}.empty h1{letter-spacing:-.015em;margin:0;font-size:30px;font-weight:500}.empty p{color:var(--graphite);margin:0;font-size:14px;line-height:1.55}.empty .hint{max-width:48ch;font-size:12px}.error-banner{z-index:3;background:var(--panel);border:1px solid var(--danger);border-left-width:3px;max-width:min(680px,100% - 32px);padding:12px 14px;position:absolute;top:16px;left:50%;transform:translate(-50%)}.error-banner strong{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--danger);margin-bottom:6px;display:block}.error-banner pre{font-family:var(--mono);color:var(--paper);white-space:pre-wrap;word-break:break-word;max-height:30vh;margin:0 0 10px;font-size:11px;line-height:1.5;overflow:auto}.error-banner button{appearance:none;border:1px solid var(--rule-strong);color:var(--graphite);cursor:pointer;background:0 0;padding:4px 12px;font-size:11px}.error-banner button:hover{color:var(--paper)}.sheet{z-index:2;background:color-mix(in srgb, var(--panel) 88%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--rule-strong);pointer-events:none;-webkit-user-select:none;user-select:none;min-width:212px;position:absolute;bottom:14px;right:14px}.sheet-name{font-family:var(--mono);letter-spacing:.04em;color:var(--graphite);border-bottom:1px solid var(--rule);text-overflow:ellipsis;white-space:nowrap;max-width:260px;padding:6px 10px;font-size:10px;overflow:hidden}.sheet dl{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;margin:0;display:grid}.sheet dl>div{padding:7px 10px}.sheet dl>div:nth-child(odd){border-right:1px solid var(--rule)}.sheet dl>div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.sheet dt{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--graphite-dim)}.sheet dd{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--paper);margin:2px 0 0;font-size:12px}.sheet dd.big{color:var(--brass-bright);font-size:17px;line-height:1.15}.sheet-foot{font-family:var(--mono);letter-spacing:.03em;color:var(--graphite-dim);padding:5px 10px;font-size:9px}.footer{z-index:2;font-family:var(--mono);letter-spacing:.03em;color:var(--graphite-dim);background:color-mix(in srgb, var(--panel) 88%, transparent);border-left:2px solid var(--rule-strong);pointer-events:none;padding:5px 9px;font-size:10px;position:absolute;bottom:14px;left:14px}:focus-visible{outline:1px solid var(--brass);outline-offset:1px}@media (width<=900px){:root{--tray:210px}.brand{display:none}.pdf-opts{margin-left:12px}}@media (width<=640px){.body{grid-template-columns:1fr}.sidebar{display:none}.sheet{min-width:0;bottom:8px;right:8px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}.plotting{z-index:4;background:color-mix(in srgb, var(--void) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-content:center;justify-items:stretch;gap:14px;padding:0 max(8vw,48px);display:grid;position:absolute;inset:0}.plotting>*{max-width:640px}.plotting-head{font-family:var(--mono);justify-content:space-between;align-items:baseline;gap:16px;font-size:12px;display:flex}.plotting-file{text-overflow:ellipsis;white-space:nowrap;color:var(--paper);overflow:hidden}.plotting-size{color:var(--graphite-dim);font-variant-numeric:tabular-nums;flex:none}.plotting-track{background:var(--rule);height:3px;position:relative}.plotting-ink{background:var(--brass);height:100%;transition:width .22s cubic-bezier(.4,0,.2,1);position:relative}.plotting-nib{background:var(--brass-bright);width:2px;box-shadow:0 0 8px color-mix(in srgb, var(--brass) 70%, transparent);animation:1.4s ease-in-out infinite nib-breathe;position:absolute;top:-5px;bottom:-5px;right:-1px}@keyframes nib-breathe{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.45;transform:scaleY(.62)}}.plotting-line{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.plotting-phase{color:var(--paper);font-size:13px}.plotting-rate{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--brass);flex:none;font-size:12px}.plotting-steps{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--graphite-dim);flex-wrap:wrap;gap:6px 18px;margin:4px 0 0;padding:0;list-style:none;display:flex}.plotting-steps li{align-items:center;gap:7px;display:flex}.plotting-dot{background:var(--rule-strong);flex:none;width:5px;height:5px}.plotting-steps .done{color:var(--graphite)}.plotting-steps .done .plotting-dot{background:var(--graphite-dim)}.plotting-steps .active{color:var(--brass-bright)}.plotting-steps .active .plotting-dot{background:var(--brass);box-shadow:0 0 0 3px color-mix(in srgb, var(--brass) 22%, transparent)}@media (prefers-reduced-motion:reduce){.plotting-nib{animation:none}}.pro-badge{letter-spacing:.14em;color:#1a1204;background:var(--brass);border-radius:999px;margin-left:10px;padding:3px 9px;font-size:10px;font-weight:800}.pro-link{color:var(--brass);border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);border-radius:999px;margin-left:10px;padding:2px 10px;font-size:11.5px;text-decoration:none;transition:border-color .2s}.pro-link:hover{border-color:var(--brass)}.limit-banner{border:1px solid var(--brass);background:color-mix(in srgb, var(--brass) 10%, transparent);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:12px 0;padding:14px 18px;display:flex}.limit-banner strong{font-size:14px;display:block}.limit-banner p{color:var(--muted,#8b98af);margin:4px 0 0;font-size:13px}.limit-actions{align-items:center;gap:10px;display:flex}.limit-cta{color:#1a1204;background:var(--brass);border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:700;text-decoration:none}.toolbar-end{align-items:center;gap:8px;margin-left:auto;display:flex}.lang-select{font:inherit;color:var(--muted,#8b98af);border:1px solid var(--hair,#d2e0f529);cursor:pointer;background:0 0;border-radius:8px;padding:6px 8px;font-size:12px}.lang-select:hover{color:var(--ink,#e7eef9);border-color:var(--brass)}.account{position:relative}.account-btn{font:inherit;cursor:pointer;color:var(--muted,#8b98af);border:1px solid var(--hair,#d2e0f529);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:12.5px;display:inline-flex}.account-btn:hover{color:var(--ink,#e7eef9);border-color:var(--brass)}.account-btn img,.account-btn .avatar{background:var(--brass);color:#1a1204;object-fit:cover;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid}.account-label{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}@media (width<=900px){.account-label{display:none}}.account-sheet{z-index:60;background:var(--panel,#10182a);border:1px solid var(--hair,#d2e0f529);border-radius:13px;gap:10px;width:288px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 50px -24px #0009}.sheet-intro{color:var(--muted,#8b98af);margin:0 0 2px;font-size:12.5px;line-height:1.45}.account-head{border-bottom:1px solid var(--hair,#d2e0f529);gap:3px;padding-bottom:10px;display:grid}.account-head strong{font-size:14px}.account-head span{color:var(--muted,#8b98af);font-size:12px}.plan-chip{letter-spacing:.06em;border:1px solid var(--hair,#d2e0f529);border-radius:999px;justify-self:start;margin-top:5px;padding:2px 9px;font-size:10.5px;font-weight:700}.plan-chip.pro{background:var(--brass);color:#1a1204;border-color:#0000}.sheet-field{color:var(--muted,#8b98af);gap:4px;font-size:12px;display:grid}.sheet-field input{font:inherit;color:var(--ink,#e7eef9);border:1px solid var(--hair,#d2e0f529);background:#00000038;border-radius:8px;padding:9px 11px;font-size:13.5px}.sheet-field input:focus{outline:2px solid var(--brass);outline-offset:1px}.sheet-btn{font:inherit;text-align:center;cursor:pointer;border:1px solid var(--hair,#d2e0f529);color:var(--ink,#e7eef9);background:0 0;border-radius:9px;padding:10px 12px;font-size:13.5px;font-weight:700;text-decoration:none}.sheet-btn:hover{border-color:var(--brass)}.sheet-btn.primary{background:var(--brass);color:#1a1204;border-color:#0000}.sheet-btn.google{justify-content:center;align-items:center;gap:8px;display:flex}.sheet-btn.ghost{color:var(--muted,#8b98af)}.sheet-btn[disabled]{opacity:.55;cursor:default}.sheet-sep{background:var(--hair,#d2e0f529);height:1px;margin:2px 0}.sheet-foot{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.sheet-foot button{font:inherit;cursor:pointer;color:var(--muted,#8b98af);background:0 0;border:0;padding:0;font-size:12px}.sheet-foot button:hover{color:var(--ink,#e7eef9)}.sheet-foot b{color:var(--brass)}.sheet-msg{border-radius:8px;padding:8px 10px;font-size:12.5px}.sheet-msg.error{color:#ec7d4d;background:#ec7d4d1f}.sheet-msg.ok{color:#58d888;background:#58d8881f}.toolbar{overflow-y:visible}.account-sheet{position:fixed;top:52px;right:12px}.paywall-scrim{z-index:40;background:color-mix(in srgb, var(--ink,#05070c) 72%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;padding:24px;display:grid;position:absolute;inset:0;overflow:auto}.paywall{background:var(--raised);border:1px solid var(--rule);border-top:2px solid var(--brass);width:min(660px,100%);padding:26px 26px 22px;position:relative;box-shadow:0 40px 80px -40px #000000bf}.paywall h2{letter-spacing:-.01em;color:var(--paper);margin:0 0 6px;font-size:19px}.paywall-lead{color:var(--graphite-dim);margin:0 0 20px;font-size:13px;line-height:1.6}.paywall-err{color:var(--wall,#ec7d4d);margin:0 0 14px;font-size:12px}.paywall-x{width:28px;height:28px;font:inherit;color:var(--graphite-dim);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1;position:absolute;top:10px;right:12px}.paywall-x:hover{color:var(--paper)}.paywall-plans{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=620px){.paywall-plans{grid-template-columns:1fr}}.paywall-plan{border:1px solid var(--rule);background:var(--sunken,#ffffff05);flex-direction:column;gap:4px;padding:16px 14px 14px;text-decoration:none;transition:border-color .16s,transform .16s;display:flex;position:relative}.paywall-plan:hover{border-color:var(--brass);transform:translateY(-2px)}.paywall-plan.hero{border-color:var(--brass);background:color-mix(in srgb, var(--brass) 10%, transparent)}.paywall-plan.off{opacity:.45;pointer-events:none}.paywall-plan:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.paywall-badge{letter-spacing:.1em;color:#1a1204;background:var(--brass);padding:2px 7px;font-size:9px;font-weight:700;position:absolute;top:-8px;left:12px}.paywall-tier{letter-spacing:.13em;text-transform:uppercase;color:var(--graphite-dim);font-size:10.5px;font-weight:700}.paywall-price{letter-spacing:-.02em;color:var(--paper);align-items:baseline;gap:4px;font-size:25px;font-weight:800;display:flex}.paywall-price i{color:var(--graphite-dim);font-size:12px;font-style:normal;font-weight:400}.paywall-note{color:var(--brass);font-size:11.5px;line-height:1.4}.paywall-plan:not(.hero) .paywall-note{color:var(--graphite-dim)}.paywall-feat{grid-template-columns:1fr 1fr;gap:7px 18px;margin:18px 0 14px;padding:0;list-style:none;display:grid}@media (width<=620px){.paywall-feat{grid-template-columns:1fr}}.paywall-feat li{color:var(--graphite-dim);padding-left:18px;font-size:12.5px;position:relative}.paywall-feat li:before{content:"✓";color:var(--axis,#58d888);font-weight:700;position:absolute;left:0}.paywall-foot{border-top:1px solid var(--rule);color:var(--graphite-dim);margin:0;padding-top:13px;font-size:11.5px;line-height:1.55}@media (prefers-reduced-motion:reduce){.paywall-plan:hover{transform:none}}
