@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/outfit-latin-ext-wght-normal.ee756101.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/outfit-latin-wght-normal.e96e1529.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/patrick-hand-vietnamese-400-normal.e3752af0.woff2) format("woff2"),url(/_next/static/media/patrick-hand-vietnamese-400-normal.40571f83.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/patrick-hand-latin-ext-400-normal.21f28b30.woff2) format("woff2"),url(/_next/static/media/patrick-hand-latin-ext-400-normal.50a2641e.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/patrick-hand-latin-400-normal.c7f01246.woff2) format("woff2"),url(/_next/static/media/patrick-hand-latin-400-normal.e9bbf8f3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--messing-700:#9a6f22;--messing-600:#cc9648;--messing-500:#daa856;--messing-400:#e6b968;--glut:#d2742e;--glut-300:#e89a5c;--ink:#15120d;--ink-raised:#1f1b14;--ink-2:#26211a;--border:#342e22;--border-strong:#443c2d;--muted:#7e7666;--secondary:#b2a892;--text:#f1ece1;--white:#fff;--success:#3fa06a;--warning:#e0a53a;--error:#d14a3a;--font-sans:"Outfit Variable","Outfit",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 4px 12px rgba(0,0,0,0.45);--shadow-lg:0 12px 32px rgba(0,0,0,0.55);--ease:cubic-bezier(0.2,0,0.1,1);--dur:200ms}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ink);color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,h1,h2,h3,h4{font-family:var(--font-sans)}h1,h2,h3,h4{font-weight:700;line-height:1.1;letter-spacing:-.015em;margin:0}button{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.appbar{justify-content:space-between;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--ink) 88%,black);position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appbar,.appbar__brand{display:flex;align-items:center}.appbar__brand{gap:var(--s3)}.appbar__brand img{height:30px;width:auto;display:block}.appbar__sub{color:var(--muted);font-size:13px;font-family:var(--font-mono);letter-spacing:.02em}.main{flex:1 1;width:100%;max-width:1200px;margin:0 auto;padding:var(--s6) var(--s5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),opacity var(--dur) var(--ease);color:var(--text);background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--messing-600);color:#1a1409}.btn--primary:hover:not(:disabled){background:var(--messing-500)}.btn--ghost{border-color:var(--border-strong);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--ink-raised)}.btn--danger{border-color:var(--border-strong);color:var(--secondary)}.btn--danger:hover:not(:disabled){color:var(--error);border-color:var(--error)}.card{background:var(--ink-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s5)}.muted{color:var(--muted)}.mono{font-family:var(--font-mono)}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--s8) var(--s5);text-align:center;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);background:var(--ink-raised)}.dropzone--active,.dropzone:hover{border-color:var(--messing-600);background:color-mix(in srgb,var(--messing-600) 8%,var(--ink-raised))}.dropzone__mark{width:56px;height:56px;margin:0 auto var(--s4);opacity:.9}.dropzone h2{font-size:22px;margin-bottom:var(--s2)}.progress{display:flex;flex-direction:column;gap:var(--s3);align-items:center;padding:var(--s7) 0}.spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--messing-600);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}.toolbar__spacer{flex:1 1}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--s4);gap:var(--s4)}.field{display:flex;flex-direction:column;gap:var(--s2)}.field__label{font-size:13px;font-weight:600;color:var(--secondary);display:inline-flex;align-items:center;gap:2px}.field__hint{font-size:12px;color:var(--muted)}.help{position:relative}.help,.help__icon{display:inline-flex;align-items:center}.help__icon{justify-content:center;width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font-size:11px;font-weight:700;line-height:1;cursor:help;font-family:var(--font-mono);margin-left:6px}.help:focus-within .help__icon,.help__icon:hover{color:var(--messing-500);border-color:var(--messing-600)}.help__bubble{position:absolute;bottom:calc(100% + 8px);left:-4px;width:240px;max-width:72vw;background:var(--ink-2);color:var(--secondary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;font-weight:400;line-height:1.45;letter-spacing:0;box-shadow:var(--shadow-md);z-index:40;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s var(--ease),transform .15s var(--ease),visibility .15s;pointer-events:none}.help:focus-within .help__bubble,.help:hover .help__bubble{opacity:1;visibility:visible;transform:translateY(0)}.seg{display:inline-flex;background:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{border:none;background:transparent;color:var(--secondary);padding:7px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur) var(--ease)}.seg button[data-active=true]{background:var(--messing-600);color:#1a1409}select.input{background:var(--ink);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:inherit;font-size:14px}.login{max-width:380px;margin:10vh auto 0;text-align:center}.login .card{padding:var(--s6)}.input-text{width:100%;background:var(--ink);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 14px;font-size:16px;font-family:inherit}.input-text:focus{outline:2px solid var(--messing-400);outline-offset:1px}.banner{border-radius:var(--radius-md);padding:var(--s3) var(--s4);font-size:14px;border:1px solid var(--border);display:flex;gap:var(--s3);align-items:flex-start}.banner--error{border-color:color-mix(in srgb,var(--error) 55%,var(--border));background:color-mix(in srgb,var(--error) 12%,var(--ink-raised));color:#f7cfc9}.banner--info{border-color:var(--border-strong);background:var(--ink-raised);color:var(--secondary)}.compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s5);gap:var(--s5);align-items:start}.compare__orig{position:-webkit-sticky;position:sticky;top:84px}.compare__orig img{width:100%;border-radius:var(--radius-md);border:1px solid var(--border)}@media (max-width:900px){.compare{grid-template-columns:1fr}.compare__orig{position:static}}.page-nav{display:flex;align-items:center;gap:var(--s3);justify-content:center;margin:var(--s5) 0}.setup{margin-top:var(--s5)}.setup__head{display:flex;gap:var(--s3);align-items:flex-start}.setup__icon{flex:none;width:40px;height:40px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--messing-600) 14%,var(--ink));color:var(--messing-500);border:1px solid var(--border-strong)}.setup__actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-top:var(--s4)}.setup__recipe{margin:var(--s4) 0 0;padding-left:22px;color:var(--secondary);font-size:14px;line-height:1.6}.setup__recipe li{margin-bottom:8px}.setup__recipe ul{margin:6px 0;padding-left:18px;color:var(--muted)}.setup__recipe code{font-size:12.5px;background:var(--ink);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.uncertain-note{font-size:12px;color:var(--muted);margin-top:var(--s2)}.sheet{--sheet-font:"Outfit Variable","Outfit",system-ui,sans-serif;--sheet-fg:#1c1a17;--sheet-muted:#6b6459;--sheet-line:#e6e1d6;--sheet-pad:22mm;--sheet-gap:20px;--sheet-lh:1.5;background:#ffffff;color:var(--sheet-fg);font-family:var(--sheet-font);line-height:var(--sheet-lh);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.4);padding:var(--sheet-pad);margin:0 auto var(--s6);max-width:900px;width:100%;print-color-adjust:exact;-webkit-print-color-adjust:exact}.sheet[data-density=compact]{--sheet-gap:12px;--sheet-lh:1.35}.sheet[data-typeface=handwritten]{--sheet-font:"Patrick Hand","Outfit Variable",system-ui,cursive;font-size:1.12em}.sheet__head{display:flex;align-items:baseline;gap:12px;border-bottom:2px solid var(--sheet-fg);padding-bottom:10px;margin-bottom:18px}.sheet__pagelabel{font-family:JetBrains Mono Variable,monospace;font-size:13px;color:#fff;background:var(--messing-700);border-radius:6px;padding:2px 8px;flex:none}.sheet__title{font-size:24px;font-weight:800;letter-spacing:-.01em;line-height:1.15}.sheet__cols{display:grid;grid-gap:26px;gap:26px;align-items:start}.sheet__cols[data-cols="2"]{grid-template-columns:1fr 1fr}.sheet__cols[data-cols="1"]{grid-template-columns:1fr;max-width:44rem}.sheet__col{display:flex;flex-direction:column;gap:var(--sheet-gap);min-width:0}.blk{--accent:#1c1a17;padding-left:12px;border-left:3px solid color-mix(in srgb,var(--accent) 55%,transparent);page-break-inside:avoid;break-inside:avoid}.blk[data-role=section]{border-left-width:0;padding-left:0}.blk__head{font-weight:800;color:var(--accent);font-size:16px;margin-bottom:6px}.blk[data-role=section] .blk__head{font-size:19px;letter-spacing:-.01em;padding-bottom:3px;border-bottom:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}.line{display:flex;gap:8px;align-items:baseline;margin:3px 0}.line__mark{flex:none;color:var(--accent);font-weight:700;min-width:1em;text-align:center;font-family:JetBrains Mono Variable,monospace}.line__text{min-width:0;overflow-wrap:anywhere}.line[data-indent="1"]{padding-left:18px}.line[data-indent="2"],.line[data-indent="3"]{padding-left:36px}.line[data-kind=example] .line__text{font-style:italic}.line[data-kind=formula] .line__text{font-family:JetBrains Mono Variable,monospace;font-size:.92em}.tok-uncertain{background:rgba(210,116,46,.16);border-bottom:1px dotted var(--glut);border-radius:2px;padding:0 1px}.line[data-uncertain=true] .line__mark{color:var(--glut)}.sheet-legend{max-width:900px;margin:-12px auto var(--s6);font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.sheet-legend .swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px;background:var(--glut);opacity:.6}@media print{.no-print{display:none!important}body{background:#fff}.print-root{display:block}.sheet{box-shadow:none;border-radius:0;margin:0;padding:0;max-width:none;width:auto}.sheet+.sheet{page-break-before:always;break-before:page}.sheet__cols[data-cols="2"]{gap:18px}}