:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light;--bg:#f2f6fc;--panel:#fff;--ink:#182d49;--muted:#52647a;--line:#d4dfec;--blue:#1557ad;--blue-soft:#e8f0ff;--green:#17613f;--green-soft:#e6f4eb;--red:#a82830;--focus:#d75c17;--shadow:0 12px 32px #15335b09}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101b2b;--panel:#19283c;--ink:#f1f6ff;--muted:#bdcbe0;--line:#3a4b61;--blue:#96c0ff;--blue-soft:#243f62;--green:#9ad7b1;--green-soft:#203e32;--red:#ffabb1;--focus:#ffc17d;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}a{color:var(--blue);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);padding:10px 15px;font-weight:650}button:hover{border-color:var(--blue)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button.primary,.primary{background:var(--blue);color:var(--panel);border-color:var(--blue)}:root[data-theme="dark"] button.primary{color:#10203b}button.quiet{background:transparent}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4.7vw,3.1rem);letter-spacing:-.045em;line-height:1.1;margin-bottom:16px;max-width:800px}h2{font-size:1.45rem;letter-spacing:-.025em;line-height:1.3;margin-bottom:10px}h3{font-size:1.08rem;line-height:1.35;margin-bottom:10px}p,li{line-height:1.6}p{margin-bottom:14px}.shell{max-width:1120px;margin:auto;padding:28px 30px 40px}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}.home{font-weight:750;font-size:.92rem;text-decoration:none}.eyebrow{font-size:.7rem;color:var(--green);font-weight:800;letter-spacing:.15em;margin:0 0 13px}.intro{color:var(--muted);font-size:1.08rem;margin-bottom:16px}.credit{font-size:.78rem;color:var(--muted);margin-bottom:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span,.badge{display:inline-block;border-radius:6px;padding:5px 9px;font-size:.72rem;font-weight:700;background:var(--green-soft);color:var(--green)}.chips span:last-child{background:var(--blue-soft);color:var(--blue)}.view-tabs{display:flex;gap:8px;padding:26px 0 20px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:24px}.view-tabs button{background:transparent;border-color:transparent}.view-tabs button.active{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-soft)}.panel{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.picker{display:grid;grid-template-columns:1fr;gap:18px}.teacher-fields{display:grid;grid-template-columns:1fr 1.35fr 1.4fr;gap:14px}.field{display:grid;gap:8px}label{font-size:.82rem;font-weight:700}select,input{width:100%;min-height:46px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 12px;min-width:0}select{padding-right:28px}.task-field{padding-top:16px;border-top:1px solid var(--line)}.selection-note{font-size:.76rem;color:var(--muted);margin:12px 2px 26px}.routine{margin:24px 0 18px;border-left:4px solid var(--green);padding:3px 0 3px 18px}.routine p{color:var(--muted);margin-bottom:10px}.routine details{font-size:.88rem}.routine ol{margin:10px 0 0;padding-left:20px}.result-label{font-size:.75rem;color:var(--green);font-weight:700;margin-bottom:8px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cards[data-count="1"]{grid-template-columns:1fr}.cards[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.resource{background:var(--panel);padding:21px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;min-width:0}.resource .description{color:var(--muted);font-size:.87rem;flex:1;margin:12px 0 18px}.resource .badge{align-self:flex-start;background:var(--blue-soft);color:var(--blue);line-height:1.35}.resource .open{font-size:.85rem;font-weight:750}.resource details{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:.76rem;color:var(--muted)}summary{font-weight:650;line-height:1.5}details p{margin:10px 0}details ul,details ol{padding-left:20px}details a{overflow-wrap:anywhere}.source-links{list-style:none;padding:0}.source-links li{padding:3px 0}.section-intro{margin-bottom:20px}.section-intro p{color:var(--muted);font-size:.92rem}.guide-info{margin-top:32px;padding:20px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.guide-info .access{font-weight:650;color:var(--ink)}.guide-info details{max-width:900px}.feedback{margin-top:18px;margin-bottom:0}.notice{background:var(--blue-soft);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:20px;font-size:.86rem}.notice.warning{border-color:var(--red);color:var(--red)}.signature-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.signature-layout form{display:grid;gap:17px}.optional{font-size:.73rem;color:var(--muted);font-weight:450}.signature-preview-panel{align-self:start}.signature-preview{background:#fff;color:#20334b;border:1px solid #d4dfec;border-radius:10px;padding:22px;margin-bottom:18px;min-height:140px;overflow-wrap:anywhere}.signature-preview a{color:#1557ad}.signature-preview .muted{color:#52647a}.actions{display:flex;gap:10px;flex-wrap:wrap}.signature-preview-panel details{font-size:.82rem;color:var(--muted)}#signature-status{font-size:.86rem;color:var(--green)}.skip{position:absolute;left:20px;top:-100px;background:var(--panel);padding:10px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:750px){.shell{padding:20px 18px 30px}.teacher-fields{grid-template-columns:1fr}.cards,.cards[data-count="2"],.signature-layout{grid-template-columns:1fr}.panel{padding:18px}.view-tabs{gap:4px}.view-tabs button{font-size:.83rem;padding:10px}.topline{margin-bottom:24px}.home{font-size:.84rem}h1{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
