:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#163454;background:#fffaf2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#fffaf2;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #0c5cc0;outline-offset:4px}[hidden]{display:none!important}header,main,footer{max-width:900px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:24px}.brand{display:flex;align-items:center;gap:8px;font-size:28px;font-weight:850;letter-spacing:-1px}.app-logo{object-fit:contain}.accent{color:#1e83c8}.brand small{display:block;font-size:11px;font-weight:600;letter-spacing:.2px;color:#58718b}button{background:white;border:1px solid #d5e2f0;border-radius:13px;padding:12px 16px;color:#163f77;font-weight:700}#install{box-shadow:0 4px 10px #163f7708}main{padding:0 24px}#view{outline:none!important}.welcome{position:relative;overflow:hidden;background:#fff; border:1px solid #e8e1d8;border-radius:25px;padding:30px 32px;margin:10px 0 24px;box-shadow:0 5px 18px #4e433b09}.eyebrow{font-size:11px;font-weight:850;letter-spacing:2px;color:#4066a4}.welcome h1{font-size:39px;letter-spacing:-1.5px;margin:9px 0 10px}.welcome p{font-size:16px;color:#4b6480;max-width:70%;line-height:1.6}.welcome-art{position:absolute;right:24px;top:35px;font-size:35px;color:#7f62c4;transform:rotate(-12deg);opacity:.6}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tile{--ink:#174f96;--bg:#d9ebff;--line:#b6d3f3;display:flex;align-items:center;gap:16px;text-align:left;padding:23px 22px;border-radius:21px;background:var(--bg);border:1px solid var(--line);color:var(--ink);box-shadow:0 4px 12px #263b5510;min-width:0;transition:transform .15s,box-shadow .15s}.tile:hover{transform:translateY(-3px);box-shadow:0 7px 17px #263b5518}.tile.purple{--ink:#6339a0;--bg:#e9ddff;--line:#d6c0f6}.tile.orange{--ink:#90420a;--bg:#ffdcb6;--line:#efbf8d}.tile.green{--ink:#11634d;--bg:#cef2e2;--line:#a5dbc5}.tile.pink{--ink:#963b69;--bg:#ffe6f2;--line:#f5c5df}.tile-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;font-size:29px;background:#ffffffaf;border-radius:16px;font-weight:750}.tile-body{display:grid;gap:7px;min-width:0}.tile strong{font-size:20px;line-height:1.2;letter-spacing:-.3px}.tile small{font-size:12px;line-height:1.5}.arrow{margin-left:auto;font-size:21px}.home-tiles .tile{min-height:145px}.cheer{text-align:center;color:#58718b;font-size:14px;margin:31px 0}.trail{display:flex;justify-content:space-between;gap:15px;margin:8px 0 24px;font-size:14px;font-weight:700;color:#3a628f}.trail a{padding:10px;background:#fff;border-radius:11px}h1{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin:15px 0 10px}.intro{font-size:15px;color:#58718b;line-height:1.6;margin-bottom:24px}.back{display:block;font-size:13px;color:#456f9e;margin:0 0 22px;font-weight:700}input{width:100%;padding:16px;border:1px solid #d1dfef;border-radius:14px;background:white;font-size:16px;color:#163454}.material-list{display:grid;gap:12px;margin-top:20px}.material{display:flex;background:#fff;border:1px solid #dce7f3;border-radius:17px;box-shadow:0 3px 0 #e1ebf7;overflow:hidden;align-items:center}.material-link{padding:17px 10px 17px 18px;display:flex;align-items:center;gap:13px;flex:1;min-width:0}.material strong{font-size:16px;font-weight:700;line-height:1.4;flex:1}.file-icon{width:38px;height:42px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;font-size:23px}.pdf{background:#e4efff;color:#215aa5}.interactive{background:#eee3ff;color:#7040a6}.file-type{font-size:11px;font-weight:750;padding:7px 9px;border-radius:8px;white-space:nowrap}.favorite{border:0;background:none;color:#916000;font-size:27px;min-width:44px;min-height:44px;padding:8px;margin-right:6px}.hint{font-size:12px;color:#58718b;line-height:1.7;margin:25px 0}.install-box{padding:25px;background:#fff1cc;border:1px solid #efd293;border-radius:20px;margin-top:25px}.install-box p{line-height:1.7}.install-box h2{font-size:23px}footer{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:#627b95;padding:28px 24px;margin-top:30px}footer span{margin-left:auto}#status{color:#17664e;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:560px){header{padding:18px 16px}.brand{font-size:25px}.brand small{font-size:10px}#install{font-size:12px;padding:10px}main{padding:0 16px}.welcome{padding:24px 21px;margin-top:5px}.welcome h1{font-size:31px}.welcome p{font-size:14px;max-width:83%;margin-bottom:0}.welcome-art{font-size:24px;right:17px;top:32px}.tiles{gap:14px;grid-template-columns:1fr}.home-tiles{grid-template-columns:1fr 1fr;gap:13px}.home-tiles .tile{min-height:188px;display:flex;flex-direction:column;align-items:flex-start;padding:18px 15px;gap:13px;position:relative}.home-tiles .tile-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px;font-size:25px}.home-tiles .tile strong{font-size:18px}.home-tiles .tile small{font-size:11px}.home-tiles .arrow{position:absolute;top:25px;right:15px}.tile{padding:19px 17px}.tile strong{font-size:18px}.tile-icon{width:45px;height:45px;flex-basis:45px}.material-link{flex-wrap:wrap;gap:9px;padding:14px 8px 14px 14px}.material strong{font-size:14px;flex-basis:calc(100% - 50px)}.file-type{margin-left:47px}.file-icon{width:35px;flex-basis:35px;height:38px}.cheer{font-size:12px}footer span{margin-left:0}h1{font-size:28px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.material.has-pdf-actions{flex-wrap:wrap}.has-pdf-actions .material-link{flex-basis:calc(100% - 55px)}.pdf-actions{display:flex;gap:8px;flex-wrap:wrap;width:100%;padding:0 16px 16px}.pdf-actions a,.pdf-actions button{font:700 12px system-ui;border:1px solid #cbdcf1;background:#eff6ff;color:#174f96;border-radius:10px;padding:10px 12px;min-height:40px;display:inline-flex;align-items:center}.pdf-actions a{background:white}.pdf-dialog{border:0;border-radius:22px;padding:26px;max-width:440px;width:calc(100% - 32px);color:#163454;box-shadow:0 20px 80px #102c5570}.pdf-dialog::backdrop{background:#0e254d88}.pdf-dialog h2{font-size:21px;margin:0 0 14px}.pdf-dialog p{font-size:14px;line-height:1.65}.pdf-dialog-actions{display:grid;gap:12px;margin:22px 0}.pdf-download,.pdf-primary{display:block;text-align:center;border-radius:12px;padding:13px;font-size:14px;font-weight:750}.pdf-primary{background:#174f96;color:white;border-color:#174f96}.pdf-download{background:#e8f1ff;color:#174f96}.pdf-close{width:100%}

@media(max-width:560px){.material-link{flex-wrap:nowrap;gap:8px}.material strong{flex:1;flex-basis:auto;min-width:0}.file-type{margin-left:0;flex-shrink:0;padding:6px;font-size:10px}.file-icon{width:28px;height:32px;flex-basis:28px;font-size:20px}.favorite{min-width:36px;padding:4px;margin-right:3px}.has-pdf-actions .material-link{flex-basis:calc(100% - 42px)}.pdf-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px 12px}.pdf-actions a,.pdf-actions button{justify-content:center;white-space:nowrap;padding:9px 5px;font-size:12px;min-width:0;letter-spacing:0}}

.resource-frame{display:block;width:100%;height:calc(100dvh - 190px);min-height:450px;border:1px solid #d4e2f2;border-radius:16px;background:#fff}body:has(.resource-frame) header{position:sticky;top:0;z-index:20;background:#fffaf2f5}body:has(.resource-frame) footer{margin-top:5px;padding-top:12px}@media(max-width:560px){.resource-frame{height:calc(100dvh - 175px);min-height:360px}}

.welcome{padding-right:215px;min-height:205px}.welcome p{max-width:100%}.welcome-teacher{position:absolute;right:25px;top:50%;transform:translateY(-50%);width:155px;display:flex;flex-direction:column;align-items:center;gap:9px}.welcome-teacher img{width:110px;height:auto;display:block;border-radius:18px}.teacher-name{font-size:13px;font-weight:750;text-align:center;line-height:1.4;color:#163454}@media(max-width:560px){.welcome{display:grid;grid-template-columns:minmax(0,1fr) 100px;column-gap:12px;align-items:center;padding:22px 18px;min-height:180px}.welcome .eyebrow,.welcome h1,.welcome p{grid-column:1;margin-right:0;max-width:100%}.welcome h1{font-size:clamp(24px,6.3vw,31px);letter-spacing:-.8px}.welcome p{font-size:13px}.welcome-teacher{position:static;transform:none;grid-column:2;grid-row:1 / 4;width:100%;gap:7px}.welcome-teacher img{width:90px;max-width:100%;border-radius:14px}.teacher-name{font-size:12px}}@media(max-width:350px){.welcome{grid-template-columns:minmax(0,1fr) 80px;padding:20px 14px;column-gap:9px}.teacher-name{font-size:11px}.welcome .eyebrow{font-size:9px;letter-spacing:1px}}
