@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48410f3df60da620-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-s.p.woff2) format("woff2");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:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_08cca5{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.__variable_08cca5{--font-display:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/03b436aa846269de-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/0086f8992871c45b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/ab00a911ac2adf48-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-209f,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/36008747766f78c6-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ae,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f700-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f8d0-1f8d8,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fac6,u+1fac8,u+1facc-1fadd,u+1fadf-1faeb,u+1faef-1fafa,u+1fb??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/6d38f9d4e0f4772b-s.woff2) format("woff2");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:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/08aedeceaf1dcd57-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2) format("woff2");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:Lora Fallback;src:local("Times New Roman");ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.00%;size-adjust:115.20%}.__className_c19f6d{font-family:Lora,Lora Fallback;font-style:normal}.__variable_c19f6d{--font-body:"Lora","Lora Fallback"}:root{--paper:#f5efe3;--paper-deep:#e9dfcb;--ink:#2a2119;--muted:#6e6253;--line:#d3c6ad;--field:#fbf8f1;--accent:#6b2a2a;--accent-hi:#521f1f;--gold:#b08d57;--error:#b3261e;--radius:6px}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body),Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}body:after{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.36 0 0 0 0 0.25 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login{display:grid;grid-template-columns:42fr 58fr;min-height:100vh;min-height:100dvh}.gallery{position:relative;overflow:hidden;background:#3b2f25}.slide{position:absolute;inset:0;background-size:cover;background-position:50%;filter:sepia(.28) saturate(.85) contrast(1.03);opacity:0;transition:opacity 1.4s ease}.slide.is-active{opacity:1}.gallery:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(42,33,25,.15),rgba(42,33,25,.35)),radial-gradient(ellipse at 30% 20%,rgba(176,141,87,.18),transparent 60%)}.gallery-empty{position:absolute;inset:0;z-index:2;display:grid;place-items:center;margin:0;padding:0 140px 0 24px;text-align:center;color:var(--paper-deep);font-size:.9rem}.wave{position:absolute;z-index:2;top:0;right:-1px;height:100%}.wave-fill{fill:var(--paper)}.wave-line{fill:none;stroke:var(--gold);stroke-width:1.25;opacity:.85}.bubble{position:absolute;z-index:3;border-radius:50%}.bubble-fill{background:radial-gradient(circle at 35% 30%,#fffdf8 0,var(--paper) 45%,var(--paper-deep) 100%);box-shadow:0 2px 6px rgba(42,33,25,.25)}.bubble-ring{border:1.25px solid var(--gold);background:rgba(245,239,227,.08)}.bubble-dot{background:var(--gold)}.panel{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 24px}.login-box{width:min(380px,100%)}.brand{margin:0;font-family:var(--font-display),Georgia,serif;font-size:3.4rem;font-weight:600;line-height:1;letter-spacing:.01em;color:var(--accent);text-decoration:none}.brand-sm{font-size:1.8rem}.tagline{margin:8px 0 30px;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-style:italic}.role-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:26px;border:1px solid var(--line);border-radius:999px;background:var(--field)}.role-switch input{position:absolute;opacity:0;pointer-events:none}.role-switch label{position:relative;z-index:1;padding:8px 0;text-align:center;font-size:.95rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:999px;transition:color .25s}.role-switch label.is-active{color:var(--paper)}.role-switch label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.role-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--accent);transition:transform .3s ease}.role-thumb.is-right{transform:translateX(100%)}.field label{display:block;margin-bottom:6px;font-family:var(--font-display),Georgia,serif;font-size:1.05rem;font-weight:600;letter-spacing:.02em}.field input{width:100%;padding:11px 14px;font:inherit;font-size:1rem;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.22)}.field input[aria-invalid=true]{border-color:var(--error)}.error{min-height:1.3em;margin:4px 0 8px;font-size:.85rem;color:var(--error)}.btn{width:100%;margin-top:8px;padding:12px 16px;border:0;border-radius:var(--radius);font-family:var(--font-display),Georgia,serif;font-size:1.2rem;font-weight:600;letter-spacing:.04em;color:var(--paper);background:var(--accent);cursor:pointer;transition:background .2s}.btn:hover{background:var(--accent-hi)}.btn:disabled{opacity:.7;cursor:progress}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.form-status{min-height:1.4em;margin:12px 0 0;font-size:.9rem;text-align:center;color:var(--error)}.switch-mode{margin:18px 0 0;text-align:center;color:var(--muted);font-size:.92rem}.link-btn,.switch-mode button{padding:0;border:0;background:none;font:inherit;color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px;cursor:pointer}.credits-link{position:absolute;right:20px;bottom:14px;font-size:.75rem;color:var(--muted)}.lang-toggle{flex-shrink:0;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--field);font:inherit;font-size:.82rem;letter-spacing:.02em;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .2s,border-color .2s}.lang-toggle:hover{color:var(--accent);border-color:var(--gold)}.lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-lang{position:absolute;top:18px;right:20px}.dash{max-width:760px;margin:0 auto;padding:32px 24px 64px}.dash-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;margin-bottom:32px;border-bottom:1px solid var(--line)}.dash-title{margin:0 0 4px;font-family:var(--font-display),Georgia,serif;font-size:2.4rem;font-weight:600}.dash-muted{color:var(--muted)}.credits{line-height:1.9}.credits a{color:var(--accent)}@media (max-width:760px){.login{grid-template-columns:1fr}.gallery{display:none}}.btn-inline{width:auto;margin-top:0;padding:10px 20px;font-size:1.1rem}.btn-large{padding:14px 34px;font-size:1.3rem}.btn-small{padding:6px 16px;font-size:1rem}.btn-ghost{width:auto;margin-top:0;padding:10px 18px;font-size:1.1rem;color:var(--accent);background:transparent;border:1px solid var(--line)}.btn-ghost:hover{background:var(--paper-deep)}.field textarea{width:100%;padding:11px 14px;font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--radius);outline:none;resize:vertical}.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.22)}.optional{margin-left:6px;font-family:var(--font-body),Georgia,serif;font-size:.78rem;font-weight:400;font-style:italic;color:var(--muted)}.modal{width:min(480px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 24px 60px -20px rgba(42,33,25,.45)}.modal::-webkit-backdrop{background:rgba(42,33,25,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal::backdrop{background:rgba(42,33,25,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal[open]{animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-body{padding:22px 26px 24px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal-header h2{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-display),Georgia,serif;font-size:1.8rem;font-weight:600;color:var(--accent)}.modal-close{flex:none;border:0;background:none;font-size:1.6rem;line-height:1;color:var(--muted);cursor:pointer}.modal-close:hover{color:var(--ink)}.modal-note{margin:0 0 16px;font-size:.88rem;color:var(--muted)}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.prof{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh;min-height:100dvh}.prof-topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid var(--line)}.prof-topbar .brand{flex:none}.prof-user{display:flex;align-items:center;gap:18px;min-width:0;color:var(--muted)}.prof-user>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prof-user>button{flex:none;white-space:nowrap}.tree{padding:20px 14px;background:var(--paper-deep);border-right:1px solid var(--line);overflow-y:auto}.tree-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 10px}.tree-header h2{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-display),Georgia,serif;font-size:1.35rem;font-weight:600;letter-spacing:.03em}.tree-add{flex:none;width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;background:var(--paper);color:var(--accent);font-size:1.1rem;line-height:1;cursor:pointer}.tree-add:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.tree-children,.tree-list{list-style:none;margin:0;padding:0}.tree-children{margin:2px 0 8px 22px;padding-left:10px;border-left:1px solid var(--line)}.tree-empty{padding:4px 8px;overflow-wrap:anywhere;font-size:.85rem;font-style:italic;color:var(--muted)}.tree-row{display:flex;align-items:center;border-radius:var(--radius)}.tree-row.is-selected{background:var(--paper)}.tree-caret{flex:none;width:22px;height:22px;border:0;background:none;color:var(--muted);cursor:pointer;transition:transform .15s}.tree-caret.is-open{transform:rotate(90deg)}.tree-label,.tree-leaf{flex:1 1;min-width:0;padding:7px 8px;border:0;border-radius:var(--radius);background:none;font:inherit;text-align:left;color:var(--ink);cursor:pointer}.tree-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tree-name{flex:1 1 auto;min-width:0;font-weight:600}.tree-code,.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-code{flex:none;max-width:45%;font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.tree-leaf,.tree-leaf-row{display:flex;align-items:center}.tree-leaf{gap:8px;font-size:.92rem;text-decoration:none}.tree-leaf-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-label:hover,.tree-leaf:hover{background:rgba(245,239,227,.7)}.tree-leaf:hover .tree-leaf-title{color:var(--accent)}.status-dot{flex:none;width:8px;height:8px;border-radius:50%}.status-pill{flex:none;white-space:nowrap;padding:3px 12px;border-radius:999px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.status-dot.status-created{background:#9a8c78}.status-dot.status-posted{background:#3f6b3a}.status-dot.status-closed{background:var(--accent)}.status-pill.status-created{color:#5d5242;background:#e6dcc8}.status-pill.status-posted{color:#2f5a2b;background:#dfe8d3}.status-pill.status-closed{color:var(--accent);background:#f0d9d3}.prof-main{min-width:0;padding:32px 40px 64px;overflow-y:auto}.empty-state{display:grid;justify-items:center;grid-gap:10px;gap:10px;margin:12vh auto 0;text-align:center;color:var(--muted)}.empty-state p{max-width:100%;margin:0 0 8px;font-style:italic;overflow-wrap:anywhere}.fleuron{font-size:2.4rem;line-height:1;color:var(--gold)}.class-view{max-width:820px}.class-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}.class-header>div{flex:1 1 auto;min-width:0}.class-header>.btn{flex:none;white-space:nowrap}.class-header h1{min-width:0;margin:0 0 6px;overflow-wrap:anywhere;font-family:var(--font-display),Georgia,serif;font-size:2.6rem;font-weight:600;line-height:1.1}.class-code{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;color:var(--muted);overflow-wrap:anywhere}.class-code code{padding:2px 10px;border:1px dashed var(--gold);border-radius:4px;font-size:.95rem;letter-spacing:.12em;color:var(--ink);background:var(--field);overflow-wrap:anywhere}.class-desc{margin:12px 0 0;max-width:60ch;overflow-wrap:anywhere}.class-title-row{display:flex;align-items:center;gap:8px}.class-code-help{margin:4px 0 0;font-size:.85rem;font-style:italic;color:var(--muted)}.icon-btn{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:var(--paper-deep);color:var(--accent)}.icon-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.stack-toolbar{display:flex;justify-content:flex-end;margin:-8px 0 10px}.sort-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--field);font:inherit;font-size:.85rem;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.sort-btn:hover{color:var(--accent);border-color:var(--gold)}.sort-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.copy-btn{color:var(--accent);transition:color .15s}.copy-btn.is-copied,.copy-btn.is-copied:hover{color:#a39e98;background:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.field-help{margin:4px 0 0;font-size:.82rem;font-style:italic;color:var(--muted)}.assignment-stack{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px}.assignment-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:9px 12px 9px 18px;background:var(--field);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 10px -10px rgba(42,33,25,.5);scroll-margin:24px;transition:box-shadow .2s}.assignment-card.is-selected{box-shadow:0 0 0 3px rgba(176,141,87,.25)}.assignment-main{flex:1 1 14rem;min-width:0}.assignment-main h3{margin:0;font-family:var(--font-display),Georgia,serif;font-size:1.3rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.assignment-sub{margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-desc,.assignment-sub{font-size:.85rem;color:var(--muted)}.assignment-desc{margin:2px 0 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assignment-main h3 a{color:inherit;text-decoration:none}.assignment-main h3 a:hover{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.assignment-count{font-weight:600;color:var(--ink)}.assignment-error{margin:2px 0 0;min-height:0}.assignment-side{display:flex;flex:none;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px;max-width:100%;margin-left:auto}.assignment-side .btn{white-space:nowrap}.assignment-progress{font-size:.85rem;color:var(--muted);white-space:nowrap}.assignment-progress strong{color:var(--ink);font-weight:600}@media (max-width:760px){.prof{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr}.prof-topbar{padding:12px 16px}.tree{border-right:0;border-bottom:1px solid var(--line)}.prof-main{padding:24px 16px 48px}.class-header{flex-direction:column}}.btn-delete{margin-right:auto;color:var(--error);border-color:transparent}.btn-delete:hover{background:#f6e3df}.btn-danger{background:var(--error)}.btn-danger:hover{background:#8f1e17}.delete-confirm{margin-bottom:14px;padding:12px 14px;border:1px solid #e8b9b3;border-radius:var(--radius);background:#fbefec}.delete-confirm p{margin:0 0 10px;font-size:.92rem;overflow-wrap:anywhere}.builder{min-height:100vh;min-height:100dvh}.builder-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.save-state{font-size:.85rem;font-style:italic;color:var(--muted)}.builder-load-error{padding:32px 28px}.builder-editor .builder-topbar{flex-wrap:wrap;row-gap:8px}.builder-editor .builder-topbar>.link-btn{flex:none;white-space:nowrap}.builder-topbar-actions{display:flex;align-items:center;gap:12px;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;min-width:0}.builder-topbar-actions .btn{flex:none;white-space:nowrap}.builder-topbar-actions .save-state{min-width:0;text-align:right;overflow-wrap:anywhere}.builder-body{display:grid;grid-template-columns:minmax(0,760px) 52px;justify-content:center;grid-gap:16px;gap:16px;padding:28px 24px 96px}.builder-column{display:grid;grid-gap:14px;gap:14px;align-content:start}.form-header-card{padding:22px 26px;background:var(--field);border:1px solid var(--line);border-radius:10px}.form-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.form-header-card h1{margin:0;font-family:var(--font-display),Georgia,serif;font-size:2.4rem;font-weight:600;line-height:1.1}.form-header-desc{margin:10px 0 0}.form-header-meta{margin:12px 0 0;font-size:.88rem;color:var(--muted)}.builder-editor .form-header-card h1{min-width:0;overflow-wrap:anywhere}.builder-editor .form-header-desc{overflow-wrap:anywhere}.builder-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border:1px dashed var(--gold);border-radius:10px;background:rgba(176,141,87,.08)}.builder-banner p{margin:0;font-size:.92rem}.builder-notice{margin:0}.builder-editor .builder-banner{flex-wrap:wrap}.builder-editor .builder-banner p{flex:1 1 280px;min-width:0}.builder-editor .builder-banner .btn{flex:none;white-space:nowrap}.builder-empty{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:32px 0;text-align:center;color:var(--muted)}.builder-empty>p{margin:0 0 6px;font-style:italic}.type-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));grid-gap:12px;gap:12px;width:100%}.type-option{display:grid;justify-items:start;grid-gap:6px;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--field);font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}.type-option:hover{border-color:var(--gold);box-shadow:0 6px 16px -12px rgba(42,33,25,.5)}.type-option svg{color:var(--accent)}.type-option-label{font-family:var(--font-display),Georgia,serif;font-size:1.25rem;font-weight:600}.type-option-desc,.type-option-label{max-width:100%;overflow-wrap:anywhere}.type-option-desc{font-size:.85rem;color:var(--muted)}.q-list{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.q-card{background:var(--field);border:1px solid var(--line);border-radius:10px;scroll-margin:90px;transition:box-shadow .2s,border-color .2s}.q-card.is-active{padding:18px 22px 10px;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.18),0 14px 30px -22px rgba(42,33,25,.6)}.q-card.has-error{border-color:var(--error)}.q-number{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--paper-deep);font-family:var(--font-display),Georgia,serif;font-weight:700;color:var(--accent)}.q-summary{display:flex;align-items:flex-start;gap:14px;width:100%;padding:14px 20px;border:0;background:none;font:inherit;text-align:left;color:var(--ink);cursor:pointer;border-radius:10px}.q-summary:hover{background:rgba(233,223,203,.35)}.q-summary-text{display:grid;grid-gap:4px;gap:4px;flex:1 1;min-width:0}.q-summary-prompt{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-summary-prompt em{font-weight:400;color:var(--muted)}.q-summary-meta{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.82rem;color:var(--muted)}.q-summary-meta svg{width:15px;height:15px}.q-answer-preview{display:block;margin-top:6px;border-bottom:1px dotted var(--line)}.q-answer-preview.is-line{width:45%}.q-answer-preview.is-box{width:100%;height:26px;border:1px dotted var(--line);border-radius:4px}.q-needs-fix{flex:none;font-size:.8rem;color:var(--error);white-space:nowrap}.q-head{display:flex;align-items:flex-start;gap:12px}.q-prompt{flex:1 1;min-width:0}.q-prompt textarea{width:100%;padding:10px 12px;border:0;border-bottom:2px solid var(--line);border-radius:4px 4px 0 0;background:var(--paper);font:inherit;font-size:1.1rem;color:var(--ink);resize:vertical;outline:none}.q-prompt textarea:focus{border-bottom-color:var(--accent)}.q-prompt textarea[aria-invalid=true]{border-bottom-color:var(--error)}.q-prompt .error{margin-bottom:0}.q-type{flex:none;max-width:100%}.q-type select{max-width:100%;min-width:170px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--field);font:inherit;color:var(--ink);cursor:pointer}.q-type select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.q-type-desc{display:flex;align-items:center;gap:6px;margin:2px 0 14px 40px;font-size:.85rem;font-style:italic;color:var(--muted)}.q-type-desc svg{width:16px;height:16px;flex:none}.builder-editor .error,.builder-editor .field-help,.builder-editor .math-preview-body{overflow-wrap:anywhere}.q-body{margin-left:40px}.q-field textarea{font-size:.95rem}.ideas{margin:4px 0 0;padding:0;border:0}.ideas legend{padding:0;margin-bottom:4px;font-family:var(--font-display),Georgia,serif;font-size:1.05rem;font-weight:600}.idea-list{display:grid;grid-gap:10px;gap:10px;margin:10px 0 8px;padding:0;list-style:none}.idea-row{display:grid;grid-template-columns:62px minmax(0,1fr) 32px;align-items:start;grid-gap:8px;gap:8px}.idea-label{padding-top:10px;font-size:.85rem;font-weight:600;color:var(--accent);white-space:nowrap}.idea-fields{display:grid;grid-gap:6px;gap:6px;min-width:0}.idea-fields input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;font-size:.95rem;color:var(--ink);outline:none}.idea-fields input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.18)}.idea-fields input[aria-invalid=true]{border-color:var(--error)}.idea-fields .idea-hint{font-size:.88rem;font-style:italic}.idea-fields .error{margin:0;min-height:0}.q-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.q-points{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.q-points input{width:72px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;color:var(--ink)}.q-actions{display:flex;align-items:center;gap:2px;margin-left:auto}.q-divider{width:1px;height:22px;margin:0 6px;background:var(--line)}.icon-btn:disabled{opacity:.35;cursor:default;background:none}.icon-btn-danger:hover{color:var(--error)}.q-card{position:relative}.q-grip{display:flex;justify-content:center;height:14px;padding-top:3px;color:var(--line);cursor:-webkit-grab;cursor:grab;touch-action:none}.q-card.is-active .q-grip{margin:-14px 0 4px}.q-card:hover .q-grip{color:var(--muted)}.q-grip:active{cursor:-webkit-grabbing;cursor:grabbing}.q-list>li{position:relative}.q-list>li.is-dragging{opacity:.4}.q-list>li.drop-after:after,.q-list>li.drop-before:before{content:"";position:absolute;left:8px;right:8px;height:3px;border-radius:2px;background:var(--gold)}.q-list>li.drop-before:before{top:-8px}.q-list>li.drop-after:after{bottom:-8px}.math-preview{margin-top:6px;padding:8px 12px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--paper)}.math-preview-label{display:block;margin-bottom:2px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.math-preview-body{white-space:pre-wrap;overflow-x:auto}.math-display{display:block;margin:4px 0;overflow-x:auto}.q-summary-prompt .katex{font-size:1em}.latex-tip{min-width:0;font-size:.78rem;color:var(--muted)}.latex-tip code{padding:0 4px;border-radius:3px;background:var(--paper-deep);font-size:.95em}.options{margin:4px 0 0;padding:0;border:0}.options legend{padding:0;margin-bottom:4px;font-family:var(--font-display),Georgia,serif;font-size:1.05rem;font-weight:600}.option-list{display:grid;grid-gap:8px;gap:8px;margin:10px 0 8px;padding:0;list-style:none}.option-row{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;align-items:start;grid-gap:8px;gap:8px}.option-mark{width:24px;height:24px;margin-top:7px;border:1.5px solid var(--muted);border-radius:50%;background:var(--paper);font-size:.8rem;line-height:1;color:var(--paper);cursor:pointer}.option-mark.is-multi{border-radius:5px}.option-mark.is-correct{border-color:#3f6b3a;background:#3f6b3a}.option-mark:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.option-mark:disabled{cursor:default}.option-fields{display:grid;grid-gap:4px;gap:4px;min-width:0}.option-fields input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;font-size:.95rem;color:var(--ink);outline:none}.option-fields input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.18)}.option-fields input[aria-invalid=true]{border-color:var(--error)}.option-fields .error{margin:0;min-height:0}.q-choice-preview{display:grid;grid-gap:4px;gap:4px;margin-top:6px;font-size:.9rem;min-width:0}.q-choice{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);overflow-wrap:anywhere}.q-choice em{font-size:.85rem}.q-choice-dot{flex:none;width:12px;height:12px;border:1.5px solid var(--line);border-radius:50%}.q-choice-dot.is-multi{border-radius:3px}.builder-rail{position:-webkit-sticky;position:sticky;top:84px;align-self:start;display:grid;grid-gap:4px;gap:4px;padding:6px;background:var(--field);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px -18px rgba(42,33,25,.6)}.rail-btn{position:relative;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.rail-btn:hover{background:var(--paper-deep);color:var(--accent)}.rail-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.rail-plus{position:absolute;top:3px;right:4px;font-size:.75rem;font-weight:700;line-height:1;color:var(--accent)}@media (max-width:760px){.builder-topbar{padding:10px 16px}.builder-body{grid-template-columns:minmax(0,1fr);padding:16px 12px 96px}.builder-rail{position:fixed;top:auto;bottom:16px;left:50%;transform:translateX(-50%);grid-auto-flow:column;z-index:30}.q-head{flex-wrap:wrap}.q-type select{min-width:0}.q-body,.q-type-desc{margin-left:0}.idea-row{grid-template-columns:minmax(0,1fr) 32px}.idea-label{grid-column:1/-1;padding-top:0}}.view-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.view-tab{padding:8px 16px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font:inherit;font-size:.95rem;color:var(--muted);cursor:pointer}.view-tab:hover{color:var(--ink)}.view-tab.is-active{color:var(--accent);border-bottom-color:var(--gold);font-weight:600}.view-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.results-summary{margin:0 0 10px;font-size:.88rem;color:var(--muted)}.student-card-name{padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.student-card-name:hover{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.student-card-name:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.student-answers{display:grid;grid-gap:14px;gap:14px;justify-items:stretch}.student-answers>.link-btn{justify-self:start}.form-header-card h2{margin:0;font-family:var(--font-display),Georgia,serif;font-size:1.9rem;font-weight:600;line-height:1.1}.result-type{display:block;margin-top:4px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.attempt-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.attempt{padding:10px 14px;border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius);background:var(--paper)}.attempt.is-correct{border-left-color:#3f6b3a}.attempt-meta{margin:0 0 6px;font-size:.85rem;color:var(--muted)}.attempt-meta strong{color:var(--ink)}.attempt-correct{color:#2f5a2b;font-weight:600}.attempt-answer{white-space:pre-wrap;overflow-wrap:anywhere}.attempt-choices{margin:0;padding:0;list-style:none;display:grid;grid-gap:2px;gap:2px}.attempt-choices .is-picked{font-weight:600}.attempt-key{font-size:.82rem;color:#2f5a2b;font-weight:400}.attempt-ideas{margin-top:8px}.attempt-ideas .idea-chip{max-width:100%;white-space:normal;text-align:left}.attempt-feedback{margin:6px 0 0;font-size:.85rem;font-style:italic;color:var(--muted)}.join-code-input{letter-spacing:.14em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-pill.status-done{color:#2f5a2b;background:#dfe8d3}.assignment-stats{display:inline-flex;align-items:center;gap:12px;font-size:.85rem;color:var(--muted)}.assignment-stats>span{display:inline-flex;align-items:center;gap:4px;cursor:default}.assignment-stats-link{color:inherit;text-decoration:none;border-radius:var(--radius)}.assignment-stats-link .assignment-stats>span{cursor:pointer}.assignment-stats-link:hover .assignment-stats{color:var(--accent)}.student-topbar{gap:16px}.student-topbar .brand{flex:none}.student-topbar>.link-btn{flex:none;white-space:nowrap}.student-topbar-actions,.student-user{min-width:0}.student-topbar-actions>:not(.save-state),.student-user>:not(.student-user-name){flex:none}.student-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-topbar .save-state{min-width:0;text-align:right}.student-class-header>div{min-width:0}.student-assignment-card .assignment-main h3,.student-class-header .class-code,.student-class-header .class-desc,.student-class-header h1{overflow-wrap:anywhere}.student-assignment-card .assignment-side{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px 12px}.student-assignment-card .status-pill{white-space:nowrap}.student-body{grid-template-columns:minmax(0,760px)}.student-body .form-header-top{flex-wrap:wrap}.student-body .form-header-top>div{flex:1 1 15rem;min-width:0}.form-header-class,.student-body .form-header-card h1,.student-body .form-header-desc{overflow-wrap:anywhere}.form-header-class{margin:0 0 4px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.progress{height:6px;margin-top:14px;border-radius:999px;background:var(--paper-deep);overflow:hidden}.progress-fill{display:block;height:100%;background:#3f6b3a;transition:width .4s ease}.assignment-complete{margin:10px 0 0;font-family:var(--font-display),Georgia,serif;font-size:1.2rem;color:#2f5a2b}.answer-card{padding:18px 22px 12px}.answer-card.is-complete{border-color:#b7c9a8}.answer-head{display:flex;align-items:flex-start;gap:12px}.answer-prompt{flex:1 1;min-width:0;padding-top:2px;font-size:1.08rem;white-space:pre-wrap;overflow-wrap:anywhere}.answer-points{flex:none;font-size:.82rem;color:var(--muted);white-space:nowrap}.answer-done{margin:6px 0 0 40px;font-size:.88rem;font-weight:600;color:#2f5a2b}.answer-body{margin:14px 0 0 40px}.answer-input{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font:inherit;font-size:1rem;line-height:1.55;color:var(--ink);resize:vertical;outline:none}.answer-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,141,87,.18)}.answer-input[readonly]{background:var(--field);color:var(--muted)}.answer-body .math-preview-body{overflow-wrap:anywhere}.choice-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;border:0}.choice{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--gold)}.choice.is-selected{border-color:var(--accent);background:#f6ece4}.choice input{flex:none;accent-color:var(--accent);width:16px;height:16px}.choice>span{min-width:0;overflow-wrap:anywhere}.choice-list:disabled .choice{cursor:default;opacity:.8}.feedback{margin-top:10px}.feedback-row{justify-content:space-between;gap:12px;min-height:30px}.feedback-main,.feedback-row{display:flex;align-items:center}.feedback-main{gap:10px;flex:1 1;min-width:0;font-size:.9rem}.feedback-checking,.feedback-idle{font-style:italic;color:var(--muted)}.feedback-checking:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--gold);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.feedback-pulse{flex:none;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:0;transition:opacity .3s}.feedback-pulse.is-on{opacity:1;animation:pulse 1s ease-in-out infinite}.idea-chip{transition:color .3s,border-color .3s,background-color .3s}.closeness{flex:none;width:140px;height:8px;border-radius:999px;background:var(--paper-deep);overflow:hidden}.closeness-fill{display:block;height:100%;border-radius:999px;background:var(--gold);transition:width .4s ease}.closeness.is-complete .closeness-fill{background:#3f6b3a}.closeness.is-flagged .closeness-fill{background:var(--error)}.feedback-label{min-width:0;color:var(--ink);overflow-wrap:anywhere}.feedback-label.is-flagged{color:var(--error)}.idea-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.idea-chip{padding:2px 10px;border-radius:999px;font-size:.8rem;border:1px solid var(--line);color:var(--muted);background:var(--paper)}.idea-chip.is-included{color:#2f5a2b;border-color:#b7c9a8;background:#eef3e6}.idea-chip.is-in_progress{color:#7a5a1e;border-color:#e0cb9c;background:#f8f0dc}.hint-btn{display:inline-flex;flex:none;align-items:center;gap:5px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--field);font:inherit;font-size:.85rem;color:var(--accent);cursor:pointer}.hint-btn.is-open,.hint-btn:hover{border-color:var(--gold);background:#f8f0dc}.hint-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hint-btn:disabled{color:var(--muted);background:var(--paper);border-color:var(--line);cursor:not-allowed}.hint-panel{margin-top:8px;padding:10px 14px;border-left:3px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;background:#f8f0dc;font-size:.92rem;overflow-wrap:anywhere}.hint-panel p{margin:0}.hint-panel.is-error{border-left-color:var(--error);color:var(--error)}.hint-panel ul{margin:0;padding-left:18px}.answer-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.answer-attempts{font-size:.82rem;color:var(--muted)}.answer-result{flex:1 1;font-size:.88rem;overflow-wrap:anywhere}.answer-result.is-success{color:#2f5a2b;font-weight:600}.answer-result.is-info{color:var(--muted)}.answer-result.is-error{color:var(--error)}.answer-footer .btn{max-width:100%;margin-left:auto}.submit-assignment{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:18px 0 8px;text-align:center}.submit-assignment .error,.submit-assignment .field-help{margin:0;overflow-wrap:anywhere}.submit-assignment .btn{max-width:100%}.summary-grade{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:6px 0 16px;text-align:center}.summary-percent{font-family:var(--font-display),Georgia,serif;font-size:3.4rem;font-weight:700;line-height:1;color:var(--accent)}.summary-points{color:var(--muted)}.summary-grade .status-pill{margin-top:6px}.summary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--field)}.summary-facts dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.summary-facts dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.summary-table{width:100%;margin-bottom:18px;border-collapse:collapse;font-size:.9rem}.summary-table th{padding:6px 8px;border-bottom:1px solid var(--line);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase;color:var(--muted)}.summary-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.summary-table td:not(:first-child),.summary-table th:not(:first-child){text-align:right}.summary-table td:not(:first-child){white-space:nowrap}.summary-q{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}@media (max-width:760px){.answer-body,.answer-done{margin-left:0}.closeness{width:90px}}