@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-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:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_c64676{font-family:Fraunces,Fraunces Fallback}.__variable_c64676{--font-heading:"Fraunces","Fraunces Fallback"}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.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:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.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:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.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:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/34e91e64f411b47f-s.p.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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Karla;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/739b78589b4abee9-s.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:Karla Fallback;src:local("Arial");ascent-override:89.55%;descent-override:24.61%;line-gap-override:0.00%;size-adjust:102.40%}.__className_ab6fe6{font-family:Karla,Karla Fallback;font-style:normal}.__variable_ab6fe6{--font-body:"Karla","Karla Fallback"}*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8f4ef;--card:#fffdfb;--ink:#2a2320;--muted:#857a71;--line:#e8ded3;--line-soft:#f0e8de;--primary:#9c6b52;--primary-dark:#7d5440;--primary-ink:#fffaf6;--ok:#2e7d4f;--ok-bg:#e7f3ec;--warn:#b3541e;--warn-bg:#fbead9;--danger:#b3261e;--danger-bg:#fbe9e7;--shadow-sm:0 1px 2px rgba(42,35,32,0.05);--shadow-card:0 1px 3px rgba(42,35,32,0.06),0 6px 20px -10px rgba(42,35,32,0.12);--radius:14px}body{font-family:var(--font-body),system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);background-image:radial-gradient(circle at 12% -10%,#fffaf5 0,transparent 45%);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}.wrap{max-width:560px;margin:0 auto;padding:32px 18px 60px}.wrap-wide{max-width:920px}.kicker{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--primary-dark)}.kicker,h1{font-weight:600;margin-bottom:6px}h1{font-size:1.6rem;letter-spacing:-.01em;color:var(--ink)}h1,h2{font-family:var(--font-heading),Georgia,serif}h2{font-weight:600;font-size:1.15rem;margin:20px 0 10px;letter-spacing:-.005em}.sub{color:var(--muted);font-size:.9rem;margin-bottom:20px}a{color:var(--primary-dark);text-underline-offset:3px}a:hover{color:var(--primary)}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px;margin-bottom:14px}.btn,.card{background:var(--card)}.btn{display:inline-block;width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-family:var(--font-body),sans-serif;font-size:1rem;cursor:pointer;text-align:center;transition:border-color .15s ease,transform .05s ease}.btn:hover{border-color:var(--primary)}.btn:active{transform:translateY(1px)}.btn+.btn{margin-top:10px}.btn-primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{width:auto;padding:7px 12px;font-size:.85rem}.btn-secondary-row{display:flex;gap:8px;margin-top:6px}.btn-secondary-row .btn{margin-top:0}input[type=date],input[type=email],input[type=password],input[type=text],input[type=time],select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:11px;font-family:var(--font-body),sans-serif;font-size:1rem;background:var(--card);color:var(--ink)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(156,107,82,.15)}textarea{resize:vertical;max-width:100%;min-height:76px;line-height:1.5}.hit-list{list-style:none;margin-top:10px}.hit-list li button{width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-size:1rem;cursor:pointer;margin-bottom:8px}.hit-list li button:hover{border-color:var(--primary);background:var(--line-soft)}.slot-row{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line-soft)}.slot-row:last-child{border-bottom:none}.slot-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.msg-ok{color:var(--ok);font-weight:600}.msg-err{color:var(--danger);font-size:.92rem;margin-top:10px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--line-soft);color:var(--muted)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-danger{background:var(--danger-bg);color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:.76rem;letter-spacing:.03em;text-transform:uppercase}.tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.tabs button{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-size:.88rem;font-family:var(--font-body),sans-serif}.tabs button.active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}label.fld{display:block;font-size:.82rem;color:var(--muted);margin-bottom:4px}.grade-group+.grade-group{margin-top:16px}.grade-group h3{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:6px;gap:6px}.name-chip{padding:7px 10px;border-radius:9px;background:var(--line-soft);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line-soft)}.student-row:last-child{border-bottom:none}.student-row .name{font-size:.94rem}.student-row .name.is-inactive{color:var(--muted)}.student-row-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.student-row select{width:auto;padding:6px 8px;font-size:.82rem;border-radius:8px}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input[type=checkbox]{width:18px;height:18px;accent-color:var(--ok);cursor:pointer}.decoy{text-align:center;padding-top:48px}.decoy img{width:min(280px,70vw);height:auto;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:22px}.decoy h1{font-size:1.35rem}.decoy .sub,.hub-card{margin-bottom:12px}.hub-card{display:flex;align-items:center;gap:14px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .05s ease}.hub-card:hover{border-color:var(--primary)}.hub-card:active{transform:translateY(1px)}.hub-icon{font-size:1.8rem;line-height:1;flex-shrink:0}.hub-text{display:flex;flex-direction:column;gap:3px}.hub-title{font-family:var(--font-heading),Georgia,serif;font-weight:600;font-size:1.08rem}.hub-desc{color:var(--muted);font-size:.86rem;line-height:1.45}.tpl-list{list-style:none}.tpl-list li button{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;padding:13px 14px;margin-bottom:8px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-family:var(--font-body),sans-serif;cursor:pointer}.tpl-list li button:hover{border-color:var(--primary);background:var(--line-soft)}.tpl-name{font-weight:600;font-size:.98rem}.tpl-blurb{color:var(--muted);font-size:.83rem;line-height:1.45}.fld-row+.fld-row{margin-top:14px}.fld-opt{font-weight:400;text-transform:none;letter-spacing:0}.fld-help{color:var(--muted);font-size:.78rem;margin-top:4px}.fld-err{color:var(--danger);font-size:.8rem;margin-top:4px}.fld-meter{color:var(--muted);font-size:.76rem;margin-top:4px;text-align:right}.fld-meter.over{color:var(--danger);font-weight:600}.picked-row{align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;font-size:.94rem}.mail-row,.picked-row{display:flex;border:1px solid var(--line);border-radius:11px;background:var(--line-soft)}.mail-row{flex-direction:column;gap:9px;margin:12px 0 10px;padding:12px}.mail-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;text-align:center;word-break:break-word}.mail-row .btn{width:100%}.opt-row{display:flex;flex-wrap:wrap;gap:7px}.opt{padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-family:var(--font-body),sans-serif;font-size:.88rem;cursor:pointer}.opt-on{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);font-weight:600}.sig-canvas{display:block;width:100%;aspect-ratio:800/256;border:1px dashed var(--muted);border-radius:11px;background:var(--card);touch-action:none;cursor:crosshair}.sig-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}@media print{.no-print{display:none!important}body{background:#fff;background-image:none}.card{border:none;box-shadow:none;padding:0}}