:root{--bg: #ffffff;--bg2: #f8fafc;--card: #ffffff;--card2: #f3f6fa;--line: #e2e8f0;--text: #182638;--muted: #607084;--accent: #2563eb;--good: #14804a;--mid: #fbbf24;--low: #c73b50;--radius: 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer}button:disabled{cursor:default}input,textarea,select{font:inherit}a{color:#2563eb}.avatar{--av: #a8a29e;display:inline-grid;place-items:center;flex:none;border-radius:50%;line-height:1;background:color-mix(in srgb,var(--av) 9%,white);color:color-mix(in srgb,var(--av) 65%,#182638);border:1px solid color-mix(in srgb,var(--av) 20%,white);font-weight:750;letter-spacing:-.03em}.avatar.is-sm{width:26px;height:26px;font-size:15px;box-shadow:none}.avatar.is-md{width:52px;height:52px;font-size:30px}.avatar.is-lg{width:76px;height:76px;font-size:44px}.sa-root{min-height:100vh;background:var(--bg)}.sa-main{max-width:760px;margin:0 auto;padding:20px 16px 48px}.sa-main.is-wide{max-width:1100px}.muted{color:var(--muted)}.small{font-size:.88rem}.center{text-align:center}.hero{text-align:center;padding:18px 0 8px}.hero-logo{font-size:3rem}.hero h1{font-size:clamp(2rem,7vw,3rem);margin:4px 0;letter-spacing:-.02em}.hero p{color:var(--muted);margin:0 auto;max-width:30em}.grade-block{margin-top:28px}.grade-title{font-size:1.5rem;margin:0 0 10px;display:flex;align-items:center;gap:10px}.grade-title:after{content:"";flex:1;height:2px;background:var(--line);border-radius:2px}.task-cards{display:grid;gap:12px}.task-card{display:grid;gap:4px;padding:18px 20px;border-radius:var(--radius);text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line);transition:transform .15s,border-color .15s}.task-card:hover{transform:translateY(-2px);border-color:var(--accent)}.task-card strong{font-size:1.35rem}.task-sub{color:var(--muted)}.task-go{justify-self:end;font-weight:700;color:var(--accent)}.task-grade{justify-self:start;display:inline-block;padding:3px 12px;border-radius:99px;font-weight:800;font-size:.9rem;background:var(--accent);color:#1b1b1b}.home-footer{text-align:center;margin-top:48px;font-size:.9rem}.home-footer a{color:var(--muted)}.notice{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:14px 0}.notice.is-error{border-color:var(--low);background:#fff1f2}.notice.is-good{border-color:var(--good);background:#effaf4}.notice p{margin:0 0 8px}.task-header{text-align:center;margin:4px 0 18px}.task-header h1{font-size:clamp(1.5rem,5.5vw,2.2rem);margin:10px 0 4px}.task-header p{color:var(--muted);margin:0}.step-title{display:flex;align-items:center;gap:10px;font-size:1.3rem;margin:22px 0 12px}.step-n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#1b1b1b;font-weight:800}.continue-as{width:100%;padding:14px;border-radius:12px;border:2px dashed var(--accent);background:transparent;color:var(--text);font-size:1.05rem}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.team-card{--team: #64748b;display:grid;justify-items:center;gap:4px;padding:20px 10px;border-radius:var(--radius);color:var(--text);background:color-mix(in srgb,var(--team) 22%,var(--card));border:1px solid var(--team);transition:transform .15s}.team-card:hover{transform:scale(1.03)}.team-emoji{font-size:3rem;line-height:1.1}.team-card strong{font-size:1.3rem}.team-count{color:var(--muted);font-size:.9rem}.chosen-team{--team: #64748b;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-radius:12px;background:color-mix(in srgb,var(--team) 25%,var(--card));border:1px solid var(--team);font-size:1.2rem;font-weight:700}.link-btn{background:none;border:0;color:#2563eb;text-decoration:underline;padding:4px}.name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.name-btn{position:relative;display:grid;justify-items:center;gap:8px;padding:14px 10px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:1.1rem;font-weight:700;transition:border-color .15s,transform .15s}.name-btn:hover{border-color:var(--accent);transform:translateY(-1px)}.name-btn.is-started{border-color:#4b6aa8}.started-mark{position:absolute;top:4px;right:8px;color:var(--good);font-size:.9rem}.ungrouped{margin-top:20px;color:var(--muted)}.ungrouped summary{cursor:pointer;margin-bottom:10px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:16px;z-index:50}.modal{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;max-width:380px;width:100%;text-align:center}.modal-q{font-size:1.5rem;margin:10px 0 8px}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.btn{padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-weight:700}.btn:hover:not(:disabled){border-color:#8fa6d8}.btn.is-primary{background:var(--accent);border-color:var(--accent);color:#1b1b1b}.btn.is-big{padding:14px 22px;font-size:1.1rem}.btn:disabled{opacity:.5}.row-gap{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.me-card{--team: #64748b;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-radius:var(--radius);background:color-mix(in srgb,var(--team) 20%,var(--card));border:1px solid var(--team)}.me-who{display:flex;align-items:center;gap:14px}.me-hi{font-size:1.4rem;margin:0}.me-team{margin:2px 0 0;font-weight:700}.me-progress{min-width:180px;flex:1;max-width:280px;display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.meter{height:10px;border-radius:99px;background:#f3f6fa;overflow:hidden}.meter-fill{height:100%;border-radius:99px;background:var(--accent);transition:width .4s}.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.skill-card{--c: #fff;display:grid;gap:6px;text-align:left;padding:16px;border-radius:var(--radius);color:var(--text);background:var(--card);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);transition:transform .15s}.skill-card:hover{transform:translateY(-2px);border-color:var(--c)}.skill-card.is-done{background:color-mix(in srgb,var(--c) 14%,var(--card))}.skill-emoji{font-size:2.2rem}.skill-name{font-size:1.3rem;font-weight:800}.skill-pt{color:var(--muted);font-size:.9rem}.skill-state{font-weight:700;color:var(--c);display:flex;gap:8px;align-items:center}.skill-badge{color:var(--c);font-weight:700}.score-pill{display:inline-block;padding:2px 10px;border-radius:99px;font-weight:800;color:#10182e;background:#cbd5e1}.score-pill.big{font-size:1.4rem;padding:4px 16px}.is-great.score-pill,.is-great .score-pill{background:var(--good)}.is-good.score-pill{background:#86efac}.is-mid.score-pill{background:var(--mid)}.is-low.score-pill{background:var(--low)}.runner-head{--c: #fff;display:flex;align-items:center;gap:10px;margin-bottom:10px}.runner-title{flex:1;text-align:center}.runner-skill{color:var(--c);font-weight:800}.runner-title h1{margin:2px 0 0;font-size:1.3rem}.runner-count{font-weight:800;color:var(--muted);min-width:44px;text-align:right}.instructions{color:var(--muted);margin:10px 0}.dots{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.dot{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:700;font-size:.85rem}.dot.is-current{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb55}.dot.is-answered.is-great,.dot.is-answered.is-good{background:#dcf4e6;border-color:var(--good)}.dot.is-answered.is-mid{background:#fef3c7;border-color:var(--mid)}.dot.is-answered.is-low{background:#ffe4e6;border-color:var(--low)}.dot.is-answered.is-none{background:#eef2f6}.passage{background:#f8f4e8;color:#1f2937;border-radius:var(--radius);padding:14px 18px;margin:12px 0;line-height:1.6;font-size:1.08rem}.passage summary{cursor:pointer;font-weight:800;color:#7c4a03}.passage p{margin:10px 0 0}.item-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:12px}.item-num{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.item-prompt{font-size:1.3rem;font-weight:700;margin:10px 0 14px;line-height:1.35}.audio-row{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin:12px 0}.audio-btn{flex:1 1 220px;display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 22px;border-radius:18px;border:1px solid #93c5fd;background:linear-gradient(180deg,#3b82f6,#1d4ed8);color:#fff;font-size:1.5rem;font-weight:900;box-shadow:0 6px #1e3a8a,0 10px 24px #1d4ed855;transition:transform .1s,box-shadow .1s}.audio-btn:active{transform:translateY(4px);box-shadow:0 2px #1e3a8a}.audio-ear{font-size:2.6rem;line-height:1;filter:drop-shadow(0 2px 2px #0005)}.audio-slow{align-self:center}.skip-row{display:flex;justify-content:flex-end;margin-top:14px}.skip-btn{background:transparent;border-style:dashed;color:var(--muted)}.options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:1.08rem}.option:hover:not(:disabled){border-color:var(--accent)}.option-letter{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:var(--card2);font-weight:800}.option.is-correct{border-color:var(--good);background:#effaf4}.option.is-correct .option-letter{background:var(--good);color:#10182e}.option.is-wrong{border-color:var(--low);background:#fff1f2}.option.is-dim{opacity:.55}.text-input{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#f3f6fa;color:var(--text);font-size:1.15rem;resize:vertical;margin-bottom:10px}.text-input:focus{outline:none;border-color:var(--accent)}.word-count{color:var(--muted);margin:0 0 10px;font-size:.9rem}.word-count.is-ok{color:var(--good)}.your-answer,.model-answer{background:var(--card);border-radius:12px;padding:12px 14px;margin:8px 0}.your-answer span,.model-answer span{color:var(--muted);font-size:.85rem;display:block}.result-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line)}.result-bar.is-great,.result-bar.is-good{border-color:var(--good)}.result-bar.is-mid{border-color:var(--mid)}.result-bar.is-low{border-color:var(--low)}.result-text{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;flex:1}.result-text strong{font-size:1.2rem}.result-score{font-weight:800;font-size:1.2rem;color:var(--accent)}.expected{flex-basis:100%;color:#14734b}.order-line{min-height:64px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border-radius:12px;border:2px dashed var(--accent);background:#f3f6fa;margin-bottom:12px}.order-bank{display:flex;flex-wrap:wrap;gap:8px}.word-chip{padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card2);color:var(--text);font-size:1.1rem;font-weight:700}.word-chip:disabled{opacity:.2}.word-chip.is-placed{background:var(--accent);color:#1b1b1b;border-color:var(--accent)}.speak-q{display:grid;gap:4px}.speak-target{font-size:1.45rem;font-weight:800;line-height:1.5;background:#f3f6fa;border-radius:12px;padding:14px 16px;margin:10px 0}.speak-target.is-template{color:var(--accent)}.w-ok{color:var(--good)}.w-miss{color:var(--low);text-decoration:underline wavy;text-underline-offset:5px}.scaffold{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0}.sc-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}.sc-card.is-chosen{border-color:var(--good);background:#effaf4}.sc-details{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.sc-chip{font-size:.85rem;padding:2px 8px;border-radius:99px;background:var(--card2)}.sc-chip.is-chosen{background:var(--good);color:#10182e}.mic-zone{display:grid;justify-items:center;gap:8px;margin:18px 0 6px;text-align:center}.mic-btn{width:110px;height:110px;border-radius:50%;border:0;font-size:3rem;color:#fff;background:#2563eb;box-shadow:0 0 #e11d4866;transition:transform .15s}.mic-btn:hover:not(:disabled){transform:scale(1.05)}.mic-btn.is-listening{animation:pulse 1.2s infinite}.mic-btn.is-listening.is-voice{background:#087c57}.mic-btn.is-analyzing,.mic-btn.is-modeling{background:#607084}.mic-btn:disabled{opacity:.85}@keyframes pulse{0%{box-shadow:0 0 #e11d4888}70%{box-shadow:0 0 0 26px #e11d4800}to{box-shadow:0 0 #e11d4800}}.mic-label{margin:0;font-weight:700}.speak-msg{margin:0;color:var(--accent);font-weight:700}.finish-card{--c: #fff;text-align:center;background:var(--bg2);border:1px solid var(--c);border-radius:var(--radius);padding:28px 18px;margin-top:18px}.finish-emoji{font-size:3.5rem}.finish-card h2{font-size:1.8rem;margin:6px 0}.finish-score{font-size:1.2rem}.board-root{min-height:100vh;background:var(--bg);padding:24px clamp(16px,4vw,48px)}.board-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}.board-head h1{font-size:clamp(1.8rem,4vw,3rem);margin:8px 0 4px}.board-head p{color:var(--muted);margin:0;font-size:1.1rem}.board-join{display:grid;justify-items:center;gap:6px;font-weight:700;color:var(--muted)}.qr{border-radius:8px;display:block}.board-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}.board-row{--team: #64748b;display:flex;align-items:center;gap:18px;padding:16px 22px;border-radius:20px;background:color-mix(in srgb,var(--team) 18%,var(--card));border:1px solid var(--team)}.board-pos{font-size:2rem;font-weight:900;color:var(--muted);min-width:56px}.board-emoji{font-size:3rem}.board-info{flex:1;display:grid;gap:8px}.board-info strong{font-size:1.8rem}.board-info .meter{height:16px}.board-meta{color:var(--muted)}.board-avg{font-size:2.6rem;font-weight:900}.board-foot{color:var(--muted);text-align:center;margin-top:24px}.tp-root{--t-bg: #f4f6fb;--t-card: #fff;--t-line: #dfe4ee;--t-text: #172033;--t-muted: #5f6b85;--t-accent: #2550c7;--t-zebra: #f3f5fa;min-height:100vh;background:var(--t-bg);color:var(--t-text)}.tp-root a{color:var(--t-accent)}.tp-center{text-align:center;padding:40px}.tp-muted{color:var(--t-muted)}.tp-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:8px;padding:8px 12px;margin:8px 0}.tp-warn{color:#b54708;font-weight:600}.tp-login-bg{display:grid;place-items:center;padding:16px;background:#f8fafc}.tp-login{background:#fff;border-radius:18px;padding:32px 28px;width:100%;max-width:340px;display:grid;gap:14px;text-align:center;box-shadow:0 20px 60px #0006}.tp-login-icon{font-size:2.4rem}.tp-login h1{margin:0;font-size:1.4rem}.tp-login input{padding:12px 14px;border:1px solid var(--t-line);border-radius:10px;font-size:1.1rem;text-align:center}.tp-login input:focus{outline:none;border-color:var(--t-accent)}.tp-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--t-line);background:#fff;color:var(--t-text);font-weight:600;text-decoration:none;font-size:.95rem;white-space:nowrap}.tp-root a.tp-btn{color:var(--t-text)}.tp-btn:hover:not(:disabled){border-color:#a9b4cc}.tp-btn.is-primary{background:var(--t-accent);border-color:var(--t-accent);color:#fff}.tp-btn.is-danger{color:#b42318;border-color:#fecdca}.tp-btn.is-ghost{background:transparent;border-color:transparent}.tp-btn:disabled{opacity:.5}.tp-link{background:none;border:0;color:var(--t-accent);padding:2px 4px;font-size:.9rem;text-decoration:underline}.tp-icon-btn{background:none;border:1px solid transparent;border-radius:6px;padding:2px 8px;font-size:1rem;color:var(--t-muted)}.tp-icon-btn:hover{border-color:var(--t-line);background:#fff}.tp-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tp-push{margin-left:auto}.tp-chip{display:inline-block;background:#fff;color:#2563eb;font-weight:800;padding:2px 10px;border-radius:99px;font-size:.85rem}.tp-tag{display:inline-block;margin-left:6px;font-size:.72rem;padding:1px 6px;border-radius:4px;background:#fff4e5;color:#9a5b00;border:1px solid #f8d7a3;vertical-align:middle}.tp-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#fff;color:#fff}.tp-brand{font-weight:800;font-size:1.1rem}.tp-brand span{color:#2563eb;font-weight:600}.tp-top .tp-btn.is-ghost,.tp-top a.tp-btn.is-ghost{color:#dbe4ff}.tp-top-actions{display:flex;gap:6px}.tp-layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 52px)}.tp-side{border-right:1px solid var(--t-line);background:#fff;padding:16px 12px}.tp-side h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t-muted);margin:18px 6px 6px}.tp-new{width:100%;justify-content:center}.tp-task-list{list-style:none;padding:0;margin:0;display:grid;gap:2px}.tp-task-link{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;padding:8px;border-radius:8px;border:0;background:transparent;color:var(--t-text);font-weight:600;font-size:.95rem}.tp-task-link small{display:block;color:var(--t-muted);font-weight:500;font-size:.78rem}.tp-task-link:hover{background:var(--t-zebra)}.tp-task-link.is-active{background:#e8eefc;color:var(--t-accent)}.tp-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#c3cad8;margin-top:7px}.tp-dot.is-open{background:#12b76a}.tp-main{padding:20px clamp(12px,3vw,32px) 60px;min-width:0}.tp-empty{text-align:center;padding:60px 16px}.tp-task-head{background:#fff;border:1px solid var(--t-line);border-radius:12px;padding:16px 18px}.tp-task-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}.tp-task-title h1{margin:6px 0 2px;font-size:1.5rem}.tp-task-title p{margin:0}.tp-switch{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;border:1px solid var(--t-line);background:#f2f4f7;font-weight:700;color:var(--t-muted)}.tp-switch-knob{width:34px;height:20px;border-radius:99px;background:#c3cad8;position:relative;transition:background .2s}.tp-switch-knob:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s}.tp-switch.is-on{color:#067647;background:#ecfdf3;border-color:#abefc6}.tp-switch.is-on .tp-switch-knob{background:#12b76a}.tp-switch.is-on .tp-switch-knob:after{left:16px}.tp-tabs{display:flex;gap:4px;margin:16px 0 14px;border-bottom:2px solid var(--t-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tp-tabs button{border:0;background:none;padding:10px 14px;font-weight:700;color:var(--t-muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}.tp-tabs button.is-active{color:var(--t-accent);border-bottom-color:var(--t-accent)}.tp-help{background:#eef4ff;border:1px solid #c7d7fe;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:.93rem;line-height:1.5}.tp-save{float:right;font-weight:700}.tp-save.is-saving{color:var(--t-muted)}.tp-save.is-saved{color:#067647}.tp-save.is-error{color:#b42318}.tp-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.tp-sticky{position:sticky;top:52px;z-index:5;background:var(--t-bg);padding:8px 0}.tp-sep{color:var(--t-muted);font-size:.85rem}.tp-inline{display:inline-flex;align-items:center;gap:6px;font-weight:600}.tp-inline select,.tp-select,.tp-inline input{padding:7px 8px;border:1px solid var(--t-line);border-radius:8px;background:#fff}.tp-free{background:#fff;border:1px dashed #a9b4cc;border-radius:12px;padding:12px 14px;margin-bottom:14px}.tp-free-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.tp-free-head h3{margin:0;font-size:1rem}.tp-sel-count{background:var(--t-accent);color:#fff;font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:99px}.tp-stu-list{display:flex;flex-wrap:wrap;gap:6px}.tp-stu{display:inline-flex;align-items:center;border:1px solid var(--t-line);border-radius:99px;background:#f8fafc;overflow:hidden}.tp-stu-adapt{font-size:.7rem;font-weight:700;color:#9a5b00;margin-left:4px}.tp-stu.is-sel .tp-stu-adapt{color:#ffe3b3}.tp-stu .avatar{margin-right:6px;vertical-align:middle}.tp-stu button{border:0;background:none;padding:6px 12px;font-weight:600;color:var(--t-text)}.tp-stu .tp-stu-x{padding:6px 9px 6px 2px;color:var(--t-muted)}.tp-stu.is-sel{background:var(--t-accent);border-color:var(--t-accent)}.tp-stu.is-sel button{color:#fff}.tp-empty-note{color:var(--t-muted);font-style:italic}.tp-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.tp-group{--team: #64748b;min-width:0;background:#fff;border:1px solid var(--t-line);border-top:6px solid var(--team);border-radius:12px;padding:12px;display:grid;gap:10px;align-content:start}.tp-group header{display:flex;align-items:center;gap:8px}.tp-emoji{font-size:1.8rem;border:1px dashed var(--t-line);border-radius:10px;background:#fff;padding:2px 6px}.tp-group-name{flex:1;min-width:0;width:100%;font-size:1.2rem;font-weight:800;border:1px solid transparent;border-radius:8px;padding:6px 8px;color:var(--t-text);background:transparent}.tp-group-name:hover,.tp-group-name:focus{border-color:var(--t-line);background:#fff;outline:none}.tp-gender-mark{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;color:var(--t-muted)}.tp-gender-mark button{border:1px solid var(--t-line);background:#fff;border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:600}.tp-gender-mark button:hover{border-color:#a9b4cc}.tp-group footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.tp-picker{display:grid;gap:8px;padding:8px;border:1px solid var(--t-line);border-radius:10px;background:#f8fafc}.tp-picker>div{display:flex;flex-wrap:wrap;gap:4px}.tp-picker button{border:0;background:none;font-size:1.4rem;padding:2px;border-radius:6px}.tp-picker button:hover{background:#e4e8f1}.tp-color{width:26px;height:26px;border-radius:50%!important;border:1px solid #fff!important;box-shadow:0 0 0 1px var(--t-line)}.tp-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tp-stat{--team: var(--t-line);background:#fff;border:1px solid var(--t-line);border-radius:10px;padding:8px 14px;display:grid;min-width:110px}.tp-stat b{font-size:1.3rem}.tp-stat span{color:var(--t-muted);font-size:.82rem}.tp-stat.is-warn{border-color:#f8d7a3;background:#fffaeb}.tp-stat.is-team{border-left:6px solid var(--team)}.tp-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--t-line);border-radius:12px}.tp-table{width:100%;border-collapse:collapse;font-size:.93rem}.tp-table th{text-align:left;padding:10px;background:#fff;color:#fff;font-weight:700;white-space:nowrap;position:sticky;top:0}.tp-table td{padding:8px 10px;border-top:1px solid var(--t-line);vertical-align:middle}.tp-table tbody tr:nth-child(2n) td{background:var(--t-zebra)}.tp-table tr.is-click{cursor:pointer}.tp-table tr.is-click:hover td{background:#e8eefc}.tp-table .num{text-align:center;white-space:nowrap}.tp-frac{display:block;color:var(--t-muted);font-size:.75rem}.tp-score{font-weight:800;padding:1px 8px;border-radius:6px}.tp-score.is-great{background:#d1fadf;color:#05603a}.tp-score.is-good{background:#e3fbe9;color:#067647}.tp-score.is-mid{background:#fef0c7;color:#93370d}.tp-score.is-low{background:#fee4e2;color:#b42318}.tp-score.is-none{color:var(--t-muted)}.tp-status{font-weight:700;font-size:.85rem}.tp-status.is-done{color:#067647}.tp-status.is-doing{color:#b54708}.tp-status.is-not-started{color:var(--t-muted)}.tp-when{display:block;font-size:.75rem}.tp-gtag{--team: #64748b;display:inline-block;padding:1px 8px;border-radius:99px;border:1px solid var(--team);white-space:nowrap;font-weight:600}.tp-who{display:flex;align-items:center;gap:8px}.tp-who .avatar{flex:none}.tp-av-cell{position:relative}.tp-av-btn{border:0;background:none;padding:0}.tp-av-picker{position:absolute;z-index:20;top:100%;left:0;width:260px;display:flex;flex-wrap:wrap;gap:2px;padding:8px;background:#fff;border:1px solid var(--t-line);border-radius:10px;box-shadow:0 10px 30px #0002}.tp-av-picker button{border:0;background:none;font-size:1.4rem;padding:3px;border-radius:6px}.tp-av-picker button:hover{background:var(--t-zebra)}.tp-seg.is-small button{padding:4px 10px;font-size:1.1rem}.tp-seg button.is-boy{background:#2563eb;color:#fff}.tp-seg button.is-girl{background:#ec4899;color:#fff}.tp-cell{width:100%;min-width:120px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent}.tp-cell:hover,.tp-cell:focus{border-color:var(--t-line);background:#fff;outline:none}.tp-cell.is-small{min-width:80px}.tp-cell.is-wide{min-width:300px}.tp-cell.is-dup{border-color:#fda29b;background:#fef3f2}.tp-drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:40;display:flex;justify-content:flex-end}.tp-drawer{width:min(720px,100%);height:100%;overflow-y:auto;background:var(--t-bg);padding:18px;box-shadow:-10px 0 40px #0003}.tp-drawer-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.tp-drawer-head h2{margin:0}.tp-skill-block{--c: #ccc;background:#fff;border:1px solid var(--t-line);border-left:6px solid var(--c);border-radius:12px;padding:12px 14px;margin:12px 0}.tp-skill-block header{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tp-skill-block h3{margin:0}.tp-override{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:10px 0;padding:10px;border-radius:8px;background:var(--t-zebra)}.tp-override label{display:grid;gap:2px;font-size:.82rem;color:var(--t-muted);font-weight:600}.tp-override input{padding:7px 8px;border:1px solid var(--t-line);border-radius:8px;width:90px}.tp-override .tp-grow{flex:1}.tp-override .tp-grow input{width:100%}.tp-answers{margin:0;padding-left:22px;display:grid;gap:8px}.tp-answers li{padding:6px 0;border-bottom:1px solid var(--t-zebra)}.tp-answers li.is-empty{opacity:.6}.tp-a-q{font-weight:600}.tp-a-type{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;background:#eef2f6;color:var(--t-muted);padding:1px 6px;border-radius:4px;vertical-align:middle}.tp-a-row{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-top:4px;font-size:.92rem}.tp-modal{background:#fff;margin:auto;border-radius:14px;padding:20px;width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto}.tp-modal h2{margin-top:0}.tp-form{display:grid;gap:10px}.tp-form label{display:grid;gap:4px;font-weight:600;font-size:.88rem;color:var(--t-muted)}.tp-form input,.tp-form select,.tp-form textarea,.tp-card textarea{padding:8px 10px;border:1px solid var(--t-line);border-radius:8px;color:var(--t-text);background:#fff;font-size:.95rem;width:100%}.tp-form textarea{resize:vertical}.tp-form fieldset{border:1px solid var(--t-line);border-radius:10px;padding:8px 12px;display:grid;gap:8px}.tp-form legend{font-weight:700;color:var(--t-muted);font-size:.88rem}.tp-form-row{display:flex;flex-wrap:wrap;gap:10px}.tp-form-row>label{flex:1 1 200px}.tp-form-row>.tp-grow{flex:3 1 260px}.tp-radio{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important;color:var(--t-text)!important}.tp-radio input{width:auto!important}.tp-radio select{flex:1;min-width:180px}.tp-seg{display:inline-flex;border:1px solid var(--t-line);border-radius:10px;overflow:hidden;background:#fff;flex-wrap:wrap}.tp-seg button{border:0;background:none;padding:8px 14px;font-weight:700;color:var(--t-muted)}.tp-seg button.is-active{background:#fff;color:#2563eb}.tp-sec{--c: #ccc;background:#fff;border:1px solid var(--t-line);border-top:5px solid var(--c);border-radius:12px;padding:14px;margin-bottom:14px;display:grid;gap:12px}.tp-sec>header{display:flex;align-items:center;gap:10px}.tp-sec h3{margin:0}.tp-items{list-style:none;padding:0;margin:0;display:grid;gap:10px}.tp-item{border:1px solid var(--t-line);border-radius:10px;padding:10px 12px;background:#fcfdff;display:grid;gap:8px}.tp-item:nth-child(2n){background:var(--t-zebra)}.tp-item-head{display:flex;align-items:center;gap:8px}.tp-options{display:grid;gap:6px}.tp-option{display:flex;align-items:center;gap:8px}.tp-option input[type=radio]{width:18px;height:18px;flex:none;accent-color:#12b76a}.tp-share-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.tp-card{background:#fff;border:1px solid var(--t-line);border-radius:12px;padding:14px 16px;display:grid;gap:10px;align-content:start;margin-top:12px}.tp-share-grid .tp-card{margin-top:0}.tp-card h3{margin:0}.tp-link-box code{display:block;padding:10px 12px;background:var(--t-zebra);border-radius:8px;font-size:1.05rem;word-break:break-all}.tp-qr{display:grid;justify-items:center;gap:6px}.tp-qr .qr{border:1px solid var(--t-line)}.tp-announce{font-family:inherit;line-height:1.45;resize:vertical}@media (max-width: 820px){.tp-layout{grid-template-columns:1fr}.tp-side{border-right:0;border-bottom:1px solid var(--t-line)}.tp-task-list{max-height:180px;overflow-y:auto}.tp-sticky{top:52px}.tp-top-actions .tp-btn{padding:6px 8px;font-size:.85rem}}@media (max-width: 520px){.board-row{gap:10px;padding:12px}.board-emoji{font-size:2rem}.board-avg{font-size:1.6rem}.board-pos{min-width:36px;font-size:1.4rem}.item-prompt{font-size:1.15rem}.speak-target{font-size:1.2rem}}:root{color-scheme:light;--green: #087c57;--blue: #2563eb;--yellow: #f3c44b;--shadow: 0 8px 28px #18263808;font-family:Inter,Segoe UI,system-ui,sans-serif}body{line-height:1.55;-webkit-font-smoothing:antialiased}a{text-underline-offset:4px}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #2563eb;outline-offset:4px}button,.btn,.tp-btn,a.task-card{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}button:not(:disabled):active,.btn:active{transform:translateY(1px)}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.identity-mark{display:inline-flex;align-items:center;justify-content:center;color:color-mix(in srgb,var(--mark, #607084) 65%,#182638)}.site-top{max-width:1164px;padding:22px 32px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4}.site-brand{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:750;letter-spacing:-.04em}.brand-mark{width:38px;height:40px;background:var(--green);color:#fff;border-radius:11px;display:grid;place-items:center}.brand-arena{color:var(--green);margin-left:4px}.site-top-right{display:flex;gap:24px;align-items:center}.school-label{font-size:.68rem;letter-spacing:.12em;font-weight:700;color:#607084}.teacher-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#526175;font-size:.8rem;padding:8px 12px;border:1px solid var(--line);border-radius:8px}.teacher-link:hover{background:#f4f7fa}.sa-main{padding:32px 24px 48px}.sa-main.is-wide{max-width:1148px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;text-align:left;padding:44px 0 64px;align-items:center}.eyebrow{font-size:.65rem;font-weight:750;letter-spacing:.13em;color:#607084;display:inline-flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:#15986d;display:inline-block;border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(2rem,3.4vw,2.9rem);font-weight:750;letter-spacing:-.055em;line-height:1.18;margin:18px 0}.hero h1 span{color:var(--green)}.hero p{font-size:.95rem;line-height:1.8;max-width:29em;margin:0}.hero-cta{margin-top:26px;text-decoration:none;gap:20px!important}.hero-skills{padding:26px 28px 0;background:#f6f8fb;border:1px solid #e9eef4;border-radius:20px;position:relative}.hero-skills:before{content:"";position:absolute;top:-1px;left:28px;width:42px;height:3px;background:var(--yellow);border-radius:0 0 3px 3px}.hero-skills-heading{display:flex;justify-content:space-between;align-items:center}.mission-number{font-size:.78rem;font-weight:750;color:#946300;background:#fff1c6;padding:3px 9px;border-radius:6px}.hero-skills h2{font-size:1.05rem;letter-spacing:-.025em;margin:12px 0 20px}.hero-skill-list{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.hero-skill-list>div{display:flex;align-items:center;gap:10px}.skill-icon{color:var(--c);background:color-mix(in srgb,var(--c) 8%,white);width:42px;height:42px;display:inline-grid;place-items:center;border-radius:12px}.hero-skill-list strong{display:block;font-size:.83rem;font-weight:650}.hero-skill-list small{display:block;color:var(--muted);font-size:.72rem}.mission-note{border-top:1px solid #e3e9f0;padding:15px 0;margin-top:24px;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.72rem}.activities-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:26px 0 0;border-top:1px solid #edf0f4;scroll-margin-top:24px}.activities-heading h2{font-size:1.5rem;margin:5px 0 0;letter-spacing:-.04em}.activity-count{color:var(--muted);background:#f5f7fa;border:1px solid #e9edf2;border-radius:20px;padding:4px 12px;font-size:.75rem;white-space:nowrap}.grade-block{margin-top:26px}.grade-title{font-size:.9rem;color:#526175;gap:16px;margin-bottom:14px;font-weight:650}.grade-title:after{height:1px;background:#edf0f4}.task-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}.task-card{padding:24px;gap:8px;border:1px solid #e2e8f0;box-shadow:0 2px 4px #18263803}.task-card:hover{border-color:#bddbce;box-shadow:var(--shadow);transform:translateY(-3px)}.task-card strong{font-size:1.2rem;font-weight:700;letter-spacing:-.025em}.task-label{display:flex;align-items:center;gap:6px;color:#087c57;font-size:.7rem;font-weight:600;margin-bottom:5px}.task-sub{font-size:.85rem}.task-card-bottom{margin-top:18px;padding-top:16px;border-top:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:center;gap:12px}.task-skills{font-size:.68rem;color:#607084}.task-go{color:var(--green);font-size:.8rem;display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.home-footer{border-top:1px solid #edf0f4;padding-top:20px;margin-top:56px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:.74rem}.home-footer a{text-decoration:none;display:flex;gap:8px;align-items:center}.footer-dot{margin:0 7px;color:#ccd5df}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border-color:#dce4ec;color:#34465b;font-size:.9rem;padding:10px 16px;border-radius:10px}.btn:hover:not(:disabled){background:#f6f8fb;border-color:#b8c8d9}.btn.is-primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 2px #05583e}.btn.is-primary:hover:not(:disabled){background:#066c4b;border-color:#066c4b;box-shadow:0 4px 12px #087c5720}.btn.is-big{font-size:1rem;padding:13px 20px}.task-header{padding:18px 0 24px}.task-header h1{letter-spacing:-.04em}.task-grade{font-size:.72rem;font-weight:650;color:#285cbd;background:#edf3ff;padding:5px 12px}.task-header p{font-size:.9rem}.step-title{font-size:1.12rem;font-weight:650;letter-spacing:-.02em;margin:26px 0 16px}.step-n{background:#eef4ff;color:#2563eb;width:28px;height:28px;font-size:.8rem}.team-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.team-card{padding:26px 16px;gap:8px;border:1px solid #e2e8f0;border-top:3px solid var(--team);background:#fff}.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--team) 45%,white)}.team-emoji{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--team) 9%,white);margin-bottom:6px}.team-count{font-size:.8rem}.chosen-team,.me-card{border-color:#e2e8f0;background:#f8fafc;border-radius:14px}.chosen-team>span,.me-team{display:flex;align-items:center;gap:8px}.chosen-team{font-size:1rem}.link-btn{color:#2563eb;font-size:.85rem;text-decoration:none}.continue-as{border:1px solid #bedbcf;background:#f1faf5;color:#086748;font-size:.95rem}.name-btn{font-size:.95rem;padding:18px 10px;gap:12px}.name-btn:hover{border-color:#93b4ed;background:#fafcff;box-shadow:var(--shadow)}.name-btn.is-started{border-color:#c1dfcf}.avatar.is-md{font-size:17px}.avatar.is-lg{font-size:25px}.avatar.is-sm{font-size:10px}.me-hi{font-size:1.2rem;letter-spacing:-.03em}.me-team{font-size:.8rem;color:#607084}.me-progress{font-size:.8rem}.meter{height:6px;background:#e9eef4}.meter-fill{background:var(--green);transition:width .6s cubic-bezier(.22,1,.36,1)}.skill-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{padding:22px;border:1px solid #e2e8f0;gap:8px}.skill-card:hover{border-color:color-mix(in srgb,var(--c) 40%,white);box-shadow:var(--shadow)}.skill-card.is-done{background:color-mix(in srgb,var(--c) 3%,white)}.skill-emoji{width:46px;height:46px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 8%,white);color:var(--c);border-radius:12px;margin-bottom:4px}.skill-name{font-weight:700;font-size:1.2rem;letter-spacing:-.025em}.skill-pt,.skill-state{font-size:.8rem}.skill-card .meter{margin:10px 0 4px}.skill-badge,.runner-skill{display:inline-flex;align-items:center;gap:6px}.modal-bg{background:#18263860;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:#fff;border-color:#e2e8f0;box-shadow:0 24px 80px #18263825}.modal-q{font-size:1.25rem}.modal .muted{font-size:.88rem}.notice{font-size:.92rem}.notice.is-good{color:#176442}.notice.is-error{color:#a52c3f}.runner-head{padding:6px 0 12px}.runner-title h1{font-size:1.1rem;letter-spacing:-.025em}.runner-skill{font-size:.78rem}.instructions{font-size:.9rem;margin:18px 0}.dot{border-radius:9px;font-size:.75rem}.dot.is-current{background:#edf3ff;box-shadow:0 0 0 3px #2563eb12;color:#2563eb}.passage{background:#fffbef;border:1px solid #f0e5bd;font-size:1rem}.passage summary{color:#855e17;font-weight:650}.item-card{background:#fff;padding:26px;margin-top:22px;box-shadow:var(--shadow)}.item-num{font-size:.65rem;letter-spacing:.12em}.item-prompt{font-size:1.18rem;font-weight:650;letter-spacing:-.02em}.audio-btn{background:#2563eb;border:1px solid #2563eb;border-radius:12px;box-shadow:0 3px #1d4fb8;padding:14px 18px;gap:12px;font-size:1.08rem;font-weight:650}.audio-btn:hover{background:#1e56cc}.audio-btn:active{box-shadow:none;transform:translateY(2px)}.audio-ear{display:inline-flex;filter:none}.option{font-size:1rem;padding:14px 16px}.option:hover:not(:disabled){background:#f7faff;border-color:#a2bce9}.option-letter{border-radius:8px;font-size:.8rem;color:#607084}.option.is-correct .option-letter{color:#fff}.text-input{background:#fff;font-size:1rem}.text-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb12}.result-bar{background:#f8fafc}.result-text strong{font-size:1rem}.result-score{color:#087c57}.order-line{background:#f8fafc;border:1px dashed #c4d4e6}.word-chip{background:#fff;font-size:.95rem}.word-chip.is-placed{color:#1e56a8;background:#edf3ff;border-color:#b9cdec}.speak-target{background:#f6f8fb;font-size:1.25rem}.speak-target.is-template{color:#285cbd}.mic-btn{width:88px;height:88px;display:grid;place-items:center;box-shadow:0 4px 16px #2563eb20}.mic-btn.is-listening{animation:mic-pulse 1.5s ease-out infinite}@keyframes mic-pulse{0%{box-shadow:0 0 #2563eb35}to{box-shadow:0 0 0 18px #2563eb00}}.speak-msg{color:#2563eb}.mic-label{font-size:.9rem}.finish-card{background:#fff;border-color:#e2e8f0;padding:40px 22px}.finish-emoji{color:#946300;background:#fff5d4;display:grid;place-items:center;width:76px;height:76px;border-radius:22px;margin:0 auto 20px}.finish-card h2{font-size:1.5rem;letter-spacing:-.035em}.board-root{max-width:1440px;margin:0 auto;padding-top:40px}.board-row{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--team)}.board-list>:first-child{background:#fffdf5;border-color:#e9d99f;border-left-color:var(--yellow)}.board-pos{font-size:1.4rem;font-weight:650}.board-emoji{display:flex}.board-info strong{letter-spacing:-.03em}.board-info .meter{height:8px}.board-avg{color:#182638;font-weight:750}.board-meta{font-size:.85rem}.tp-root{--t-bg: #fafbfc;--t-text: #182638;--t-muted: #607084;--t-accent: #2563eb;--t-line: #e2e8f0;--t-zebra: #f8fafc}.tp-top{background:#fff;color:#182638;border-bottom:1px solid #e2e8f0;padding:16px 22px}.tp-brand{letter-spacing:-.035em}.tp-brand span{color:#607084;font-size:.85rem;margin-left:8px;font-weight:500}.tp-top .tp-btn.is-ghost,.tp-top a.tp-btn.is-ghost{color:#526175}.tp-chip{color:#285cbd;background:#edf3ff;font-weight:650}.tp-btn{border-radius:9px;padding:9px 14px;font-size:.85rem}.tp-btn.is-primary{background:var(--green);border-color:var(--green);color:#fff}.tp-btn.is-primary:hover:not(:disabled){background:#066c4b;border-color:#066c4b}.tp-new{margin-bottom:12px}.tp-main{padding-top:26px}.tp-task-head{padding:22px}.tp-task-title h1{letter-spacing:-.035em;font-size:1.4rem}.tp-table th{background:#f4f7fa;color:#526175;border-bottom:1px solid var(--t-line);font-size:.75rem;font-weight:650;padding:13px 12px}.tp-table td{padding:10px 12px}.tp-table{font-size:.85rem}.tp-seg button.is-active{background:#edf3ff;color:#2563eb}.tp-seg button{font-size:.82rem}.tp-help{color:#375b83;background:#f0f6ff;border-color:#dce8f8;font-size:.85rem}.tp-save{font-size:.8rem}.tp-login-bg{background:#f8fafc}.tp-login{max-width:380px;padding:38px 32px;box-shadow:var(--shadow);border:1px solid #e2e8f0}.tp-login-icon{color:var(--green);background:#edf8f2;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin:0 auto 8px}.tp-login h1{letter-spacing:-.04em}.tp-login .tp-muted{font-size:.85rem}.tp-group{border-top-width:3px}.tp-emoji{display:inline-flex;padding:7px;border-style:solid}.tp-picker button,.tp-av-picker button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;color:#526175}.tp-stu.is-sel .avatar{background:#fff}.tp-stu.is-sel .tp-stu-adapt{color:#fff1c6}.tp-gtag{color:#34465b;background:color-mix(in srgb,var(--team) 8%,white);border-color:color-mix(in srgb,var(--team) 30%,white)}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sa-main,.tp-login,.board-list{animation:arrive .4s ease-out both}@media (max-width: 820px){.hero{gap:28px;padding:28px 0 40px}.hero-skills{padding:22px 20px 0}.hero-skill-list{gap:16px 8px}.hero-skill-list>div{gap:8px}.site-top{padding:16px 24px}.school-label{display:none}.tp-layout{min-height:calc(100vh - 72px)}.tp-sticky{top:72px}}@media (max-width: 600px){.hero{grid-template-columns:1fr;gap:30px;padding-top:24px}.hero h1{font-size:2.12rem}.hero p{font-size:.9rem}.hero-skills{padding:22px 24px 0}.hero-skill-list{gap:18px}.hero-cta{margin-top:22px}.site-top{padding:14px 18px}.site-brand{font-size:.95rem}.brand-mark{width:33px;height:35px}.teacher-link{font-size:.72rem;padding:7px 9px}.sa-main{padding:20px 18px 32px}.activities-heading{padding-top:22px}.activities-heading h2{font-size:1.25rem}.eyebrow{font-size:.6rem}.task-card{padding:20px}.task-card-bottom{align-items:flex-end}.task-skills{max-width:160px;line-height:1.8}.home-footer{margin-top:36px;font-size:.65rem}.skill-card{padding:16px}.skill-pt{font-size:.73rem}.skill-state{font-size:.75rem}.skill-name{font-size:1.06rem}.item-card{padding:20px 16px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card strong{font-size:1.12rem}.team-card{padding:22px 12px}.board-head{flex-direction:column;text-align:center}.board-info strong{font-size:1.15rem}.board-meta{font-size:.7rem}.board-avg{font-size:1.5rem}.board-row{gap:10px;padding:14px 10px}.board-pos{font-size:1rem;min-width:24px}.board-emoji .icon{width:22px;height:22px}.board-foot{font-size:.8rem}.tp-top{flex-wrap:wrap;padding:12px 16px}.tp-brand span{font-size:.72rem}.tp-brand{font-size:1rem}.tp-top-actions{margin-left:auto}.tp-share-grid,.tp-group-grid{grid-template-columns:minmax(0,1fr)}.tp-sticky{position:static}.tp-login{padding:30px 24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.avatar{position:relative}.avatar-symbol{position:absolute;bottom:-3px;right:-3px;width:20px;height:20px;background:#fff;border:1px solid #e2e8f0;border-radius:7px;display:grid;place-items:center}.avatar.is-sm .avatar-symbol{display:none}.hero>*{min-width:0}.hero-skill-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 360px){.hero-skills{padding:20px 16px 0}.hero-skill-list{gap:16px 10px}.hero-skill-list .skill-icon{width:34px;height:38px;flex-shrink:0}.hero-skill-list strong{font-size:.76rem}.site-brand{font-size:.85rem}.teacher-link{padding:7px}.site-top{padding:14px 16px;gap:8px}}.is-great.score-pill,.is-great .score-pill{background:#d9f2e3;color:#11643f}.is-good.score-pill{background:#e6f5ec;color:#176442}.is-low.score-pill{background:#ffe4e6;color:#a52c3f}.tp-seg.is-small button{font-size:.75rem}:root :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #2563eb;outline-offset:3px}.tp-seg button.is-girl{background:#be185d}
