:root{--bg:#f5f5f7;--card:#fff;--sidebar:rgba(248,249,251,.86);--text:#1d1d1f;--muted:#86868b;--line:#e9e9ee;--blue:#007aff;--blue-soft:#eaf3ff;--green:#30b578;--orange:#ff9f0a;--purple:#8c68e8;--pink:#f05b83;--shadow:0 4px 26px rgba(30,45,70,.035)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #80b8ff;outline-offset:3px}svg.icon{width:21px;height:21px;flex:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--sidebar);backdrop-filter:blur(24px);border-right:1px solid var(--line);padding:35px 18px 22px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 14px 35px;font-size:24px;font-weight:700;letter-spacing:-1px}.brand small{display:block;letter-spacing:.3px;color:var(--muted);font-size:10px;font-weight:400;margin-top:2px}.brand-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;color:#fff;font-size:24px;background:linear-gradient(145deg,#409dff,#0061dc);box-shadow:0 5px 12px #007aff22}.nav-caption{font-size:10px;color:var(--muted);letter-spacing:2px;padding:10px 15px 9px}.nav-link{height:44px;border-radius:11px;display:flex;align-items:center;gap:12px;margin-bottom:5px;padding:0 13px;font-size:14px;color:#626770}.nav-link .chevron{margin-left:auto;font-size:12px;color:var(--muted)}.nav-link.active{background:var(--blue);color:#fff;box-shadow:0 4px 10px #007aff18}.nav-link.parent-active{color:var(--blue);background:var(--blue-soft)}.nav-link:hover:not(.active){background:var(--blue-soft)}.subnav{display:grid;gap:1px;margin:2px 0 12px 24px;border-left:1px solid var(--line);padding-left:12px}.subnav a{padding:8px 12px;border-radius:8px;font-size:12px;color:var(--muted)}.subnav a.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.side-foot{margin-top:auto;padding:18px 13px 0;color:var(--muted);font-size:11px}.side-foot a{display:block;margin:15px 0 8px}.side-foot small{font-size:9px;line-height:1.6;display:block}.lock{color:var(--green);font-size:9px;margin-right:6px}.shell{margin-left:238px;min-height:100vh}header{height:82px;padding:0 44px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}.header-tools{display:flex;align-items:center;gap:17px}.prototype{border:1px solid var(--line);padding:4px 10px;border-radius:20px;font-size:10px}.avatar{background:#e6ecf4;color:#637895;border:3px solid #fff;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:11px}.icon-button{background:none;border:0;font-size:22px;color:var(--muted)}main{max-width:1376px;margin:auto;padding:34px 44px 45px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--blue);margin-bottom:8px}h1,h2,h3,p{margin:0}h1{font-size:31px;line-height:1.3;letter-spacing:-1px;font-weight:700}.page-heading p{font-size:12px;color:var(--muted);margin-top:8px}.btn{border:0;background:var(--blue);color:#fff;border-radius:10px;padding:10px 16px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.btn.secondary{background:var(--blue-soft);color:var(--blue)}.btn.ghost{background:var(--bg);color:var(--muted)}.text-btn{border:0;background:transparent;color:var(--blue);padding:0;font-size:11px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px}.section-title h2{font-size:17px;letter-spacing:-.3px}.section-title span{font-size:10px;color:var(--muted)}.card{background:var(--card);border:1px solid rgba(150,160,180,.09);border-radius:20px;box-shadow:var(--shadow);padding:23px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-title h2,.card-title h3{font-size:15px;font-weight:650}.card-title small{font-size:10px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.layout-main{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr);gap:20px;margin-top:22px}.metric-head{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.tile{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue-soft);color:var(--blue)}.tile.green{background:#e8f8ef;color:var(--green)}.tile.pink{background:#fff0f4;color:var(--pink)}.tile.purple{background:#f1edff;color:var(--purple)}.tile.orange{background:#fff4e3;color:var(--orange)}.metric-body{display:flex;align-items:center;justify-content:space-between;margin:21px 0 16px;gap:12px}.big{font-size:29px;line-height:1.2;letter-spacing:-1px;font-weight:650}.big small{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:5px}.metric-sub{color:var(--muted);font-size:10px;margin-top:6px}.ring{--ring-color:var(--blue);width:68px;height:68px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--progress,0%),var(--bg) 0);display:grid;place-items:center;position:relative;flex:none}.ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--card)}.ring span{position:relative;color:var(--ring-color);font-size:12px;font-weight:600}.metric-foot{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.metric-foot b{font-weight:500;color:var(--text)}.badge{padding:3px 8px;border-radius:6px;font-size:9px;background:var(--bg);color:var(--muted)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.green{background:#e8f8ef;color:var(--green)}.todo{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}.todo:last-child{border-bottom:0;padding-bottom:0}.todo:first-child{padding-top:0}.check{width:21px;height:21px;border:1.5px solid #d8dbe2;background:transparent;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:12px}.check.done{background:var(--blue);border-color:var(--blue)}.todo b{font-size:12px;font-weight:600;display:block}.todo small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.todo .tag{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--muted);border-radius:6px;background:var(--bg);padding:4px 8px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-stat{background:var(--bg);border-radius:13px;padding:14px}.mini-stat span{display:block;font-size:10px;color:var(--muted);margin-bottom:7px}.mini-stat b{font-size:20px;font-weight:600}.mini-stat small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.soft-note{background:var(--blue-soft);color:#49708b;border-radius:12px;padding:13px 15px;font-size:11px;line-height:1.8;margin-top:16px}.fine{font-size:10px;color:var(--muted);line-height:1.8;margin-top:14px}.status-line{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-bottom:16px}.dot{width:6px;height:6px;background:var(--green);border-radius:50%}.banner{padding:24px;background:linear-gradient(120deg,#e6f1ff,#f2f8ff 65%,#e8edff);border-radius:20px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.banner h2{font-size:21px;font-weight:600}.banner p{font-size:11px;color:#6a839e;margin-top:7px}.rank-seal{width:66px;height:76px;background:linear-gradient(150deg,#dce8ff,#a9c3ec);clip-path:polygon(50% 0,95% 23%,83% 75%,50% 100%,17% 75%,5% 23%);display:grid;place-items:center;color:#5e81b7;font-size:34px}.segmented{display:flex;background:#e9eaef;border-radius:10px;padding:3px;gap:3px;width:max-content;max-width:100%}.segmented button{border:0;color:var(--muted);background:none;padding:7px 19px;border-radius:8px;font-size:11px;white-space:nowrap}.segmented button.active{background:var(--card);color:var(--text);box-shadow:0 2px 5px #2221}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.subtabs a{border:1px solid var(--line);border-radius:9px;padding:8px 15px;font-size:11px;color:var(--muted);background:var(--card)}.subtabs a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.learning-card{padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.word{font-size:43px;letter-spacing:-1px;margin:15px 0 5px;font-weight:600}.ipa{font-size:14px;color:var(--muted)}.sample-label{font-size:9px;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:20px;display:inline-block}.example{font-size:15px;margin-top:20px}.example small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.row:last-child{border-bottom:0}.row span{color:var(--muted)}.row b{font-weight:500}.empty{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);font-size:12px;border-radius:13px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,var(--line) 40px);margin:12px 0}.empty-icon{font-size:35px;opacity:.4}.body-layout{display:grid;grid-template-columns:minmax(300px,1.1fr) minmax(280px,1fr);gap:22px}.model-card{position:relative;overflow:hidden;padding:23px 23px 15px;background:radial-gradient(ellipse at 50% 35%,#fff 20%,#f0f5fa 90%)}.model-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.model-stage{height:390px;position:relative;display:flex;justify-content:center;align-items:center;cursor:grab;touch-action:pan-y}.model-stage:active{cursor:grabbing}.model-stage canvas{width:100%;height:100%;display:block}.model-controls{display:flex;align-items:center;justify-content:center;gap:10px}.model-controls button{background:#fff9;border:1px solid #ddd7;border-radius:8px;font-size:10px;padding:7px 11px}.model-controls .active{background:var(--blue);color:#fff}.model-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;color:#8c99ab;font-size:9px;pointer-events:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field label{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.field input{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;background:var(--bg);color:var(--text);font-size:15px;outline:none}.field input:focus{border-color:var(--blue)}.upload-box{margin-top:18px;border:1px dashed #cbd5e2;border-radius:12px;padding:19px;text-align:center;background:var(--bg);font-size:12px;color:var(--muted)}.upload-box strong{display:block;color:var(--text);font-weight:500;margin-bottom:4px}.upload-box small{display:block;font-size:10px}.pillars{display:flex;gap:10px;margin-top:19px}.pillars span{padding:7px 12px;background:var(--bg);border-radius:8px;font-size:10px;color:var(--muted)}.meal-art{height:120px;border-radius:13px;background:linear-gradient(150deg,#f8f8f7,#eaf0ec);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.plate{width:96px;height:96px;border-radius:50%;border:9px solid #fff;background:conic-gradient(#7fba75 0 50%,#ddbb83 50% 75%,#e9d5bb 75%);box-shadow:0 7px 16px #3452;transform:rotate(-20deg)}.recipe h3{font-size:14px}.recipe p{font-size:11px;color:var(--muted);margin-top:7px;min-height:35px}.recipe .meta{display:flex;gap:8px;margin-top:14px}.sleep-hero{background:linear-gradient(130deg,#171e43,#38406d);color:#fff;padding:30px;border-radius:20px;position:relative;overflow:hidden;min-height:222px}.sleep-hero .moon{position:absolute;right:40px;top:30px;width:72px;height:72px;border-radius:50%;background:#f6edce;box-shadow:0 0 50px #fff3}.sleep-hero .moon:after{content:"";position:absolute;background:#313960;border-radius:50%;width:63px;height:63px;left:-13px;top:-9px}.sleep-hero small{color:#aab5d2;font-size:11px}.sleep-hero h2{font-size:32px;margin:22px 0 5px;letter-spacing:-1px}.sleep-hero p{font-size:11px;color:#bbc4dc}.breath{height:170px;display:grid;place-items:center}.breath-orb{width:98px;height:98px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#cee4ff,#a2c8f5);box-shadow:0 0 0 20px #e9f2ff,0 0 0 38px #f5f8ff;display:grid;place-items:center;color:#5279a0;font-size:12px}.breath-orb.running{animation:breathe 8s ease-in-out infinite}@keyframes breathe{0%,100%{transform:scale(.8)}50%{transform:scale(1.1)}}.exercise-list button{width:100%;display:flex;align-items:center;text-align:left;padding:15px;background:none;border:1px solid var(--line);border-radius:12px;margin-bottom:11px;gap:13px}.exercise-list button.active{border-color:#80b8ff;background:var(--blue-soft)}.exercise-list strong{font-size:12px;font-weight:600;display:block}.exercise-list small{font-size:10px;color:var(--muted)}.exercise-list .tile{background:var(--bg);font-size:17px}.muscle-legend{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);justify-content:center;margin-top:12px}.muscle-legend i{width:8px;height:8px;background:#ff805c;border-radius:50%}.period-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.chart-layout{margin-top:20px}.chart-placeholder{height:180px;display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,var(--line) 44px);color:var(--muted);font-size:11px;position:relative}.chart-placeholder:before{content:"";width:7px;height:7px;background:var(--blue);border-radius:50%;position:absolute;left:10%;bottom:28px}.chart-axis{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:8px}.review-notes{display:grid;gap:12px}.review-note{padding:17px;background:var(--bg);border-radius:12px;font-size:12px}.review-note small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.timeline{padding-left:20px;border-left:2px solid var(--line)}.timeline-item{padding:0 0 26px;position:relative}.timeline-item:before{content:"";position:absolute;left:-26px;top:5px;background:var(--blue);border:3px solid var(--card);width:8px;height:8px;border-radius:50%}.timeline-item b{font-size:13px}.timeline-item p{font-size:11px;color:var(--muted);margin-top:6px}footer{padding:0 44px 28px;font-size:9px;color:var(--muted);display:flex;justify-content:space-between}.mobile-nav{display:none}dialog{border:0;border-radius:22px;padding:32px;width:min(470px,90vw);background:var(--card);color:var(--text);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#19233855;backdrop-filter:blur(5px)}dialog h2{font-size:21px;margin-bottom:12px}dialog p{font-size:13px;color:var(--muted);line-height:1.9}.dialog-close{position:absolute;right:13px;top:10px;border:0;border-radius:50%;background:var(--bg);font-size:21px;width:29px;height:29px;color:var(--muted)}textarea{width:100%;min-height:130px;border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical;margin:14px 0;background:var(--bg);color:var(--text)}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);z-index:70;background:#222e;color:#fff;font-size:12px;border-radius:25px;padding:12px 22px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.dark{--bg:#15161a;--card:#222329;--sidebar:#1c1d22ee;--text:#f5f5f7;--muted:#9899a5;--line:#34353d;--blue-soft:#1f3450;--shadow:none}.dark .banner{background:linear-gradient(120deg,#203047,#243d59)}.dark .model-card{background:radial-gradient(ellipse at 50% 35%,#333d4d,#222b37)}.dark .segmented{background:#111217}.dark .model-controls button{background:#34353d;color:#eee}.dark .model-controls .active{background:var(--blue)}.dark .avatar{border-color:#333}.dark .breath-orb{box-shadow:0 0 0 20px #293548,0 0 0 38px #242a36}.dark .meal-art{background:linear-gradient(150deg,#333,#29362d)}
@media(min-width:1600px){main{padding-top:45px}.grid3{gap:24px}.card{padding:28px}}
@media(max-width:1150px){.sidebar{width:207px;padding-left:12px;padding-right:12px}.shell{margin-left:207px}header{padding:0 28px}main{padding:28px}footer{padding:0 28px 25px}.layout-main{grid-template-columns:1.45fr 1fr}.big{font-size:25px}.ring{width:56px;height:56px}.card{padding:19px}.body-layout{grid-template-columns:1fr 1fr}.model-stage{height:350px}}
@media(max-width:850px){.sidebar{width:180px}.shell{margin-left:180px}.brand{font-size:21px;padding-left:8px}.nav-link{font-size:12px;gap:8px}.grid3{grid-template-columns:1fr}.metric-body{margin:12px 0}.metric-body .big{font-size:29px}.metric-foot{padding-top:10px}.layout-main,.body-layout,.grid2{grid-template-columns:1fr}.model-stage{height:390px}.grid3.recipes{grid-template-columns:repeat(3,1fr)}.recipe p{min-height:60px}h1{font-size:28px}.page-heading{align-items:flex-start}.card{padding:21px}}
@media(max-width:620px){.sidebar{display:none}.shell{margin-left:0}header{height:60px;padding:0 20px}.header-tools{gap:12px}.prototype{font-size:9px}main{padding:25px 18px 25px}.page-heading{margin-bottom:23px}.page-heading p{font-size:11px;max-width:230px}h1{font-size:28px}.page-heading>.btn{font-size:0;padding:10px;width:36px}.page-heading>.btn:first-letter{font-size:17px}.grid3{gap:13px}.grid3.recipes{grid-template-columns:1fr}.recipe p{min-height:0}.meal-art{height:135px}.metric-body{margin:18px 0}.card{border-radius:18px}.layout-main{margin-top:17px;gap:17px}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;height:72px;padding:8px 8px 15px;background:var(--sidebar);backdrop-filter:blur(25px);border-top:1px solid var(--line);z-index:50;justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;color:var(--muted);width:20%}.mobile-nav a.active{color:var(--blue)}footer{padding:0 20px 95px;display:block;line-height:1.8}footer span{display:none}.subtabs{gap:7px}.subtabs a{font-size:10px;padding:7px 12px}.period-top{display:block}.period-top .segmented{margin-top:13px;width:100%}.segmented button{flex:1;padding:7px 12px}.section-title span{max-width:140px;text-align:right}.model-stage{height:370px}.header-tools .avatar{display:none}.banner{padding:22px}.banner h2{font-size:20px}.model-label{font-size:8px}.body-layout{gap:17px}.todo .tag{font-size:9px;padding:4px 6px}#toast{bottom:90px;max-width:90vw;white-space:normal}.big{font-size:29px}.mini-stat b{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.nav-symbol{display:inline-flex;align-items:center;justify-content:center;width:23px;font-size:21px;font-weight:500}.model-stage{touch-action:none}summary{cursor:pointer}.ring span{position:relative;z-index:1}.ring{color:var(--muted)}.chart-placeholder>div{text-align:center;position:relative;z-index:2;background:var(--card);padding:20px}.fields{margin-top:22px}.subtabs{flex-wrap:wrap}canvas{display:block}.card p{color:var(--muted)}.sleep-hero p{color:#d5d9f4}.exercise-list button small{display:block;margin-top:5px;color:var(--muted)}#toast.visible{opacity:1}.metric-head>.badge{margin-left:auto;font-size:9px}.todo>div{flex:1}.todo p{font-size:12px;margin:4px 0 8px}.todo .text-btn{white-space:nowrap;font-size:12px}.todo strong{font-size:13px}.mini-stat strong{display:block;font-size:17px;font-weight:600;line-height:1.7}.pillars>div{flex:1;text-align:center}.pillars strong{display:block;font-size:26px;margin-bottom:10px}.pillars span{display:block}.metric-foot{gap:8px;flex-wrap:wrap}.badge{white-space:nowrap}.metric-head{flex-wrap:wrap}.chart-placeholder{min-height:220px}.recipe h3{font-size:17px}.model-stage{overflow:hidden}

/* Photoreal reference viewport; the surrounding iOS layout is unchanged. */
.model-card{background:var(--card)}.model-stage{height:490px;margin:17px 0 15px;border-radius:18px;background:#e4e1dc;box-shadow:none;isolation:isolate;touch-action:pan-y;cursor:default}.model-stage:active{cursor:default}.model-stage:before,.model-stage:after{display:none}.muscle-legend i{background:#dd895f;box-shadow:none}.model-controls{margin-bottom:15px}.model-label{position:static;margin-top:9px;font-size:10px;line-height:1.7}.dark .model-card{background:var(--card)}@media(max-width:620px){.model-stage{height:440px}}
