:root{font-family:Arial,system-ui,sans-serif;color:#29374b;background:#eef1f9;line-height:1.6;--accent:#6c4bc4;--pale:#eee8fb;--line:#d4dceb}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a27ee9;outline-offset:3px}[hidden]{display:none!important}.ribbon{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 22px;background:#312853;color:#fff;font-size:12px}.ribbon a{color:#fff}.app{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 43px)}.side{padding:30px 17px;background:linear-gradient(160deg,#1c3154,#192438);color:#fff}.brand{font-size:28px;letter-spacing:-1px;font-weight:800;margin-bottom:8px}.brand small{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:#b8c9e1}.side nav{display:grid;gap:10px;margin-top:32px}.side nav button{border:1px solid transparent;border-radius:11px;padding:13px 12px;min-height:48px;background:none;color:#dbe5f5;text-align:left;font-size:13px}.side nav button.active{background:#7458d8;color:#fff;border-color:#957be7;font-weight:750}.side-note{border:1px solid #4f5a79;border-radius:11px;padding:12px;font-size:11px;line-height:1.8;color:#d4deee;margin-top:28px}.main{padding:25px 34px 45px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#758298;font-size:12px;margin-bottom:28px}.top select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;color:#3c4b65}.hero{padding:29px;border:1px solid #d8dff0;border-radius:20px;background:linear-gradient(115deg,#e6e8ff,#edf8fb);margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:1px;font-weight:bold;color:var(--accent);text-transform:uppercase}.hero h1{font-size:clamp(30px,4vw,45px);letter-spacing:-1.7px;line-height:1.13;margin:14px 0}.hero p{max-width:700px;font-size:14px;color:#5f6f86;margin-bottom:0}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0}.tile{border:1px solid #d5dcec;background:#fff;border-radius:15px;text-align:left;padding:22px;color:#283a52;min-width:0}.tile:nth-child(2){background:#eaf7f3;border-color:#c5dfd5}.tile:nth-child(3){background:#fff2e4;border-color:#ead5b9}.tile strong{font-size:15px;display:block;line-height:1.4;margin-bottom:9px}.tile span{font-size:12px;color:#64738a;line-height:1.8;display:block}.panel{background:#fff;border:1px solid #d6deed;border-radius:18px;padding:25px;min-width:0}.panel h2{font-size:23px;line-height:1.3;margin:0 0 12px;letter-spacing:-.5px}.note{font-size:12px;color:#69788d;line-height:1.8}.demo-tag{background:#fff2d9;border:1px solid #d9bd7d;border-radius:10px;padding:12px 15px;font-size:12px;color:#695226;line-height:1.7;margin:15px 0}.fields{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:15px;margin:20px 0}.fields label,.search-label{font-size:12px;color:#5b6e86;display:block}input,textarea,select{max-width:100%}input[type=text],input[type=search],input[type=number],textarea,.fields select{display:block;width:100%;border:1px solid #bfcbe0;background:#fcfdff;color:#263952;border-radius:9px;padding:11px 12px;margin-top:6px;min-height:45px}textarea{resize:vertical;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:white;text-decoration:none;font-weight:700;font-size:12px}.btn.secondary{background:white;color:var(--accent);border-color:#bcb0df}.btn:hover{filter:brightness(.95)}.status{margin-top:15px;color:#35684d;font-size:13px;font-weight:700;min-height:24px}.materials{display:grid;gap:12px;margin-top:18px}.material{border:1px solid #d5dff0;border-radius:12px;padding:18px;text-align:left;background:#fbfcff;width:100%;color:#2d405d}.material strong{display:block;font-size:15px}.material small{display:block;color:#79869c;margin-top:4px}.document{border:1px solid #d6dfeb;background:#fafcff;border-radius:12px;padding:22px;white-space:pre-wrap;line-height:1.9;font-size:14px;margin:18px 0}.document-title{margin:0 0 10px;font-size:20px}.checks{list-style:none;padding:0}.checks li{padding:9px 0;border-bottom:1px solid #e4e9f0;font-size:14px}.checks li::before{content:'✓';color:#2f7b50;font-weight:800;margin-right:12px}.footer-note{font-size:12px;color:#728097;margin:28px 0 0;line-height:1.9}dialog{max-width:850px;width:calc(100% - 32px);border:1px solid #bdc9da;border-radius:18px;padding:30px;color:#253650;background:#fff;max-height:88vh;overflow:auto}dialog::backdrop{background:#152236aa}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px}dialog h2{font-size:31px;line-height:1.3;margin:0}.close{border:1px solid #ccd4df;background:#f0f4f8;border-radius:8px;min-height:42px;min-width:42px;font-size:22px}.projector-content{font-size:22px;line-height:1.8;white-space:pre-wrap;margin-top:25px}.course-theme{--accent:#285d4a;--pale:#e5f3ea;background:#eff4ef;color:#263d32}.course-theme .ribbon{background:#285a49}.course-theme .side{background:#e3eee6;color:#27513f;border-right:1px solid #bdcebf}.course-theme .side nav button{color:#3d624e}.course-theme .side nav button.active{background:#2f654f;border-color:#2f654f;color:#fff}.course-theme .side-note{border-color:#aec9b7;color:#436550}.course-theme .hero{background:#dceee1;border-color:#b5d2be}.course-theme .brand small{color:#668571}.course-theme .main{padding-top:25px}.course-theme .panel{border-color:#c3d2c6}.course-theme .fields{grid-template-columns:minmax(0,1fr) 150px}
@media(max-width:900px){.app{grid-template-columns:175px minmax(0,1fr)}.main{padding:22px}.tiles{grid-template-columns:1fr}.tile{padding:17px}.hero{padding:24px}.panel{padding:21px}}@media(max-width:600px){.ribbon{padding:10px 15px;font-size:11px}.app{display:block}.side{padding:17px}.brand{font-size:24px}.side nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:18px}.side nav button{text-align:center;min-height:43px;padding:10px;font-size:12px}.side-note{display:none}.main{padding:20px 15px}.hero{padding:23px 19px}.hero h1{font-size:34px}.fields,.course-theme .fields{grid-template-columns:1fr}.panel{padding:20px 16px}.actions .btn{flex:1 1 140px}.top{gap:12px}.top span{font-size:10px}.projector-content{font-size:18px}dialog{padding:22px}.dialog-head h2{font-size:24px}}

/* Phone forms keep native text legible without focus zoom. */
@media(max-width:600px){input[type=text],input[type=search],input[type=number],textarea,.fields select,.top select{font-size:16px}.side nav button,.close{min-height:44px;min-width:44px}.dialog-head h2{min-width:0;overflow-wrap:anywhere}.document,.projector-content{overflow-wrap:anywhere}.btn{max-width:100%;white-space:normal;text-align:center}}
