:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#20304a;background:#f7f8fc;font-synthesis:none;font-size:16px;--ink:#20304a;--blue:#4278f5;--yellow:#ffd354;--muted:#778396;--line:#e4e9f1;--radius:22px;--shadow:0 8px 30px #29385b08;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border:1px solid #dfe5ef;border-radius:12px;padding:10px 19px;background:#fff;color:var(--ink);font-weight:600;text-decoration:none;cursor:pointer;transition:transform .1s,background .15s,box-shadow .15s;line-height:1.4}button:hover,.button:hover{background:#f0f4fc;border-color:#c6d5f3}button:active,.button:active{transform:translateY(2px);box-shadow:none}button:disabled{cursor:not-allowed;opacity:.48;transform:none}button.primary,.button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px #2c5bc7}button.primary:hover,.button.primary:hover{background:#3569e2}button.danger{background:#e15e61;color:#fff}.light{background:#fff;border-color:#fff;box-shadow:0 4px #cadbd6}.icon-button{padding:10px;width:44px;height:44px;min-width:44px;flex-shrink:0}.text-button{border:0;background:none;box-shadow:none;padding:6px 8px;color:#5071a9}.danger-text{color:#b95b64}a{color:#3569d5;text-decoration:none}a:hover{text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.3;letter-spacing:-1px;font-weight:800}h2{font-size:23px;line-height:1.4}h3{font-size:19px}p{line-height:1.8}small{font-size:13px}input,textarea,select{width:100%;border:2px solid #c9d6e8;border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink);min-height:50px;outline:none}select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:48px;font-weight:700;line-height:1.35;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2320304A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:18px;box-shadow:0 2px #d8e2f2;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .1s}select:hover:not(:disabled){border-color:#8eacf0;background-color:#f8fbff}select:focus{border-color:var(--blue);background-color:#fff;box-shadow:0 0 0 3px #4278f51c,0 3px #b8caf3}select:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #b8caf3}select:disabled{cursor:not-allowed;color:#8794a8;border-color:#dce4ef;background-color:#f3f6fa;box-shadow:none}select:invalid{color:#778396}.app-select{position:relative;width:100%;margin-top:8px}.app-select-trigger{width:100%;min-height:50px;justify-content:space-between;padding:11px 14px;border:2px solid #c9d6e8;border-radius:12px;background:#fff;box-shadow:0 2px #d8e2f2;font-weight:700;text-align:left}.app-select-trigger:hover:not(:disabled){border-color:#8eacf0;background:#f8fbff}.app-select.open .app-select-trigger{border-color:var(--blue);box-shadow:0 0 0 3px #4278f51c,0 3px #b8caf3}.app-select.invalid .app-select-trigger{border-color:#e57a72}.app-select-trigger svg{transition:transform .15s}.app-select-trigger svg.flip{transform:rotate(180deg)}.app-select-trigger .placeholder{color:#778396}.app-select-menu{position:absolute;z-index:50;top:calc(100% + 8px);left:0;width:100%;max-height:min(360px,55vh);overflow:auto;padding:8px;border:2px solid #20304a;border-radius:16px;background:#fff;box-shadow:0 14px 32px #20304a24}.app-select-search{display:flex;align-items:center;gap:8px;padding:4px 7px 9px;border-bottom:1px solid var(--line);color:#62728a}.app-select-search input{min-height:38px;padding:7px 2px;border:0;border-radius:0;box-shadow:none}.app-select-search input:focus{box-shadow:none}.app-select-option{display:grid;grid-template-columns:22px 1fr;width:100%;min-height:46px;padding:9px 10px;border:0;border-radius:10px;background:transparent;box-shadow:none;text-align:left}.app-select-option:hover,.app-select-option.active{background:#eef4ff}.app-select-option.selected{background:#e6efff;color:#285dbf}.app-select-option span>small{display:block;margin-top:1px;color:#697991;font-weight:500}.select-check-space{width:18px}.app-select-empty{padding:18px 12px;color:#778396;text-align:center}.app-modal{width:min(560px,calc(100vw - 36px));padding:28px;border:2px solid #20304a;border-radius:24px;background:#fff;color:#20304a;box-shadow:0 18px 50px #101a2f3d}.app-modal::backdrop{background:#20304ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.app-modal>.section-head{align-items:flex-start;margin-bottom:10px}.app-modal>.section-head h2{font-size:27px}.modal-description{margin:0 0 20px;color:#5e6d84}.modal-actions{justify-content:flex-end;margin-top:24px}.app-modal .danger{background:#ffe1dd;border-color:#b44943;color:#8f302d}@media(max-width:700px){.app-select-menu{position:fixed;top:auto;bottom:0;left:0;width:100vw;max-height:min(72dvh,560px);padding:14px calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));border-radius:22px 22px 0 0}.app-modal{width:calc(100vw - 24px);margin:auto 12px calc(12px + env(safe-area-inset-bottom));padding:24px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions button{padding:10px}}.reduce-motion .app-select-trigger svg{transition:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4278f51c}input.field-invalid,textarea.field-invalid,select.field-invalid{border-color:#e57a72;background:snow;box-shadow:0 0 0 3px #e57a721f}input.field-valid,textarea.field-valid,select.field-valid{border-color:#75b99a}input::placeholder,textarea::placeholder{color:#98a1b0}label{display:block;font-weight:600;margin:18px 0 8px}label>input,label>select,label>textarea{margin-top:8px}label small{font-weight:400;color:var(--muted)}.label-text{display:inline-flex;align-items:baseline;gap:4px}.label-text small{margin-left:4px}.required-mark{color:#e5534b;font-weight:800;line-height:1}.field-error{color:#b94d48;font-size:13px;font-weight:600;line-height:1.45;margin:6px 0 0}.field-hint{color:var(--muted);font-size:13px;line-height:1.45;margin:6px 0 0}:focus-visible{outline:3px solid #f0aa23;outline-offset:4px}svg{flex-shrink:0;vertical-align:middle}.main{max-width:1240px;padding:34px 36px 56px;margin:auto;min-height:calc(100vh - 168px)}.site-header{height:88px;padding:0 max(32px,calc((100vw - 1260px)/2));display:flex;align-items:center;gap:44px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:23px;font-weight:850;white-space:nowrap;line-height:1.3}.brand-mark{width:45px;height:48px;background:#4278f5;border-radius:15px 15px 18px 9px;box-shadow:0 4px #2f59b5;display:flex;align-items:center;justify-content:center;color:#fff;transform:rotate(-5deg)}.brand small{display:block;font-size:9px;letter-spacing:1.9px;font-weight:600;margin-top:5px;color:#8c96a6}.site-header nav{display:flex;gap:8px;margin:auto;align-self:stretch}.site-header nav a{display:flex;align-items:center;gap:9px;padding:0 17px;font-weight:600;color:#7c8799;border-bottom:3px solid transparent;white-space:nowrap}.site-header nav a.router-link-active{color:var(--blue);border-color:var(--blue);background:linear-gradient(#fff,#f5f8ff)}.account-menu{position:relative;flex-shrink:0}.account-menu summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:14px;font-weight:600;list-style:none}.account-menu summary small{display:block;font-size:11px;color:#939cab;font-weight:400}.avatar{border:3px solid white;box-shadow:0 0 0 1px #f0e3c9;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff0c9;color:#987037}.account-menu>div{position:absolute;right:0;top:55px;z-index:20;background:#fff;box-shadow:0 10px 40px #20304a20;padding:8px;border-radius:14px;min-width:170px}.account-menu button{width:100%;border:0}.site-footer{max-width:1168px;border-top:1px solid var(--line);margin:auto;padding:23px 0;display:flex;justify-content:space-between;color:#99a2b0;font-size:12px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#8693a4;display:flex;align-items:center;gap:7px;margin-bottom:12px}.welcome-banner{height:335px;border-radius:27px;background:#e9f3ee;position:relative;overflow:hidden;padding:43px 44px;isolation:isolate}.welcome-banner>div{position:relative;z-index:2}.welcome-banner .eyebrow{color:#5c8879}.welcome-banner h1{font-size:36px;letter-spacing:0;line-height:1.5}.welcome-banner h1 span{display:block;color:#2f8271}.welcome-banner p{font-size:14px;color:#738b82;margin:12px 0 20px}.welcome-banner img{position:absolute;right:-2%;top:-18%;width:67%;height:130%;object-fit:cover;mix-blend-mode:multiply;z-index:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}.banner-stamp{position:absolute;right:32px;top:28px;transform:rotate(10deg);z-index:1;width:84px;height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffdf7a;border:4px solid #ffecac;border-radius:50%;color:#86673c;font-size:12px}.banner-stamp strong{font-size:15px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.spaced{margin:35px 0 20px}.section-head .eyebrow{margin-bottom:6px;font-size:10px}.soft-label{display:inline-flex;align-items:center;white-space:nowrap;background:#edf1f8;color:#7a899e;padding:5px 11px;border-radius:8px;font-size:12px;font-weight:500}.practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.practice-card{display:block;border-radius:23px;background:#fff;overflow:hidden;border:1px solid #e2e7ef;box-shadow:0 5px #e9edf3;transition:transform .15s;color:var(--ink)}.practice-card:hover{transform:translateY(-4px);box-shadow:0 9px #e3e9f1}.practice-art{height:164px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.match .practice-art{background:#e7f4eb}.fruit .practice-art{background:#fff1d8}.practice-art:before{content:"";position:absolute;bottom:-110px;left:5%;width:90%;height:180px;border-radius:50%;background:#fff7;transform:rotate(-6deg)}.practice-art img{width:164px;height:164px;object-fit:contain;filter:drop-shadow(0 13px 10px #29523a12);transition:transform .25s;z-index:1}.practice-card:hover img{transform:rotate(-4deg) scale(1.04)}.practice-category{position:absolute;left:20px;top:17px;z-index:2;font-size:11px;font-weight:600;padding:5px 10px;background:#ffffffad;border-radius:7px;color:#658b75}.fruit .practice-category{color:#ac824a}.art-dot{position:absolute;width:16px;height:16px;background:#fff9;border-radius:5px;transform:rotate(25deg)}.dot-one{left:20%;top:46%}.dot-two{right:18%;bottom:24%;width:10px;height:10px}.practice-card-body{padding:18px 18px 16px}.practice-card h3{font-size:19px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.practice-card-body p{font-size:13px;color:#8490a2;line-height:1.5;min-height:39px;margin:6px 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.round-arrow{width:37px;height:37px;background:#f0f4fb;border-radius:50%;display:grid;place-items:center;color:var(--blue)}.practice-meta{display:flex;justify-content:space-between;font-size:11px;color:#8590a0;padding-top:14px;border-top:1px dashed #e5e9f1}.practice-meta span{display:flex;align-items:center;gap:5px}.onboarding{display:flex;align-items:center;gap:18px;margin-top:28px;background:#fff;border:1px dashed #cad7ee;border-radius:18px;padding:23px}.onboarding>div{flex:1}.onboarding h3{font-size:16px}.onboarding p{font-size:12px;color:#8994a5}.onboard-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:#edf3ff;color:#5e83d1}.onboarding button,.onboarding .button{font-size:13px}.classroom-tips{display:flex;justify-content:space-between;margin-top:35px;gap:20px}.classroom-tips>div{display:flex;align-items:center;gap:12px;color:#8b9aa7}.classroom-tips>div>svg{color:#87a7ad}.classroom-tips b{display:block;color:#6c7c90;font-size:13px}.classroom-tips small{font-size:11px}.resume-bar{display:flex;align-items:center;gap:12px;background:#fff6dd;border-radius:14px;padding:18px;margin-top:25px;font-size:14px}.resume-bar a{margin-left:auto}.page-title{margin:13px 0 28px}.page-title h1{font-size:34px;margin-bottom:10px}.page-title p{color:#8390a3;font-size:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow)}.muted{color:var(--muted);font-size:14px}.center{text-align:center}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.error{padding:12px 16px;background:#fff0ee;border:1px solid #f4d2cf;color:#a64445;border-radius:12px;margin:15px 0;font-size:14px;overflow-wrap:anywhere}.notice{padding:12px 16px;background:#fff7dc;border:1px solid #f1e3b1;color:#887033;border-radius:12px;margin:15px 0;font-size:14px}.empty{padding:65px 25px;text-align:center;color:#8793a4}.empty svg{color:#95b4a9;margin-bottom:14px}.empty h2{color:var(--ink);margin:10px 0}.empty p{margin-bottom:22px}.empty .actions{justify-content:center}.empty .button{margin-top:14px}.empty .actions .button{margin-top:0}.search-box{display:flex;align-items:center;gap:10px;max-width:480px;color:#94a0b0}.search-box input{background:#f8f9fc;border:0}.tag-filter{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}.tag-filter>.muted{font-size:12px;margin-right:8px}.tag{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 11px;background:#f0f3f8;font-size:12px;line-height:1.5;color:#7c8ba1;border:1px solid transparent;min-height:29px;font-weight:500}.tag.selected{background:#eaf1ff;border-color:#afc5fa;color:#3869c8}.tag-filter button,.suggestions button{min-height:44px}.tags{display:flex;flex-wrap:wrap;gap:7px}.bank-source-tabs{display:flex;gap:8px;width:max-content;max-width:100%;margin:0 0 12px;padding:5px;border:1px solid #dce5f1;border-radius:15px;background:#f5f8fc}.bank-source-tabs button{min-height:38px;padding:7px 18px;border:1px solid transparent;border-radius:10px;background:transparent;box-shadow:none;color:#697991;font-weight:800}.bank-source-tabs button.active{border-color:#a9c3f5;background:#fff;box-shadow:0 3px #dce7f8;color:var(--blue)}.bank-kind-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px;padding:5px;border:1px solid #dce5f1;border-radius:16px;background:#f5f8fc}.bank-kind-tabs button{min-width:0;min-height:52px;padding:8px 13px;border:1px solid transparent;border-radius:11px;background:transparent;box-shadow:none;color:#697991;text-align:left}.bank-kind-tabs button:hover{border-color:#c4d6f4;background:#fff}.bank-kind-tabs button.active{border-color:#a9c3f5;background:#fff;color:var(--blue);box-shadow:0 3px #dce7f8}.bank-kind-tabs span,.bank-kind-tabs small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-kind-tabs span{font-size:14px;font-weight:800}.bank-kind-tabs small{margin-top:3px;color:#8290a3;font-size:11px;font-weight:500}.bank-kind-tabs button.active small{color:#6681b9}.bank-list{margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.bank-list-head,.bank-list-row{display:grid;grid-template-columns:minmax(190px,2fr) minmax(150px,1.2fr) minmax(140px,1.35fr) 118px 72px;gap:16px;align-items:center}.bank-list-head{min-height:44px;padding:0 20px;background:#f7f9fc;color:#77879d;font-size:12px;font-weight:700}.bank-list-row{min-height:68px;padding:10px 20px;border-top:1px solid #edf1f6;color:#52627a}.bank-list-row:hover{background:#fbfcff}.bank-list-name{min-width:0}.bank-list-name a{display:block;overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bank-list-name a:hover{color:var(--blue)}.bank-list-meta{display:flex;align-items:center;gap:8px;min-width:0}.bank-list-meta .bank-kind{margin:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-list-count,.bank-list-date{font-size:13px;color:#718199;white-space:nowrap}.bank-list-tags{display:flex;min-width:0;gap:5px;align-items:center;overflow:hidden}.bank-list-tags .tag{flex:0 0 auto;min-height:25px;padding:3px 8px;white-space:nowrap}.bank-tag-more{color:#718199}.bank-list-edit{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--blue);font-size:13px;font-weight:700;white-space:nowrap}.bank-list-edit:hover{color:#1d56c4}.system-bank-list .bank-list-head,.system-bank-list .bank-list-row{grid-template-columns:minmax(160px,1.3fr) minmax(135px,.9fr) minmax(180px,1.4fr) minmax(160px,1.4fr) 128px}.system-bank-practices,.system-bank-description{margin:0;color:#718199;font-size:13px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-bank-actions{display:flex;justify-content:flex-end;gap:10px;white-space:nowrap}.system-bank-actions .text-button{min-height:auto;padding:4px 0;font-size:13px}@media(max-width:760px){.page-title.section-head{align-items:flex-start}.bank-kind-tabs{display:flex;overflow-x:auto;margin-right:-20px;padding-right:20px;border:0;border-radius:0;background:transparent;scrollbar-width:thin}.bank-source-tabs{margin-bottom:10px}.bank-kind-tabs button{flex:0 0 148px;min-height:48px;border-color:#dce5f1;background:#f7f9fc}.bank-list-head{display:none}.bank-list-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name edit" "meta date";min-height:76px;gap:5px 14px;padding:13px 15px}.bank-list-name{grid-area:name}.bank-list-edit{grid-area:edit}.bank-list-meta{grid-area:meta}.bank-list-count,.bank-list-date{display:inline;font-size:12px}.bank-list-count:before,.bank-list-date:before{content:"·";margin-right:8px;color:#a5afbe}.bank-list-date{grid-area:date;justify-self:end}.bank-list-tags{display:none}.system-bank-list .bank-list-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name actions" "meta practices";min-height:84px}.system-bank-list .bank-list-name{grid-area:name}.system-bank-actions{grid-area:actions}.system-bank-list .bank-list-meta{grid-area:meta}.system-bank-practices{grid-area:practices;justify-self:end;max-width:48%}.system-bank-description{display:none}}@media(max-width:520px){.page-title.section-head{display:block}.page-title.section-head>.button{margin-top:16px}}.back-link{display:inline-flex;align-items:center;gap:7px;color:#8190a4;font-size:13px;margin-bottom:15px;min-height:44px}.system-bank-detail{display:grid;gap:16px;max-width:900px;margin:0 auto}.system-bank-detail h1{margin:8px 0 10px}.system-bank-detail h2{margin:0 0 14px;font-size:19px}.system-bank-detail-meta{display:flex;gap:12px;align-items:center;margin-top:14px;color:#718199;font-size:14px}.practice-links{display:flex;flex-wrap:wrap;gap:8px}.practice-links a{display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid #d8e4f5;border-radius:10px;color:var(--blue);font-size:14px;font-weight:700}.system-word-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid #e7edf5;border-radius:12px}.system-word-preview div{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid #eef2f7}.system-word-preview strong{color:var(--ink)}.system-word-preview span{color:#718199;text-align:right}@media(max-width:600px){.system-word-preview{grid-template-columns:1fr}.system-bank-detail-meta{flex-wrap:wrap}}.editor-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}.editor-meta h2,.words-panel h2{font-size:20px}.inline-field{display:flex;gap:7px;margin-top:8px}.inline-field input{min-width:0}.editor-meta .tags{margin-top:14px}.suggestions{margin:20px 0;display:flex;gap:7px;flex-wrap:wrap}.suggestions small{width:100%;color:#9aa4b2}.editor-tip{border-radius:15px;background:#f1f7f3;padding:20px;margin:27px 0;color:#6c8d7f}.editor-tip h3{font-size:15px;margin:9px 0}.editor-tip p{font-size:12px}.word-head,.word-row{display:grid;grid-template-columns:32px 1fr 1fr 40px;gap:10px;align-items:center}.word-head{margin-top:25px;padding:10px 0;font-size:12px;color:#8c97a5}.word-row{margin:10px 0}.word-row>span{font-size:13px;color:#94a0ae;text-align:center}.word-row input{font-size:15px;background:#fbfcfe}.word-field{min-width:0}.word-field .field-error{margin:4px 0 0;font-size:11px}.word-row .icon-button{width:36px;min-width:36px;border:0;color:#a2abb6}.editor-bottom{margin-top:22px;flex-wrap:wrap}.words-panel .section-head{flex-wrap:wrap}.words-panel .section-head p{margin-top:6px;font-size:13px}.words-panel .soft-label{font-size:11px;margin-left:8px}.file-label{position:relative;overflow:hidden;margin:0}.file-label input{position:absolute;opacity:0;inset:0;cursor:pointer}.preview-scroll{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:15px 0}.preview-row{display:grid;grid-template-columns:28px 1fr 1fr 110px;gap:8px;padding:10px;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.preview-row small{color:#548568}.preview-row.invalid{background:#fff0ee}.preview-row.invalid small{color:#b34745}.check-label{display:flex;align-items:center;gap:10px;font-weight:400}.check-label input{width:20px;height:20px;min-height:0;margin:0}.prepare-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;margin-top:15px;align-items:start}.prepare-preview{text-align:center;border-radius:26px;padding:34px;position:sticky;top:25px;background:#eaf4ef}.prepare-preview.fruit{background:#fff2d9}.prepare-preview .eyebrow{justify-content:center;color:#819c8d}.prepare-preview>img{width:75%;max-width:310px;aspect-ratio:1;object-fit:contain}.prepare-preview h1{font-size:32px;margin-bottom:10px}.prepare-preview>p{color:#6f8c7e;font-size:15px}.rule-note{background:#ffffffa3;border-radius:17px;padding:22px;text-align:left;margin-top:30px}.rule-note h3{font-size:15px;margin-bottom:6px}.rule-note p{font-size:13px;color:#7d8c88}.preparation{padding:30px}.preparation h2{font-size:25px;margin-bottom:30px}.numbered>span{display:flex;gap:10px;align-items:center;font-size:15px;margin-bottom:12px}.numbered b{background:#edf2ff;color:var(--blue);width:26px;height:26px;border-radius:8px;text-align:center;line-height:26px;font-size:13px}.numbered{margin:24px 0 14px}.selected-bank{padding:14px 16px;border-radius:12px;background:#f8fafd;font-size:12px}.selected-bank p{margin:8px 0;color:#8a98ab}.practice-bank-summary,.bank-compatible{display:block;margin-top:11px;color:#718099;font-size:12px;line-height:1.5}.bank-kind{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#edf3ff;color:#356ee7;font-size:12px;font-weight:700;margin-bottom:10px}.bank-empty-guide,.bank-free-guide,.bank-use-guide{margin:0 0 16px;padding:15px 16px;border:1px solid #dce7f6;border-radius:14px;background:#f8fbff}.bank-empty-guide p,.bank-free-guide p,.bank-use-guide p{margin:6px 0 0;color:#667993;font-size:13px;line-height:1.55}.bank-empty-guide .button{margin-top:12px}.bank-free-guide{display:flex;gap:12px;align-items:flex-start;color:var(--blue)}.bank-free-guide strong,.bank-use-guide strong{color:var(--ink)}.bank-use-guide span{margin-left:8px;color:#71819a;font-size:12px}.segmented{display:flex;border-radius:12px;background:#edf1f7;padding:4px;gap:4px;margin-bottom:16px}.segmented button{flex:1;border:0;background:transparent;color:#8794a6;font-size:14px}.segmented .active{background:#fff;color:var(--blue);box-shadow:0 2px 5px #20304a12}.difficulty-options{display:flex;gap:9px}.difficulty-options button{flex:1;padding:13px 5px;flex-direction:column;gap:5px;border-radius:12px;font-size:14px}.difficulty-options button small{font-size:10px;font-weight:400;color:#96a0af}.difficulty-options .selected{border-color:#8aaaf4;background:#f0f5ff;color:var(--blue)}.advanced{margin:25px 0;color:#77879e;font-size:14px}.advanced summary{cursor:pointer;display:flex;gap:8px;align-items:center;min-height:44px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields label{font-size:13px}.fields input,.fields select{font-size:14px}.start-button{width:100%;min-height:60px;font-size:18px}.preparation>.muted{margin-top:18px;font-size:12px}.history-list{display:flex;flex-direction:column;gap:14px}.history-row{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 25px;display:flex;align-items:center;gap:23px;color:var(--ink)}.history-row>img{width:75px;height:75px;object-fit:contain}.history-row>div:nth-child(2){flex:1}.history-row p{font-size:13px;color:#8391a5}.history-row small{color:#a1aab6;font-size:12px}.status-pill{font-size:12px;border-radius:20px;padding:5px 12px;background:#f0f3f8;color:#8290a3}.status-pill.running,.status-pill.paused{background:#fff4d5;color:#ae882e}.status-pill.finished{background:#eaf5ef;color:#53917b}.history-score{min-width:100px;display:flex;flex-direction:column;align-items:center}.history-score b{font-size:26px}.history-action{display:flex;align-items:center;gap:15px;font-size:13px;color:var(--blue)}dialog{border:1px solid #dbe3ed;border-radius:24px;padding:30px;max-width:740px;width:calc(100vw - 40px);max-height:88vh;color:var(--ink);box-shadow:0 20px 100px #20304a30}dialog::backdrop{background:#20304a77;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog>.section-head{margin-bottom:20px}dialog form button.primary{margin-top:20px;width:100%}.login-page{display:grid;grid-template-columns:1.2fr 1fr;min-height:calc(100vh - 90px);align-items:center;gap:85px}.login-story{position:relative;align-self:stretch;padding:50px 35px;border-radius:30px;background:#eaf3ed;overflow:hidden;min-height:620px}.login-story .brand{margin-bottom:64px}.login-story h1{font-size:38px;line-height:1.55;position:relative;z-index:1}.login-story>p{font-size:13px;color:#778f81;margin-top:18px;position:relative;z-index:1}.login-story>img{position:absolute;width:110%;bottom:-3%;left:-5%;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(transparent,#000 30%);mask-image:linear-gradient(transparent,#000 30%)}.login-story>.eyebrow{color:#6e9580;position:relative;z-index:1}.login-form{max-width:380px;padding:30px 0}.login-form h2{font-size:30px;margin-bottom:12px}.login-form>.muted{margin-bottom:32px}.login-form label{font-size:14px}.wide-button{width:100%;margin-top:25px;min-height:53px}.login-note{font-size:12px;color:#9ba5b5;margin-top:27px}.stage-app{background:#eff6f1;min-height:100vh}.stage-main{padding:0}.classroom{min-height:100vh;background:radial-gradient(ellipse at 15% 20%,#effaf4,transparent 60%),#eef5f1}.classroom.fruit{background:#fff8e9}.stage-toolbar{display:flex;align-items:center;gap:13px;height:80px;padding:0 28px;background:#ffffffd9;border-bottom:1px solid #e1e9e3}.stage-toolbar>img{height:45px;width:45px;object-fit:contain}.stage-title{line-height:1.5}.stage-title strong{display:block;font-size:18px}.stage-title small{font-size:11px;color:#8e9a9a}.stage-tools{margin-left:auto;display:flex;gap:8px}.stage-tools button{border:0;background:#f2f5f8;padding:10px 13px;font-size:13px}.stage-save{color:#87a496;font-size:11px;margin-left:14px}.stage-heading{position:relative;text-align:center;padding:28px 24px 18px}.stage-heading .eyebrow{justify-content:center;color:#809d8d;margin-bottom:6px;letter-spacing:1px}.stage-heading h1{font-size:27px;letter-spacing:0}.stage-stats{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px}.score-chip{display:flex;align-items:center;gap:6px;background:#fff;padding:6px 17px;border-radius:30px;font-weight:700;color:#ac8b32}.lives{display:flex;align-items:center;gap:8px;color:#de7777;font-size:14px}.lives svg{fill:#ec8c84;stroke:#ce756d}.lives svg.lost{fill:#e6ddd6;stroke:#d1c6bd}.stage-board{max-width:1440px;margin:0 auto;padding:0 28px}.match-players{max-width:1000px;margin:0 auto}.match-players.dual{max-width:1440px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.match-team{border:1px solid #d7e4ed;padding:22px 24px 27px;border-radius:23px;background:#ffffffd9;box-shadow:0 5px #dfe8e680}.team-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.team-head h2{font-size:19px}.team-head>span:last-child{margin-left:auto;font-size:13px;color:#9aa7b3}.team-head>span b{font-size:20px;color:#4b80cc}.team-badge{width:32px;height:36px;display:grid;place-items:center;background:#e7efff;color:#4a7fe0;border-radius:10px 10px 14px 14px;font-weight:700}.team-1 .team-badge{background:#fff0dd;color:#d79a50}.progress-track{height:5px;border-radius:5px;background:#eef2f6;margin:0 0 22px;overflow:hidden}.progress-track span{display:block;height:100%;background:#7eb0ee;transition:width .3s}.team-1 .progress-track span{background:#efb975}.word-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dual .word-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.word-card{min-height:108px;flex-direction:column;gap:1px;border-radius:15px;background:#fff;box-shadow:0 4px #e5e9ef;position:relative;border:1.5px solid #e0e6ed;padding:10px 8px}.word-card small{font-size:8px;letter-spacing:1.5px;font-weight:600;color:#a6b7c9}.word-card span{font-size:clamp(24px,2.1vw,34px);overflow-wrap:anywhere;line-height:1.25}.word-card.zh{background:#f9fcf5;border-color:#e5ebdc;box-shadow:0 4px #e4e9dc}.word-card.zh small{color:#a8b59b}.word-card.chosen{background:#e8f0ff;border-color:#7a9ee8;box-shadow:0 4px #97b6ed;transform:translateY(-2px)}.word-card.wrong{background:#fff1eb;border-color:#ed9d91}.word-card.matched{visibility:hidden;pointer-events:none}.many-cards .word-card{min-height:82px}.many-cards .word-card span{font-size:24px}.stage-feedback{display:flex;align-items:center;justify-content:center;gap:25px;padding:22px 28px;color:#6c9480;font-size:15px;min-height:80px}.stage-feedback>span{display:flex;align-items:center;gap:9px}.stage-feedback>button{font-size:12px}.stage-notice{display:flex;gap:15px;justify-content:center;align-items:center;background:#fff1cb;padding:8px 20px;font-size:14px;color:#997238}.stage-overlay{position:fixed;inset:80px 0 0;z-index:40;background:#26394a55;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:25px}.overlay-card{border-radius:27px;background:#fff;padding:42px;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 100px #20304a22}.overlay-card>svg{color:var(--blue);margin-bottom:18px}.overlay-card .eyebrow{justify-content:center}.overlay-card h2{font-size:29px;margin-bottom:12px}.overlay-card p{font-size:14px;color:#8c97a6;margin-bottom:27px}.overlay-card>button,.overlay-card>.button{width:100%;margin-top:12px}.fruit-question{text-align:center;margin-bottom:8px}.fruit-question .eyebrow{justify-content:center;color:#b2925e;font-size:11px;margin-bottom:6px}.fruit-question h2{font-size:48px;line-height:1.35}.fruit-question p{font-size:12px;color:#b8a17e;margin-top:8px}.fruit-field{position:relative;height:clamp(330px,47vh,520px);max-width:1160px;margin:auto;overflow:hidden;border-radius:30px;background:linear-gradient(#fdf5df,#eff4cf);touch-action:none;border:1px solid #f2e6c7}.orchard-hill{position:absolute;bottom:-240px;border-radius:50%;height:340px;pointer-events:none;background:#d8e6b1;width:80%;left:-18%;transform:rotate(7deg)}.hill-two{left:auto;right:-15%;background:#c9dca2;bottom:-270px;transform:rotate(-8deg)}.fruit-object{position:absolute;top:0;left:50%;will-change:transform;transform:translate(-50%,170px);height:112px;width:clamp(85px,12vw,145px);background:#f1b343;border:3px solid #c78c29;border-radius:44% 46% 42% 45%;box-shadow:inset -7px -8px #cb922629,0 8px #90842b20;display:flex;align-items:center;justify-content:center;padding:9px;z-index:3;color:#63491f;transition:filter .1s;isolation:isolate}.fruit-object:hover{background:#ffc552;filter:brightness(1.07)}.fruit-color-1{background:#ec8d79;border-color:#c66551;color:#6c302a}.fruit-color-2{background:#aaca6f;border-color:#81a346;color:#405c26}.fruit-color-3{background:#b7a0df;border-color:#8c71b4;color:#4b366b}.fruit-color-4{background:#edb278;border-color:#c58949;color:#72532b}.fruit-word{position:relative;z-index:2;overflow-wrap:anywhere;font-size:clamp(24px,2vw,30px);line-height:1.1;text-align:center;font-weight:750}.fruit-leaf{position:absolute;left:45%;top:-24px;width:35px;height:24px;transform:rotate(-25deg);background:#669b58;border-radius:30px 0;border:2px solid #5b854c}.fruit-shine{position:absolute;left:15%;top:15%;width:14px;height:30px;border-radius:50%;background:#fff5;transform:rotate(25deg);z-index:0}.slice-trail{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;z-index:4;filter:drop-shadow(0 0 5px #fff)}.fruit-floor{position:absolute;bottom:16px;text-align:center;width:100%;font-size:12px;color:#8a9d62;z-index:2}.result-wrap{padding:50px 24px}.result-card{max-width:720px;margin:auto;text-align:center;background:#fff;border:1px solid #e4e8df;border-radius:28px;padding:38px 45px;box-shadow:0 8px #e3eade}.result-badge{display:grid;place-items:center;background:#fff0bb;border:8px solid #fff8dc;border-radius:50%;width:100px;height:100px;color:#c8992f;margin:0 auto 20px}.result-card .eyebrow{justify-content:center}.result-card h1{font-size:30px}.result-card>.muted{margin-top:12px}.result-scores{display:flex;justify-content:center;gap:50px;margin:24px 0}.result-scores>div{display:flex;flex-direction:column;align-items:center}.result-scores strong{font-size:64px;font-weight:850;line-height:1.3;color:#4a80e7}.result-scores span,.result-scores small{font-size:13px;color:#8695a5}.result-card .actions{justify-content:center;margin-top:28px}.review-list{margin-top:32px;padding-top:25px;border-top:1px dashed #dfe5ed;text-align:left}.review-list h3{font-size:16px;margin-bottom:12px}.review-word{padding:7px 12px;background:#f4f6fa;border-radius:8px;color:#8a94a4;font-size:13px}.review-word b{color:#586e8e;margin-right:6px}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1600px){.main{max-width:1360px;padding-top:45px}.welcome-banner{height:360px}.practice-art{height:176px}.practice-art img{width:176px;height:176px}.stage-board{max-width:1550px}.word-card{min-height:125px}.many-cards .word-card{min-height:105px}.stage-heading{padding:38px 0 27px}}@media(max-width:1279px){.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:959px){.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1050px){.site-header{gap:15px;padding:0 22px}.site-header nav{gap:0}.site-header nav a{padding:0 12px;font-size:14px}.brand{font-size:20px}.account-menu summary>span:last-child{display:none}.main{padding:25px}.welcome-banner h1{font-size:31px}.onboarding{flex-wrap:wrap}.onboarding>div{min-width:60%}.classroom-tips{gap:10px}.classroom-tips small{display:none}.editor-layout{grid-template-columns:250px 1fr;gap:18px}.panel{padding:22px}.prepare-layout{gap:25px;grid-template-columns:.8fr 1fr}.prepare-preview{padding:23px}.login-page{gap:40px}.login-story{padding:35px 26px}.login-story h1{font-size:32px}.stage-save{display:none}.dual .word-card span{font-size:24px}.stage-board{padding:0 18px}.match-team{padding:18px}.match-players.dual{gap:16px}}@media(max-width:760px){.site-header{height:auto;min-height:80px;padding:14px 18px 0;flex-wrap:wrap;gap:8px}.site-header .brand{font-size:21px}.brand-mark{width:37px;height:39px}.account-menu{margin-left:auto}.site-header nav{order:3;width:100%;justify-content:space-between;margin-top:7px}.site-header nav a{min-height:52px;flex:1;justify-content:center;padding:0 7px}.site-header nav a svg{width:17px}.main{padding:22px 18px 35px}.site-footer{margin:0 18px;font-size:10px;gap:15px}.welcome-banner{height:330px;padding:27px 25px}.welcome-banner h1{font-size:29px}.welcome-banner img{width:90%;right:-28%;top:5%;height:105%;opacity:.65;-webkit-mask-image:linear-gradient(to right,transparent,#000 60%);mask-image:linear-gradient(to right,transparent,#000 60%)}.welcome-banner .eyebrow{font-size:8px}.welcome-banner .button{font-size:13px}.banner-stamp{right:15px;top:20px;width:60px;height:60px;font-size:9px}.banner-stamp strong{font-size:10px}.practice-grid{gap:18px}.practice-art{height:170px}.practice-art img{width:160px;height:160px}.practice-category{font-size:8px;left:10px;top:10px}.practice-card-body{padding:19px 16px}.practice-card h3{font-size:21px}.practice-card-body p{font-size:12px}.practice-meta{font-size:10px;gap:10px}.practice-meta span:last-child{display:none}.practice-meta span svg{display:none}.round-arrow{width:29px;height:29px}.round-arrow svg{width:17px}.spaced .soft-label{display:none}.onboarding{gap:13px;padding:20px}.onboarding>div{min-width:0;width:calc(100% - 70px);flex:auto}.onboarding h3{font-size:15px}.classroom-tips{justify-content:center}.classroom-tips>div{gap:6px}.classroom-tips b{font-size:10px}.classroom-tips svg{width:18px}.page-title h1{font-size:29px}.page-title .button,.page-title>button{font-size:13px;padding:9px 13px}.page-title p{font-size:13px}.editor-layout{display:block}.editor-meta{margin-bottom:20px}.editor-tip{display:none}.words-panel{padding:18px 13px}.word-head,.word-row{grid-template-columns:24px 1fr 1fr 28px;gap:6px}.word-row input{padding:10px 8px;font-size:14px}.word-row .icon-button{min-width:28px;width:28px;padding:5px}.word-head{font-size:10px}.word-row>span{font-size:11px}.prepare-layout{display:block}.prepare-preview{position:relative;top:0;margin-bottom:23px;min-height:170px;text-align:left;padding:24px 135px 24px 24px}.prepare-preview>img{position:absolute;right:5px;top:15px;width:145px}.prepare-preview h1{font-size:28px}.prepare-preview .eyebrow{font-size:9px;justify-content:flex-start}.prepare-preview p{font-size:13px}.rule-note{margin-top:18px;padding:14px;width:calc(100% + 111px)}.preparation{padding:23px}.history-row{padding:16px;gap:12px;flex-wrap:wrap}.history-row>img{width:52px;height:52px}.history-row h3{font-size:16px}.history-row .history-score{min-width:55px}.history-action{margin-left:auto}.history-row .status-pill{font-size:10px}.login-page{display:flex;flex-direction:column;gap:25px;min-height:0}.login-story{width:100%;min-height:250px;padding:25px}.login-story .brand{margin-bottom:25px}.login-story h1{font-size:26px}.login-story>.eyebrow,.login-story>p{display:none}.login-story>img{width:65%;left:auto;right:-5%;bottom:-20%;opacity:.7}.login-form{width:100%;padding:10px;max-width:420px}.login-form h2{font-size:28px}.stage-toolbar{height:72px;padding:0 10px;gap:7px}.stage-toolbar>img{display:none}.stage-title strong{font-size:14px}.stage-title small{max-width:130px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-tools{gap:3px}.stage-tools button{padding:8px;min-width:38px}.stage-tools button span{display:none}.stage-toolbar>.icon-button{width:38px;min-width:38px}.stage-heading{padding:22px 15px 18px}.stage-heading h1{font-size:24px}.stage-heading .eyebrow{font-size:10px}.stage-board{padding:0 12px}.match-players.dual{display:flex;flex-direction:column}.match-team{padding:15px}.word-cards{gap:9px;grid-template-columns:repeat(3,minmax(0,1fr))}.word-card,.many-cards .word-card{min-height:94px;padding:10px 6px}.word-card span,.many-cards .word-card span{font-size:24px}.word-card small{font-size:7px}.stage-feedback{padding:18px 12px;gap:12px;flex-wrap:wrap;font-size:13px}.stage-feedback>span{width:100%;justify-content:center}.stage-overlay{inset:72px 0 0}.overlay-card{padding:32px 24px}.overlay-card h2{font-size:26px}.fruit-question h2{font-size:40px}.fruit-field{height:380px}.fruit-object{width:90px;height:100px}.fruit-field:has(.fruit-color-4) .fruit-object{width:68px;height:90px}.fruit-word{font-size:24px}.fruit-field:has(.fruit-color-4) .fruit-word{font-size:20px}.fruit-field:has(.fruit-color-4) .fruit-object:nth-of-type(2n){margin-top:70px}.fruit-leaf{width:27px;height:19px;top:-18px}.stage-stats{gap:10px}.lives{font-size:11px;gap:4px}.result-wrap{padding:25px 15px}.result-card{padding:27px 20px}.result-card h1{font-size:26px}.result-scores strong{font-size:54px}.result-card .actions{flex-direction:column}.result-card .actions button{width:100%}.resume-bar{flex-wrap:wrap;font-size:12px}.preview-row{grid-template-columns:20px 1fr 1fr;font-size:12px}.preview-row small{grid-column:2 / 4}}@media(max-width:639px){.practice-grid{grid-template-columns:1fr}.practice-art{height:175px}.practice-art img{width:190px;height:190px}.practice-category{font-size:10px}.practice-card-body{padding:22px}.practice-meta span:last-child{display:block}.welcome-banner h1{font-size:28px}.onboarding>button,.onboarding>.button{flex:1;font-size:12px;padding:10px}.classroom-tips{gap:14px}.classroom-tips>div:last-child{display:none}.page-title{gap:8px}.eyebrow{font-size:9px}.page-title .primary{white-space:nowrap}.difficulty-options button{font-size:12px}.difficulty-options button small{font-size:9px}.history-row .status-pill{order:3}.history-action{order:4}.site-footer{font-size:9px}.stage-tools button{min-width:34px;padding:6px}.stage-title small{max-width:110px}.stage-toolbar{gap:5px}.fruit-field{height:400px}.word-card span{font-size:24px}}.practice-art img,.prepare-preview>img,.stage-toolbar>img,.history-row>img{mix-blend-mode:multiply}@media(max-width:760px){.fruit-field:has(.fruit-color-4) .fruit-word{font-size:24px}.fruit-object{height:auto;min-height:105px;padding:23px 8px}.fruit-field:has(.fruit-color-4) .fruit-object{height:auto;min-height:95px}}.stage-tools button,.stage-feedback>button{font-size:16px}.stage-feedback>span{font-size:16px}.word-card small{font-size:10px}.stage-title small{font-size:13px}.practice-card:focus-visible{outline-offset:5px}@media(min-width:1000px)and (max-height:850px){.stage-toolbar{height:72px}.stage-heading{padding:14px 20px 12px}.stage-heading h1{font-size:26px}.stage-heading .eyebrow{margin-bottom:3px}.match-team{padding:16px 18px}.team-head{margin-bottom:8px}.progress-track{margin-bottom:14px}.word-cards{gap:10px}.word-card{min-height:80px}.word-card span{font-size:26px}.word-card small{font-size:8px}.dual .many-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.many-cards .word-card{min-height:64px}.many-cards .word-card span{font-size:24px}.stage-feedback{min-height:60px;padding:12px 20px}.fruit-field{height:clamp(300px,44vh,400px)}.fruit-question h2{font-size:44px}.stage-overlay{top:72px}}@media(min-width:761px){.fruit-object{width:clamp(140px,14vw,185px);min-height:120px;height:auto;padding:30px 9px}.fruit-word{font-size:26px}}.practice-card.chase .practice-art,.prepare-preview.chase{background:#e4f2fa}.practice-card.duel .practice-art,.prepare-preview.duel{background:#ede9ff}.classroom.chase{background:#eef5f9}.classroom.duel{background:#f3f0fa}.duel-mode{display:flex;justify-content:center;align-items:center;gap:8px;margin:0 0 16px;font-weight:700;color:#56618b}.duel-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}.duel-team{--team-color:#4278f5;background:#fff;border:2px solid #dbe4fc;border-radius:26px;padding:22px;box-shadow:0 7px #dfe6f4;min-width:0}.duel-team.team-1{--team-color:#d87935;border-color:#f1d5b8;box-shadow:0 7px #efdfd0}.duel-team .team-badge,.duel-team .progress-track span{background:var(--team-color)}.duel-score{color:var(--team-color);white-space:nowrap}.duel-score b{font-size:32px}.duel-question{text-align:center;padding:24px 8px 18px;min-height:125px}.duel-question h2{font-size:clamp(32px,3.6vw,52px);line-height:1.2;margin:12px 0 0;overflow-wrap:anywhere}.duel-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duel-options button{position:relative;min-height:82px;padding:14px;display:flex;align-items:center;gap:10px;text-align:left;background:#f6f8ff;border:2px solid #dfe6f5;border-radius:16px;box-shadow:0 4px #e2e8f3;font-size:clamp(22px,2vw,30px);line-height:1.35;transition:transform .1s,background .1s}.duel-options button span{overflow-wrap:anywhere;flex:1}.duel-options button:not(:disabled):active,.duel-options button.chosen{transform:translateY(3px);background:#e0eaff;border-color:#4278f5}.duel-options kbd{font:700 14px inherit;background:#fff;border-radius:8px;padding:4px 7px;color:#68758c}.duel-options button:disabled{opacity:1;cursor:default}.duel-options button.correct{background:#dcf5e7;border-color:#51a886;color:#246547}.duel-options button.incorrect{background:#ffe6e0;border-color:#dc7b70;color:#9c3936}.duel-feedback{min-height:50px;padding:16px 2px 8px;font-size:18px;line-height:1.5;color:#526580}.duel-next{width:100%;min-height:64px;font-size:22px}.duel-wait{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#547080}.duel-keyboard{text-align:center;color:#64718a;font-size:15px;margin:24px 0 0}.buzzer-stage{max-width:920px;margin:0 auto;padding:8px 0 28px;text-align:center}.buzzer-stage .duel-question{margin:0 auto 18px}.buzzer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}.buzzer-options span{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 18px;border:2px solid #dce7f5;border-radius:18px;background:#fff;font-size:20px;font-weight:700;color:#20304a}.buzzer-options b{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:#eaf1ff;color:#4278f5}.buzzer-actions{display:grid;justify-items:center;gap:14px;margin:22px 0}.buzzer-actions p{margin:0;color:#64718a}.buzzer-score{margin-top:24px}.buzzer-score .duel-team{padding:14px 20px}.buzzer-oral{margin:16px 0;padding:14px 18px;border-radius:16px;background:#fff7df;color:#76531a;font-weight:700}.wheel-scoreboard{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:4px auto 18px;max-width:920px}.wheel-scoreboard span{padding:7px 11px;border-radius:12px;background:#edf2f8;color:#64718a;font-size:14px}.wheel-scoreboard span.active{background:#e6efff;color:#245fc9;box-shadow:inset 0 0 0 2px #4278f5}.wheel-scoreboard b{margin-left:6px;font-size:18px}.chase-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.chase-score{display:flex;gap:12px;align-items:center;padding:14px 18px;border:2px solid #dce5ee;background:#ffffffa8;border-radius:18px;flex-wrap:wrap}.chase-score.active{border-color:#4278f5;background:#fff;box-shadow:0 3px #c8d8fa}.chase-score.team-1.active{border-color:#ce8246;box-shadow:0 3px #edd7c3}.chase-role,.city-piece{display:inline-flex;border-radius:9px;background:#4278f5;color:#fff;padding:4px 9px;font-weight:800}.team-1 .chase-role,.thief-piece{background:#bf7038}.chase-score strong{font-size:22px}.chase-score b{margin-left:auto;color:#4278f5;font-size:15px}.chase-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:stretch}.city-board{display:grid;grid-template-columns:repeat(var(--board-cols),minmax(0,1fr));grid-template-rows:repeat(var(--board-rows),minmax(80px,1fr));gap:6px;border:8px solid #c8deec;background:#c8deec;border-radius:22px;min-width:0}.city-cell{position:relative;background:#fff;border:2px solid transparent;border-radius:10px;min-width:0;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}.city-cell small{font-size:12px;color:#6a8296}.city-cell strong{font-size:clamp(13px,1.15vw,19px);line-height:1.2;overflow-wrap:anywhere}.city-cell.police{border-color:#4278f5;background:#e8efff}.city-cell.thief{border-color:#bf7038;background:#fff0df}.city-cell.target{border-color:#bd9525;background:#fff4c7;box-shadow:inset 0 0 0 1px #bd9525}.city-piece{font-size:13px;line-height:1.2;padding:3px 6px}.target-label{font-size:12px;color:#856410;font-weight:800}.city-center{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eaf4f8;border-radius:12px;text-align:center;padding:15px;min-width:0}.city-center h2{font-size:24px;margin:10px 0}.city-center p{line-height:1.7;font-size:15px;color:#617f91;margin:0 0 12px}.city-skyline{display:flex;gap:7px;align-items:flex-end;height:64px;margin-bottom:14px}.city-skyline i{display:block;width:27px;height:45px;background:repeating-linear-gradient(0deg,transparent 0 12px,#e4f4fb 12px 17px),#83b4ca;border-radius:5px 5px 0 0}.city-skyline i:nth-child(2){height:64px;background-color:#6c96bb}.city-skyline i:nth-child(4){height:55px;background-color:#a9bc9b}.route-sign{border-radius:20px;background:#fff;padding:8px 12px;font-size:14px;color:#427893;font-weight:700}.chase-console{background:#fff;border:2px solid #d6e4ee;border-radius:24px;padding:20px;text-align:center;min-width:0}.chase-console h2{font-size:24px;margin:8px 0 12px}.dice-face{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;background:#ffd354;border:2px solid #d7ad36;border-radius:17px;box-shadow:0 4px #dcba63;font-size:38px;font-weight:900;color:#5b481a}.chase-console p{font-size:16px;line-height:1.7;color:#64748b}.chase-roll{min-height:64px;width:100%;font-size:24px}.chase-prompt{font-size:36px!important;margin:8px 0;line-height:1.15;overflow-wrap:anywhere}.target-caption{font-size:14px;color:#847041}.chase-translation{min-height:40px;margin:10px 0;font-size:20px;overflow-wrap:anywhere}.chase-console .actions button{min-height:44px;font-size:16px}.teacher-judge{display:grid;gap:10px;border-top:1px dashed #d5dfe9;margin-top:16px;padding-top:14px}.teacher-judge span{font-size:13px;color:#6a7a8e}.teacher-judge button{min-height:56px;font-size:20px}@media(min-width:1100px)and (max-height:850px){.classroom.duel .stage-heading,.classroom.chase .stage-heading{padding-top:12px;padding-bottom:12px}.classroom.duel .stage-heading h1,.classroom.chase .stage-heading h1{font-size:28px}.duel-question{padding:16px 6px;min-height:105px}.duel-options button{min-height:72px}.duel-team{padding:16px}.city-board{grid-template-rows:repeat(var(--board-rows),minmax(68px,1fr))}.city-center h2{font-size:20px}.city-skyline{height:45px;transform:scale(.8);margin-bottom:4px}.chase-scoreboard{margin-bottom:12px}.chase-console{padding:14px}.chase-console .dice-face{width:48px;height:48px;font-size:30px;margin-bottom:8px}.chase-console h2{margin:5px 0}.chase-prompt{font-size:30px!important}}@media(max-width:1000px){.chase-layout{grid-template-columns:1fr}.chase-console{display:block}.chase-console .teacher-judge{grid-template-columns:1fr 1fr}.teacher-judge span{grid-column:1/-1}.chase-console .chase-roll{max-width:420px}.city-cell strong{font-size:16px}.duel-options{grid-template-columns:1fr}.duel-question h2{font-size:36px}}@media(max-width:600px){.duel-panels{grid-template-columns:1fr;gap:24px}.duel-team{padding:16px}.duel-options{grid-template-columns:1fr 1fr}.duel-options button{font-size:22px;min-height:82px;padding:10px;gap:6px}.duel-options kbd,.duel-keyboard{display:none}.chase-scoreboard{gap:8px}.chase-score{padding:10px;gap:6px}.chase-score strong{font-size:18px}.chase-score b{margin:0}.chase-score span:not(.chase-role){font-size:13px}.city-board{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;border-width:5px}.city-cell{grid-row:auto!important;grid-column:auto!important;min-height:88px}.city-center{grid-column:1/-1!important;grid-row:1!important;min-height:100px}.city-skyline,.city-center h2,.city-center p{display:none}.city-center .eyebrow{margin-bottom:12px}.city-cell strong{font-size:18px}.chase-console{padding:16px}.chase-console .teacher-judge{grid-template-columns:1fr}.chase-console .teacher-judge button{min-height:64px}}.duel-team .team-badge{color:#fff}.duel-team .duel-score,.duel-team .duel-score b{color:var(--team-color)}.practice-card.quick .practice-art,.prepare-preview.quick{background:#eef0ff}.classroom.quick{background:#f3f5ff}.practice-card.link .practice-art,.prepare-preview.link{background:#e8f7f4}.classroom.link{background:#edf8f7}.practice-card.spelling .practice-art,.prepare-preview.spelling{background:#f3edff}.classroom.spelling{background:#f7f3ff}.practice-card.sentence .practice-art,.prepare-preview.sentence{background:#fff3d8}.classroom.sentence{background:#fff8e9}.practice-card.meteor .practice-art,.prepare-preview.meteor{background:#e7edff}.classroom.meteor{background:#edf1ff}.practice-card.rhythm .practice-art,.prepare-preview.rhythm{background:#f3ebff}.classroom.rhythm{background:#f8f3ff}.rhythm-practice{max-width:850px;margin:0 auto;padding:24px;text-align:center}.rhythm-count{color:#786d8e;font-weight:800}.rhythm-speaker{padding:35px 20px;background:#fff;border:3px solid #cbb8e8;border-radius:28px;box-shadow:0 8px #ded4ef}.rhythm-speaker h2{margin:10px 0;font-size:clamp(45px,6vw,76px);line-height:1.15;overflow-wrap:anywhere}.rhythm-speaker p{color:#6e718c;font-size:19px}.beatbar{display:flex;justify-content:center;gap:20px;margin:34px 0}.beatbar i{display:block;width:34px;height:34px;border:3px solid #7b65a5;border-radius:50%;background:#e8e0f5}.beatbar i.on{background:#ffd354;border-color:#c3921d;box-shadow:0 5px #d8b45e;transform:translateY(-5px)}.beatbar.reduced i.on{transform:none}.rhythm-practice .actions button{min-height:66px;font-size:22px}.meteor-panels{display:grid;gap:24px;max-width:1100px;margin:0 auto}.meteor-panels.dual{grid-template-columns:1fr 1fr}.meteor-panel{background:#fff;border:2px solid #b9c8ed;border-radius:25px;padding:20px;box-shadow:0 7px #d5def3;text-align:center;min-width:0}.meteor-hud{display:flex;justify-content:space-between;gap:8px;margin:10px 0;color:#63718e;font-weight:800}.meteor-lives{color:#d85a5a}.meteor-sky{position:relative;height:260px;overflow:hidden;border:3px solid #637eae;border-radius:20px;background:radial-gradient(#fff 1px,transparent 1px) 0 0/28px 28px,#263e76}.meteor-rock{position:absolute;top:-5px;left:10%;width:80%;padding:15px;border:3px solid #ffd354;border-radius:16px;background:#5272b8;color:#fff;font-size:clamp(27px,4vw,44px);font-weight:850;overflow-wrap:anywhere;animation:meteor-fall linear forwards}.meteor-sky.reduced .meteor-rock{top:42%;animation:none}.meteor-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.meteor-options button{min-height:62px;padding:9px;border:2px solid #b8c8e8;border-radius:14px;background:#f7f9ff;box-shadow:0 4px #d7e0f2;font-size:clamp(18px,2vw,24px);font-weight:750;overflow-wrap:anywhere}.meteor-skip{color:#697994}.meteor-done{min-height:320px;display:grid;place-content:center;color:#65718a}@keyframes meteor-fall{to{top:calc(100% - 92px)}}.sentence-panels{display:grid;gap:24px;max-width:1100px;margin:0 auto}.sentence-panels.dual{grid-template-columns:1fr 1fr}.sentence-panel{background:#fff;border:2px solid #efd7a3;border-radius:25px;padding:24px;box-shadow:0 7px #f2e4c4;text-align:center;min-width:0}.sentence-count{color:#82745e;font-weight:750}.sentence-meaning{margin:14px auto;padding:15px;max-width:700px;border-radius:16px;background:#fff7df;color:#574629;font-size:clamp(22px,2.5vw,33px);font-weight:800;overflow-wrap:anywhere}.sentence-hint{margin:0 0 10px;color:#73819a;font-size:14px}.sentence-train{display:flex;gap:8px;align-items:center;min-height:91px;padding:12px;margin:16px 0;background:#edf3fc;border:3px solid #7096d1;border-bottom-width:8px;border-radius:18px;text-align:left;overflow:auto}.sentence-train button,.sentence-tokens button{min-height:56px;padding:8px 13px;background:#fff;border:2px solid #9eb3d8;border-radius:12px;box-shadow:0 3px #bbc9e1;font-size:clamp(18px,2vw,25px);font-weight:750;white-space:nowrap}.sentence-train button{background:#d8e7ff;border-color:#6190d9}.train-engine{display:grid;place-items:center;min-width:45px;height:45px;color:#fff;background:#4278f5;border:2px solid #25395b;border-radius:10px;font-size:25px}.train-placeholder{color:#70809a;font-weight:700}.sentence-tokens{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.sentence-tokens button:disabled{opacity:.35;box-shadow:none}.sentence-done{min-height:330px;display:grid;place-content:center;color:#786b58}.spelling-panels{display:grid;gap:24px;max-width:1040px;margin:0 auto}.spelling-panels.dual{grid-template-columns:1fr 1fr}.spelling-panel{background:#fff;border:2px solid #ddd0f4;border-radius:25px;padding:24px;box-shadow:0 7px #e6ddf4;text-align:center;min-width:0}.spelling-panel.team-1{border-color:#f0d4b9;box-shadow:0 7px #f3e1d0}.spelling-count{color:#73708a;font-weight:700}.spelling-prompt{display:grid;gap:6px;margin:16px auto}.spelling-prompt span{color:#7e7297;font-size:14px;font-weight:800}.spelling-prompt strong{font-size:clamp(28px,3vw,43px);overflow-wrap:anywhere}.spelling-mask{min-height:68px;display:flex;align-items:center;justify-content:center;padding:12px;letter-spacing:.18em;color:#66528d;background:#f7f3ff;border:2px dashed #af9bd3;border-radius:16px;font:bold clamp(25px,3vw,38px) ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.spelling-input{display:block;margin:17px auto 4px;max-width:560px}.spelling-input input{text-align:center;font-size:clamp(22px,2.5vw,31px);min-height:64px;font-weight:750}.spelling-feedback{min-height:29px;color:#547065;font-weight:700}.spelling-done{min-height:330px;display:grid;place-content:center;color:#627287}.word-build-stage{width:min(760px,94vw);margin:0 auto;padding:clamp(20px,4vw,42px);border:3px solid #d8e7ff;border-radius:28px;background:linear-gradient(145deg,#fff,#eff6ff);box-shadow:0 14px #b8d0f8;text-align:center}.build-progress{color:#63789c;font-weight:800;letter-spacing:.04em}.build-clue{margin:24px auto 16px}.build-clue span{display:block;color:#6881aa;font-size:16px;font-weight:800}.build-clue strong{display:block;margin-top:8px;font-size:clamp(30px,5vw,52px);color:#20304a}.build-answer{min-height:76px;display:flex;align-items:center;justify-content:center;padding:10px 20px;border:3px dashed #8db1f6;border-radius:18px;background:#fff;color:#244d9b;font-size:clamp(26px,4vw,42px);font-weight:900;letter-spacing:.12em}.build-answer.empty{font-size:18px;letter-spacing:0;color:#8a9ab4}.letter-rack{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:26px 0}.letter-tile{width:64px;height:64px;border:0;border-radius:16px;background:#ffd354;color:#5a3c00;box-shadow:0 6px #d49d1c;font-size:28px;font-weight:900;cursor:pointer}.letter-tile:active{transform:translateY(4px);box-shadow:0 2px #d49d1c}.letter-tile.used{visibility:hidden}.build-actions{justify-content:center}@media(max-width:600px){.letter-tile{width:54px;height:54px;font-size:24px}.word-build-stage{border-radius:20px}}.gomoku-stage{max-width:900px;margin:auto;padding:24px;border:3px solid #bb9456;border-radius:28px;background:#fff8e6;box-shadow:0 12px #d8c08c;text-align:center}.gomoku-head{display:flex;justify-content:space-between;gap:16px;align-items:center;border:0;box-shadow:none;background:transparent;padding:0}.gomoku-head h2{margin:4px 0;font-size:28px}.gomoku-score{display:flex;gap:10px;flex-wrap:wrap}.stone-dot{padding:7px 12px;border-radius:99px;font-weight:800;background:#e8f0ff;color:#254d96}.stone-dot.p1{background:#fff0e9;color:#a84d3d}.gomoku-question span{display:block;color:#867050;font-weight:800;margin-top:12px}.gomoku-question strong{display:block;font-size:clamp(36px,6vw,62px);color:#20304a;margin:8px}.gomoku-question p{color:#68748a;margin:0}.gomoku-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:720px;margin:18px auto}.gomoku-options button.selected{background:#e2ecff;border-color:#4278f5}.gomoku-board{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:11px;max-width:590px;margin:22px auto;background:#bd8a48;border:4px solid #815a27;border-radius:16px}.gomoku-board button{position:relative;aspect-ratio:1;min-height:0;padding:0;border:0;border-radius:2px;box-shadow:none;background:#f5d89a}.gomoku-board button.selected{outline:4px solid #4278f5;outline-offset:-4px;background:#ffe8b9}.gomoku-board .stone{position:absolute;inset:14%;border-radius:50%;background:#4278f5;border:3px solid #20304a;box-shadow:inset -6px -7px #1d4aa6}.gomoku-board button.orange .stone{background:#ec816e;box-shadow:inset -6px -7px #a84841}.gomoku-submit{margin:14px auto;min-width:260px}@media(max-width:600px){.gomoku-stage{padding:15px}.gomoku-head{align-items:flex-start;flex-direction:column}.gomoku-options{gap:8px}.gomoku-options button{font-size:16px;min-height:55px}.gomoku-board{padding:7px}.gomoku-submit{min-width:0;width:100%}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.witch-stage{max-width:980px;margin:auto;padding:26px;border:3px solid #a989c9;border-radius:28px;background:linear-gradient(145deg,#fcfaff,#eee5fb);box-shadow:0 12px #d8c8eb;text-align:center}.witch-head{display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;box-shadow:none;padding:0}.witch-head h2{margin:5px 0;font-size:30px}.witch-status{background:#72529d;color:#fff;padding:8px 14px;border-radius:99px;font-weight:800}.witch-rule{color:#5f5373;font-weight:700}.witch-cards{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:12px;margin:22px auto}.witch-cards button{aspect-ratio:1;min-height:0;padding:7px;display:grid;place-content:center;background:#72529d;color:#fff;border-color:#4f356f;box-shadow:0 5px #4f356f}.witch-cards button.opened{background:#d9f4e5;color:#21694d;border-color:#579577;box-shadow:none}.witch-cards span{font-size:38px}.witch-cards b{font-size:27px}.witch-cards small{overflow-wrap:anywhere;font-size:14px}.witch-feedback{min-height:28px;color:#513a70;font-weight:800}.witch-players{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.witch-players span{padding:6px 11px;border-radius:99px;background:#fff;font-weight:700}.witch-players .out{text-decoration:line-through;opacity:.55}.witch-handoff{padding:55px 20px;background:#fff;border-radius:22px}.witch-handoff h3{font-size:30px;margin:12px}@media(max-width:600px){.witch-stage{padding:15px}.witch-head{align-items:flex-start;flex-direction:column}.witch-cards{gap:7px}.witch-cards small{font-size:11px}}.wheel-stage{max-width:760px;margin:auto;padding:32px;border:3px solid #406eb8;border-radius:32px;background:radial-gradient(circle at center,#fdf6c8,#dceafe 70%);box-shadow:0 12px #a7c2ea;text-align:center}.wheel-meta{color:#536d97;font-weight:800}.wheel-orbit{position:relative;width:270px;height:290px;margin:15px auto}.wheel-pointer{position:absolute;top:0;left:50%;z-index:2;transform:translate(-50%);color:#e96d57;font-size:42px;line-height:35px}.letter-wheel{position:absolute;inset:30px 0 0;margin:auto;width:235px;height:235px;min-height:0;border-radius:50%;border:10px solid #355eaa;background:conic-gradient(#ffd354 0 45deg,#94d9ef 45deg 90deg,#ffad9d 90deg 135deg,#c1df94 135deg 180deg,#ffd354 180deg 225deg,#94d9ef 225deg 270deg,#ffad9d 270deg 315deg,#c1df94 315deg);box-shadow:0 7px #20304a;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.letter-wheel span{position:absolute;left:calc(50% - 15px);top:calc(50% - 15px);width:30px;height:30px;font-size:21px;font-weight:900;color:#20304a}.letter-wheel b{display:grid;place-items:center;width:70px;height:70px;border:3px solid #20304a;border-radius:50%;background:#fff;color:#4278f5;font-size:26px;margin:auto}.wheel-question span{display:block;color:#657a9c;font-weight:800}.wheel-question strong{display:block;font-size:clamp(36px,6vw,62px);color:#20304a;margin:8px}.wheel-answer{font-size:clamp(25px,4vw,40px);font-weight:900;color:#1b654c;background:#e2f8e8;padding:14px;border-radius:16px;margin:20px auto}.link-players{display:grid;gap:24px}.link-players.dual{grid-template-columns:1fr 1fr}.link-team{background:#fff;border:2px solid #cfe6e2;border-radius:24px;padding:20px;box-shadow:0 6px #d8ebe8;min-width:0}.link-tip{text-align:center;color:#638076;margin:4px 0 16px}.link-board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26%;min-height:300px}.link-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.link-board path{stroke:#3f9d91;stroke-width:2.3;fill:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 0 #c3e7e0)}.link-column{display:grid;align-content:start;gap:10px;z-index:2}.link-card{min-height:61px;padding:9px 12px;background:#f7fffd;border:2px solid #90c9bf;border-radius:14px;box-shadow:0 4px #acd8d1;font-size:clamp(18px,2vw,25px);font-weight:750;overflow-wrap:anywhere}.link-card.chinese{background:#fff9ec;border-color:#e8c76b;box-shadow:0 4px #ebd692}.link-card.selected{background:#d9f5ee;border-color:#308d80;transform:translateY(3px);box-shadow:0 1px #77b9af}.link-card.done{opacity:.52;background:#dcf4e8;border-color:#61af88;box-shadow:none}.link-team .team-head{margin-bottom:5px}.quick-practice{max-width:860px;margin:0 auto;padding:4px 0 20px;text-align:center}.quick-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border:2px solid #dce4f9;border-radius:16px;color:#5f6e8b;font-weight:700}.quick-progress b{color:#4278f5;font-size:24px}.quick-radar{position:relative;width:170px;height:170px;margin:18px auto 8px;border:7px solid #b7caff;border-radius:50%;background:repeating-radial-gradient(circle,#dbe5ff 0 2px,#eff3ff 3px 33px);overflow:hidden;box-shadow:0 8px #d8e2fb}.quick-radar i{position:absolute;left:50%;top:50%;width:3px;height:75px;background:#4278f5;transform-origin:bottom;transform:translate(-50%,-100%) rotate(38deg)}.quick-radar i:nth-child(2){transform:translate(-50%,-100%) rotate(158deg)}.quick-radar i:nth-child(3){transform:translate(-50%,-100%) rotate(278deg)}.quick-radar strong{position:absolute;inset:0;display:grid;place-items:center;color:#25395b;font-size:70px}.quick-prompt{padding:10px 20px}.quick-prompt h2{font-size:clamp(42px,6vw,72px);line-height:1.16;margin:7px 0;overflow-wrap:anywhere}.quick-prompt p{margin:0;color:#6d7b92;font-size:19px}.quick-answer{min-height:76px;display:grid;place-items:center;margin:12px auto 18px;padding:14px 22px;max-width:650px;background:#f4f6fb;border:2px dashed #cfd9ea;border-radius:18px;font-size:clamp(22px,3vw,34px);font-weight:750;color:#7a879a;overflow-wrap:anywhere}.quick-answer.revealed{background:#e3f6eb;border-style:solid;border-color:#70b998;color:#236445;box-shadow:0 5px #c4e8d4}.quick-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.quick-actions button{min-height:62px;padding:10px 24px;font-size:20px}.quick-actions .primary{min-width:190px}.quick-keyboard{margin:18px 0 0;color:#79869b;font-size:14px}.quick-direction{margin-bottom:14px}@media(max-width:600px){.quick-progress{padding:10px 12px;font-size:14px}.quick-radar{width:130px;height:130px;margin-top:8px}.quick-radar strong{font-size:54px}.quick-prompt h2{font-size:40px}.quick-prompt p{font-size:16px}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions button,.quick-actions .primary{width:100%;min-width:0;padding:10px;font-size:18px}.judge-actions{grid-template-columns:1fr}.quick-keyboard{display:none}}@media(max-width:850px){.link-players.dual{grid-template-columns:1fr}.link-board{gap:18%}}@media(max-width:500px){.link-team{padding:14px}.link-board{gap:10%;min-height:250px}.link-card{font-size:17px;min-height:58px;padding:8px}.link-board path{stroke-width:2}}@media(max-width:750px){.spelling-panels.dual{grid-template-columns:1fr}.spelling-panel{padding:17px}}@media(max-width:750px){.sentence-panels.dual{grid-template-columns:1fr}.sentence-panel{padding:17px}.sentence-train{min-height:78px;padding:9px}.sentence-train button,.sentence-tokens button{min-height:51px;font-size:18px}}@media(max-width:750px){.meteor-panels.dual,.meteor-options{grid-template-columns:1fr}.meteor-sky{height:220px}}@media(max-width:600px){.rhythm-practice{padding:8px}.rhythm-speaker{padding:24px 12px}.beatbar{gap:12px;margin:25px 0}.beatbar i{width:27px;height:27px}.rhythm-practice .actions button{font-size:19px}}.route-arrow{display:inline-block}@media(min-width:1100px)and (max-height:850px){.classroom.duel .stage-heading,.classroom.chase .stage-heading{padding:10px 24px 8px}.classroom.duel .stage-stats{position:absolute;right:28px;top:12px;margin:0}.classroom.chase .stage-stats:empty{display:none}.classroom.duel .stage-feedback,.classroom.chase .stage-feedback{min-height:52px;padding:8px 28px}.duel-question{min-height:88px;padding:10px 6px}.duel-question h2{font-size:40px;margin-top:8px}.duel-keyboard{margin:14px 0 0;font-size:13px}.duel-mode{margin-bottom:12px}.duel-team .team-head{margin-bottom:10px}.duel-feedback{min-height:44px;padding-top:10px}.chase-score{padding:10px 16px}.chase-console .teacher-judge{margin-top:10px;padding-top:10px;gap:8px}.chase-console .actions{gap:8px}.chase-translation{min-height:32px;margin:8px 0}.chase-console .teacher-judge button{min-height:48px}}@media(max-width:600px){.route-arrow{transform:none!important}}.login-page{grid-template-columns:minmax(0,1fr) 400px;gap:72px;max-width:1080px;margin:0 auto;min-height:calc(100dvh - 90px)}.login-story{min-height:520px;padding:36px;background:#eef4ee;align-self:center;border-radius:28px}.login-story .brand{margin-bottom:48px}.login-story h1{font-size:clamp(30px,3vw,40px);line-height:1.55;letter-spacing:-1px}.login-story>img{width:88%;left:6%;bottom:0;max-height:250px;object-fit:contain;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(transparent,#000 18%);mask-image:linear-gradient(transparent,#000 18%)}.login-form{max-width:400px;width:100%;padding:24px 0}.login-form h2{font-size:30px;margin:0 0 32px}.login-form label{font-size:16px;margin-top:20px}.login-form input{min-height:52px;font-size:16px}.login-form .wide-button{min-height:54px;margin-top:28px;font-size:18px}.login-note{color:#6d788b;font-size:12px;line-height:1.7;margin-top:20px}.practice-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:10px 0 30px}.practice-heading h1{font-size:34px;letter-spacing:-1px}.practice-heading p{margin-top:10px;color:#66788a;font-size:16px}.practice-filter{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:thin}.practice-filter button{flex:0 0 auto;min-height:44px;padding:9px 18px;border:1px solid #dce5f1;border-radius:999px;background:#f4f7fb;color:#52627a;font-weight:800;box-shadow:none}.practice-filter button:hover{border-color:#8bb2ff;background:#eaf2ff}.practice-filter button.active{border-color:#4278f5;background:#4278f5;color:#fff;box-shadow:0 6px 14px #4278f540}.practice-filter button:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.practice-count{margin:4px 0 18px;color:#66788a;font-size:14px;font-weight:700}.practice-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.practice-tag{padding:4px 8px;border-radius:999px;background:#eef4ff;color:#315fa8;font-size:12px;font-weight:800}.practice-empty{display:grid;justify-items:start;gap:8px;padding:40px;border:2px dashed #c8d7ea;border-radius:22px;background:#f8fbff}.practice-empty h2,.practice-empty p{margin:0}.practice-empty p{color:#66788a}@media(max-width:700px){.practice-filter{margin-right:-20px;padding-right:20px;scroll-padding-left:2px}.practice-filter button{min-height:42px;padding:8px 15px}.practice-empty{padding:28px 20px}}.pagination{display:grid;justify-items:center;gap:13px;margin:30px 0 8px;padding:18px;border-top:1px solid var(--line)}.pagination-summary{margin:0;color:#66788a;font-size:14px;font-weight:700}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:7px;max-width:100%}.pagination-controls button{min-width:44px;min-height:44px;padding:8px 11px;border:2px solid #cbd8ea;border-radius:14px;background:#fff;color:#315273;box-shadow:0 4px #d5e0f0;font-weight:800}.pagination-controls button:active:not(:disabled){transform:translateY(4px);box-shadow:none}.pagination-controls button.active{border-color:#4278f5;background:#4278f5;color:#fff;box-shadow:0 4px #254f9e}.pagination-controls button:disabled{opacity:.45;box-shadow:none}.pagination-controls button svg{vertical-align:middle}.pagination-ellipsis{width:24px;color:#7687a0;text-align:center;font-size:20px;font-weight:800}@media(max-width:520px){.pagination{padding:16px 0}.pagination-controls{gap:5px}.pagination-controls button{min-width:40px;min-height:40px;padding:7px}.pagination-controls button:not(.pagination-page) span{display:none}.pagination-ellipsis{width:14px}.pagination-controls .pagination-page:not(.active){display:none}}.account-menu summary>span:last-child{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu>div>a{display:block;padding:12px 16px;min-height:44px;color:var(--ink,#20304a);border-radius:10px;text-decoration:none}.account-menu>div>a:hover{background:#f1f5fb}.site-footer{justify-content:center}.site-footer>span:empty{display:none}.account-title{padding-bottom:28px}.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1060px}.account-layout .panel{padding:30px;min-width:0}.profile-heading{display:flex;align-items:center;gap:16px;margin-bottom:28px}.profile-avatar{width:64px;height:64px;flex-shrink:0;font-size:28px}.account-layout h2{font-size:23px;margin-bottom:8px}.account-layout .muted{font-size:14px;line-height:1.7}.account-layout form{margin-top:24px}.account-layout label{font-size:16px}.account-layout input{min-height:48px}.field-help{font-size:13px;color:#6b788c;margin:8px 0 22px}.phone-field{display:grid;gap:8px;padding:16px 18px;background:#f5f7fa;border-radius:14px;margin:24px 0}.phone-field>span{font-size:14px;color:#64728a}.phone-field strong{font-size:20px;letter-spacing:1px}.phone-field small{color:#788498;font-size:12px}.success-message{color:#26754f;display:flex;align-items:center;gap:8px;margin:14px 0;font-size:15px}.account-signout{max-width:1060px;margin-top:28px;border-top:1px solid #dfe5ed;padding-top:24px}@media(max-width:1050px){.login-page{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:36px}.login-story{padding:28px;min-height:460px}.login-story h1{font-size:30px}.login-story .brand{margin-bottom:42px}}@media(max-width:700px){.login-page{display:flex;flex-direction:column;gap:20px;min-height:0;max-width:440px;padding:12px 0 28px}.login-story{width:100%;min-height:0;padding:8px 12px 0;background:transparent;border-radius:0;align-self:auto}.login-story .brand{margin-bottom:24px}.login-story h1{font-size:26px;line-height:1.5;letter-spacing:-.5px}.login-story>img{display:none}.login-form{padding:20px 12px 0;max-width:none}.login-form h2{font-size:25px;margin-bottom:22px}.login-form label{margin-top:16px}.practice-heading{align-items:flex-start;padding:8px 0 24px;gap:12px}.practice-heading h1{font-size:28px}.practice-heading .button{font-size:14px;padding:10px 12px;white-space:nowrap}.account-layout{grid-template-columns:1fr;gap:20px}.account-layout .panel{padding:22px}.profile-heading{gap:12px}.profile-avatar{width:52px;height:52px;font-size:24px}}.auth-main{max-width:none;min-height:100dvh;margin:0;padding:0}.auth-page.login-page,.login-page{width:100%;max-width:none;margin:0;min-height:100dvh;padding:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(400px,.8fr);gap:0;background:#fff}.auth-page .login-story,.login-page .login-story{min-height:100dvh;align-self:stretch;border-radius:0;padding:clamp(42px,6vw,96px);background:linear-gradient(135deg,#e6f4ed,#dff0e9 52%,#d6e5f5);isolation:isolate}.auth-page .login-story:after,.login-page .login-story:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#20304a12 0%,transparent 55%,#20304a18)}.auth-page .login-story .brand,.login-page .login-story .brand{margin-bottom:clamp(72px,14vh,172px)}.auth-page .login-story h1,.login-page .login-story h1{font-size:clamp(38px,4vw,64px);line-height:1.35;max-width:650px;color:#20304a}.auth-page .login-story>img,.login-page .login-story>img{width:108%;max-width:none;max-height:none;height:70%;left:-4%;bottom:-2%;object-fit:cover;object-position:center bottom;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(transparent,#000 20%);mask-image:linear-gradient(transparent,#000 20%)}.auth-page .login-form,.login-page .login-form{align-self:center;justify-self:center;width:min(100%,400px);max-width:400px;padding:54px 0}.auth-page .login-form h2,.login-page .login-form h2{margin-bottom:12px}.auth-switch{font-size:14px;color:#7f8a9b;margin-top:22px;text-align:center}.auth-switch a{font-weight:750;margin-left:5px}.account-chevron{color:#7d8b9e;transition:transform .16s ease}.account-menu[open] .account-chevron{transform:rotate(180deg)}.special-head,.word-row:has(>input){grid-template-columns:42px repeat(4,minmax(110px,1fr)) 40px}.special-head span{font-weight:700;color:#52627a;font-size:13px}.grammar-stage{width:min(940px,100%);margin:0 auto;padding:36px;border-radius:28px;background:linear-gradient(145deg,#fffdf6,#edf6ff);box-shadow:0 18px 45px #20304a16;text-align:center}.grammar-progress{color:#5f6e84;margin-bottom:18px}.grammar-stage-tag{display:inline-block;padding:8px 14px;border-radius:999px;background:#fff0c4;color:#895a00;font-weight:750}.grammar-stage h2{font-size:clamp(26px,4vw,46px);line-height:1.35;margin:22px auto;max-width:800px}.grammar-input{display:flex;gap:12px;max-width:620px;margin:24px auto}.grammar-input input{flex:1;min-height:62px;font-size:24px}.grammar-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:26px auto}.grammar-options button{min-height:70px;padding:12px 18px;font-size:22px;background:#fff;border:2px solid #d7e3f4;border-radius:18px}.grammar-options button:hover{border-color:#4278f5;background:#f3f7ff}.draw-names-field{display:grid;gap:8px;margin:20px 0}.draw-names-field textarea{min-height:150px;resize:vertical;line-height:1.65}@media(max-width:1050px){.auth-page.login-page,.login-page{grid-template-columns:minmax(0,1fr) minmax(340px,.7fr)}.auth-page .login-story,.login-page .login-story{padding:54px}.auth-page .login-story h1,.login-page .login-story h1{font-size:clamp(34px,4vw,48px)}}@media(max-width:700px){.auth-page.login-page,.login-page{display:flex;flex-direction:column;min-height:100dvh;padding:0 20px;background:#fff}.auth-page .login-story,.login-page .login-story{width:100%;min-height:0;padding:36px 0 8px;background:transparent}.auth-page .login-story:after,.login-page .login-story:after{display:none}.auth-page .login-story .brand,.login-page .login-story .brand{margin-bottom:24px}.auth-page .login-story h1,.login-page .login-story h1{font-size:26px;line-height:1.5}.auth-page .login-story>img,.login-page .login-story>img{display:none}.auth-page .login-form,.login-page .login-form{width:100%;padding:24px 0 38px;align-self:auto}.account-chevron{display:none}.grammar-stage{padding:22px 14px}.grammar-options{grid-template-columns:1fr}.grammar-input{flex-direction:column}.special-head,.word-row:has(>input){grid-template-columns:32px repeat(4,minmax(120px,1fr)) 36px;overflow-x:auto}}.crossword-panels{display:grid;gap:24px;max-width:1160px;margin:0 auto}.crossword-panels.dual{grid-template-columns:repeat(2,minmax(0,1fr))}.crossword-stage{min-width:0;padding:clamp(18px,3vw,30px);border:3px solid #d8e7ff;border-radius:28px;background:linear-gradient(145deg,#fff,#f0f7ff);box-shadow:0 10px #b8d0f8}.crossword-stage.team-1{border-color:#f3d9bd;box-shadow:0 10px #f3e1d0}.crossword-status{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#31578d;font-weight:850}.crossword-status>span{display:flex;align-items:center;gap:7px}.crossword-hint{margin:10px 0 14px;color:#687a95;font-weight:650}.crossword-scroll{overflow:auto;padding:8px;max-height:420px}.crossword-grid{display:grid;gap:3px;width:max-content;min-width:100%;margin:auto;padding:11px;border-radius:18px;background:#dbe9f8}.crossword-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:34px;min-height:34px;padding:0;border:2px solid #97b3d4;border-radius:7px;background:#fff;color:#20304a;box-shadow:none;font-size:clamp(17px,2vw,26px);font-weight:900}.crossword-cell small{position:absolute;top:2px;left:4px;color:#7188a6;font-size:10px;line-height:1}.crossword-cell.selected{border-color:#4278f5;background:#e8f0ff;outline:3px solid #8bb2ff;outline-offset:1px}.crossword-cell.filled{background:#e4f8ed;border-color:#76c99a}.crossword-clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;margin:18px 0;text-align:left}.crossword-clues p{display:flex;gap:7px;align-items:baseline;margin:0;padding:8px 10px;border-radius:10px;background:#fff;color:#495c77;font-size:15px}.crossword-clues b{flex:none;color:#4278f5}.crossword-candidates{display:flex;min-height:64px;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:14px}.crossword-candidates .letter-tile{width:58px;height:58px;font-size:25px}@media(max-width:760px){.crossword-panels.dual,.crossword-clues{grid-template-columns:1fr}.crossword-stage{border-radius:20px}.crossword-candidates .letter-tile{width:52px;height:52px}}
