:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#213b32;background:#f4f6f2;font-synthesis:none;line-height:1.6;font-size:15px}*{box-sizing:border-box}body{margin:0}header{height:80px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dee6dd;background:#fff}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:18px}.mark{display:grid;place-items:center;width:36px;height:36px;background:#215847;border-radius:10px;color:#fff;font-size:18px}.header-label{color:#7b877d;font-size:13px}main{max-width:1120px;margin:36px auto 60px;padding:0 24px;min-height:65vh}h1{font-size:32px;line-height:1.35;letter-spacing:-.8px;margin:18px 0 10px;overflow-wrap:anywhere}h2{font-size:19px;margin:0 0 12px}p{margin:8px 0 16px;overflow-wrap:anywhere}.muted{color:#748277;font-size:13px}.eyebrow{color:#537762;font-size:12px;letter-spacing:1px;font-weight:600}.card{background:#fff;border:1px solid #dfe7dd;border-radius:16px;padding:28px;box-shadow:0 3px 9px #293c2d04}.welcome{max-width:640px;margin:90px auto;text-align:center;padding:60px 30px}.welcome h1{margin:18px 0}.text-link{font-size:14px;color:#215847}.text-link:hover{text-decoration:underline}button,input{font:inherit}button{border:1px solid transparent;border-radius:8px;padding:10px 18px;cursor:pointer;font-weight:550;white-space:nowrap;min-height:44px}button:disabled{opacity:.5;cursor:wait}.primary{background:#215847;color:#fff}.primary:hover{background:#174536}.secondary{background:#fff;border-color:#d5ded3;color:#304f3d}.danger{color:#a33a32;background:#fcf0ed;border-color:#f1ccc4}.text-button,.delete-button{background:none;color:#728273;padding:6px 10px}.delete-button{color:#a5544b;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.toolbar{margin:26px 0}label{display:block;font-weight:550;font-size:14px;margin:16px 0 7px}input{display:block;width:100%;border:1px solid #ced9ca;border-radius:8px;background:#fff;padding:12px 14px;min-height:48px;color:#213b32}input:focus{outline:3px solid #dceadd;border-color:#537e60}form>button{width:100%;margin-top:24px}.login{max-width:470px;margin:70px auto}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.create-form{margin:28px 0 34px;max-width:780px}.create-form label{margin:0 0 12px}.create-form p{margin:12px 0 0}.create-row{display:flex;gap:12px}.create-row input{flex:1;min-width:0}.activity-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.activity-card{display:block;background:#fff;border:1px solid #dfe7dd;border-radius:14px;padding:24px;transition:box-shadow .15s}.activity-card:hover{box-shadow:0 5px 20px #23452d0c;border-color:#aabfa8}.activity-card h2{margin-top:18px;overflow-wrap:anywhere}.badge{display:inline-block;font-size:12px;padding:4px 10px;border-radius:20px;background:#e6f0e5;color:#426d43;white-space:nowrap}.badge.closed{background:#edf0eb;color:#7a8279}.detail-heading{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:26px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stats .card{display:flex;align-items:baseline;gap:15px;padding:20px 24px}.stats strong{font-size:32px;font-weight:600}.stats span{color:#738273;font-size:13px}.share{display:flex;align-items:center;gap:34px;padding:20px 28px}.share canvas{flex-shrink:0;max-width:100%;height:auto!important}.signup-link{display:block;font-size:13px;color:#4c725d;overflow-wrap:anywhere}.share>div{min-width:0}.group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:24px 0}.group-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.group-heading h2{margin:0}.member{display:flex;gap:14px;justify-content:space-between;padding:16px 0;border-top:1px solid #edf0ea;align-items:center}.member>div{min-width:0}.member strong{font-size:16px;overflow-wrap:anywhere}.member p{font-size:14px;margin:4px 0;color:#586c5e}.member small{font-size:11px;color:#97a093}.closed-note{padding:12px 18px;background:#e8eee5;border-radius:8px;font-size:14px}.updated{text-align:right}.empty{color:#83917f;padding:36px;text-align:center;grid-column:1/-1}.teacher-main{max-width:540px;margin-top:50px}.intro{text-align:center;margin-bottom:28px}.teacher-main .card{padding:34px}.teacher-main .card:has(.success-icon){text-align:center}.success-icon{border-radius:50%;background:#e8f1e4;color:#426f49;width:56px;height:56px;display:grid;place-items:center;font-size:27px;margin:0 auto 20px}.group-result{background:#f0f5ed;border-radius:12px;padding:22px;margin:24px 0}.group-result span{font-size:12px;color:#7c8b76;display:block}.group-result strong{font-size:34px;display:block;margin-top:4px}.warning{background:#fff4dc;color:#8a6121;padding:12px;border-radius:8px;font-size:13px}footer{text-align:center;color:#a0ab9b;font-size:12px;padding:28px}#notice{position:fixed;bottom:25px;left:50%;transform:translate(-50%);max-width:calc(100vw - 32px);background:#253e30;color:#fff;padding:14px 22px;border-radius:10px;z-index:5;box-shadow:0 8px 24px #0002}#notice[hidden]{display:none}:focus-visible{outline:3px solid #98b79b;outline-offset:3px}@media(max-width:700px){header{height:66px;padding:0 20px}.header-label{display:none}main{padding:0 18px;margin-top:26px}h1{font-size:26px}.card{padding:22px}.activity-list,.group-grid{grid-template-columns:1fr}.create-row{flex-direction:column}.stats{gap:8px}.stats .card{padding:12px;gap:2px;flex-direction:column}.stats strong{font-size:26px}.share{flex-direction:column;text-align:center;gap:10px}.share .actions{justify-content:center}.detail-heading{align-items:flex-start;gap:12px}.detail-heading h1{font-size:24px;margin:0}.teacher-main{margin-top:32px}.teacher-main .card{padding:26px}.login{margin-top:40px}}@media print{header,footer,.admin-top,.share,.toolbar,.text-link,.delete-button,#notice,.updated{display:none!important}body{background:#fff;color:#000}main{max-width:none;margin:0;padding:0}.card{border-color:#bbb;box-shadow:none;break-inside:avoid}.group-grid{display:block}.group-card{margin:12px 0}.detail-heading h1{font-size:22px}.stats .card{padding:8px}.stats strong{font-size:18px}}
