/* Generated from the approved src/index.html presentation. Run scripts/sync-approved-presentation.py. */
:root{--tone-0005:#0005;--tone-0006:#0006;--tone-02060cbc:#02060cbc;--tone-060a11:#060a11;--tone-090e14:#090e14;--tone-090e18:#090e18;--tone-0a1421:#0a1421;--tone-0c1421:#0c1421;--tone-0c1729ba:#0c1729ba;--tone-0e1725:#0e1725;--tone-0e1725f5:#0e1725f5;--tone-0f1929:#0f1929;--tone-101925:#101925;--tone-101c2a:#101c2a;--tone-101e34:#101e34;--tone-10203a:#10203a;--tone-111a29:#111a29;--tone-111b2966:#111b2966;--tone-111b2c:#111b2c;--tone-111c2c:#111c2c;--tone-111c2d:#111c2d;--tone-111d2d:#111d2d;--tone-111d2e:#111d2e;--tone-111e30:#111e30;--tone-11243dee:#11243dee;--tone-121b2a:#121b2a;--tone-121d2d:#121d2d;--tone-121e2f:#121e2f;--tone-121f33:#121f33;--tone-12223b:#12223b;--tone-12262e:#12262e;--tone-142138:#142138;--tone-142236:#142236;--tone-142339:#142339;--tone-14233900:#14233900;--tone-152841:#152841;--tone-152c43f5:#152c43f5;--tone-162134cc:#162134cc;--tone-171c32:#171c32;--tone-172031:#172031;--tone-172336:#172336;--tone-17355c:#17355c;--tone-182438:#182438;--tone-18263c:#18263c;--tone-183d5140:#183d5140;--tone-192638:#192638;--tone-192e4a:#192e4a;--tone-1b2e49:#1b2e49;--tone-1d3150:#1d3150;--tone-203e67:#203e67;--tone-213b6744:#213b6744;--tone-214b82:#214b82;--tone-224477:#224477;--tone-23344d:#23344d;--tone-243550:#243550;--tone-244672:#244672;--tone-25334a:#25334a;--tone-254160:#254160;--tone-263448:#263448;--tone-26364c:#26364c;--tone-26364e:#26364e;--tone-2678f52c:#2678f52c;--tone-27344a:#27344a;--tone-27374f:#27374f;--tone-284364:#284364;--tone-284467:#284467;--tone-284969:#284969;--tone-293a52:#293a52;--tone-293c58:#293c58;--tone-294261:#294261;--tone-2a3d57:#2a3d57;--tone-2a405f:#2a405f;--tone-2b3a51:#2b3a51;--tone-2b3b54:#2b3b54;--tone-2b3d57:#2b3d57;--tone-2b4d76:#2b4d76;--tone-2c3b55:#2c3b55;--tone-2c3c55:#2c3c55;--tone-2c3d56:#2c3d56;--tone-2c5670:#2c5670;--tone-2c6ec127:#2c6ec127;--tone-2d3c54:#2d3c54;--tone-2e3c52:#2e3c52;--tone-30415b:#30415b;--tone-30476a:#30476a;--tone-305c924d:#305c924d;--tone-326f794d:#326f794d;--tone-331e2b:#331e2b;--tone-334c6e:#334c6e;--tone-335379:#335379;--tone-337ff7:#337ff7;--tone-354965:#354965;--tone-365679:#365679;--tone-37232f:#37232f;--tone-38202a:#38202a;--tone-398afc:#398afc;--tone-3a5070:#3a5070;--tone-3b608c18:#3b608c18;--tone-3c4e68:#3c4e68;--tone-3c547d5c:#3c547d5c;--tone-3c658a:#3c658a;--tone-3ccfa914:#3ccfa914;--tone-3cd39d15:#3cd39d15;--tone-3d83ee1f:#3d83ee1f;--tone-425b7c:#425b7c;--tone-42d7a815:#42d7a815;--tone-438aff:#438aff;--tone-456083:#456083;--tone-456289:#456289;--tone-458bfd:#458bfd;--tone-466083:#466083;--tone-468cf71a:#468cf71a;--tone-477ad066:#477ad066;--tone-49361b70:#49361b70;--tone-4a79b3:#4a79b3;--tone-4cdbac:#4cdbac;--tone-4f98ff:#4f98ff;--tone-51d7a95c:#51d7a95c;--tone-528be32a:#528be32a;--tone-5296ff:#5296ff;--tone-559fff66:#559fff66;--tone-569ffe:#569ffe;--tone-576f91:#576f91;--tone-589cff:#589cff;--tone-58e1b2:#58e1b2;--tone-5ba2fa:#5ba2fa;--tone-5f9cff:#5f9cff;--tone-609dff:#609dff;--tone-647c9b:#647c9b;--tone-64a2ff75:#64a2ff75;--tone-64a3ff:#64a3ff;--tone-65a5ff:#65a5ff;--tone-669bf0:#669bf0;--tone-683244:#683244;--tone-6b53995c:#6b53995c;--tone-6d849f:#6d849f;--tone-6d89ad:#6d89ad;--tone-6e9fde:#6e9fde;--tone-6f8bac:#6f8bac;--tone-7099d84d:#7099d84d;--tone-7188a8:#7188a8;--tone-7285a2:#7285a2;--tone-73acff:#73acff;--tone-74a7ff12:#74a7ff12;--tone-76a6e7:#76a6e7;--tone-7995b9:#7995b9;--tone-7ca4d6:#7ca4d6;--tone-7db5ff:#7db5ff;--tone-7dc0ff:#7dc0ff;--tone-7e91ad:#7e91ad;--tone-7f93b0:#7f93b0;--tone-809bc0:#809bc0;--tone-8292a9:#8292a9;--tone-82b9ff:#82b9ff;--tone-835166:#835166;--tone-85b4ff:#85b4ff;--tone-8aa4c2:#8aa4c2;--tone-8bb9ff:#8bb9ff;--tone-8c9db6:#8c9db6;--tone-90a7c5:#90a7c5;--tone-90a8c7:#90a8c7;--tone-90a9cf:#90a9cf;--tone-929fe7:#929fe7;--tone-99b1d1:#99b1d1;--tone-99bfee:#99bfee;--tone-9ab2d1:#9ab2d1;--tone-9ab9e3:#9ab9e3;--tone-9db3d0:#9db3d0;--tone-9eb4d0:#9eb4d0;--tone-9fb5d0:#9fb5d0;--tone-a0bbdf:#a0bbdf;--tone-a2b5cf:#a2b5cf;--tone-a5c5ef:#a5c5ef;--tone-a6bfe0:#a6bfe0;--tone-a7b8ce:#a7b8ce;--tone-a9c6eb:#a9c6eb;--tone-aabbd5:#aabbd5;--tone-aac4e4:#aac4e4;--tone-aac8ee:#aac8ee;--tone-acbdd5:#acbdd5;--tone-afc4df:#afc4df;--tone-b2c5df:#b2c5df;--tone-b2c9e8:#b2c9e8;--tone-b3ceef:#b3ceef;--tone-b4cced:#b4cced;--tone-b8c9e0:#b8c9e0;--tone-c0d9ff:#c0d9ff;--tone-c2dafc:#c2dafc;--tone-cfdef4:#cfdef4;--tone-d5e8ff:#d5e8ff;--tone-dbeaff:#dbeaff;--tone-dceeff:#dceeff;--tone-e5c492:#e5c492;--tone-ee799314:#ee799314;--tone-eff5ff:#eff5ff;--tone-f1b86e14:#f1b86e14;--tone-f1f6ff:#f1f6ff;--tone-f2bd74:#f2bd74;--tone-f6aebb:#f6aebb;--tone-fb8a9b:#fb8a9b;--tone-fb8a9b12:#fb8a9b12;--tone-fd789958:#fd789958;--tone-ffb1bf:#ffb1bf;--tone-fff:#fff}
:root[data-theme="green"]{--tone-0005:#0005;--tone-0006:#0006;--tone-02060cbc:#050907bc;--tone-060a11:#090e0c;--tone-090e14:#0b120f;--tone-090e18:#0d1410;--tone-0a1421:#111a16;--tone-0c1421:#121b16;--tone-0c1729ba:#15201bba;--tone-0e1725:#141f1a;--tone-0e1725f5:#141f1af5;--tone-0f1929:#16221c;--tone-101925:#15201b;--tone-101c2a:#17231d;--tone-101e34:#1b2922;--tone-10203a:#1d2d25;--tone-111a29:#17231d;--tone-111b2966:#17231d66;--tone-111b2c:#18251e;--tone-111c2c:#18251e;--tone-111c2d:#18261f;--tone-111d2d:#18261f;--tone-111d2e:#192620;--tone-111e30:#192821;--tone-11243dee:#1e3027ee;--tone-121b2a:#17251e;--tone-121d2d:#192620;--tone-121e2f:#192821;--tone-121f33:#1b2a23;--tone-12223b:#1e2f27;--tone-12262e:#192720;--tone-142138:#1e2e26;--tone-142236:#1d2d25;--tone-142339:#1e2f27;--tone-14233900:#1e2f2700;--tone-152841:#22342b;--tone-152c43f5:#22362cf5;--tone-162134cc:#1d2d25cc;--tone-171c32:#1c2d25;--tone-172031:#1c2c24;--tone-172336:#1e2f27;--tone-17355c:#23503a;--tone-182438:#1f3128;--tone-18263c:#21332a;--tone-183d5140:#22473540;--tone-192638:#203129;--tone-192e4a:#224132;--tone-1b2e49:#234132;--tone-1d3150:#264737;--tone-203e67:#2c5b44;--tone-213b6744:#2d5b4444;--tone-214b82:#327152;--tone-224477:#31684d;--tone-23344d:#2a4638;--tone-243550:#2c483a;--tone-244672:#32644b;--tone-25334a:#2b4438;--tone-254160:#2f5643;--tone-263448:#2c4237;--tone-26364c:#2d4539;--tone-26364e:#2d473a;--tone-2678f52c:#55c68e2c;--tone-27344a:#2d4439;--tone-27374f:#2e483b;--tone-284364:#335a46;--tone-284467:#335c48;--tone-284969:#335e49;--tone-293a52:#304b3e;--tone-293c58:#315041;--tone-294261:#335745;--tone-2a3d57:#324f41;--tone-2a405f:#335645;--tone-2b3a51:#324a3e;--tone-2b3b54:#324d40;--tone-2b3d57:#334f41;--tone-2b4d76:#386951;--tone-2c3b55:#334e41;--tone-2c3c55:#334e41;--tone-2c3d56:#334f41;--tone-2c5670:#38644e;--tone-2c6ec127:#46a77727;--tone-2d3c54:#344d41;--tone-2e3c52:#344c40;--tone-30415b:#385346;--tone-30476a:#3a604d;--tone-305c924d:#4181614d;--tone-326f794d:#3e6d564d;--tone-331e2b:#331e2b;--tone-334c6e:#3d6451;--tone-335379:#3f6d56;--tone-337ff7:#60ca95;--tone-354965:#3d5d4d;--tone-365679:#426d58;--tone-37232f:#37232f;--tone-38202a:#38202a;--tone-398afc:#68cd9b;--tone-3a5070:#436755;--tone-3b608c18:#497e6418;--tone-3c4e68:#446052;--tone-3c547d5c:#47725d5c;--tone-3c658a:#4a7c63;--tone-3ccfa914:#3ccfa914;--tone-3cd39d15:#3cd39d15;--tone-3d83ee1f:#61ca961f;--tone-425b7c:#4c725f;--tone-42d7a815:#42d7a815;--tone-438aff:#72d0a1;--tone-456083:#507864;--tone-456289:#517d67;--tone-458bfd:#72d0a1;--tone-466083:#517865;--tone-468cf71a:#6ecf9f1a;--tone-477ad066:#5fb88c66;--tone-49361b70:#49361b70;--tone-4a79b3:#5ca17f;--tone-4cdbac:#4cdbac;--tone-4f98ff:#7bd3a7;--tone-51d7a95c:#51d7a95c;--tone-528be32a:#6bca9b2a;--tone-5296ff:#7dd4a9;--tone-559fff66:#7fd4aa66;--tone-569ffe:#80d5aa;--tone-576f91:#618774;--tone-589cff:#82d5ac;--tone-58e1b2:#58e1b2;--tone-5ba2fa:#80d5ab;--tone-5f9cff:#87d7af;--tone-609dff:#88d7b0;--tone-647c9b:#6e9180;--tone-64a2ff75:#8bd8b275;--tone-64a3ff:#8bd8b2;--tone-65a5ff:#8bd9b2;--tone-669bf0:#81d5ab;--tone-683244:#683244;--tone-6b53995c:#5f8d765c;--tone-6d849f:#769686;--tone-6d89ad:#78a28d;--tone-6e9fde:#82caa6;--tone-6f8bac:#7aa18e;--tone-7099d84d:#82c6a44d;--tone-7188a8:#7b9e8d;--tone-7285a2:#7a9a8a;--tone-73acff:#acc6b9;--tone-74a7ff12:#adc6ba12;--tone-76a6e7:#8ad3af;--tone-7995b9:#84ae99;--tone-7ca4d6:#8cc6a9;--tone-7db5ff:#b2cabe;--tone-7dc0ff:#b2cabe;--tone-7e91ad:#86a596;--tone-7f93b0:#88a798;--tone-809bc0:#8bb5a0;--tone-8292a9:#89a295;--tone-82b9ff:#b5ccc1;--tone-835166:#835166;--tone-85b4ff:#b7cdc2;--tone-8aa4c2:#94b8a6;--tone-8bb9ff:#bbcfc5;--tone-8c9db6:#93afa1;--tone-90a7c5:#99bcab;--tone-90a8c7:#9abdac;--tone-90a9cf:#9bc4b0;--tone-929fe7:#b1c8bd;--tone-99b1d1:#a3c7b5;--tone-99bfee:#b9cec3;--tone-9ab2d1:#a4c7b5;--tone-9ab9e3:#b3cabf;--tone-9db3d0:#a6c7b7;--tone-9eb4d0:#a7c7b7;--tone-9fb5d0:#a8c7b8;--tone-a0bbdf:#b4cbc0;--tone-a2b5cf:#acc5b9;--tone-a5c5ef:#c0d4ca;--tone-a6bfe0:#b8cec3;--tone-a7b8ce:#aec7bb;--tone-a9c6eb:#c0d4ca;--tone-aabbd5:#b4cbc0;--tone-aac4e4:#bdd1c7;--tone-aac8ee:#c3d5cc;--tone-acbdd5:#b5ccc1;--tone-afc4df:#bdd1c7;--tone-b2c5df:#bfd2c9;--tone-b2c9e8:#c4d6cd;--tone-b3ceef:#c9d9d1;--tone-b4cced:#c8d9d1;--tone-b8c9e0:#c3d5cc;--tone-c0d9ff:#dae5e0;--tone-c2dafc:#d9e5df;--tone-cfdef4:#dce7e2;--tone-d5e8ff:#e6eeea;--tone-dbeaff:#eaf0ed;--tone-dceeff:#eaf1ee;--tone-e5c492:#e5c492;--tone-ee799314:#ee799314;--tone-eff5ff:#f6f8f7;--tone-f1b86e14:#f1b86e14;--tone-f1f6ff:#f7f9f8;--tone-f2bd74:#f2bd74;--tone-f6aebb:#f6aebb;--tone-fb8a9b:#fb8a9b;--tone-fb8a9b12:#fb8a9b12;--tone-fd789958:#fd789958;--tone-ffb1bf:#ffb1bf;--tone-fff:#fff}
:root{color-scheme:dark;--bg:var(--tone-090e18);--surface:var(--tone-121b2a);--surface2:var(--tone-172336);--line:var(--tone-25334a);--text:var(--tone-eff5ff);--muted:var(--tone-8c9db6);--blue:var(--tone-438aff);--cyan:var(--tone-82b9ff);--green:var(--tone-4cdbac);--amber:var(--tone-f2bd74);--danger:var(--tone-fb8a9b);--radius:21px;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--tone-060a11);scrollbar-gutter:stable}body{margin:0;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,label,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.38;cursor:not-allowed}a{color:var(--cyan)}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:31px;line-height:1.14;letter-spacing:-1.15px;font-weight:750}h2{font-size:20px;line-height:1.25;letter-spacing:-.4px}h3{font-size:15px;font-weight:650}small{font-size:12px}svg.icon{width:22px;height:22px;flex-shrink:0;display:inline-block;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}main{position:relative;max-width:480px;min-height:100dvh;margin:auto;background:radial-gradient(ellipse at 95% -20%,var(--tone-213b6744),transparent 50%),var(--bg);border-left:1px solid var(--tone-172031);border-right:1px solid var(--tone-172031)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;gap:10px}.brand{display:inline-flex;align-items:center;gap:8px;font-size:21px;font-weight:850;letter-spacing:1.2px;color:var(--tone-f1f6ff);text-decoration:none}.brand .icon{color:var(--blue);stroke-width:2.2;width:24px}.brand .brand-accent{color:var(--tone-8bb9ff)}.top-right{display:flex;gap:9px;align-items:center}.demo-pill{border:1px solid var(--tone-2a3d57);background:var(--tone-111e30);border-radius:30px;padding:6px 10px;display:flex;gap:5px;align-items:center;font-size:10px;font-weight:750;letter-spacing:1px;color:var(--tone-a0bbdf)}.demo-pill i{width:5px;height:5px;background:var(--cyan);border-radius:50%}.avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:41px;height:41px;border-radius:14px;background:linear-gradient(145deg,var(--tone-30476a),var(--tone-192638));border:1px solid var(--tone-3a5070);color:var(--tone-b4cced);font-size:13px;font-weight:700}.avatar.large{width:60px;height:60px;border-radius:20px;font-size:20px}.content{padding:11px 22px 110px;animation:appear .2s ease}.content.no-nav{padding-bottom:38px}.eyebrow{font-size:10px;font-weight:750;color:var(--cyan);letter-spacing:1.9px;text-transform:uppercase;margin-bottom:9px}.sub{color:var(--muted);font-size:13px;line-height:1.6;margin-top:9px}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.6}.white{color:var(--text)}.blue{color:var(--cyan)}.space{margin-top:23px}.gap{margin-top:14px}.section{display:flex;align-items:center;justify-content:space-between;margin:27px 0 13px;gap:10px}.section h2{font-size:17px}.text-button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;font-weight:650;font-size:12px;color:var(--cyan);padding:8px 0;min-height:35px}.text-button.danger{color:var(--danger)}.text-button .icon{width:16px;height:16px}.card{background:linear-gradient(135deg,var(--tone-162134cc),var(--tone-101925));border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0}.card.soft{background:var(--tone-0e1725)}.card.blue-card{background:radial-gradient(circle at 100% 0,var(--tone-305c924d),transparent),linear-gradient(120deg,var(--tone-17355c),var(--tone-101e34));border-color:var(--tone-2b4d76)}.btn{display:flex;justify-content:center;align-items:center;gap:9px;background:linear-gradient(100deg,var(--tone-337ff7),var(--tone-4f98ff));box-shadow:0 5px 20px var(--tone-2678f52c);border:1px solid var(--tone-5296ff);color:var(--tone-fff);border-radius:13px;min-height:49px;padding:12px 18px;font-size:14px;font-weight:700;text-decoration:none;width:100%;transition:filter .15s,transform .15s}.btn:active{transform:scale(.98)}.btn.secondary{background:var(--tone-182438);border-color:var(--tone-30415b);box-shadow:none;color:var(--tone-cfdef4)}.btn.ghost{background:transparent;border-color:var(--line);box-shadow:none;color:var(--tone-aabbd5)}.btn.danger{background:var(--tone-38202a);border-color:var(--tone-683244);color:var(--tone-ffb1bf);box-shadow:none}.btn.small{width:auto;min-height:39px;padding:8px 12px;font-size:12px}.btn .icon{height:18px;width:18px}.btn + .btn{margin-top:10px}.row{display:flex;align-items:center;gap:11px}.row.between{justify-content:space-between}.row.start{align-items:flex-start}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.center{text-align:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{border-radius:17px;border:1px solid var(--tone-26364c);background:var(--tone-111c2c);padding:13px 10px}.stat b{display:block;font-size:23px;letter-spacing:-.6px;line-height:1.2;font-weight:730}.stat span{display:block;font-size:10px;color:var(--muted);margin-top:6px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:650;color:var(--cyan);background:var(--tone-468cf71a);white-space:nowrap}.badge.green{color:var(--green);background:var(--tone-42d7a815)}.badge.amber{color:var(--amber);background:var(--tone-f1b86e14)}.badge.red{color:var(--danger);background:var(--tone-ee799314)}.badge .icon{width:13px;height:13px}.divider{height:1px;background:var(--line);margin:16px 0}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(480px,100%);display:flex;background:var(--tone-0e1725f5);backdrop-filter:blur(18px);z-index:20;gap:2px;justify-content:space-around;border-top:1px solid var(--tone-27344a);padding:11px 8px calc(14px + var(--safe))}.bottom-nav button{background:none;border:0;padding:2px 4px;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--tone-7e91ad);font-size:10px;font-weight:550}.bottom-nav button .icon{height:22px;width:22px}.bottom-nav button.active{color:var(--cyan)}.bottom-nav button.active .icon{filter:drop-shadow(0 0 6px var(--tone-64a2ff75))}.hero{position:relative;border:1px solid var(--tone-2b3b54);background:radial-gradient(circle at 82% 20%,var(--tone-477ad066),transparent 50%),linear-gradient(135deg,var(--tone-192e4a),var(--tone-111a29));min-height:222px;border-radius:24px;overflow:hidden;margin:21px 0}.hero .hero-text{position:relative;z-index:1;padding:24px;max-width:83%}.hero h2{font-size:30px;line-height:1.05;letter-spacing:-1px;margin:9px 0 15px}.hero .strap{font-size:11px;letter-spacing:1.3px;color:var(--tone-c0d9ff)}.hero small{color:var(--tone-a6bfe0);font-size:11px}.hero .btn{width:auto;display:inline-flex;margin-top:8px;min-height:41px;padding:10px 16px;font-size:12px}.hero-art{position:absolute;inset:0 0 0 27%;opacity:.57;overflow:hidden;pointer-events:none}.hero-art svg{width:100%;height:100%;transform:scale(1.3);filter:drop-shadow(0 0 18px var(--tone-559fff66))}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--tone-142339),var(--tone-14233900) 90%)}.hero.violet{background:radial-gradient(circle at 86% 16%,var(--tone-6b53995c),transparent 65%),var(--tone-171c32)}.hero.teal{background:radial-gradient(circle at 86% 16%,var(--tone-326f794d),transparent 65%),var(--tone-12262e)}.hero.locked .hero-art{opacity:.18}.welcome-head{font-size:44px;letter-spacing:-1.8px;line-height:1.05;margin:8px 0 17px}.welcome-cover{height:290px;border-radius:26px;border:1px solid var(--tone-243550);background:radial-gradient(circle at 50% 60%,var(--tone-224477),var(--tone-0a1421));position:relative;overflow:hidden;margin:21px 0 27px}.welcome-cover:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--tone-3b608c18) 1px,transparent 1px),linear-gradient(90deg,var(--tone-3b608c18) 1px,transparent 1px);background-size:28px 28px}.welcome-cover .big-symbol{position:absolute;font-size:180px;font-weight:950;font-style:italic;letter-spacing:-24px;line-height:1;left:6%;top:20%;color:var(--tone-74a7ff12);-webkit-text-stroke:1px var(--tone-7099d84d)}.welcome-cover canvas{position:absolute;inset:0;width:100%;height:100%}.cover-label{position:absolute;bottom:17px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;color:var(--tone-b2c5df)}.role-card{display:flex;text-align:left;width:100%;align-items:center;gap:13px;padding:19px;border:1px solid var(--tone-293c58);border-radius:19px;background:var(--tone-142138);margin:12px 0;color:var(--text)}.role-card>span:first-child{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:var(--tone-2c6ec127);color:var(--cyan)}.role-card h3{font-size:16px}.role-card p{font-size:12px;color:var(--muted);margin-top:4px}.role-card>svg{width:17px;color:var(--tone-6f8bac)}.demo-note{font-size:11px;color:var(--tone-7f93b0);line-height:1.65}.field-label{display:block;font-size:12px;color:var(--tone-a7b8ce);margin-bottom:7px}.field{display:block;width:100%;min-width:0;color:var(--text);background:var(--tone-0c1421);border:1px solid var(--tone-2c3c55);border-radius:12px;padding:12px;min-height:47px;font-size:16px;outline:none}textarea.field{resize:vertical;min-height:82px}input.field:focus,select.field:focus,textarea.field:focus{border-color:var(--tone-65a5ff);box-shadow:0 0 0 3px var(--tone-3d83ee1f)}.field-group{margin:16px 0}.form-error{font-size:12px;color:var(--danger);min-height:18px;line-height:1.4}.search-wrap{position:relative;margin:17px 0}.search-wrap>.icon{position:absolute;top:14px;left:13px;color:var(--tone-7285a2);width:18px}.search-wrap input{padding-left:40px;background:var(--tone-111b2c);font-size:14px}.tabs{display:flex;gap:7px;overflow:auto;scrollbar-width:none;padding:0 0 4px;margin:14px 0}.tabs button{border:1px solid var(--tone-2d3c54);flex-shrink:0;border-radius:10px;padding:8px 13px;background:var(--tone-111c2c);color:var(--tone-a2b5cf);font-size:12px;min-height:38px}.tabs button.active{background:var(--tone-244672);border-color:var(--tone-4a79b3);color:var(--tone-dbeaff)}.exercise-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border-radius:16px;border:1px solid var(--tone-27374f);background:var(--tone-121d2d);padding:10px;margin:10px 0}.exercise-row .thumb{width:71px;height:73px;flex-shrink:0;border-radius:11px;background:radial-gradient(circle,var(--tone-254160),var(--tone-0f1929));position:relative;overflow:hidden}.thumb canvas{width:100%;height:100%}.exercise-row h3{font-size:13px;line-height:1.35}.exercise-row p{font-size:11px;color:var(--muted);margin-top:5px}.exercise-row>.icon{width:17px;color:var(--tone-7ca4d6)}.exercise-index{font-size:11px;color:var(--tone-8292a9);font-variant-numeric:tabular-nums;min-width:12px}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;font-size:12px}.summary-row span{color:var(--muted)}.summary-row b{text-align:right;font-size:12px;font-weight:650}.empty{text-align:center;border:1px dashed var(--tone-2b3d57);border-radius:21px;background:var(--tone-111b2966);padding:30px 18px;margin:20px 0}.empty>.icon{width:37px;height:37px;color:var(--tone-76a6e7);margin:0 0 14px}.empty h2{font-size:19px}.empty p{color:var(--muted);font-size:13px;margin:10px 0 20px}.media-stage{position:relative;height:275px;overflow:hidden;border-radius:22px;border:1px solid var(--tone-2c3b55);background:radial-gradient(ellipse at 50% 75%,var(--tone-284969),var(--tone-101c2a) 80%);margin:19px 0}.media-stage canvas,.media-stage img,.media-stage video{width:100%;height:100%;display:block;object-fit:contain}.media-meta{position:absolute;top:11px;left:12px;color:var(--tone-aac4e4);background:var(--tone-0c1729ba);border:1px solid var(--tone-3c547d5c);padding:5px 8px;border-radius:7px;font-size:9px;letter-spacing:1.2px}.media-control{position:absolute;bottom:12px;right:12px;background:var(--tone-11243dee);border:1px solid var(--tone-425b7c);border-radius:50%;width:37px;height:37px;display:grid;place-items:center}.media-control .icon{width:16px;height:16px}.instructions{counter-reset:steps;padding:0;list-style:none}.instructions li{counter-increment:steps;display:flex;gap:10px;color:var(--tone-acbdd5);line-height:1.7;font-size:12px;margin:13px 0}.instructions li:before{content:counter(steps,decimal);color:var(--tone-6e9fde);font-weight:650;font-size:11px;padding-top:2px}.timer-panel{padding:20px;border-radius:23px;background:var(--tone-121f33);border:1px solid var(--tone-284467);text-align:center;margin:20px 0}.timer-panel.rest{background:radial-gradient(circle at 50% 40%,var(--tone-183d5140),transparent),var(--tone-111d2d);border-color:var(--tone-2c5670)}.clock{font-size:56px;line-height:1.15;font-weight:650;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:15px 0}.clock small{font-size:18px;color:var(--tone-6d849f);letter-spacing:0}.timer-label{color:var(--tone-a5c5ef);font-size:11px;font-weight:650;letter-spacing:1.6px}.dots{display:flex;gap:7px;justify-content:center;margin:15px 0}.dots span{width:28px;height:5px;border-radius:5px;background:var(--tone-2e3c52)}.dots .done{background:var(--green)}.dots .current{background:var(--blue)}.progress{height:5px;background:var(--tone-26364e);border-radius:20px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,var(--tone-458bfd),var(--tone-7dc0ff));border-radius:20px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 0}.metric-grid>div{border-right:1px solid var(--tone-2b3a51);text-align:center}.metric-grid>div:last-child{border:0}.metric-grid b{font-size:21px;font-weight:650}.metric-grid small{display:block;color:var(--muted);font-size:10px}.intensity-track{background:linear-gradient(90deg,var(--tone-365679),var(--tone-398afc) 70%,var(--tone-929fe7));height:5px;border-radius:9px;margin-top:12px;position:relative}.intensity-track i{position:absolute;transform:translate(-50%,-35%);height:16px;width:7px;background:var(--tone-dceeff);border:2px solid var(--tone-fff);border-radius:4px;box-shadow:0 0 12px var(--tone-569ffe)}.range{width:100%;accent-color:var(--tone-5f9cff);min-height:28px}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--tone-7188a8)}.receipt{padding:22px;text-align:center}.success-symbol{height:79px;width:79px;border:1px solid var(--tone-51d7a95c);border-radius:26px;background:var(--tone-3cd39d15);color:var(--tone-58e1b2);display:grid;place-items:center;margin:15px auto 22px;box-shadow:0 0 45px var(--tone-3ccfa914)}.success-symbol>.icon{height:40px;width:40px}.success-symbol.fail{background:var(--tone-fb8a9b12);color:var(--danger);border-color:var(--tone-fd789958)}.plan-choice{cursor:pointer;width:100%;text-align:left;padding:17px;border:1px solid var(--tone-2c3d56);border-radius:17px;background:var(--tone-111d2e);margin:12px 0;color:var(--text)}.plan-choice.selected{background:linear-gradient(130deg,var(--tone-203e67),var(--tone-12223b));border-color:var(--tone-669bf0);box-shadow:0 0 0 1px var(--tone-528be32a)}.radio{width:18px;height:18px;border:1px solid var(--tone-576f91);border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}.selected .radio{border-color:var(--tone-7db5ff)}.selected .radio:after{content:'';width:8px;height:8px;background:var(--tone-7db5ff);border-radius:50%}.price{font-size:27px;letter-spacing:-.7px;font-weight:650}.price small{font-size:11px;color:var(--tone-9eb4d0);font-weight:450}.plan-benefit{display:flex;gap:10px;font-size:12px;color:var(--tone-afc4df);margin:12px 0}.plan-benefit .icon{width:16px;height:16px;color:var(--cyan)}.switch{height:26px;width:44px;border:1px solid var(--tone-3c4e68);border-radius:26px;background:var(--tone-263448);position:relative;flex-shrink:0}.switch:after{content:'';height:18px;width:18px;border-radius:50%;background:var(--tone-b8c9e0);position:absolute;left:3px;top:3px}.switch.on{background:var(--tone-438aff);border-color:var(--tone-64a3ff)}.switch.on:after{left:21px;background:var(--tone-fff)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:var(--tone-9db3d0);margin:17px 0}.checkbox-row input{accent-color:var(--tone-589cff);width:18px;height:18px;flex-shrink:0}.client-row{display:flex;width:100%;text-align:left;align-items:center;gap:11px;border:1px solid var(--tone-293a52);background:var(--tone-121e2f);border-radius:17px;padding:15px;margin:10px 0}.client-row h3{font-size:14px}.client-row p{font-size:10px;color:var(--muted);margin-top:5px}.client-row .icon{height:16px;width:16px;color:var(--tone-809bc0)}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--tone-23344d);text-align:left;font-size:13px}.menu-row>.icon{width:17px;color:var(--tone-90a9cf)}.menu-row:last-child{border:0}.edit-item{border:1px solid var(--tone-2c3d56);border-radius:18px;padding:15px;background:var(--tone-111d2e);margin:14px 0}.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.number-grid .field{padding:9px;min-height:42px}.number-grid label{font-size:10px;color:var(--tone-90a7c5)}.icon-btn{width:37px;height:37px;border:1px solid var(--tone-2a405f);background:var(--tone-18263c);border-radius:10px;display:inline-grid;place-items:center;color:var(--tone-aac8ee)}.icon-btn .icon{width:17px;height:17px}.icon-btn.danger{color:var(--danger)}.upload-control{border:1px dashed var(--tone-456289);border-radius:15px;padding:15px;display:block;text-align:center;color:var(--tone-99bfee);font-size:12px;cursor:pointer;margin-top:13px}.upload-control input{width:100%;font-size:12px;display:block;margin-top:12px;color:var(--tone-7995b9)}.upload-control input::file-selector-button{border:1px solid var(--tone-456083);border-radius:7px;background:var(--tone-1d3150);color:var(--tone-c2dafc);padding:8px;margin-right:10px}.banner{border-left:2px solid var(--tone-609dff);background:var(--tone-152841);border-radius:3px 12px 12px 3px;padding:13px 14px;font-size:12px;color:var(--tone-b2c9e8);margin:17px 0}.error-banner{border-left-color:var(--danger);background:var(--tone-331e2b);color:var(--tone-f6aebb)}.back-button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--tone-99b1d1);font-size:12px;padding:4px 0 14px;min-height:35px}.back-button .icon{width:17px;height:17px}.modal-backdrop{position:fixed;inset:0;background:var(--tone-02060cbc);z-index:40;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(5px)}.modal{width:min(480px,100%);background:var(--tone-111c2d);border:1px solid var(--tone-354965);border-radius:27px 27px 0 0;padding:25px 22px calc(27px + var(--safe));max-height:90dvh;overflow:auto;animation:appear .17s ease}.modal-handle{height:4px;width:36px;background:var(--tone-466083);border-radius:4px;margin:-12px auto 22px}.toast{position:fixed;bottom:calc(98px + var(--safe));left:50%;transform:translateX(-50%);z-index:60;width:calc(100% - 42px);max-width:435px;border:1px solid var(--tone-3c658a);background:var(--tone-152c43f5);box-shadow:0 7px 30px var(--tone-0005);color:var(--tone-d5e8ff);padding:13px 15px;border-radius:13px;font-size:12px}.toast.error{background:var(--tone-37232f);border-color:var(--tone-835166)}.profile-chip{display:inline-flex;align-items:center;gap:8px;color:var(--tone-a9c6eb);border:1px solid var(--tone-334c6e);border-radius:9px;background:var(--tone-1b2e49);padding:6px 8px;font-size:10px}.profile-chip .icon{height:14px;width:14px}.demo-footer{text-align:center;color:var(--tone-647c9b);font-size:10px;margin-top:27px;line-height:1.7}.offline-note{padding:8px;text-align:center;font-size:11px;color:var(--tone-e5c492);background:var(--tone-49361b70)}.hidden{display:none!important}.loader{height:23px;width:23px;border:2px solid var(--tone-284364);border-top-color:var(--tone-85b4ff);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}details{font-size:12px;color:var(--tone-90a8c7)}details summary{padding:12px 0;cursor:pointer;color:var(--tone-b3ceef)}.events{padding-left:15px;border-left:1px solid var(--tone-335379)}.event{position:relative;padding:6px 0 17px;font-size:11px;color:var(--tone-9fb5d0)}.event:before{content:'';position:absolute;left:-19px;top:11px;background:var(--tone-73acff);border:2px solid var(--tone-10203a);border-radius:50%;width:7px;height:7px}.event time{font-size:10px;color:var(--tone-6d89ad);display:block}.review-label{font-size:10px;color:var(--tone-8aa4c2);margin-top:8px}.footer-stack{display:flex;flex-direction:column;gap:9px}.footer-stack .btn + .btn{margin:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(min-width:700px){body{padding:26px 0 45px}main{min-height:calc(100dvh - 65px);border-radius:28px;overflow:hidden;box-shadow:0 30px 100px var(--tone-0006)}.bottom-nav{bottom:19px;border-radius:0 0 27px 27px;box-shadow:0 25px 0 25px var(--tone-060a11)}.modal-backdrop{align-items:center}.modal{border-radius:25px;max-height:90dvh}.toast{bottom:115px}.content{padding-bottom:125px}}@media(max-width:375px){.content{padding-left:17px;padding-right:17px}.topbar{padding:0 18px}.welcome-head{font-size:39px}h1{font-size:29px}.hero .hero-text{padding:20px}.exercise-row .thumb{width:62px;height:66px}.metric-grid b{font-size:19px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}[hidden]{display:none!important}
/* Status notifications must never obscure interactive controls. */
.toast{pointer-events:none}
/* The accepted square keyframes fill the exercise stage without cropping. */
.media-stage.bench-stage{height:auto;aspect-ratio:1;background:var(--tone-090e14)}
.bench-stage>canvas,.bench-stage>.uploaded-media{position:absolute;inset:0;object-fit:contain}
.keyframe-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-7px 0 18px;min-height:44px}
.keyframe-strip>span{font-size:11px;color:var(--tone-9ab2d1);line-height:1.4}
.keyframe-strip>div{display:flex;gap:4px;flex:none}
.frame-dot{width:36px;height:40px;border:1px solid var(--tone-294261);border-radius:12px;background:var(--tone-142236);color:var(--tone-9ab9e3);font-size:12px;font-weight:750;cursor:pointer}
.frame-dot[aria-pressed=true]{color:var(--tone-fff);border-color:var(--tone-5ba2fa);background:var(--tone-214b82)}
.keyframe-strip[hidden]{display:none!important}
.thumb canvas[data-bench-frame]{object-fit:contain}
.media-meta{pointer-events:none}

/* Unified square media and accessible uploads; no changes to persisted data. */
.exercise-visual{display:block;position:relative;width:100%;height:100%;overflow:hidden;background:var(--tone-090e14)}
.exercise-visual>canvas,.exercise-visual>img,.exercise-visual>video{display:block;width:100%;height:100%;object-fit:contain}
.welcome-cover>.exercise-visual{position:absolute;inset:0}
.media-stage.keyframe-stage{height:auto;aspect-ratio:1;background:var(--tone-090e14)}
.media-stage.keyframe-stage>.exercise-visual{position:absolute;inset:0}
.editor-thumb{display:block;width:48px;height:56px;flex:none;border-radius:8px;overflow:hidden}
.upload-control{position:relative}.upload-control input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;margin:0;padding:0;min-height:0}
.upload-control:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.frame-dot{min-width:38px;min-height:44px}
.modal{padding-bottom:calc(27px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
@media(max-width:375px){.edit-item>.row{gap:7px}.edit-item>.row h3{font-size:12px}.edit-item>.row .icon-btn{width:30px}.editor-thumb{width:40px}}

/* UX 1.3.1: keep the exercise, target and one primary action in focus. */
html{scroll-padding-top:24px;scroll-padding-bottom:110px}
button,input,textarea,select{scroll-margin-block:100px}
.media-meta,.keyframe-strip,.exercise-index,.review-label{display:none!important}
.media-control{display:flex!important}
.media-control[data-action="retry-media"]{display:grid!important}
.next-workout{position:relative;overflow:hidden;padding:22px}
.next-workout h2{font-size:27px;max-width:100%;padding-right:70px;line-height:1.2}
.next-workout-art{position:absolute;right:4px;top:0;width:110px;height:125px;opacity:.65;pointer-events:none}
.next-workout>.btn{position:relative;margin-top:28px}
.next-workout .text-button{display:flex;justify-content:center;width:100%;min-height:44px}
.run-layout{padding-bottom:90px}
.run-layout h1{font-size:25px;margin:8px 0 0}
.run-layout .media-stage{width:min(100%,250px);height:auto;aspect-ratio:1;margin:12px auto}
.run-layout .workout-spec{font-size:17px}
.run-layout .timer-panel{padding:15px;margin:14px 0}
.run-layout .clock{font-size:46px;margin:8px 0}
.run-layout .dots{margin:10px 0}
.actual-count{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;font-size:12px;color:var(--muted);text-align:left}
.actual-count .field{width:85px;min-height:44px}
.workout-action-bar{position:fixed;z-index:25;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);background:var(--tone-0e1725f5);border-top:1px solid var(--tone-27344a);padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(15px)}
.workout-action-bar .btn{min-height:52px;font-size:16px}
main[data-screen="run"] .topbar{height:62px}
main[data-screen="run"] .topbar .avatar{display:none}
main[data-screen="run"] .content{padding-top:0}
main[data-screen="run"] .back-button{min-height:38px;padding-bottom:8px}
main[data-screen="run"] .text-button{min-height:44px}
.bottom-nav button{min-height:46px}
.icon-btn{min-width:44px;min-height:44px}
.modal{overscroll-behavior:contain}
.modal form{padding-bottom:4px}
.modal-backdrop{padding-bottom:env(safe-area-inset-bottom,0px)}
@media(max-height:740px){.run-layout .media-stage{width:200px}.run-layout .timer-panel{padding:12px}.run-layout .clock{font-size:40px}}
@media(min-width:700px){.workout-action-bar{bottom:19px;border-radius:0 0 27px 27px}}

.media-stage .media-control{display:flex!important;align-items:center;justify-content:center;gap:7px;min-width:44px;width:44px;height:44px;z-index:4;touch-action:manipulation}
.media-stage .media-control[hidden],.exercise-visual>[hidden]{display:none!important}
.media-stage[data-paused="true"] .media-control,.media-stage .media-control[data-action="retry-media"]{width:auto;max-width:calc(100% - 24px);padding:0 12px;border-radius:12px;font-size:13px;font-weight:600}
.media-stage[data-paused="true"] .media-control::after{content:"Показать движение"}
.media-stage .media-control[data-action="retry-media"]::after{content:"Повторить загрузку"}

:root{--action-bg:#2466cb;--action-ink:#ffffff;--focus-ring:#9ac2ff}
:root[data-theme="green"]{--bg:#090e0c;--surface:#131b17;--surface2:#19251f;--line:#2c3e34;--text:#f0f5f2;--muted:#a0b3a8;--blue:#62d6a1;--cyan:#92e6ba;--action-bg:#66d5a3;--action-ink:#082519;--focus-ring:#b0f0cd}
.btn:not(.secondary):not(.ghost):not(.danger){background:var(--action-bg);border-color:var(--action-bg);color:var(--action-ink);box-shadow:none}
.btn.small,.hero .btn{min-height:44px;font-size:13px}.icon-btn,.top-right .avatar{min-width:44px;min-height:44px}.tabs button{min-height:44px;padding:10px 14px}
button:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button[aria-busy="true"],form[aria-busy="true"] button{cursor:wait}
.menu-row{min-height:52px;font-size:14px}.back-button,.text-link{min-height:44px;align-items:center}
.bottom-nav button{font-size:11px;min-height:48px}.bottom-nav button.active .icon{filter:none}.bottom-nav button.active{font-weight:750}
.content{padding-bottom:calc(112px + var(--safe));overflow-wrap:anywhere}h1{font-size:clamp(25px,7.2vw,31px)}.run-layout h1{font-size:clamp(23px,6.6vw,28px)}.run-layout{padding-bottom:96px}
.workout-action-bar{bottom:var(--keyboard-inset,0px)}.run-layout .workout-spec{flex-wrap:wrap;gap:4px 12px}.actual-count{gap:12px}.actual-count label{font-size:13px}.field{scroll-margin-block:96px}
.settings-disclosure{border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:20px 0}
.settings-disclosure>summary{padding:17px 18px;min-height:54px;font-size:14px;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.settings-disclosure>summary::-webkit-details-marker{display:none}.settings-disclosure>summary::after{content:'+';font-size:22px;color:var(--cyan)}.settings-disclosure[open]>summary::after{content:'−'}
.disclosure-body{padding:0 18px 18px}.disclosure-body .section{margin-top:6px}.disclosure-body .card{padding:12px;background:transparent}
.modal-backdrop{top:var(--visual-top,0px);bottom:auto;height:var(--visual-height,100dvh)}.modal{max-height:calc(var(--visual-height,100dvh) - 16px);scroll-padding-block:16px}.modal form button[type="submit"]{min-height:50px}
.keyboard-open .bottom-nav{visibility:hidden;pointer-events:none}.keyboard-open .workout-action-bar{padding-bottom:12px}
@media(min-width:700px){.workout-action-bar{bottom:19px}.keyboard-open .workout-action-bar{bottom:var(--keyboard-inset,0px)}}
@media(max-width:375px){.topbar{padding-inline:17px}.content{padding-inline:17px}}

/* A missing demonstration is never replaced with a different exercise. */
.catalog-muscle{grid-column:1/-1}
.media-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);padding:16px;text-align:center;font-size:12px;line-height:1.5;background:var(--tone-090e14)}
.media-placeholder>.icon{width:28px;height:28px;opacity:.65}
.thumb .media-placeholder{padding:8px}.thumb .media-placeholder>span,.hero-art .media-placeholder>span{display:none}
.media-stage.pending-stage{height:190px;aspect-ratio:auto}.pending-stage[data-custom=true]{height:auto;aspect-ratio:1}

.catalog-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.catalog-filters label{min-width:0;font-size:11px;color:var(--muted)}.catalog-filters select{width:100%;min-width:0;margin-top:5px;font-size:12px}.compact-library .exercise-row{padding:10px;gap:10px;margin:8px 0;border-radius:14px}.compact-library .thumb{width:48px;height:52px;flex:0 0 48px}.compact-library h3{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.compact-library p{font-size:10px}.compact-library .exercise-row>.icon{width:16px;flex:0 0 16px}.tabs{max-width:100%}.grow{overflow-wrap:anywhere}

.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.builder-field{font-size:11px;color:var(--muted);min-width:0;line-height:1.45}.builder-field .field{margin-top:6px;width:100%;min-width:0}.builder-actions{display:flex;gap:2px;flex-shrink:0}.builder-actions .icon-btn,.builder-block>.row>.icon-btn{width:30px;height:34px}.builder-block{padding:14px}.builder-block h3,.complex-exercise h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.builder-details{margin:14px 0 4px}.builder-details>summary{font-size:12px;font-weight:600;cursor:pointer;color:var(--cyan);padding:8px 0}.builder-details[open]>summary{margin-bottom:8px}.complex-exercise{padding:14px 0;border-top:1px solid var(--line)}.builder-add{display:grid;gap:8px}.builder-add .btn{margin:0;font-size:13px;min-width:0}.complex-context{color:var(--cyan);font-size:12px;line-height:1.55;font-weight:600;margin:12px 0}.complex-card .exercise-row{padding:10px 0}.complex-card .thumb{width:40px;flex-basis:40px}.complex-card h3{overflow-wrap:anywhere}
.exercise-visual{display:block;width:100%;height:100%;overflow:hidden}.exercise-photo{display:block;width:100%;height:100%;object-fit:contain;background:#101216}.thumb .exercise-photo{object-fit:cover}.photo-error{display:flex;align-items:center;justify-content:center;height:100%;padding:10px;text-align:center;font-size:11px;line-height:1.5;color:var(--muted)}.welcome-cover .exercise-visual{position:absolute;inset:0}.hero-art .exercise-photo{object-fit:cover}.builder-photo{width:58px;height:58px;flex:none;border-radius:10px;overflow:hidden}.photo-stage{background:#101216}


.training-location-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:16px 0;overflow:visible}.training-location-tabs button{min-width:0;min-height:48px;white-space:normal;line-height:1.35;padding:10px;font-size:13px;overflow-wrap:anywhere}.program-location-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.training-location{max-width:100%;margin-top:5px}.program-location-row .training-location{margin-top:0}.builder-client-context{line-height:1.65;overflow-wrap:anywhere}
