:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#203b39;background:#f4f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{border:1px solid #c8d7d1;border-radius:9px;background:white;color:#244f47;padding:11px 16px;cursor:pointer;min-height:44px}button:hover{background:#eaf2ed}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e4af42;outline-offset:3px}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}aside{background:#163f39;color:#e7f1ed;padding:35px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-weight:650;letter-spacing:2px}.logo{font-size:44px;color:#c9de9e}.brand small{display:block;font-size:10px;letter-spacing:1.6px;font-weight:400;margin-top:7px}.eyebrow{font-size:11px;letter-spacing:2px;color:#68857b;font-weight:600}aside>.eyebrow{margin-top:55px;color:#9fbcb0}.nav{padding:16px 12px;background:#30564b;border-radius:8px;margin:12px -5px;font-size:14px}.aside-note{font-size:12px;line-height:2;color:#b0c9bc;margin-top:30px}.stage{margin-top:auto;border-top:1px solid #426358;padding-top:22px;font-size:12px;line-height:2}.stage span{color:#b4c6b9}main{padding:0 44px 24px;min-width:0;max-width:1550px;width:100%;margin:auto}header{min-height:84px;border-bottom:1px solid #dce4df;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#698179}#account{display:flex;align-items:center;gap:15px}.heading{display:flex;justify-content:space-between;align-items:center;margin:38px 0 30px;gap:16px}h1{font-size:30px;letter-spacing:-1px;font-weight:650;margin:12px 0}p{font-size:14px;line-height:1.8;color:#687d74}h2{font-size:17px;font-weight:600;margin:0 0 14px}.badge{background:#e5ecdf;border-radius:30px;padding:10px 16px;white-space:nowrap;font-size:12px}.card{background:white;border:1px solid #dee6df;border-radius:16px;padding:28px;box-shadow:0 6px 24px #183d3010}.layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;align-items:start}label{display:block;font-size:13px;color:#34584d;margin:18px 0}input:not([type=file]){display:block;width:100%;padding:13px;border:1px solid #cad8cf;border-radius:8px;margin-top:9px;background:#fcfdfb;min-width:0}.drop{border:1px dashed #93b1a1;padding:23px 18px;border-radius:10px;background:#f6f9f3;line-height:1.8}.drop input{display:block;max-width:100%;font-size:12px;margin:15px 0}.drop span{font-size:11px;color:#7c9086}.primary{background:#205b49;color:white;border:0}.primary:hover{background:#174c3a}.upload .primary,.login .primary{width:100%}.muted{font-size:12px;color:#788b81}.tip{border-top:1px solid #e4e9e2;margin-top:24px;padding-top:22px;font-size:12px}.tip p{font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{margin:0}.quiet{border:0;font-size:12px;background:#f2f6f0}.item{padding:20px 0;border-bottom:1px solid #e6ece6;display:flex;align-items:center;gap:14px}.item:last-child{border-bottom:0}.file-icon{background:#eef3e6;width:44px;height:48px;display:grid;place-items:center;border-radius:8px;flex-shrink:0;font-size:20px}.item-text{flex:1;min-width:0}.item h3{font-size:14px;margin:0 0 8px;overflow-wrap:anywhere}.item p{font-size:11px;margin:0}.item button{padding:8px 12px;font-size:12px}.empty{text-align:center;padding:55px 15px}.empty span{font-size:36px;color:#9aaf8a}.preview{margin-top:24px}.preview h2{overflow-wrap:anywhere}video{display:block;width:100%;max-height:460px;background:#172a26;border-radius:10px;margin-top:24px}audio{width:100%;margin-top:24px}.rename{display:flex;align-items:end;gap:12px}.rename label{flex:1;margin-bottom:0}.download{color:#216650;font-size:13px}.login{max-width:490px;margin:65px auto}.login h1{font-size:26px}footer{margin:32px 0 0;font-size:11px;color:#91a095}#notice:not(:empty){padding:14px 18px;background:#e8efdc;border:1px solid #bfceae;border-radius:9px;margin-top:18px;font-size:13px;overflow-wrap:anywhere}#notice.error{background:#fff0e9;border-color:#e9c7b7;color:#953e26}progress{width:100%;accent-color:#25674c}#progress-text{font-size:12px}[hidden]{display:none!important}@media(max-width:1050px){.shell{grid-template-columns:190px minmax(0,1fr)}main{padding:0 25px 24px}.layout{grid-template-columns:1fr}.brand{font-size:14px}aside{padding:30px 18px}}@media(max-width:620px){.shell{display:block}aside{padding:16px 20px;display:block}.brand{font-size:15px}.logo{font-size:30px}.brand small{font-size:9px}aside>.eyebrow,.nav,.aside-note,.stage{display:none}main{padding:0 16px 20px}header{min-height:65px;font-size:11px}#account{gap:8px}.heading{margin:26px 0 23px;align-items:start}h1{font-size:25px}.heading p{font-size:12px}.badge{font-size:10px;padding:8px 10px;margin-top:20px}.card{padding:21px;border-radius:12px}.layout{gap:18px}.login{margin:28px auto}.login h1{font-size:23px}.item{gap:10px}.rename{display:block}.rename button{margin-top:12px}.preview{scroll-margin-top:12px}.section-title h2{font-size:16px}input{font-size:16px!important}}
/* Grid children must shrink below intrinsic file-input and title widths. */
.card{min-width:0}.drop input{width:100%;min-width:0}@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr)}}
textarea,select{font:inherit;display:block;width:100%;padding:12px;border:1px solid #cad8cf;border-radius:8px;margin-top:9px;background:#fcfdfb;color:#203b39;min-width:0}textarea{resize:vertical;line-height:1.7}select{min-height:44px}.metadata-panel{border-top:1px solid #dce6dc;margin-top:28px;padding-top:25px}.metadata-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.metadata-panel .check{display:flex;align-items:center;gap:9px}.check input[type=checkbox]{display:inline;width:18px;height:18px;margin:0;accent-color:#205b49}.material-tags{color:#326952!important;margin-top:9px!important}.material-summary{line-height:1.7!important;margin-top:7px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metadata-panel details{margin-top:24px;padding:18px;background:#f5f8ef;border-radius:9px}.metadata-panel summary{cursor:pointer;color:#265943;font-size:14px}#metadata-draft-content p{white-space:pre-wrap;overflow-wrap:anywhere}#metadata-status{color:#376b51}#metadata-form button{margin-bottom:8px}@media(max-width:620px){.metadata-grid{grid-template-columns:minmax(0,1fr);gap:0}.metadata-panel .section-title{align-items:start;flex-direction:column}textarea,select{font-size:16px}.library>.section-title{align-items:start;gap:5px}.library>.section-title>div{display:flex;flex-wrap:wrap;justify-content:flex-end}.library .quiet{padding:7px}}

.selection-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;font-size:12px}.selection-bar label{display:flex;align-items:center;gap:6px;margin:0}.selection-bar input,.item>input[type=checkbox]{display:inline;width:20px;height:20px;margin:0;flex-shrink:0;accent-color:#205b49}.item-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.item-text{min-width:0;flex:1}.item h3{overflow-wrap:anywhere}@media(max-width:620px){.item .file-icon{display:none}.item-actions{flex-direction:column}.item-actions button{padding:8px}.selection-bar{gap:8px}}

/* Keep material text full-width; compact actions live beneath its summary. */
.library .item{display:grid;grid-template-columns:20px 36px minmax(0,1fr);gap:8px 12px;align-items:start;padding:18px 0}
.library .item>input[type=checkbox]{grid-column:1;grid-row:1;margin-top:6px}
.library .item>.file-icon{grid-column:2;grid-row:1;width:36px;height:36px;font-size:18px}
.library .item>.item-text{grid-column:3;grid-row:1}
.library .item>.item-actions{grid-column:3;grid-row:2;display:flex;flex-direction:row;justify-content:flex-start;gap:4px;flex-wrap:wrap}
.library .item-actions button{min-height:32px;padding:4px 8px;border-color:transparent;border-radius:6px;background:transparent;font-size:12px;line-height:1.5;white-space:nowrap}
.library .item-actions button:hover{background:#eaf2ed;border-color:#d5e2d9}
.library .item-actions button:last-child{color:#8c5349}
.library .item-actions button:first-child{background:#edf4ee}
@media(max-width:620px){.library .item{grid-template-columns:20px minmax(0,1fr);column-gap:10px}.library .item>.item-text,.library .item>.item-actions{grid-column:2}.library .item-actions button{min-height:36px;padding:5px 8px}}

/* Material maintenance: compact actions with feedback beside the controls. */
.library .library-tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.library .library-tools button{padding:6px 10px;min-height:34px;font-size:13px;border-radius:8px}.library .library-status{font-size:13px;line-height:1.6;margin:0 0 12px;color:#57746c;overflow-wrap:anywhere}.library .library-status.error{color:#a43f38}@media(max-width:600px){.library .section-title{flex-wrap:wrap;gap:8px}.library .library-tools button{min-height:36px}}

/* Main navigation: real modules remain accessible on desktop and mobile. */
.site-nav{margin-top:30px}.site-nav .nav-group{margin:18px 0 8px;color:#b0c9bc;font-size:11px;letter-spacing:1px}.site-nav .nav{display:block;color:#ecf5ee;text-decoration:none;padding:12px 10px;margin:5px -5px;border-radius:8px;background:transparent;line-height:1.5}.site-nav .nav small{display:block;margin-top:5px;color:#bbcec5;font-size:10px;line-height:1.6}.site-nav .nav.active{background:#335b4e}.site-nav .nav:hover{background:#2c5548}.site-nav .nav:focus-visible{outline:2px solid #c8dca4;outline-offset:2px}.shell>aside{min-width:0}
@media(max-width:620px){.site-nav{margin-top:14px}.site-nav .nav-group{margin:10px 0 5px;font-size:10px}.site-nav .nav{display:block;margin:4px 0;padding:9px 10px;font-size:13px}.site-nav .nav small{font-size:10px}#teacher-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}#teacher-navigation .nav-group{grid-column:1/-1}.site-nav .nav{overflow-wrap:anywhere}}
