:root{--ink:#14241a;--ink2:#203328;--paper:#f3f0e8;--surface:#fffdf8;--orange:#e76e3d;--orange2:#f08a5f;--sage:#dbe6d9;--line:#dedfd8;--muted:#7e877f;--shadow:0 24px 70px rgba(25,36,28,.1);font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 85% 4%,rgba(231,110,61,.07),transparent 22%),var(--paper)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}a{text-decoration:none;color:inherit}.card{border:1px solid rgba(28,40,31,.08);border-radius:24px;background:rgba(255,253,248,.88);box-shadow:0 14px 38px rgba(25,36,28,.055);backdrop-filter:blur(14px)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:800}.brand b,.brand-dot{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--ink);background:var(--orange);box-shadow:inset 0 1px rgba(255,255,255,.4);font-family:"Songti SC",serif}.brand i{font-family:Georgia,serif;font-weight:400}.avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#f18458,#c84f27);font-weight:800}.avatar.large{width:72px;height:72px;border-radius:22px;font-size:25px}.splash,.fatal{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px}.fatal{flex-direction:column}.fatal p{color:var(--muted)}.fatal button{padding:12px 18px;border-radius:12px;color:#fff;background:var(--ink)}

/* 安装与登录 */
.installer-body{background:#f4f0e8}.installer-shell,.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.02fr .98fr}.installer-brand,.auth-visual{position:relative;min-height:100vh;padding:clamp(38px,5vw,78px);display:flex;flex-direction:column;overflow:hidden;color:#fff;background:linear-gradient(145deg,#22362a 0%,#101a14 82%)}.installer-brand:before,.auth-visual:before{content:"";position:absolute;right:-160px;top:-190px;width:590px;height:590px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(240,133,85,.9),rgba(218,83,38,.2) 43%,transparent 70%)}.installer-brand:after,.auth-visual:after{content:"";position:absolute;right:-120px;bottom:-230px;width:580px;height:580px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 78px rgba(255,255,255,.018),0 0 0 156px rgba(255,255,255,.014)}.installer-brand>* ,.auth-visual>*{position:relative;z-index:1}.installer-brand>div,.auth-copy{margin:auto 0}.installer-brand .eyebrow,.auth-copy .eyebrow{color:#98a69c}.installer-brand h1,.auth-copy h1{margin:22px 0 0;font-family:"Songti SC","STSong",Georgia,serif;font-size:clamp(50px,5.3vw,82px);line-height:1.16;letter-spacing:-.06em}.installer-brand p,.auth-copy p{max-width:560px;margin:24px 0 0;color:#a5b0a8;font-size:16px;line-height:1.8}.installer-brand small{color:#819087}.installer-panel,.auth-panel{padding:clamp(18px,3vw,42px);display:grid;place-items:center}.installer-card,.auth-card{width:min(690px,100%);padding:clamp(24px,3vw,40px);border:1px solid rgba(28,40,31,.08);border-radius:28px;background:rgba(255,253,248,.92);box-shadow:var(--shadow)}.installer-card>header{display:flex;justify-content:space-between;align-items:flex-start}.installer-card header span,.settings-form header span,.model-card header span,.profile header span,.today header span,.section header span,.reminder-card header span{display:block;color:#979e98;font-size:11px;font-weight:800;letter-spacing:.18em}.installer-card h2,.settings-form h2,.model-card h2,.profile h2,.today h2,.section h2,.reminder-card h2{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:28px;letter-spacing:-.035em}.installer-card header em{padding:7px 10px;border-radius:999px;color:#87503c;background:#f7ded3;font-size:11px;font-style:normal}.installer-card h3{margin:28px 0 14px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.settings-form>label,.auth-fields label{display:grid;gap:7px;color:#59645b;font-size:13px}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.settings-form input,.settings-form textarea,.auth-fields input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:#f7f6f2;transition:.18s ease}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.settings-form input:focus,.settings-form textarea:focus,.auth-fields input:focus{border-color:rgba(231,110,61,.45);box-shadow:0 0 0 4px rgba(231,110,61,.08);background:#fff}.primary-button,.submit-dark{width:100%;min-height:50px;margin-top:23px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;color:#fff;background:var(--ink);font-weight:800;transition:transform .18s ease,background .18s ease}.primary-button:hover,.submit-dark:hover{transform:translateY(-2px);background:#20372a}.primary-button:disabled,.submit-dark:disabled{opacity:.55;transform:none}.form-note{margin:14px 0 0;color:#949b95;font-size:12px;line-height:1.6;text-align:center}.alert-error,.inline-error{padding:12px 14px;border-radius:12px;color:#a64225;background:#f8dfd5;font-size:13px}.alert-error{margin:20px 0}.inline-error{margin:0}.auth-metrics{display:flex;gap:clamp(25px,5vw,68px)}.auth-metrics span{display:grid;gap:5px;color:#87938a;font-size:11px}.auth-metrics b{color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:500}.auth-card{width:min(430px,100%);padding:36px}.auth-card>header>span{font-family:"Songti SC","STSong",serif;font-size:31px;font-weight:800}.auth-card>header p{margin:8px 0 0;color:#858d86;font-size:13px}.auth-tabs{margin:28px 0 22px;padding:4px;display:grid;grid-template-columns:1fr 1fr;border-radius:13px;background:#eceee9}.auth-tabs button{height:40px;border-radius:10px;color:#7b837c;background:transparent}.auth-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 5px 15px rgba(25,35,28,.07);font-weight:800}.auth-fields{display:grid;gap:16px}

/* 应用框架 */
.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:246px;padding:30px 22px 22px;display:flex;flex-direction:column;color:#eaf0ea;background:#14231a;border-right:1px solid rgba(255,255,255,.05)}.sidebar nav{margin-top:58px;display:grid;gap:7px}.sidebar nav button{position:relative;min-height:52px;padding:0 16px;display:flex;align-items:center;gap:13px;border-radius:15px;color:#87948b;background:transparent;text-align:left;transition:.18s ease}.sidebar nav button:hover{color:#e3e9e4;transform:translateX(3px)}.sidebar nav button.active{color:#fff;background:rgba(255,255,255,.075)}.sidebar nav button.active:before{content:"";position:absolute;left:-22px;width:3px;height:25px;border-radius:3px;background:var(--orange)}.sidebar nav i{width:24px;font-family:Georgia,serif;font-size:20px;font-style:normal;text-align:center}.sidebar footer{margin-top:auto;padding:17px 9px 4px;display:flex;align-items:center;gap:11px;border-top:1px solid rgba(255,255,255,.08)}.sidebar footer div{min-width:0}.sidebar footer b,.sidebar footer small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar footer small{margin-top:4px;color:#79867d}.mobile-top,.bottom-nav{display:none}.main{min-height:100vh;margin-left:246px;padding:38px clamp(28px,4vw,66px) 76px}.route-page{max-width:1480px;margin:auto;animation:page-in .3s cubic-bezier(.2,.75,.2,1) both}.page-head{min-height:72px;margin-bottom:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-head>div>span{display:block;margin-bottom:7px;color:#929891;font-size:12px;font-weight:800;letter-spacing:.18em}.page-head h1{margin:0;font-family:"Songti SC","STSong",Georgia,serif;font-size:clamp(34px,3.2vw,48px);line-height:1.1;letter-spacing:-.045em}.primary-small{min-height:44px;padding:0 17px;border-radius:13px;color:#fff;background:var(--ink);font-size:13px;font-weight:800;transition:.18s ease}.primary-small:hover{transform:translateY(-2px);background:#253b2e}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:20px}.hero{position:relative;min-height:430px;padding:clamp(32px,4vw,55px);overflow:hidden;color:#fff;border-radius:29px;background:linear-gradient(145deg,#203328,#101914 88%);box-shadow:0 30px 68px rgba(20,29,23,.18);isolation:isolate}.hero:after{content:"";position:absolute;right:-120px;bottom:-190px;width:440px;height:440px;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 62px rgba(255,255,255,.02),0 0 0 124px rgba(255,255,255,.015)}.hero .orb{position:absolute;right:-25px;top:-48px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle at 33% 31%,#f19068,#d45c2e 46%,rgba(212,92,46,.05) 71%);opacity:.78;animation:float 6s ease-in-out infinite}.hero>.eyebrow{position:relative;z-index:1;color:#b4bfb6}.hero h2{position:relative;z-index:1;max-width:700px;margin:38px 0 0;font-family:"Songti SC","STSong",Georgia,serif;font-size:clamp(40px,4.5vw,68px);line-height:1.18;letter-spacing:-.055em}.hero>p{position:relative;z-index:1;margin:20px 0;color:#a6b1a8;line-height:1.7}.hero footer{position:absolute;z-index:2;left:clamp(32px,4vw,55px);right:clamp(32px,4vw,55px);bottom:36px;display:flex;align-items:flex-end;gap:clamp(28px,4vw,65px)}.hero footer span{display:grid;gap:4px;color:#839087;font-size:12px}.hero footer b{color:#fff;font-family:Georgia,serif;font-size:32px;font-weight:500}.hero footer button{width:48px;height:48px;margin-left:auto;border-radius:15px;color:var(--ink);background:var(--orange);font-size:20px;transition:.2s ease}.hero footer button:hover{transform:translateY(-3px) rotate(5deg)}.today{min-height:430px;padding:28px}.today>header,.section>header,.reminder-card>header,.model-card>header{display:flex;justify-content:space-between;align-items:flex-start}.today header button,.section header button{padding:8px 0;color:var(--muted);background:transparent;font-size:13px}.mini-list{margin-top:23px;display:grid}.mini-list>div{min-height:75px;display:grid;grid-template-columns:62px 1fr 12px;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.mini-list time{color:#7f8780;font-size:12px}.mini-list b,.mini-list small{display:block}.mini-list small{margin-top:5px;color:#939a94}.mini-list i{color:#9da39e;font-style:normal}.section{margin-top:45px}.section>header{margin-bottom:18px}.actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.actions button{position:relative;min-height:150px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:rgba(255,253,248,.88);text-align:left;box-shadow:0 14px 34px rgba(31,40,34,.05);transition:.2s ease}.actions button:hover,.student-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(31,40,34,.1)}.actions button.orange{color:#fff;border-color:transparent;background:var(--orange)}.actions i{position:absolute;left:22px;top:22px;width:43px;height:43px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--ink);font-style:normal}.actions .orange i{color:var(--orange);background:#fff}.actions b{font-size:19px}.actions span{margin-top:6px;color:#818981;font-size:13px}.actions .orange span{color:rgba(255,255,255,.72)}.student-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.student-card{min-height:245px;padding:22px;color:var(--ink);text-align:left;transition:.2s ease}.student-card>header{display:flex;justify-content:space-between}.student-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:#4a5e50;font-weight:800}.student-avatar.large{width:74px;height:74px;border-radius:23px;font-size:25px}.status-dot{width:8px;height:8px;margin:7px;border-radius:50%;background:#61a979}.student-card h3{margin:18px 0 5px;font-size:20px}.student-card .accent{color:#ca5b33;font-size:13px}.student-card p{height:42px;margin:16px 0 0;overflow:hidden;color:#7f877f;font-size:13px;line-height:1.6}.student-card .open{display:block;margin-top:18px;font-size:12px;font-weight:800}

/* 数据页面 */
.toolbar{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.toolbar>span{color:#858d86;font-size:13px}.search{width:min(560px,70%);height:49px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.8)}.search input{width:100%;border:0;outline:0;background:transparent}.student-table{overflow:hidden}.student-row{width:100%;min-height:91px;padding:17px 22px;display:grid;grid-template-columns:48px minmax(130px,.8fr) 85px minmax(220px,1.5fr) 86px 16px;align-items:center;gap:16px;color:var(--ink);background:transparent;text-align:left;border-bottom:1px solid var(--line);transition:.17s ease}.student-row:hover{padding-left:27px;background:rgba(219,230,217,.28)}.student-row:last-child{border-bottom:0}.identity b,.identity small,.row-focus b,.row-focus small,.lessons b,.lessons small{display:block}.identity small,.row-focus small,.lessons small{margin-top:5px;color:#8b938c;font-size:12px}.student-row>em{padding:6px 8px;border-radius:999px;color:#a44b2c;background:#f8e0d6;font-size:11px;font-style:normal;text-align:center}.row-focus{min-width:0}.row-focus b,.row-focus small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lessons{text-align:center}.lessons b{font-family:Georgia,serif;font-size:22px;font-weight:500}.back{margin-bottom:22px;padding:0;color:#677168;background:transparent}.student-hero{min-height:120px;margin-bottom:20px;padding:22px 27px;display:flex;align-items:center;border-radius:25px;color:#fff;background:linear-gradient(145deg,#22372a,#142119);box-shadow:0 22px 54px rgba(24,33,27,.14)}.student-hero>div{min-width:0;flex:1;margin-left:20px}.student-hero>div>span{color:#9ba89e;font-size:12px}.student-hero h1{margin:4px 0 0;font-family:"Songti SC","STSong",serif;font-size:33px}.student-hero p{margin:5px 0 0;color:#a1aca4;font-size:13px}.ghost{min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.13);border-radius:13px;color:#fff;background:rgba(255,255,255,.08)}.detail-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;align-items:start}.profile{padding:26px}.profile dl{margin:20px 0 0}.profile dl>div{padding:13px 0;border-bottom:1px solid var(--line)}.profile dt{color:#929992;font-size:12px}.profile dd{margin:5px 0 0;line-height:1.5}.profile blockquote{margin:20px 0 0;padding:17px;border-radius:17px;background:#edf1eb;font-size:13px;line-height:1.65}.workspace{min-height:650px;overflow:hidden}.work-tabs{height:67px;padding:9px 18px 0;display:flex;gap:8px;border-bottom:1px solid var(--line)}.work-tabs button{position:relative;padding:0 17px;color:#7f8780;background:transparent}.work-tabs button.active{color:var(--ink);font-weight:800}.work-tabs button.active:after{content:"";position:absolute;left:15px;right:15px;bottom:-1px;height:2px;background:var(--orange)}.records{padding:24px}.record-compose{padding:18px;border-radius:19px;background:#edf1eb}.record-compose>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-compose select{padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.record-compose span{color:#879088;font-size:12px}.record-compose textarea{width:100%;margin-top:12px;padding:13px;border:1px solid transparent;border-radius:13px;outline:0;resize:vertical}.record-compose button{margin-top:10px}.timeline{margin:27px 0 0 8px;padding-left:27px;border-left:1px solid #d7dbd6}.timeline article{position:relative;padding:0 0 27px}.timeline article>i{position:absolute;left:-33px;top:4px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--orange);box-shadow:0 0 0 1px rgba(231,110,61,.25)}.timeline header{display:flex;justify-content:space-between}.timeline header b{padding:5px 9px;border-radius:999px;color:#9e492c;background:#f8e0d6;font-size:11px}.timeline time{color:#929a93;font-size:11px}.timeline p{margin:11px 0 0;line-height:1.7;white-space:pre-wrap}.ai-panel{height:650px;display:flex;flex-direction:column}.ai-context{padding:15px 20px;display:flex;justify-content:space-between;color:#516057;background:#e4eee5;font-size:13px;font-weight:700}.ai-context small{color:#7c8880}.chips{padding:13px 18px;display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.chips button{flex:0 0 auto;padding:8px 12px;border-radius:999px;color:#6d776f;background:#f0f1ed;font-size:12px}.chips button.active{color:#fff;background:var(--ink)}.messages{min-height:0;flex:1;padding:22px;overflow:auto;scroll-behavior:smooth}.ai-empty{height:100%;display:grid;place-content:center;justify-items:center;text-align:center}.ai-empty i{width:56px;height:56px;display:grid;place-items:center;border-radius:19px;color:var(--orange);background:#f8e1d7;font-size:21px;font-style:normal}.ai-empty b{margin-top:14px}.ai-empty p{margin:7px 0;color:#899189;font-size:13px}.msg{max-width:min(80%,680px);margin-bottom:17px;padding:15px 17px;border-radius:18px 18px 18px 5px;background:#edf1eb}.msg.user{margin-left:auto;color:#fff;border-radius:18px 18px 5px 18px;background:var(--orange)}.msg>b{display:block;margin-bottom:7px;color:#748078;font-size:10px;letter-spacing:.08em}.msg.user>b{color:rgba(255,255,255,.7)}.msg p{margin:0;line-height:1.75;white-space:pre-wrap}.msg>button{margin-top:10px;padding:5px 0;color:#657168;background:transparent;font-size:11px}.typing{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse .8s infinite}.ai-compose{margin:0 18px 18px;padding:8px 8px 8px 15px;display:flex;align-items:flex-end;gap:8px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 9px 26px rgba(31,40,34,.06)}.ai-compose textarea{min-height:48px;max-height:120px;flex:1;border:0;outline:0;resize:none}.ai-compose button{width:45px;height:45px;border-radius:14px;color:#fff;background:var(--orange);font-size:20px}.reminder-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:20px;align-items:start}.reminder-card{padding:27px}.reminder-card header em{min-width:35px;height:35px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--orange);font-style:normal}.reminder-list{margin-top:20px}.reminder-list article{min-height:78px;display:grid;grid-template-columns:32px 88px 1fr auto;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.check{width:28px;height:28px;border:1px solid #d1d7d2;border-radius:9px;color:transparent;background:#fff}.check:hover,.check.done{color:#fff;border-color:#52715c;background:#52715c}.reminder-list time{color:#7d867e;font-size:12px}.reminder-list b,.reminder-list small{display:block}.reminder-list small{margin-top:5px;color:#8c948d}.reminder-list em{padding:6px 8px;border-radius:999px;color:#a14b2d;background:#f8e0d6;font-size:10px;font-style:normal}.muted .reminder-list{opacity:.57}.settings-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:20px;align-items:start}.profile-dark{position:relative;min-height:230px;padding:30px;display:flex;align-items:flex-end;gap:18px;overflow:hidden;border-radius:25px;color:#fff;background:linear-gradient(145deg,#25382c,#142119);box-shadow:0 24px 54px rgba(25,35,28,.15)}.profile-aura{position:absolute;right:-70px;top:-90px;width:260px;height:260px;border:42px solid rgba(255,255,255,.035);border-radius:50%}.profile-dark>div:last-child{position:relative}.profile-dark small{color:#8f9c92}.profile-dark h2{margin:6px 0 0}.profile-dark p{margin:5px 0;color:#9aa69d}.settings-form{grid-row:span 2;padding:27px}.settings-form>label{margin-top:19px}.settings-form button{margin-top:19px}.model-card{padding:27px}.model-card header em{color:#5e7d67;font-size:12px;font-style:normal}.model-card>div{margin-top:16px;padding:14px;border-radius:14px;background:#f1f2ee}.model-card>div span,.model-card>div b{display:block}.model-card>div span{color:#889189;font-size:11px}.model-card>div b{margin-top:5px}.model-card>p{color:#7c857d;font-size:13px;line-height:1.6}.logout{min-height:46px;padding:0 17px;border-radius:13px;color:#a34729;background:#f7dfd5;font-weight:700}.modal-layer{position:fixed;inset:0;z-index:100;padding:24px;display:grid;place-items:center;background:rgba(12,18,14,.5);backdrop-filter:blur(8px)}.modal-card{width:min(680px,100%);max-height:88vh;overflow:hidden;border-radius:24px;background:var(--surface);box-shadow:0 34px 90px rgba(15,22,17,.28);animation:page-in .22s ease both}.modal-card>header{height:68px;padding:0 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-card h2{font-family:"Songti SC","STSong",serif}.modal-card header button{width:37px;height:37px;border-radius:12px;color:#717a72;background:#edf0eb;font-size:22px}.modal-body{max-height:calc(88vh - 68px);padding:23px;overflow:auto}.empty{min-height:170px;display:grid;place-content:center;text-align:center;color:#879088}.empty b{color:var(--ink)}.empty p{margin:7px 0;font-size:13px}.skeleton-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.skeleton-grid i{min-height:300px;border-radius:25px;background:linear-gradient(90deg,#e6e4de,#f5f2ec,#e6e4de);background-size:220% 100%;animation:shimmer 1.4s infinite}.skeleton-grid i:last-child{grid-column:1/-1;min-height:150px}.toast{position:fixed;z-index:150;left:50%;bottom:28px;padding:12px 17px;border-radius:999px;color:#fff;background:rgba(20,34,25,.96);box-shadow:0 18px 50px rgba(18,27,21,.24);font-size:13px;animation:toast-in .22s ease both}

@keyframes page-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(13px) rotate(4deg)}}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}@keyframes shimmer{to{background-position:-220% 0}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:1180px){.student-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.today{min-height:auto}.actions{grid-template-columns:1fr 1fr}.actions .orange{grid-column:1/-1}}
@media(max-width:880px){.installer-shell,.auth-shell{grid-template-columns:1fr}.installer-brand,.auth-visual{min-height:36vh;padding:28px}.installer-brand>div,.auth-copy{margin:auto 0 22px}.installer-brand h1,.auth-copy h1{font-size:clamp(42px,11vw,66px)}.installer-brand p,.auth-copy p,.installer-brand small,.auth-metrics{display:none}.installer-panel,.auth-panel{margin-top:-18px;padding:13px;position:relative}.installer-card,.auth-card{padding:27px 22px}.sidebar{transform:translateX(-105%);transition:.22s ease}.sidebar.open{transform:none}.mobile-top{position:fixed;inset:0 0 auto;z-index:30;height:72px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,241,234,.9);backdrop-filter:blur(20px)}.mobile-top>button{width:40px;height:40px;color:var(--ink);background:transparent}.mobile-top .brand{font-size:17px}.mobile-top .brand b{width:34px;height:34px;border-radius:11px}.mobile-top .avatar{width:36px;height:36px;border-radius:12px}.main{margin-left:0;padding:96px 18px 108px}.bottom-nav{position:fixed;z-index:30;left:14px;right:14px;bottom:12px;height:68px;padding:6px;display:flex;border-radius:22px;background:rgba(20,33,25,.96);box-shadow:0 18px 46px rgba(18,27,21,.22);backdrop-filter:blur(18px)}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7f8b82;background:transparent;font-size:10px}.bottom-nav button i{font-size:20px;font-style:normal}.bottom-nav button.active{color:#fff}.bottom-nav button.active i{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--orange)}.page-head{min-height:62px;margin-bottom:22px}.hero{min-height:405px;padding:30px 25px}.hero h2{font-size:clamp(40px,10vw,58px)}.hero footer{left:25px;right:25px;bottom:28px}.detail-grid,.reminder-grid,.settings-grid{grid-template-columns:1fr}.profile{order:2}.settings-form{grid-row:auto}.workspace{min-height:600px}.student-row{grid-template-columns:45px 1fr 76px 16px;padding:15px}.row-focus{display:none}}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.installer-brand,.auth-visual{min-height:32vh}.installer-brand h1,.auth-copy h1{font-size:41px}.installer-card h2{font-size:25px}.main{padding-left:14px;padding-right:14px}.page-head h1{font-size:34px}.page-head .primary-small{width:44px;padding:0;font-size:0}.page-head .primary-small:first-letter{font-size:18px}.hero{min-height:392px}.hero h2{font-size:41px}.hero>p{font-size:14px}.hero footer{gap:18px}.hero footer b{font-size:28px}.hero footer span{font-size:10px}.actions{grid-template-columns:1fr}.actions .orange{grid-column:auto}.student-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.student-card{min-width:78vw;scroll-snap-align:start}.toolbar{align-items:stretch;flex-direction:column;gap:9px}.search{width:100%}.student-row{grid-template-columns:45px 1fr 68px 14px;gap:11px}.student-row>em{display:none}.student-hero{padding:18px}.student-avatar.large{width:61px;height:61px;border-radius:19px}.student-hero>div{margin-left:14px}.student-hero h1{font-size:27px}.ghost{width:42px;overflow:hidden;color:transparent}.ghost:after{content:"•••";color:#fff}.work-tabs{padding-left:9px}.records{padding:16px}.record-compose>div span{display:none}.ai-panel{height:610px}.ai-context small{display:none}.msg{max-width:92%}.reminder-card{padding:21px 16px}.reminder-list article{grid-template-columns:30px 76px 1fr;gap:9px}.reminder-list em{display:none}.modal-layer{padding:9px;align-items:end}.modal-card{max-height:92vh;border-radius:23px 23px 0 0}.modal-body{max-height:calc(92vh - 68px)}.toast{bottom:95px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.model-card form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.model-card form label{display:grid;gap:7px;color:#59645b;font-size:13px}.model-card form input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:#f7f6f2}.model-card form button{margin-top:10px}

/* 1.1.0：编辑感首页、快速建档与在线更新 */
.dashboard-head aside{padding:0 4px 4px;color:#7d857e;font-family:"Songti SC","STSong",serif;font-size:14px;line-height:1.5;text-align:left}.dashboard-head aside i{display:block;width:26px;height:2px;margin-top:9px;background:var(--orange)}
.photo-hero{min-height:470px;background-image:linear-gradient(90deg,rgba(7,20,13,.97) 0%,rgba(8,21,14,.84) 46%,rgba(8,18,13,.2) 100%),url("hero-court-v2.png");background-position:center;background-size:cover}.photo-hero:after{display:none}.photo-hero>.eyebrow:before{content:"";display:inline-block;width:3px;height:28px;margin-right:15px;vertical-align:middle;border-radius:5px;background:var(--orange)}.photo-hero h2{margin-top:29px}.photo-hero>p{max-width:570px;color:#d2d8d3}.section>header>p{margin:10px 0 0;color:#8d948e;font-family:"Songti SC","STSong",serif;font-size:13px}.actions em{position:absolute;right:22px;top:20px;color:#7e877f;font-size:25px;font-style:normal}.actions .orange em{color:#fff}.schedule-section .today{min-height:auto;padding:7px 28px}.schedule-section .mini-list{margin:0}.schedule-section .empty{min-height:100px}.student-modal{width:min(720px,100%)}.student-modal>header{height:auto;min-height:91px;padding:19px 23px;align-items:flex-start}.student-modal>header small{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.17em}.student-modal>header h2{margin:4px 0 0}.student-modal>header p{margin:5px 0 0;color:#8a928b;font-size:12px}.profile-more{margin-top:22px;border-top:1px solid var(--line)}.profile-more summary{padding:20px 2px 13px;display:flex;justify-content:space-between;cursor:pointer;font-weight:800}.profile-more summary span{color:#909891;font-size:12px;font-weight:400}.profile-section>label,.summary-field{display:block;margin:17px 0 9px;color:#59645b;font-size:13px}.profile-chips{display:flex;flex-wrap:wrap;gap:8px}.profile-chips button{padding:9px 14px;border-radius:999px;color:#647067;background:#eef1ec}.profile-chips button.active{color:#fff;background:var(--ink)}.lesson-fields{margin-top:19px}.summary-field textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:#f7f6f2;resize:vertical}.update-card{grid-column:1/-1;padding:27px}.update-card>header{display:flex;align-items:flex-start;justify-content:space-between}.update-card header span{display:block;color:#979e98;font-size:11px;font-weight:800;letter-spacing:.18em}.update-card h2{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:28px}.update-card header em{padding:7px 10px;border-radius:999px;color:#536e5b;background:#e6eee6;font-size:11px;font-style:normal}.update-card>p{color:#7c857d;font-size:13px;line-height:1.65}.update-card form{display:flex;align-items:end;gap:10px}.update-card form label{display:grid;flex:1;gap:7px;color:#59645b;font-size:13px}.update-card form input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;outline:0;background:#f7f6f2}.ghost-light{height:44px;padding:0 16px;border-radius:12px;color:var(--ink);background:#e9ede7;font-weight:700}.update-actions{margin-top:17px;display:flex;align-items:center;gap:15px}.update-actions span{color:#7c857d;font-size:12px}.update-found{margin-top:16px;padding:17px;border-radius:16px;background:#edf1eb}.update-found>p{line-height:1.65;white-space:pre-wrap}.update-found .submit-dark{width:auto;margin-top:12px}.update-error{margin:14px 0 0;color:#aa4829}

@media(max-width:880px){
  body{overflow-x:hidden;background:radial-gradient(circle at 100% 0,rgba(231,110,61,.09),transparent 24%),#f7f4ed}
  .sidebar{display:none!important}
  .mobile-top{height:86px;padding:calc(env(safe-area-inset-top) + 10px) 24px 10px;border-bottom:0;background:rgba(247,244,237,.9)}
  .mobile-top .brand{font-family:"Songti SC","STSong",serif;font-size:26px;letter-spacing:-.03em}.mobile-top .brand i{font-size:24px}
  .mobile-top .avatar{width:42px;height:42px;border-radius:50%;color:var(--ink);background:#e6ece4;box-shadow:none}
  .main{padding:calc(86px + env(safe-area-inset-top)) 24px calc(112px + env(safe-area-inset-bottom))}
  .bottom-nav{left:18px;right:18px;bottom:calc(12px + env(safe-area-inset-bottom));height:72px;border:1px solid rgba(255,255,255,.08);border-radius:24px}
  .dashboard-head{min-height:106px;margin-bottom:23px}.dashboard-head>div>span{margin-bottom:10px;letter-spacing:.03em;font-weight:500}.dashboard-head h1{font-size:44px}.dashboard-head aside{font-size:13px}
  .photo-hero{min-height:460px;padding:38px 38px;background-image:linear-gradient(90deg,rgba(6,18,12,.97) 0%,rgba(7,19,13,.82) 56%,rgba(7,18,12,.15) 100%),url("hero-court-v2.png");background-position:58% center;border-radius:29px}.photo-hero h2{max-width:620px;font-size:55px}.photo-hero>p{max-width:60%;font-size:15px}.photo-hero footer{left:38px;right:38px}
  .quick-section{margin-top:47px}.section>header{align-items:end}.section>header h2{font-size:32px}.section>header>p{margin-bottom:5px}.actions{grid-template-columns:repeat(3,1fr)}.actions .orange{grid-column:auto}
  .schedule-section .today{padding:7px 24px}
  .student-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .mobile-top{height:72px;padding-left:20px;padding-right:20px}.mobile-top .brand{font-size:23px}.mobile-top .brand i{font-size:21px}
  .main{padding:calc(72px + env(safe-area-inset-top)) 16px calc(108px + env(safe-area-inset-bottom))}
  .dashboard-head{min-height:112px;align-items:center}.dashboard-head h1{font-size:37px;line-height:1.08}.dashboard-head aside{max-width:95px;font-size:12px}
  .photo-hero{min-height:390px;padding:28px 22px;background-image:linear-gradient(90deg,rgba(7,19,13,.96),rgba(7,19,13,.76) 62%,rgba(7,19,13,.14)),url("hero-court-v2.png");background-position:right center;border-radius:27px}.photo-hero>.eyebrow{font-size:10px;letter-spacing:.14em}.photo-hero>.eyebrow:before{height:23px;margin-right:11px}.photo-hero h2{margin-top:25px;font-size:38px;line-height:1.2}.photo-hero>p{max-width:82%;margin-top:17px;font-size:13px;line-height:1.7}.photo-hero footer{left:22px;right:22px;bottom:24px;gap:19px}.photo-hero footer span{font-size:9px}.photo-hero footer b{font-size:26px}.photo-hero footer button{width:44px;height:44px;border-radius:14px}
  .section{margin-top:40px}.section>header{margin-bottom:14px}.section>header h2{font-size:29px}.section>header>p{display:none}
  .actions{display:grid;grid-template-columns:1fr;gap:12px}.actions button.orange{grid-column:auto;color:var(--ink);border-color:var(--line);background:rgba(255,253,248,.92)}.actions button{min-height:96px;padding:18px 54px 18px 82px;justify-content:center;border-radius:21px}.actions button:hover{transform:none}.actions i{left:18px;top:50%;width:48px;height:48px;border-radius:50%;transform:translateY(-50%);color:var(--ink);background:#e3ebe2}.actions button.orange i{color:var(--ink);background:#f4ded4}.actions b{font-size:18px}.actions span{margin-top:5px}.actions button.orange span{color:#818981}.actions em,.actions button.orange em{right:20px;top:50%;color:#808881;transform:translateY(-50%)}
  .schedule-section .today{padding:4px 18px;border-radius:20px}.schedule-section .mini-list>div{min-height:82px;grid-template-columns:54px 1fr 12px}.schedule-section .mini-list>div:nth-child(n+2){display:none}
  .recent-section .student-grid{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible}.recent-section .student-card{min-width:0;min-height:92px;padding:15px 45px 15px 72px;position:relative}.recent-section .student-card header{position:absolute;left:15px;top:20px}.recent-section .student-card .status-dot{display:none}.recent-section .student-card h3{margin:0;font-size:17px}.recent-section .student-card .accent{display:block;margin-top:4px}.recent-section .student-card p{height:auto;margin:4px 0 0;white-space:nowrap;text-overflow:ellipsis}.recent-section .student-card .open{position:absolute;right:16px;top:34px;width:17px;overflow:hidden;font-size:0}.recent-section .student-card .open:after{content:"›";font-size:25px;color:#848c85}
  .page-head:not(.dashboard-head){align-items:center}.page-head:not(.dashboard-head) h1{font-size:32px}.toolbar{margin-top:4px}.student-table{border-radius:20px}.student-row{min-height:84px}.student-row .lessons{display:none}.student-row{grid-template-columns:45px 1fr 14px}
  .student-modal>header{min-height:92px;padding:17px 19px}.student-modal>header p{max-width:280px}.student-modal .modal-body{padding:18px}.quick-fields{gap:14px}.student-modal .submit-dark{position:sticky;bottom:0;box-shadow:0 -10px 28px rgba(255,253,248,.95)}
  .profile-chips{gap:7px}.profile-chips button{padding:9px 12px}
  .update-card{padding:21px 17px}.update-card form{align-items:stretch;flex-direction:column}.update-card .ghost-light{width:100%}.update-actions{align-items:stretch;flex-direction:column}.update-actions button{width:100%}.update-found .submit-dark{width:100%}
}

/* 1.5.0 · 球伴 Coach 篮球教练工作台 */
:root{--motion-ink:#07170f;--motion-green:#0c2a1b;--motion-lime:#b8e264;--motion-orange:#f36f3b;--motion-paper:#f2f1eb;--motion-grid:rgba(10,35,23,.075)}
body{background:linear-gradient(90deg,transparent 49.9%,rgba(14,41,27,.025) 50%,transparent 50.1%),radial-gradient(circle at 92% 1%,rgba(243,111,59,.09),transparent 21%),var(--motion-paper);background-size:48px 48px,auto,auto}
.motion-brand{gap:10px}.motion-brand>b{width:43px;height:43px;border-radius:13px;color:#0b2418;background:var(--motion-orange);font-family:Arial,sans-serif;font-size:12px;letter-spacing:-.04em}.motion-brand>span{display:grid;gap:3px;font-family:Georgia,serif;font-size:17px;line-height:1}.motion-brand small{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:9px;font-weight:500;letter-spacing:.15em;opacity:.55}.sidebar .motion-brand>span{color:#fff}.sidebar .motion-brand small{color:#9aaba0}.mobile-top .motion-brand>b{display:grid}.mobile-top .motion-brand>span{font-size:15px}.mobile-top .motion-brand small{font-size:8px}
.route-page{animation:court-enter .44s cubic-bezier(.16,.84,.3,1) both}.bottom-nav button,.sidebar nav button{transition:transform .24s cubic-bezier(.2,.9,.25,1),color .2s ease,background .2s ease}.bottom-nav button:active{transform:scale(.9)}
.court-stage{position:relative;overflow:hidden;border-radius:29px;background:#07160f;box-shadow:0 28px 66px rgba(7,23,15,.22);isolation:isolate}.court-stage:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border:1px solid rgba(255,255,255,.12);border-radius:inherit}.court-track{display:flex;will-change:transform;touch-action:pan-y;user-select:none}.court-scene{position:relative;min-width:100%;min-height:330px;padding:38px 42px 56px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background-position:center;background-size:cover}.court-scene:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,17,10,.96) 0%,rgba(4,19,12,.83) 46%,rgba(3,16,10,.22) 100%)}.court-scene:after{content:"";position:absolute;right:-80px;bottom:-225px;width:440px;height:440px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.016)}.scene-command{background-image:url("hero-court-v2.png")}.scene-focus{background-image:url("court-drill-v1.png");background-position:center 58%}.scene-growth{background-image:url("court-equipment-v1.png");background-position:center 52%}.scene-copy,.scene-stats,.focus-score,.growth-meter{position:relative;z-index:2}.scene-copy{max-width:680px}.scene-copy>span{display:flex;align-items:center;gap:10px;color:#ff9a70;font-size:11px;font-weight:900;letter-spacing:.17em}.scene-copy>span:before{content:"";width:28px;height:2px;background:var(--motion-orange)}.scene-copy h2{margin:15px 0 0;font-family:"Songti SC","STSong",serif;font-size:42px;line-height:1.12;letter-spacing:-.05em}.scene-copy p{max-width:520px;margin:12px 0 0;color:#b5c0b8;font-size:14px;line-height:1.7}.scene-copy>button{margin-top:18px;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:11px;color:#fff;background:rgba(255,255,255,.1);font-size:13px;font-weight:700;backdrop-filter:blur(8px)}.scene-copy>button i{margin-left:16px;color:#ff956b;font-style:normal}.scene-stats{display:flex;gap:54px}.scene-stats span{display:grid;gap:3px;color:#9aa9a0;font-size:12px}.scene-stats b{color:#fff;font-family:Georgia,serif;font-size:30px;font-weight:500}.focus-score{position:absolute;right:48px;bottom:58px;width:116px;height:116px;display:grid;place-content:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(5,20,12,.34);text-align:center;backdrop-filter:blur(9px)}.focus-score:after{content:"";position:absolute;inset:-10px;border:1px dashed rgba(243,111,59,.55);border-radius:50%;animation:orbit-spin 18s linear infinite}.focus-score b{font-family:Georgia,serif;font-size:42px;font-weight:500}.focus-score span{color:#aebbb2;font-size:11px}.growth-meter{width:min(620px,72%);padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(7,24,15,.46);backdrop-filter:blur(10px)}.growth-meter header,.growth-meter footer{display:flex;align-items:center;justify-content:space-between}.growth-meter header span,.growth-meter footer span{color:#aebbb2;font-size:12px}.growth-meter header b{font-family:Georgia,serif;font-size:24px}.growth-meter>i{height:5px;margin:13px 0;display:block;overflow:hidden;border-radius:9px;background:rgba(255,255,255,.14)}.growth-meter>i em{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--motion-orange),#ffc063);transform-origin:left;animation:meter-grow 1s cubic-bezier(.2,.8,.2,1) both}.growth-meter footer button{color:#fff;background:transparent;font-size:12px}.scene-controls{position:absolute;left:42px;right:42px;bottom:22px;z-index:5;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.scene-dots{display:flex;gap:7px;pointer-events:auto}.scene-dots button{width:24px;height:3px;padding:0;border-radius:5px;background:rgba(255,255,255,.28);transition:.35s ease}.scene-dots button.active{width:48px;background:var(--motion-orange)}.scene-controls>span{display:flex;align-items:center;gap:7px;color:#9aa89f;font-size:11px}.scene-controls>span i{width:18px;height:1px;background:#9aa89f;animation:swipe-hint 1.8s ease-in-out infinite}
.motion-services{position:relative}.motion-services:before{content:"";position:absolute;z-index:-1;left:-16px;right:-16px;top:46px;bottom:-16px;border:1px solid var(--motion-grid);border-radius:28px;background:linear-gradient(90deg,transparent 49.8%,var(--motion-grid) 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,var(--motion-grid) 50%,transparent 50.2%);background-size:46px 46px}.motion-services .service-market{grid-template-columns:1.25fr .92fr .92fr;grid-template-rows:136px 112px}.motion-services .service-tile{min-height:0;border-radius:21px;isolation:isolate}.motion-services .service-primary{grid-row:1/3}.motion-services .service-dark{grid-column:2/4}.service-tile>strong{position:absolute;right:13px;bottom:-8px;z-index:-1;color:rgba(10,37,23,.045);font-family:Impact,"Arial Black",sans-serif;font-size:56px;letter-spacing:-.05em}.service-primary>strong,.service-dark>strong{color:rgba(255,255,255,.07)}.service-assistant{background:linear-gradient(145deg,#fff,#ecf0e9)}.service-assistant:after{content:"";position:absolute;right:-18px;top:-18px;width:74px;height:74px;border:18px solid rgba(184,226,100,.18);border-radius:50%}.service-roster{background:linear-gradient(145deg,#f8e8dd,#fff7f1)}.service-roster>i{background:var(--motion-orange)}
.bench-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bench-card{position:relative;min-height:104px;padding:14px 14px 14px 70px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;overflow:hidden;border:1px solid rgba(10,35,23,.1);border-radius:18px;color:var(--ink);background:rgba(255,255,255,.77);text-align:left;box-shadow:0 12px 30px rgba(8,31,19,.055);transition:.24s cubic-bezier(.2,.8,.2,1)}.bench-card:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:0 20px 42px rgba(8,31,19,.11)}.bench-card .jersey{position:absolute;left:-8px;top:-11px;width:66px;height:126px;display:grid;place-items:center;color:rgba(255,255,255,.8);background:#183d28;font-family:Georgia,serif;font-size:24px;transform:rotate(7deg)}.bench-identity{min-width:0}.bench-identity small,.bench-identity b,.bench-identity p{display:block}.bench-identity small{color:#d86031;font-size:11px}.bench-identity b{margin-top:5px;font-size:17px}.bench-identity p{margin:4px 0 0;overflow:hidden;color:#7c887f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.bench-signal{min-width:60px;display:grid;justify-items:center}.bench-signal>i,.player-ai>i{width:7px;height:7px;border-radius:50%;background:#96a39a;box-shadow:0 0 0 4px rgba(150,163,154,.12)}.bench-signal>i.hot,.player-ai.hot>i{background:var(--motion-orange);box-shadow:0 0 0 5px rgba(243,111,59,.12);animation:signal-pulse 1.8s ease-in-out infinite}.bench-signal b{margin-top:7px;font-family:Georgia,serif;font-size:20px}.bench-signal small{color:#929b94;font-size:9px}
.roster-intro{min-height:110px;margin-bottom:16px;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border-radius:21px;color:#fff;background:linear-gradient(120deg,#0c2a1b,#153923);box-shadow:0 17px 40px rgba(7,29,18,.14)}.roster-intro>div{display:grid;grid-template-columns:auto auto;align-items:end;gap:0 13px}.roster-intro>div>span{grid-column:1/-1;color:#f3946c;font-size:10px;font-weight:900;letter-spacing:.19em}.roster-intro>div>b{margin-top:3px;font-family:Georgia,serif;font-size:42px;font-weight:500}.roster-intro>div>p{margin:0 0 7px;color:#aebbb2;font-size:13px}.roster-intro>small{color:#aebbb2;font-size:11px;line-height:1.9}.roster-intro>small i{display:inline-grid;width:22px;color:#ff8e61;font-style:normal}.player-roster{display:grid;gap:10px}.player-swipe{position:relative;min-height:106px;overflow:hidden;border-radius:19px;background:#132d1f}.swipe-action{position:absolute;top:0;bottom:0;width:108px;display:grid;place-content:center;justify-items:center;gap:6px;color:#fff;font-size:11px}.swipe-action i{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:10px;font-size:17px;font-style:normal}.swipe-record{left:0;background:#173e29}.swipe-manage{right:0;background:#a34728}.player-card{position:relative;z-index:2;width:100%;min-height:106px;padding:14px 17px;display:grid;grid-template-columns:38px 52px minmax(140px,.8fr) minmax(220px,1.3fr) 72px 72px 22px;align-items:center;gap:15px;border:1px solid rgba(10,35,23,.09);border-radius:19px;color:var(--ink);background:rgba(255,255,255,.93);text-align:left;box-shadow:0 10px 28px rgba(7,29,18,.055);touch-action:pan-y;will-change:transform}.player-no{color:#a7aea8;font-family:Georgia,serif;font-size:13px}.player-avatar{position:relative;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,#315c43,#173422);font-size:17px;font-weight:800}.player-avatar:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.12);border-radius:11px}.player-avatar i{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--motion-lime)}.player-main,.player-last,.player-lessons,.player-ai{min-width:0;display:grid}.player-main small{color:#d45e30;font-size:10px}.player-main b{margin-top:4px;font-size:17px}.player-main em,.player-last em{margin-top:4px;overflow:hidden;color:#7d8880;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.player-last small,.player-lessons small,.player-ai small{color:#969e98;font-size:10px}.player-last b{margin-top:4px;font-size:12px}.player-lessons,.player-ai{justify-items:center}.player-lessons b,.player-ai b{font-family:Georgia,serif;font-size:22px;font-weight:500}.player-ai>i{margin-bottom:5px}.player-open{color:var(--motion-orange);font-size:18px}.player-swipe.is-open .player-card{box-shadow:0 12px 32px rgba(7,29,18,.14)}
.student-hub{perspective:900px}.hub-card{transition:.28s cubic-bezier(.2,.8,.2,1)}.hub-card:hover{transform:translateY(-5px) rotateX(1.5deg);box-shadow:0 22px 46px rgba(8,30,19,.11)}.hub-portrait:after{content:"";position:absolute;right:-62px;bottom:-72px;width:180px;height:180px;border:1px dashed rgba(243,111,59,.38);border-radius:50%;animation:orbit-spin 24s linear infinite}.assistant-head>span{animation:signal-pulse 2.3s ease-in-out infinite}.ai-empty i{animation:assistant-float 2.4s ease-in-out infinite}
@keyframes court-enter{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes meter-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes swipe-hint{0%,100%{transform:translateX(-3px)}50%{transform:translateX(4px)}}@keyframes signal-pulse{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.25);opacity:1}}@keyframes assistant-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(4deg)}}
@media(max-width:920px){.bench-strip{grid-template-columns:1fr 1fr}.player-card{grid-template-columns:30px 48px minmax(120px,1fr) 62px 62px 18px}.player-last{display:none}.motion-services .service-market{grid-template-columns:1.1fr 1fr;grid-template-rows:130px 110px}.motion-services .service-primary{grid-row:1/3}.motion-services .service-dark{grid-column:2}}
@media(max-width:560px){
  body{background-size:32px 32px,auto,auto}.mobile-top{height:60px}.mobile-top .motion-brand{gap:7px}.mobile-top .motion-brand>b{width:30px;height:30px;border-radius:9px;font-size:9px}.main{padding-top:calc(60px + env(safe-area-inset-top))}
  .coach-home-head{min-height:56px;margin-bottom:9px}.coach-home-head>div>span{font-size:9px;letter-spacing:.05em}.coach-home-head h1{font-size:27px}.coach-home-head label{width:40px;height:40px}
  .court-stage{border-radius:18px}.court-scene{min-height:248px;padding:21px 20px 46px}.court-scene:before{background:linear-gradient(90deg,rgba(3,17,10,.97),rgba(4,19,12,.76) 67%,rgba(3,16,10,.22))}.scene-command{background-position:62% center}.scene-focus{background-position:61% center}.scene-growth{background-position:64% center}.scene-copy{max-width:76%}.scene-copy>span{gap:7px;font-size:8px;letter-spacing:.12em}.scene-copy>span:before{width:18px}.scene-copy h2{margin-top:12px;font-size:28px;line-height:1.15}.scene-copy p{margin-top:8px;font-size:11px;line-height:1.55}.scene-copy>button{margin-top:11px;padding:8px 10px;font-size:11px}.scene-stats{gap:22px}.scene-stats span{font-size:9px}.scene-stats b{font-size:23px}.focus-score{right:18px;bottom:52px;width:72px;height:72px}.focus-score:after{inset:-6px}.focus-score b{font-size:27px}.focus-score span{font-size:8px}.growth-meter{width:88%;padding:12px 13px}.growth-meter header span,.growth-meter footer span,.growth-meter footer button{font-size:9px}.growth-meter header b{font-size:18px}.scene-controls{left:20px;right:20px;bottom:17px}.scene-dots button{width:17px}.scene-dots button.active{width:32px}.scene-controls>span{font-size:8px}
  .home-block{margin-top:20px}.home-block>header{margin-bottom:9px}.home-block>header h2{font-size:22px}.motion-services:before{left:-6px;right:-6px;top:38px;bottom:-8px;background-size:31px 31px}.motion-services .service-market{grid-template-columns:1fr 1fr;grid-template-rows:102px 94px 94px;gap:7px}.motion-services .service-primary{grid-column:1/-1;grid-row:auto}.motion-services .service-dark{grid-column:auto}.motion-services .service-tile{min-height:0;padding:12px;border-radius:15px}.motion-services .service-tile>i{left:12px;top:11px;width:31px;height:31px;border-radius:9px;font-size:10px}.motion-services .service-tile>b{font-size:14px}.motion-services .service-tile>span{max-width:90%;font-size:9px}.motion-services .service-tile>em{right:12px;top:10px}.service-tile>strong{font-size:39px}
  .priority-strip{gap:8px;margin-right:-11px;padding-right:11px}.priority-card{min-width:79%;min-height:67px;border-radius:14px}.schedule-section .today{padding:1px 11px}.bench-strip{display:flex;gap:8px;margin-right:-11px;padding-right:11px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.bench-card{min-width:82%;min-height:88px;padding:11px 11px 11px 61px;border-radius:15px;scroll-snap-align:start}.bench-card .jersey{width:56px;height:105px;font-size:20px}.bench-identity small{font-size:9px}.bench-identity b{font-size:15px}.bench-identity p{font-size:10px}.bench-signal{min-width:46px}.bench-signal b{font-size:17px}.bench-signal small{font-size:8px}
  .roster-page>.page-head{align-items:center}.roster-page>.page-head>div>span{font-size:9px}.roster-page>.page-head h1{font-size:26px}.roster-intro{min-height:82px;margin-bottom:10px;padding:13px 15px;border-radius:15px}.roster-intro>div>b{font-size:31px}.roster-intro>div>p{margin-bottom:4px;font-size:11px}.roster-intro>div>span{font-size:8px}.roster-intro>small{font-size:8px}.roster-page .toolbar{align-items:stretch;flex-direction:column}.roster-page .toolbar .search{width:100%}.roster-page .toolbar>span{display:none}.player-roster{gap:8px}.player-swipe{min-height:84px;border-radius:15px}.swipe-action{width:96px;font-size:10px}.player-card{min-height:84px;padding:10px 11px;grid-template-columns:31px 44px minmax(0,1fr) 45px 17px;gap:9px;border-radius:15px}.player-no{font-size:10px}.player-avatar{width:44px;height:44px;border-radius:13px;font-size:14px}.player-main small{font-size:8px}.player-main b{font-size:15px}.player-main em{font-size:9px}.player-last,.player-lessons{display:none}.player-ai b{font-size:16px}.player-ai small{font-size:7px}.player-ai>i{width:6px;height:6px}.player-open{font-size:15px}
  .student-hub{gap:9px}.hub-card{min-height:88px}.student-detail-page>.student-hero{margin-bottom:13px}.assistant-head small{font-size:9px}.assistant-head h1{font-size:18px}.assistant-route .ai-context{font-size:10px}.assistant-route .ai-context small{font-size:9px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 1.3.0：训练时间线与 AI 成长画像 */
.student-card{position:relative}.student-card>.card-avatar{position:relative;margin:0}.student-card>.status-dot{position:absolute;right:20px;top:20px;margin:0}.portrait-card{padding:26px}.portrait-card>header{align-items:flex-end}.portrait-card>header p{margin:7px 0 0;color:#8a938c;font-size:12px}.portrait-empty{min-height:220px;display:grid;place-content:center;justify-items:center;text-align:center}.portrait-empty i{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:var(--orange);background:#f7e0d6;font-style:normal}.portrait-empty b{margin-top:12px}.portrait-empty p{max-width:510px;margin:7px 0 17px;color:#7f8981;font-size:13px;line-height:1.65}.portrait-top{margin-top:22px;padding:18px;display:flex;align-items:center;gap:17px;border-radius:19px;color:#fff;background:linear-gradient(135deg,#20362a,#101b15)}.conversion-ring{--score:0deg;width:82px;height:82px;display:grid;place-content:center;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle,#17271e 57%,transparent 59%),conic-gradient(var(--orange) var(--score),rgba(255,255,255,.12) 0);text-align:center}.conversion-ring b{font-family:Georgia,serif;font-size:26px}.conversion-ring small{color:#9fab9f;font-size:8px}.portrait-top>div:last-child>span{color:#f19a75;font-size:11px;font-weight:800}.portrait-top h3{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:24px}.portrait-top p{margin:6px 0 0;color:#97a49a;font-size:11px}.portrait-insights{margin-top:13px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.portrait-insights section{min-height:112px;padding:15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.65)}.portrait-insights small,.portrait-next small{color:#929a93;font-size:10px;font-weight:800;letter-spacing:.08em}.portrait-insights p{margin:9px 0 0;font-size:13px;line-height:1.6}.portrait-next{margin-top:10px;padding:16px 18px;display:grid;gap:7px;border-radius:15px;background:#eef2ec}.portrait-next b{font-size:14px;line-height:1.55}.portrait-evidence{margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;list-style:none}.portrait-evidence li{position:relative;padding-left:14px;color:#727d74;font-size:12px;line-height:1.5}.portrait-evidence li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--orange)}.portrait-card>footer{margin-top:15px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.portrait-card>footer span{color:#909991;font-size:11px}.portrait-card>footer button{padding:7px 10px;border-radius:9px;color:#284032;background:#e6ece5;font-size:11px}.separated-workspace{margin-top:22px}.course-meta{margin-top:13px!important;display:grid!important;grid-template-columns:1.4fr .7fr;align-items:end!important}.course-meta label{display:grid;gap:6px;color:#667168;font-size:11px;font-weight:700}.course-meta input,.course-meta select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:13px}.assessment-title{margin-top:14px!important;display:flex!important}.assessment-title b{font-size:13px}.assessment-title span{font-size:11px!important}.timeline header>div{display:flex;align-items:center;gap:7px}.timeline header em{color:#778279;font-size:10px;font-style:normal}.record-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}.record-tags span{padding:5px 8px;border-radius:999px;color:#58665c;background:#e9eee8;font-size:10px}

@media(max-width:880px){.portrait-insights{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  .recent-section .student-card>.card-avatar{position:absolute;left:10px;top:9px;margin:0}.recent-section .student-card>.status-dot{display:none}.recent-section .student-card h3{margin:0}.portrait-card{padding:15px;border-radius:16px}.portrait-card>header p{font-size:11px}.portrait-top{margin-top:13px;padding:13px;border-radius:14px}.conversion-ring{width:65px;height:65px}.conversion-ring b{font-size:21px}.portrait-top h3{font-size:18px}.portrait-insights{grid-template-columns:1fr;gap:6px}.portrait-insights section{min-height:0;padding:11px 12px;border-radius:12px}.portrait-insights p{margin-top:5px;font-size:12px}.portrait-next{padding:12px}.portrait-evidence{grid-template-columns:1fr}.portrait-card>footer{align-items:flex-start;gap:10px}.separated-workspace{margin-top:24px;border-top:4px solid rgba(32,54,42,.08)}.course-meta{grid-template-columns:1fr 110px;gap:7px!important}.course-meta input,.course-meta select{min-height:38px;padding:7px;font-size:12px}.assessment-title{align-items:flex-start!important;flex-direction:column;gap:3px!important}.assessment-grid fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.assessment-grid legend{grid-column:1/-1}.assessment-grid button{min-width:0;margin:0;padding:7px 3px;font-size:11px}.timeline header{align-items:flex-start;gap:10px}.timeline header>div{flex-wrap:wrap}.timeline time{white-space:nowrap}.timeline p{white-space:pre-wrap}
}

/* 1.2.0：全站高密度工作界面 */
.student-avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:1;text-indent:0;white-space:nowrap}.student-kpis{margin:0 25px 0 auto;display:flex;gap:24px}.student-kpis span{display:grid;gap:3px;color:#91a097;font-size:11px;text-align:center}.student-kpis b{color:#fff;font-family:Georgia,serif;font-size:22px;font-weight:500}.profile>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.progress-ring{width:74px;height:74px;display:grid;place-content:center;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle,#fff 58%,transparent 60%),conic-gradient(var(--orange) var(--progress),#e7ebe5 0);text-align:center}.progress-ring b,.progress-ring small{display:block}.progress-ring b{font-family:Georgia,serif;font-size:17px}.progress-ring small{margin-top:1px;color:#899189;font-size:8px}.work-tabs em{min-width:19px;height:19px;margin-left:5px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:var(--orange);font-size:9px;font-style:normal}.assessment-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.assessment-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid rgba(33,50,39,.08);border-radius:14px;background:rgba(255,255,255,.72)}.assessment-grid legend{padding:0 5px;color:#59645b;font-size:12px;font-weight:800}.assessment-grid button{margin:4px 4px 0 0;padding:7px 9px;border-radius:999px;color:#6d776f;background:#edf0eb;font-size:11px}.assessment-grid button.active{color:#fff;background:var(--ink);box-shadow:0 5px 12px rgba(20,36,26,.12)}.record-head{display:flex;align-items:center;justify-content:space-between}.msg header{display:flex;align-items:center;justify-content:space-between}.msg header b{color:#748078;font-size:10px;letter-spacing:.08em}.msg header time{color:#99a19a;font-size:10px}.msg.user header b,.msg.user header time{color:rgba(255,255,255,.72)}.msg footer{margin-top:12px;padding-top:10px;display:flex;align-items:center;gap:13px;border-top:1px solid rgba(31,48,37,.08)}.msg footer button{padding:0;color:#647168;background:transparent;font-size:11px}.msg footer em{margin-left:auto;color:#929a93;font-size:9px;font-style:normal}.stream-error{color:#a74729}.ai-compose button:disabled{opacity:.5}

@media(max-width:880px){
  .main>.route-page:not(.dashboard-page){max-width:720px}.route-page:not(.dashboard-page)>.page-head{margin-bottom:16px}.route-page:not(.dashboard-page)>.page-head h1{font-size:30px}
  .student-kpis{margin-left:auto}.detail-grid{gap:13px}.profile,.settings-form,.model-card,.update-card,.reminder-card{border-radius:18px}
}

@media(max-width:560px){
  body{background:linear-gradient(135deg,rgba(227,235,226,.34),transparent 34%),#f6f3ec}
  .mobile-top{box-shadow:0 6px 22px rgba(27,40,31,.035)}
  .route-page:not(.dashboard-page)>.page-head{min-height:44px;margin-bottom:11px}.route-page:not(.dashboard-page)>.page-head>div>span{margin-bottom:3px;font-size:11px;letter-spacing:.1em}.route-page:not(.dashboard-page)>.page-head h1{font-size:26px}.page-head .primary-small{width:auto;min-height:36px;padding:0 12px;font-size:12px}.page-head .primary-small:first-letter{font-size:inherit}
  .card{border-radius:15px;box-shadow:0 8px 24px rgba(26,37,30,.055)}
  .toolbar{margin-bottom:10px;gap:7px}.toolbar>span{font-size:12px}.search{height:42px;padding:0 12px;border-radius:12px}.search input{font-size:16px}
  .student-table{display:grid;gap:8px;overflow:visible;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.student-row{min-height:70px;padding:10px 12px;grid-template-columns:42px 1fr auto 12px;gap:10px;border:1px solid rgba(28,40,31,.07);border-radius:14px;background:rgba(255,253,248,.92);box-shadow:0 7px 20px rgba(31,40,34,.045)}.student-row:hover{padding-left:12px}.student-row .student-avatar{width:42px;height:42px;border-radius:13px;font-size:14px}.student-row .identity b{font-size:15px}.student-row .identity small{margin-top:3px;font-size:12px}.student-row>em{display:block;padding:5px 7px;font-size:10px}.student-row .row-focus,.student-row .lessons{display:none}.student-row>i{font-size:18px}
  .back{margin:0 0 8px;font-size:12px}.student-hero{min-height:94px;margin-bottom:10px;padding:12px;border-radius:16px}.student-hero .student-avatar.large{width:52px;height:52px;border-radius:16px;font-size:18px}.student-hero>div{margin-left:10px}.student-hero h1{font-size:22px}.student-hero p{max-width:130px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.student-kpis{margin:0 9px 0 auto;gap:10px}.student-kpis span{font-size:9px}.student-kpis b{font-size:18px}.student-hero .ghost{width:34px;height:34px;min-height:34px;padding:0;border-radius:10px}.student-hero .ghost:after{font-size:11px}
  .detail-grid{gap:10px}.workspace{min-height:0;order:1;border-radius:16px}.profile{order:2;padding:15px}.profile h2{font-size:22px}.profile dl{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.profile dl>div{padding:9px 0}.profile dt{font-size:11px}.profile dd{margin-top:3px;font-size:13px}.profile blockquote{margin-top:12px;padding:12px;border-radius:12px;font-size:12px}.progress-ring{width:62px;height:62px}.progress-ring b{font-size:15px}
  .work-tabs{height:49px;padding:4px 7px 0;gap:0}.work-tabs button{flex:1;padding:0 5px;font-size:13px}.work-tabs button.active:after{left:18px;right:18px}.records{padding:11px}.record-compose{padding:11px;border-radius:13px}.record-head select{font-size:13px}.record-head span{font-size:11px}.assessment-grid{margin-top:10px;grid-template-columns:1fr;gap:7px}.assessment-grid fieldset{padding:8px 9px;border-radius:11px}.assessment-grid legend{font-size:12px}.assessment-grid button{padding:7px 10px;font-size:12px}.record-compose textarea{margin-top:9px;padding:10px;font-size:16px}.record-compose .primary-small{width:100%;min-height:39px;margin-top:7px}.timeline{margin-top:16px;padding-left:20px}.timeline article{padding-bottom:18px}.timeline article>i{left:-26px}.timeline p{margin-top:7px;font-size:13px;line-height:1.65}
  .ai-panel{height:calc(100dvh - 300px - env(safe-area-inset-bottom));min-height:420px;max-height:560px}.ai-context{padding:10px 12px;font-size:12px}.chips{padding:8px 10px;gap:6px}.chips button{padding:7px 10px;font-size:12px}.messages{padding:12px}.msg{max-width:92%;margin-bottom:10px;padding:11px 12px;border-radius:14px 14px 14px 4px;font-size:14px}.msg.user{border-radius:14px 14px 4px 14px}.msg p{line-height:1.65}.msg footer{margin-top:9px;padding-top:8px}.msg footer button{font-size:12px}.ai-compose{margin:0 9px 9px;padding:6px 6px 6px 10px;border-radius:13px}.ai-compose textarea{min-height:40px;font-size:16px}.ai-compose button{width:39px;height:39px;border-radius:11px}
  .reminder-grid{gap:9px}.reminder-card{padding:14px 12px}.reminder-card h2{font-size:22px}.reminder-list{margin-top:8px}.reminder-list article{min-height:61px;grid-template-columns:28px 56px 1fr;gap:7px}.reminder-list time{font-size:11px}.reminder-list b{font-size:13px}.reminder-list small{margin-top:3px;font-size:11px}.check{width:25px;height:25px;border-radius:8px}
  .settings-grid{gap:9px}.profile-dark{min-height:126px;padding:16px;border-radius:17px}.profile-dark .avatar.large{width:52px;height:52px;border-radius:16px;font-size:18px}.profile-dark h2{font-size:20px}.profile-dark p{font-size:12px}.settings-form,.model-card,.update-card{padding:15px}.settings-form h2,.model-card h2,.update-card h2{font-size:22px}.settings-form>label{margin-top:12px;font-size:12px}.settings-form input,.settings-form textarea,.model-card form input,.update-card form input{padding:10px 11px;font-size:16px}.settings-form textarea{min-height:90px}.model-card>div{margin-top:9px;padding:10px}.model-card>p,.update-card>p{font-size:12px}.update-card form{gap:7px}.logout{width:100%;min-height:40px}
  .modal-layer{padding:0;align-items:end}.modal-card{width:100%;max-height:92dvh;border-radius:19px 19px 0 0}.modal-card>header,.student-modal>header{min-height:72px;padding:13px 15px}.modal-card h2{font-size:22px}.modal-card header button{width:33px;height:33px}.modal-body,.student-modal .modal-body{max-height:calc(92dvh - 72px);padding:14px}.form-grid{gap:10px}.form-grid label{font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{padding:10px 11px;font-size:16px}.profile-more{margin-top:14px}.profile-more summary{padding:14px 1px 9px}.profile-section>label,.summary-field{margin:12px 0 7px}.profile-chips button{padding:8px 10px;font-size:12px}.student-modal .submit-dark{min-height:45px;margin-top:14px}
  .empty{min-height:105px}.empty p{font-size:12px}.toast{bottom:75px}
}

/* 1.1.1：紧凑型手机工作台 */
.hero-note{margin-left:auto;color:#b1bbb3;font-size:11px;line-height:1.55;letter-spacing:.16em}.hero-note i{display:block;width:24px;height:2px;margin-top:9px;background:var(--orange)}
@media(max-width:560px){
  .mobile-top{height:58px;padding:calc(env(safe-area-inset-top) + 7px) 14px 5px}.mobile-top .brand{font-size:20px}.mobile-top .brand i{font-size:19px}.mobile-top .avatar{width:30px;height:30px;font-size:11px}
  .main{padding:calc(58px + env(safe-area-inset-top)) 11px calc(78px + env(safe-area-inset-bottom))}
  .dashboard-head{min-height:57px;margin-bottom:10px;align-items:start}.dashboard-head>div>span{margin-bottom:4px;font-size:10px}.dashboard-head h1{font-size:29px;line-height:1.05}.dashboard-head aside{max-width:78px;padding-top:2px;font-size:9px;line-height:1.35}.dashboard-head aside i{width:15px;height:1px;margin-top:5px}
  .photo-hero{min-height:256px;padding:18px 18px;background-image:linear-gradient(90deg,rgba(7,19,13,.96),rgba(7,19,13,.67) 62%,rgba(7,19,13,.08)),url("hero-court-v2.png");border-radius:15px}.photo-hero>.eyebrow{font-size:8px;letter-spacing:.08em}.photo-hero>.eyebrow:before{width:2px;height:18px;margin-right:9px}.photo-hero h2{margin-top:16px;font-size:28px;line-height:1.18}.photo-hero>p{max-width:66%;margin-top:9px;font-size:10px;line-height:1.55}.photo-hero footer{left:18px;right:18px;bottom:13px;gap:18px}.photo-hero footer span{gap:1px;font-size:8px}.photo-hero footer b{font-size:23px}.photo-hero .hero-note{display:block;margin-left:auto;font-size:7px;line-height:1.55;letter-spacing:.15em}.photo-hero .hero-note i{width:14px;height:1px;margin-top:5px}
  .section{margin-top:23px}.section>header{margin-bottom:8px}.section>header span{display:none}.section>header h2{margin:0;font-size:23px}.section>header>p{display:block;margin:0 3px 3px auto;font-size:9px}.section>header button{padding:5px 2px;font-size:10px}
  .actions{gap:8px}.actions button{min-height:63px;padding:10px 36px 10px 70px;border-radius:13px;box-shadow:0 7px 20px rgba(31,40,34,.045)}.actions i{left:14px;width:40px;height:40px;font-size:13px}.actions b{font-size:15px}.actions span{margin-top:3px;font-size:10px}.actions em,.actions button.orange em{right:14px;font-size:20px}
  .schedule-section .today{padding:1px 11px;border-radius:13px}.schedule-section .mini-list>div{min-height:51px;grid-template-columns:43px 1fr 10px;gap:7px}.schedule-section .mini-list time{font-size:10px}.schedule-section .mini-list b{font-size:13px}.schedule-section .mini-list small{margin-top:2px;font-size:9px}
  .recent-section .student-grid{gap:7px}.recent-section .student-card{min-height:58px;padding:9px 36px 9px 55px;border-radius:13px}.recent-section .student-card header{left:10px;top:9px}.recent-section .student-card .student-avatar{width:40px;height:40px;border-radius:50%;font-size:12px}.recent-section .student-card h3{font-size:14px}.recent-section .student-card .accent{margin-top:1px;font-size:9px}.recent-section .student-card p{display:none}.recent-section .student-card .open{right:12px;top:17px}.recent-section .student-card .open:after{font-size:20px}
  .bottom-nav{left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);border:0;border-top:1px solid rgba(26,37,29,.07);border-radius:0;background:rgba(255,253,248,.94);box-shadow:0 -8px 30px rgba(24,34,27,.06)}.bottom-nav button{gap:1px;color:#878d88;font-size:10px}.bottom-nav button i{font-size:18px}.bottom-nav button.active{color:var(--ink);font-weight:800}.bottom-nav button.active i{width:auto;height:auto;color:var(--ink);background:transparent}
}

/* 保证课堂观察不被通用表单 flex 规则挤成窄列 */
.record-compose>.assessment-grid{display:grid}
@media(max-width:560px){.record-compose>.assessment-grid{grid-template-columns:1fr}.record-compose>.assessment-grid fieldset{width:100%}}

/* 1.4.0：Coach OS 首页与独立工作页面 */
.coach-home-head{margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.coach-home-head>div>span{color:#899289;font-size:12px}.coach-home-head h1{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:40px}.coach-home-head label{width:min(360px,38%);height:48px;padding:0 15px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.76)}.coach-home-head input{width:100%;border:0;outline:0;background:transparent}.coach-os{position:relative;min-height:260px;padding:32px 36px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:28px;color:#fff;background:linear-gradient(112deg,rgba(8,25,16,.98),rgba(15,38,25,.84)),url("hero-court-v2.png") center/cover;box-shadow:0 26px 60px rgba(17,30,21,.18)}.coach-os:after{content:"";position:absolute;right:-80px;top:-170px;width:370px;height:370px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018)}.coach-os-copy,.coach-stats{position:relative;z-index:1}.coach-os-copy>span{color:#f09872;font-size:10px;font-weight:900;letter-spacing:.18em}.coach-os h2{margin:10px 0 0;font-family:"Songti SC","STSong",serif;font-size:38px}.coach-os p{margin:8px 0 0;color:#a9b6ac;font-size:13px}.coach-stats{display:flex;gap:50px}.coach-stats span{display:grid;gap:3px;color:#93a096;font-size:10px}.coach-stats b{color:#fff;font-family:Georgia,serif;font-size:26px}.home-block{margin-top:30px}.home-block>header{margin-bottom:12px;display:flex;align-items:flex-end;justify-content:space-between}.home-block>header span{color:#98a099;font-size:9px;font-weight:900;letter-spacing:.17em}.home-block>header h2{margin:4px 0 0;font-family:"Songti SC","STSong",serif;font-size:27px}.home-block>header small,.home-block>header button{color:#929991;background:transparent;font-size:11px}.service-market{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:12px}.service-tile{position:relative;min-height:145px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:rgba(255,255,255,.78);text-align:left;box-shadow:0 12px 30px rgba(24,36,28,.055);transition:.2s ease}.service-tile:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(24,36,28,.1)}.service-tile>i{position:absolute;left:18px;top:17px;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#fff;background:#365442;font-size:13px;font-style:normal}.service-tile>b{font-size:17px}.service-tile>span{margin-top:5px;color:#858f87;font-size:11px}.service-tile>em{position:absolute;right:16px;top:16px;color:#8b938c;font-size:20px;font-style:normal}.service-primary{color:#fff;border:0;background:linear-gradient(145deg,#ef7542,#df5d2c)}.service-primary>i{color:#df6333;background:#fff}.service-primary>span,.service-primary>em{color:rgba(255,255,255,.76)}.service-dark{color:#fff;border:0;background:#1b3023}.service-dark>span,.service-dark>em{color:#9eaca1}.priority-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.priority-card{min-height:76px;padding:12px;display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.78);text-align:left}.priority-card .student-avatar{width:43px;height:43px;border-radius:14px}.priority-card div b,.priority-card div small{display:block}.priority-card div small{margin-top:3px;color:#7f8981;font-size:10px}.priority-card>em{display:grid;color:var(--orange);font-family:Georgia,serif;font-size:21px;font-style:normal;text-align:center}.priority-card>em small{color:#979e98;font-family:system-ui;font-size:8px}.head-actions{display:flex;gap:8px}.trash-note{margin:-12px 0 18px;color:#7f8981;font-size:13px}.trash-list{display:grid;gap:9px}.trash-list>article{padding:14px 16px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px}.trash-list .student-avatar{width:46px;height:46px}.trash-list b,.trash-list small{display:block}.trash-list small{margin-top:4px;color:#879088}.trash-list button{padding:9px 12px;border-radius:10px;color:#26402f;background:#e6ece5;font-weight:700}.danger-zone{margin-top:20px;padding-top:16px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ecd6ce}.danger-zone b,.danger-zone small{display:block}.danger-zone b{color:#9e4125}.danger-zone small{margin-top:4px;color:#99908c;font-size:11px}.danger-zone button{padding:9px 11px;border-radius:10px;color:#a14427;background:#f8e0d6}.student-hub{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px}.hub-card{position:relative;min-height:154px;padding:19px;display:flex;align-items:flex-end;gap:14px;overflow:hidden;border:1px solid var(--line);border-radius:21px;color:var(--ink);background:rgba(255,255,255,.78);text-align:left;box-shadow:0 12px 30px rgba(26,39,30,.05)}.hub-card>div:nth-last-child(2){min-width:0}.hub-card small{color:#909991;font-size:9px;font-weight:800;letter-spacing:.1em}.hub-card h2{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:23px}.hub-card p{margin:5px 0 0;overflow:hidden;color:#7e8980;font-size:11px;line-height:1.5;text-overflow:ellipsis}.hub-card>em{position:absolute;right:17px;top:15px;color:#8d958e;font-size:22px;font-style:normal}.hub-icon{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;color:#fff;background:#365442;font-style:normal}.hub-portrait{color:#fff;border:0;background:linear-gradient(135deg,#233b2c,#132119)}.hub-portrait small,.hub-portrait p,.hub-portrait>em{color:#a2afa5}.hub-chat{border:0;background:linear-gradient(145deg,#f7dacf,#fff8f2)}.hub-chat .hub-icon{color:#fff;background:var(--orange)}.hub-score{width:62px;height:62px;display:grid;place-content:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.18);border-radius:50%;text-align:center}.hub-score b{font-family:Georgia,serif;font-size:23px}.hub-score small{font-size:7px}.student-facts{margin-top:13px;padding:20px}.student-facts>header{display:flex;align-items:center;justify-content:space-between}.student-facts>header span{font-weight:800}.student-facts>header button{color:#657168;background:transparent;font-size:11px}.student-facts dl{margin:14px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.student-facts dl>div{padding:12px;border-radius:12px;background:#eff2ed}.student-facts dt{color:#8b948c;font-size:10px}.student-facts dd{margin:5px 0 0;font-size:13px}.portrait-route{max-width:1120px;margin:auto}.timeline-route{max-width:1120px;margin:auto;overflow:hidden}.route-work-head{padding:23px 24px 18px;display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line)}.route-work-head span{color:#969e97;font-size:9px;font-weight:900;letter-spacing:.17em}.route-work-head h2{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:28px}.route-work-head p{margin:0;color:#8a938b;font-size:12px}.assistant-page{max-width:1120px}.assistant-head{height:72px;padding:0 6px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:12px}.assistant-head>button,.assistant-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--ink);background:#e8ede6}.assistant-head>span{color:#fff;background:var(--orange)}.assistant-head small{color:#859087;font-size:10px}.assistant-head h1{margin:3px 0 0;font-family:"Songti SC","STSong",serif;font-size:25px}.assistant-route{height:calc(100vh - 150px);min-height:600px;overflow:hidden}.assistant-route .ai-panel{height:100%}

@media(max-width:920px){.service-market{grid-template-columns:1fr 1fr}.priority-strip{grid-template-columns:1fr}.student-hub{grid-template-columns:1fr}.student-facts dl{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
  .coach-home-head{margin-bottom:10px;align-items:center}.coach-home-head>div>span{font-size:9px}.coach-home-head h1{font-size:27px}.coach-home-head label{width:42px;height:42px;padding:0;justify-content:center;border-radius:13px}.coach-home-head label input{position:absolute;width:1px;opacity:0}.coach-os{min-height:190px;padding:20px;border-radius:18px}.coach-os h2{font-size:29px}.coach-os p{font-size:11px}.coach-stats{gap:25px}.coach-stats b{font-size:22px}.home-block{margin-top:22px}.home-block>header h2{font-size:22px}.service-market{grid-template-columns:1fr 1fr;gap:8px}.service-tile{min-height:124px;padding:13px;border-radius:16px}.service-tile>i{left:13px;top:13px;width:35px;height:35px;border-radius:11px}.service-tile>b{font-size:15px}.service-tile>span{font-size:10px}.service-primary{grid-column:1/-1;min-height:108px}.priority-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.priority-card{min-width:82%;scroll-snap-align:start}.dashboard-page .recent-section .student-grid{display:grid;grid-template-columns:1fr}.head-actions .ghost-light{height:36px;padding:0 9px;font-size:11px}.trash-note{margin:0 0 12px;font-size:11px}.trash-list>article{grid-template-columns:42px 1fr}.trash-list button{grid-column:1/-1}.danger-zone{align-items:flex-start;gap:12px}.danger-zone button{flex:0 0 auto}.student-hub{gap:8px}.hub-card{min-height:92px;padding:13px;border-radius:15px;align-items:center}.hub-card h2{font-size:19px}.hub-card p{white-space:nowrap}.hub-icon{width:42px;height:42px;border-radius:13px}.hub-score{width:48px;height:48px}.hub-score b{font-size:19px}.student-facts{padding:14px;border-radius:15px}.student-facts dl{gap:6px}.student-facts dl>div{padding:9px}.portrait-route{margin-top:0}.timeline-route{border-radius:16px}.route-work-head{padding:16px 13px}.route-work-head h2{font-size:22px}.route-work-head p{display:none}.assistant-mode .main{padding-bottom:0;overflow:hidden}.assistant-mode .bottom-nav{display:none!important}.assistant-page{height:calc(100dvh - 58px - env(safe-area-inset-top));overflow:hidden}.assistant-head{height:59px;grid-template-columns:36px 1fr 36px}.assistant-head>button,.assistant-head>span{width:36px;height:36px;border-radius:11px}.assistant-head h1{font-size:20px}.assistant-route{height:calc(100% - 73px);min-height:0;border-radius:16px}.assistant-route .ai-panel{height:100%;min-height:0;max-height:none}.assistant-route .messages{padding:12px 12px 4px}.assistant-route .ai-compose{margin:7px 9px 9px}
}

/* 1.5.0 final asset overrides */
.scene-focus{background-image:url("court-drill-v1.jpg")}.scene-growth{background-image:url("court-equipment-v1.jpg")}

/* 1.6.0 · functional coach control center (legacy layer) */
.control-page,.setting-detail-page{width:min(1160px,100%);margin:0 auto}.control-hero{position:relative;min-height:260px;padding:34px 38px;display:grid;grid-template-columns:1.2fr .9fr;gap:25px;overflow:hidden;border-radius:28px;color:#fff;background:linear-gradient(115deg,#07170f,#153925);box-shadow:0 25px 60px rgba(7,23,15,.18)}.control-hero:before{content:"";position:absolute;right:-70px;top:-175px;width:410px;height:410px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 58px rgba(255,255,255,.025),0 0 0 116px rgba(255,255,255,.014)}.control-hero>div{position:relative;z-index:1}.control-hero>div:first-child>span,.control-head span{color:#f5966f;font-size:10px;font-weight:900;letter-spacing:.19em}.control-hero h1{margin:11px 0 0;font-family:"Songti SC","STSong",serif;font-size:42px;letter-spacing:-.04em}.control-hero p{margin:8px 0 0;color:#aebbb2;font-size:13px}.control-profile{padding:17px 18px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;align-self:start;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(10px)}.control-profile .avatar{width:48px;height:48px;border-radius:14px;background:var(--motion-orange)}.control-profile small,.control-profile b,.control-profile em{display:block}.control-profile small{color:#9baba0;font-size:9px;letter-spacing:.12em}.control-profile b{margin-top:3px;font-size:16px}.control-profile em{margin-top:3px;color:#8fa095;font-size:10px;font-style:normal}.control-profile>i{padding:6px 9px;border-radius:999px;color:#15331f;background:var(--motion-lime);font-size:9px;font-style:normal;font-weight:800}.control-pulse{position:absolute!important;left:38px;right:38px;bottom:28px;display:flex;gap:44px}.control-pulse span{display:grid;gap:2px;color:#91a096;font-size:9px}.control-pulse b{color:#fff;font-family:Georgia,serif;font-size:25px;font-weight:500}.control-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.control-module{position:relative;min-height:148px;padding:21px 23px;display:grid;grid-template-columns:38px 1fr 24px;align-items:start;gap:13px;overflow:hidden;border:1px solid rgba(10,35,23,.09);border-radius:21px;color:var(--ink);background:rgba(255,255,255,.82);text-align:left;box-shadow:0 12px 30px rgba(7,29,18,.055);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}.control-module:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(7,29,18,.11)}.control-module:after{content:attr(data-index);position:absolute;right:18px;bottom:-15px;color:rgba(12,42,27,.035);font-family:Impact,sans-serif;font-size:74px}.control-module .module-no{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#31543e;font-family:Georgia,serif;font-size:11px}.control-module small{color:#7f8b82;font-size:9px;font-weight:800;letter-spacing:.06em}.control-module h2{margin:8px 0 0;font-family:"Songti SC","STSong",serif;font-size:25px}.control-module p{max-width:360px;margin:8px 0 0;color:#7c877f;font-size:12px;line-height:1.55}.control-module>i{font-size:20px;font-style:normal}.control-module.module-orange{color:#fff;border:0;background:linear-gradient(140deg,#ee7441,#d9562b)}.control-module.module-orange small,.control-module.module-orange p,.control-module.module-orange>i{color:rgba(255,255,255,.78)}.control-module.module-orange .module-no{color:#d85c2e;background:#fff}.control-module.module-dark{color:#fff;border:0;background:#173323}.control-module.module-dark small,.control-module.module-dark p,.control-module.module-dark>i{color:#a4b2a8}.control-module.module-update{background:linear-gradient(135deg,#eef3e8,#fff)}.control-module.locked{opacity:.5}.control-logout{width:100%;margin-top:12px;padding:15px;border:1px solid #eadbd4;border-radius:16px;color:#9c4d32;background:#fff9f5;font-weight:700}
.control-head{margin:7px 0 18px;padding:0 4px;display:flex;align-items:center;justify-content:space-between}.control-head h1{margin:5px 0 0;font-family:"Songti SC","STSong",serif;font-size:38px}.control-head p{margin:5px 0 0;color:#808b82;font-size:12px}.control-head>i{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#173323;background:#dce8da;font-family:Georgia,serif;font-style:normal;font-weight:800}.setting-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setting-panel{padding:23px;border:1px solid rgba(10,35,23,.085);border-radius:21px;background:rgba(255,255,255,.82);box-shadow:0 12px 30px rgba(7,29,18,.05)}.setting-panel>header{margin-bottom:18px;display:flex;align-items:start;gap:12px}.setting-panel>header>span{min-width:36px;height:36px;padding:0 8px;display:grid;place-items:center;border-radius:11px;color:#fff;background:#31543e;font-family:Georgia,serif;font-size:10px}.setting-panel>header h2{margin:0;font-family:"Songti SC","STSong",serif;font-size:24px}.setting-panel>header p{margin:4px 0 0;color:#879188;font-size:11px}.setting-panel>header>em{margin-left:auto;padding:5px 8px;border-radius:999px;color:#31543e;background:#e1eadf;font-size:9px;font-style:normal}.setting-label{margin-top:14px;display:grid;gap:7px;color:#556159;font-size:12px}.setting-label input,.setting-label select,.setting-label textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;outline:0;color:var(--ink);background:#f5f6f2;font:inherit;resize:vertical}.setting-label input:focus,.setting-label select:focus,.setting-label textarea:focus{border-color:#789181;box-shadow:0 0 0 3px rgba(75,112,86,.09)}.setting-choices{display:flex;flex-wrap:wrap;gap:7px}.setting-choices label{cursor:pointer}.setting-choices input{position:absolute;width:1px;opacity:0}.setting-choices span{padding:9px 12px;display:block;border:1px solid transparent;border-radius:11px;color:#637067;background:#edf0eb;font-size:12px}.setting-choices label.active span{color:#fff;background:#173323;box-shadow:0 7px 16px rgba(16,49,30,.16)}.switch-row{min-height:63px;padding:12px 0;display:grid;grid-template-columns:1fr 42px;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.switch-row span b,.switch-row span small{display:block}.switch-row span b{font-size:13px}.switch-row span small{margin-top:4px;color:#8b948d;font-size:10px}.switch-row input{position:absolute;opacity:0}.switch-row>i,.member-switch>i{position:relative;width:42px;height:24px;border-radius:999px;background:#d5dcd6;transition:.2s}.switch-row>i:after,.member-switch>i:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.16);transition:.2s}.switch-row input:checked+i,.member-switch input:checked+i{background:#2d6042}.switch-row input:checked+i:after,.member-switch input:checked+i:after{transform:translateX(18px)}.setting-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setting-note{margin:8px 0 0;color:#8d968f;font-size:10px}.assistant-preview,.flow-preview{min-height:260px;padding:24px;overflow:hidden;border-radius:21px;color:#fff;background:linear-gradient(145deg,#0a2116,#183826);box-shadow:0 18px 38px rgba(8,30,18,.17)}.assistant-preview>span,.flow-preview>span{color:#f58a60;font-size:9px;font-weight:900;letter-spacing:.2em}.assistant-preview h2{margin:9px 0 20px;font-family:"Songti SC","STSong",serif;font-size:28px}.assistant-preview>div{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.065)}.assistant-preview small{color:#90a096;font-size:9px}.assistant-preview p{margin:8px 0 0;color:#eef3ef;font-size:13px;line-height:1.75}.assistant-preview>em{margin-top:16px;display:block;color:#8fa095;font-size:9px;font-style:normal}.flow-preview ol{margin:22px 0 0;padding:0;display:grid;gap:15px;counter-reset:flow}.flow-preview li{position:relative;padding-left:31px;list-style:none;color:#73857a;font-size:12px;counter-increment:flow}.flow-preview li:before{content:counter(flow);position:absolute;left:0;top:-4px;width:23px;height:23px;display:grid;place-items:center;border:1px solid #3b5042;border-radius:50%;font-size:9px}.flow-preview li.active{color:#fff}.flow-preview li.active:before{color:#122f1f;border-color:var(--motion-lime);background:var(--motion-lime)}.setting-save{grid-column:1/-1;min-height:51px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;border-radius:15px;color:#fff;background:var(--motion-orange);font-weight:800}.setting-save i{font-size:21px;font-style:normal}.model-connect{margin-top:12px}.model-fixed{display:grid;grid-template-columns:1fr 1fr;gap:9px}.model-fixed>span{padding:12px;border-radius:12px;color:#89938b;background:#f0f3ee;font-size:9px}.model-fixed b{margin-top:5px;display:block;color:var(--ink);font-size:13px}.model-connect form{margin-top:12px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}.model-connect .setting-label{margin:0}.model-security{margin-top:9px;display:block;color:#949c96;font-size:9px}
.team-grid,.security-grid,.system-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.member-panel,.login-panel,.history-panel{min-width:0}.member-list,.login-list,.backup-list,.update-history{display:grid;gap:7px}.member-list article{padding:11px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:10px;border-radius:13px;background:#f1f3ef}.member-list .avatar{width:42px;height:42px;border-radius:13px}.member-list b,.member-list small,.member-list em{display:block}.member-list small,.member-list em{margin-top:2px;overflow:hidden;color:#7f8a82;font-size:9px;font-style:normal;text-overflow:ellipsis}.member-list select{max-width:108px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px}.member-list strong{padding:6px 8px;border-radius:999px;color:#28583b;background:#dfeae0;font-size:9px}.member-switch{display:grid;justify-items:center;gap:3px}.member-switch input{position:absolute;opacity:0}.member-switch span{color:#849087;font-size:8px}.security-grid{grid-template-columns:1fr 1fr}.login-panel{grid-column:1/-1}.login-list article,.backup-list article,.update-history article{padding:11px 12px;display:flex;align-items:center;gap:10px;border-radius:12px;background:#f0f3ef}.login-list article>i,.update-history article>i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#97a198}.login-list article>i.current,.update-history article>i.ok{background:#72b850;box-shadow:0 0 0 4px rgba(114,184,80,.13)}.update-history article>i.fail{background:#d7643e}.login-list article>div,.backup-list article>div,.update-history article>div{min-width:0;flex:1}.login-list b,.login-list small,.backup-list b,.backup-list small,.update-history b,.update-history small{display:block}.login-list small,.backup-list small,.update-history small{margin-top:3px;overflow:hidden;color:#808b83;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.login-list em,.backup-list em{color:#89938b;font-size:9px;font-style:normal}.data-board{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.data-meter{padding:25px;border-radius:21px;color:#fff;background:linear-gradient(145deg,#0b2418,#1d432c)}.data-meter>span{color:#f48f67;font-size:9px;font-weight:900;letter-spacing:.18em}.data-meter h2{margin:12px 0 0;font-family:Georgia,serif;font-size:55px;font-weight:500}.data-meter p{margin:2px 0 22px;color:#9cac9f;font-size:11px}.data-meter>div{height:5px;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.12)}.data-meter i{width:var(--data);height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--motion-orange),#f9ba68)}.data-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.data-stat-grid article{padding:18px;display:grid;align-content:center;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.82)}.data-stat-grid b{font-family:Georgia,serif;font-size:28px;font-weight:500}.data-stat-grid span{margin-top:4px;color:#808b83;font-size:10px}.data-actions{grid-column:1/-1}.data-action{width:100%;min-height:61px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left}.data-action b,.data-action small{display:block}.data-action small{margin-top:4px;color:#879188;font-size:9px}.data-action>i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#e6ece4;font-style:normal}.data-action.danger b,.data-action.danger>i{color:#aa4d2f}.system-grid>.update-card{grid-column:1/-1}.backup-list article button{padding:8px 10px;border-radius:9px;color:#fff;background:#244c34;font-size:9px}.update-history article{align-items:flex-start}
@media(max-width:760px){.control-grid,.setting-layout,.team-grid,.security-grid,.data-board,.system-grid{grid-template-columns:1fr}.assistant-preview,.flow-preview{min-height:210px}.login-panel,.data-actions{grid-column:auto}.member-list article{grid-template-columns:40px minmax(0,1fr) auto}.member-switch{grid-column:3}.member-list select{grid-column:2/3}.model-connect form{grid-template-columns:1fr}}
@media(max-width:560px){.control-page,.setting-detail-page{width:100%}.control-hero{min-height:190px;padding:19px;border-radius:18px;grid-template-columns:1fr}.control-hero h1{font-size:29px}.control-hero p{font-size:10px}.control-profile{position:absolute!important;right:16px;top:15px;width:42px;height:42px;padding:0;display:grid;place-items:center;border:0;border-radius:13px;background:var(--motion-orange)}.control-profile .avatar{width:auto;height:auto;background:transparent}.control-profile>div,.control-profile>i{display:none}.control-pulse{left:19px;right:19px;bottom:17px;gap:24px}.control-pulse span{font-size:7px}.control-pulse b{font-size:20px}.control-grid{margin-top:9px;gap:8px}.control-module{min-height:105px;padding:14px;grid-template-columns:32px 1fr 18px;gap:10px;border-radius:15px}.control-module .module-no{width:32px;height:32px;border-radius:10px;font-size:9px}.control-module h2{margin-top:5px;font-size:19px}.control-module p{margin-top:5px;font-size:9px}.control-module small{font-size:8px}.control-module>i{font-size:17px}.control-module:hover{transform:none}.control-logout{margin-top:8px;padding:12px;font-size:11px}.control-head{margin:2px 0 11px}.control-head h1{font-size:28px}.control-head p{max-width:265px;font-size:9px}.control-head>i{width:39px;height:39px;border-radius:12px;font-size:11px}.setting-layout,.team-grid,.security-grid,.data-board,.system-grid{gap:8px}.setting-panel{padding:14px;border-radius:15px}.setting-panel>header{margin-bottom:11px;gap:9px}.setting-panel>header>span{min-width:31px;height:31px;border-radius:9px;font-size:8px}.setting-panel>header h2{font-size:19px}.setting-panel>header p{font-size:9px}.setting-label{margin-top:10px;font-size:10px}.setting-label input,.setting-label select,.setting-label textarea{padding:10px;font-size:16px}.setting-choices{gap:5px}.setting-choices span{padding:8px 9px;font-size:10px}.switch-row{min-height:55px;padding:9px 0}.switch-row span b{font-size:11px}.switch-row span small{font-size:8px}.assistant-preview,.flow-preview{min-height:170px;padding:16px;border-radius:15px}.assistant-preview h2{margin:7px 0 12px;font-size:21px}.assistant-preview>div{padding:11px}.assistant-preview p{font-size:11px}.flow-preview ol{margin-top:15px;gap:11px}.flow-preview li{font-size:10px}.setting-save{min-height:44px;border-radius:12px;font-size:12px}.model-fixed{grid-template-columns:1fr}.member-list article{padding:9px}.member-list .avatar{width:38px;height:38px}.data-meter{padding:18px;border-radius:15px}.data-meter h2{font-size:42px}.data-stat-grid{gap:7px}.data-stat-grid article{padding:13px;border-radius:13px}.data-stat-grid b{font-size:23px}.data-action{min-height:55px;padding:9px}.update-card{border-radius:15px}.backup-list article,.update-history article{padding:9px}.back{margin-bottom:4px}}

/* 1.7.0 · 球伴 Coach / black-white performance direction */
:root{--ink:#050505;--orange:#ff5a1f;--motion-ink:#050505;--motion-green:#111;--motion-lime:#d8ff3e;--motion-orange:#ff5a1f;--motion-paper:#f5f5f5;--line:#dedede}
body{color:#050505;background:#f5f5f5;background-image:none;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}.sidebar{background:#050505}.main{background:#f5f5f5}.mobile-top,.bottom-nav{background:#fff!important;backdrop-filter:none!important}.motion-brand>b,.brand-dot{color:#fff!important;background:#050505!important}.motion-brand>span{font-family:Arial,"PingFang SC",sans-serif;font-weight:900;letter-spacing:-.04em}.sidebar .motion-brand>span{color:#fff}.sidebar nav button.active{color:#050505;background:#fff}.sidebar nav button.active:before{background:#ff5a1f}.card,.setting-panel,.control-module,.priority-card,.student-table,.hub-card,.student-facts,.data-stat-grid article,.today{border-color:#dedede!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none!important}.control-hero,.coach-os{color:#fff;background:#050505!important;box-shadow:none}.control-hero:before,.coach-os:after{display:none}.control-hero h1,.control-head h1,.control-module h2,.setting-panel>header h2,.page-head h1,.coach-home-head h1,.home-block>header h2,.route-work-head h2,.student-hero h1{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-weight:900;letter-spacing:-.055em}.control-profile{border-color:#333;background:#171717;backdrop-filter:none}.control-profile>i{color:#050505;background:#d8ff3e}.control-module.module-orange{color:#fff;background:#ff5a1f!important}.control-module.module-dark{color:#fff;background:#050505!important}.control-module.module-update{background:#d8ff3e!important}.control-module.module-update p,.control-module.module-update small,.control-module.module-update>i{color:#1b1b1b}.control-module .module-no,.setting-panel>header>span{border-radius:50%;background:#050505}.control-module.module-orange .module-no{color:#050505;background:#fff}.control-module.module-dark .module-no{color:#050505;background:#d8ff3e}.setting-choices span{border-color:#dedede;background:#fff}.setting-choices label.active span{color:#fff;background:#050505}.setting-label input,.setting-label select,.setting-label textarea{border-color:#d5d5d5;background:#fff}.setting-save,.submit-black,.primary-small{color:#fff;background:#050505!important}.assistant-preview,.flow-preview,.data-meter{background:#050505;box-shadow:none}.service-market .service-tile{border:1px solid #dedede;background:#fff;box-shadow:none}.service-market .service-primary{color:#fff;border-color:#050505;background:#050505}.service-market .service-primary>i{color:#050505;background:#d8ff3e}.service-market .service-dark{color:#050505;border-color:#d8ff3e;background:#d8ff3e}.service-market .service-dark>span,.service-market .service-dark>em{color:#333}.court-stage{border-radius:0;box-shadow:none}.court-stage:after{border-radius:0}.court-scene h2{font-family:Arial,"PingFang SC",sans-serif;font-weight:900;letter-spacing:-.06em}.player-roster{gap:12px}.player-swipe{overflow:visible;border-radius:0;background:#050505}.player-card{position:relative;border:1px solid #dedede;border-radius:0;background:#fff;box-shadow:none}.player-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#d8ff3e}.player-avatar{border-radius:50%;background:#050505}.player-avatar:before{display:none}.player-delete-direct{position:absolute;right:12px;top:12px;z-index:4;padding:7px 11px;border-radius:999px;color:#fff;background:#050505;font-size:11px;font-weight:800;opacity:0;transition:.2s}.player-swipe:hover .player-delete-direct,.player-swipe:focus-within .player-delete-direct{opacity:1}.player-swipe.removing{animation:roster-remove .3s ease both}.swipe-manage{background:#ff5a1f}.swipe-record{background:#050505}.player-swipe.is-open .player-delete-direct{opacity:0}.bench-card{overflow:hidden;border:1px solid #dedede;border-radius:0;background:#fff;box-shadow:none}.bench-card .jersey{background:#050505}.msg{border-radius:0!important;background:#ececec}.msg.user{color:#fff;background:#050505}.msg footer{gap:7px;flex-wrap:wrap}.answer-rating{margin-left:auto;display:flex;gap:5px}.answer-rating button{padding:5px 8px;border:1px solid #cfcfcf;border-radius:999px;background:#fff;font-size:11px}.answer-rating button.active{color:#050505;border-color:#d8ff3e;background:#d8ff3e}.feedback-modal .modal-body>p{margin:0 0 16px;color:#626262;line-height:1.65}.pool-status{display:grid;gap:7px}.pool-status article{padding:10px 12px;display:flex;align-items:center;gap:10px;border:1px solid #dedede;background:#fff}.pool-status article>i{width:9px;height:9px;border-radius:50%;background:#d8ff3e}.pool-status article>i.cooling{background:#ff5a1f}.pool-status article>div{min-width:0;flex:1}.pool-status b,.pool-status small{display:block}.pool-status small{margin-top:3px;overflow:hidden;color:#666;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pool-status em{font-size:11px;font-style:normal}.model-connect form{grid-template-columns:1fr 1fr auto}.learning-entry{width:100%;margin-top:18px;padding:15px 0 0;display:flex;align-items:center;justify-content:space-between;border-top:2px solid #050505;color:#050505;background:transparent;text-align:left}.learning-entry b,.learning-entry small{display:block}.learning-entry small{margin-top:4px;color:#666}.learning-entry i{font-size:24px;font-style:normal}.learning-hero{min-height:260px;padding:34px;display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:30px;color:#fff;background:#050505}.learning-hero>div>span{color:#d8ff3e;font-size:11px;font-weight:900;letter-spacing:.15em}.learning-hero h2{margin:14px 0 0;font-size:42px;line-height:1.03;letter-spacing:-.06em}.learning-hero p{max-width:560px;color:#aaa;line-height:1.65}.learning-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#333}.learning-stats span{padding:16px;display:grid;color:#aaa;background:#0e0e0e;font-size:11px}.learning-stats b{color:#fff;font-size:28px}.learning-grid{margin-top:12px;display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.knowledge-form .submit-black{width:100%;margin-top:14px;padding:14px;font-weight:800}.dataset-download{margin-top:8px;padding:12px;display:block;border:1px solid #050505;color:#050505;text-align:center;font-weight:800}.knowledge-list>div{display:grid;gap:8px}.knowledge-list article{padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #dedede;background:#fff}.knowledge-list b,.knowledge-list small{display:block}.knowledge-list small{margin-top:3px;color:#666;font-size:11px}.knowledge-list p{max-height:66px;margin:10px 0 0;overflow:hidden;color:#444;font-size:13px;line-height:1.65}.knowledge-list button{align-self:start;padding:7px 9px;color:#fff;background:#050505;font-size:11px}.control-logout{border-color:#050505;color:#050505;background:#fff}.data-action>i,.ghost-light{background:#e8e8e8}.member-list article,.login-list article,.backup-list article,.update-history article{border:1px solid #dedede;background:#fff}.bottom-nav button.active i{color:#050505!important}.bottom-nav button.active{color:#050505}.bottom-nav button.active:after{background:#050505}
@keyframes roster-remove{to{opacity:0;transform:translateX(-35px)}}
@media(max-width:760px){.model-connect form,.learning-hero,.learning-grid{grid-template-columns:1fr}.learning-hero{align-items:start}.learning-stats{margin-top:12px}}
@media(max-width:560px){body,.main{background:#f5f5f5}.main{padding-left:12px;padding-right:12px}.mobile-top{border-bottom:1px solid #e5e5e5}.motion-brand>span{font-size:16px!important}.motion-brand small{font-size:9px!important}.control-hero{border-radius:0}.control-module,.setting-panel,.data-meter,.data-stat-grid article,.assistant-preview,.flow-preview,.update-card{border-radius:0!important}.control-module p,.control-head p,.setting-panel>header p,.switch-row span small{font-size:11px}.control-module small,.setting-panel>header>span{font-size:10px}.control-module h2{font-size:21px}.setting-panel>header h2{font-size:20px}.player-swipe{min-height:92px}.player-card{min-height:92px;padding-right:64px;grid-template-columns:42px minmax(0,1fr) 42px}.player-no,.player-last,.player-lessons,.player-open{display:none}.player-ai{display:grid}.player-delete-direct{right:10px;top:31px;padding:7px 9px;opacity:1}.player-swipe.is-open .player-delete-direct{opacity:0}.roster-intro{border-radius:0}.learning-hero{min-height:235px;padding:23px}.learning-hero h2{font-size:32px}.learning-hero p{font-size:12px}.learning-stats span{padding:12px}.knowledge-list article{padding:12px}.answer-rating{width:100%;margin:4px 0 0}.answer-rating button{flex:1}.feedback-modal{border-radius:0!important}.service-market .service-tile,.bench-card,.priority-card,.today{border-radius:0}.court-stage{margin-left:-12px;margin-right:-12px}.scene-dots button.active{background:#d8ff3e}}
