:root{--paper:#f6f1e8;--paper-2:#efe8db;--surface:#fffdf9;--ink:#1b1a17;--ink-2:#4a463f;--ink-3:#8a847a;--line:#d9d0c1;--wax:#9b2c21;--wax-2:#7d2219;--wax-soft:#f1dcd8;--ok:#2f6b3a;--ok-soft:#dcebdd;--warn:#8a5a00;--warn-soft:#f3e6c6;--info-soft:#e3e8ef;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--text-sm:.875rem;--text-base:clamp(1rem, .95rem + .25vw, 1.0625rem);--text-lg:1.25rem;--text-xl:clamp(1.75rem, 1.2rem + 2vw, 2.5rem);--text-hero:clamp(2.5rem, 1.5rem + 4vw, 4rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:4rem;--radius:4px;--radius-lg:10px;--duration:.16s;--ease:cubic-bezier(.2, .8, .2, 1);--shadow:0 1px 2px #1b1a1714, 0 12px 32px -16px #1b1a174d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#15140f;--paper-2:#1d1b15;--surface:#1a1813;--ink:#ece6da;--ink-2:#b9b2a5;--ink-3:#7f786d;--line:#332f27;--wax:#e0574b;--wax-2:#f07b6f;--wax-soft:#3a1c18;--ok:#7fc48e;--ok-soft:#1f2e22;--warn:#e0b45a;--warn-soft:#2f2612;--info-soft:#23272e;--shadow:0 1px 2px #0006, 0 12px 32px -16px #000000b3}}:root[data-theme=dark]{--paper:#15140f;--paper-2:#1d1b15;--surface:#1a1813;--ink:#ece6da;--ink-2:#b9b2a5;--ink-3:#7f786d;--line:#332f27;--wax:#e0574b;--wax-2:#f07b6f;--wax-soft:#3a1c18;--ok:#7fc48e;--ok-soft:#1f2e22;--warn:#e0b45a;--warn-soft:#2f2612;--info-soft:#23272e;--shadow:0 1px 2px #0006, 0 12px 32px -16px #000000b3}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 var(--space-3);font-weight:700;line-height:1.1}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--wax);text-underline-offset:.15em;text-decoration-thickness:1px}a:hover{color:var(--wax-2)}code,pre,.mono{font-family:var(--font-mono);font-size:.9em}pre{padding:var(--space-3);background:var(--paper-2);border-radius:var(--radius);white-space:pre;margin:0;overflow-x:auto}:focus-visible{outline:2px solid var(--wax);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.shell__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--line);background:var(--surface);display:flex}.brand{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--ink);align-items:baseline;gap:var(--space-2);text-decoration:none;display:inline-flex}.brand__seal{background:var(--wax);width:.6em;height:.6em;box-shadow:inset 0 0 0 2px var(--surface), 0 0 0 1px var(--wax);border-radius:50%;display:inline-block;transform:translateY(-.05em)}.shell__user{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;display:flex}.main{width:min(1200px,100%);padding:var(--space-6) var(--space-4) var(--space-8);margin:0 auto}.main--narrow{width:min(480px,100%)}.eyebrow{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--wax);margin-bottom:var(--space-2);font-weight:600}.lede{color:var(--ink-2);max-width:60ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow)}.stack>*+*{margin-top:var(--space-4)}.row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.row--between{justify-content:space-between}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:500}.badge{letter-spacing:.03em;background:var(--info-soft);color:var(--ink-2);border-radius:999px;padding:.1em .55em;font-size:.75rem;font-weight:600;display:inline-block}.badge--draft{background:var(--warn-soft);color:var(--warn)}.badge--submitted{background:var(--ok-soft);color:var(--ok)}.badge--wax{background:var(--wax-soft);color:var(--wax)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);font-size:var(--text-sm)}.notice--error{background:var(--wax-soft);border-color:var(--wax);color:var(--wax-2)}.notice--ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.field{gap:var(--space-1);display:grid}.field>span{font-size:var(--text-sm);color:var(--ink-2);font-weight:500}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);padding:.55em .7em}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--wax);outline-offset:1px;border-color:var(--wax)}textarea{resize:vertical;min-height:5.5em}textarea.mono{white-space:pre}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.7}.btn{align-items:center;gap:var(--space-2);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform var(--duration) var(--ease), background var(--duration) var(--ease), border-color var(--duration) var(--ease);padding:.55em 1em;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3);background:var(--paper-2);color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{background:var(--wax);border-color:var(--wax);color:#fff}.btn--primary:hover{background:var(--wax-2);border-color:var(--wax-2);color:#fff}.btn--ghost{background:0 0;border-color:#0000}.btn--sm{font-size:var(--text-sm);padding:.3em .6em}.editor{gap:var(--space-5);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=900px){.editor{grid-template-columns:1fr}}.editor__meta{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.section{border-top:2px solid var(--ink);padding-top:var(--space-3)}.section__title{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.section__hint{font-size:var(--text-sm);color:var(--ink-3)}.block{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr auto;display:grid}.block--MATH{border-left-color:var(--wax)}.block--CODE{border-left-color:var(--ink)}.block__tools{gap:var(--space-1);flex-direction:column;display:flex}.block__type{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-1);font-size:.7rem}.alternative{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);grid-template-columns:auto 1fr;display:grid}.alternative--correct{border-color:var(--ok);background:var(--ok-soft)}.alternative__label{font-family:var(--font-display);font-size:var(--text-lg);text-align:center;width:2.2rem;font-weight:700}.alternative__correct{align-items:center;gap:var(--space-1);font-size:var(--text-sm);display:flex}.alternative__correct input{width:auto}.form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;display:grid}.plain-list{margin:0;padding-left:1.2em}.plain-list li+li{margin-top:var(--space-1)}.row--muted{color:var(--ink-3)}.row--chosen td{background:var(--ok-soft)}h4{font-family:var(--font-display);font-size:var(--text-base);margin:0 0 var(--space-2)}.shell__user a{color:var(--ink-2);text-decoration:none}.shell__user a.active{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--wax);text-decoration-color:var(--wax);text-underline-offset:.3em;font-weight:600}.decision{top:var(--space-4);position:sticky}.comment{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-left:3px solid var(--wax);border-radius:var(--radius);background:var(--paper-2);display:grid}.comment--read{background:var(--surface)}.comment--read p{white-space:pre-wrap;margin:0}.comment__head{gap:var(--space-2);grid-template-columns:1fr auto;align-items:start;display:grid}.preview{top:var(--space-4);color:#1b1a17;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow);background:#fff;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.5;position:sticky}.preview__label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--space-3);font-size:.7rem}.preview p{white-space:pre-wrap}.preview .math{font-family:var(--font-mono);background:#f3efe6;border-radius:3px;padding:.1em .4em}.preview blockquote{margin:0 0 var(--space-3);padding-left:var(--space-3);border-left:3px solid #bbb;font-style:italic}.preview__alt{gap:var(--space-2);margin-bottom:var(--space-2);grid-template-columns:1.6rem 1fr;display:grid}.preview__alt--correct .preview__alt-label{color:var(--ok)}.preview__stimulus{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid #bbb}.preview__figure{margin:var(--space-3) 0}.preview__image{max-width:100%;height:auto;max-height:60vh;display:block}.preview__figure figcaption{font-family:var(--font-body);font-size:var(--text-sm);color:#4a463f;margin-top:var(--space-2)}.preview__explanation{margin-top:var(--space-5);padding-top:var(--space-3);color:#4a463f;font-family:var(--font-body);font-size:var(--text-sm);border-top:1px dashed #bbb}.watermark{pointer-events:none;z-index:50;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:space-around;justify-items:center;gap:8rem 2rem;display:grid;position:fixed;inset:0;overflow:hidden}.watermark span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink);opacity:.07;white-space:nowrap;font-size:.75rem;transform:rotate(-24deg)}.auth{min-height:100dvh;padding:var(--space-4);background:radial-gradient(60rem 30rem at 10% -10%, var(--wax-soft), transparent 60%), var(--paper);place-items:center;display:grid}.auth__card{width:min(440px,100%)}.auth__title{font-size:var(--text-hero);margin-bottom:var(--space-2)}.qr{width:180px;height:180px;margin:var(--space-3) auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:block}.secret{word-break:break-all;text-align:center;font-size:var(--text-sm)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.modal{z-index:50;background:color-mix(in oklab, var(--ink) 55%, transparent);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal .auth__card{width:min(100%,26rem)}
