@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:#f4f7f4;background:#080b0a;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(ellipse 85% 380px at 50% -170px,#123c27 0%,transparent 100%),#080b0a;color:#f4f7f4;min-height:100vh}header{background:#0d120ff0;border-bottom:1px solid #26342b;padding:23px 18px 17px;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}header h1{color:#4de38a;font-weight:800;letter-spacing:-1.2px}header small{color:#9caea1}main{max-width:760px;padding:20px 14px 40px}nav{gap:8px;padding:2px 0 20px;scrollbar-width:none}nav button{white-space:nowrap;border-radius:11px;background:#141b16;border:1px solid #28382e;color:#c8d8cd;font-weight:700}nav button.active{background:#1a4930;border-color:#43cf7d;color:#a8ffc8}.panel{background:linear-gradient(145deg,#141b17,#101512);border:1px solid #2b3930;border-radius:21px;padding:20px;margin-bottom:16px;box-shadow:0 12px 28px #0005}.panel h2{font-size:22px;letter-spacing:-.5px}.panel h3{font-weight:750}.muted,small,.hint,label{color:#a7b8ac}.pill{background:#1b3928;color:#71e8a1;border:1px solid #305b40;font-weight:700}button{background:#1b2820;border:1px solid #375441;border-radius:12px;color:#d7f1df;min-height:43px;font-weight:700;transition:filter .15s,transform .15s}button:active{transform:scale(.98)}button:hover{filter:brightness(1.13)}button.active,.primary,.btn-ok{background:#1d9c56!important;border-color:#34c875!important;color:#fff!important}button.btn-fail,.danger{background:#632422!important;border-color:#ad4842!important;color:#ffe0de!important}.exercise{background:linear-gradient(150deg,#19231c,#121a15)!important;border:1px solid #344b3a!important;border-radius:18px;padding:18px!important;margin-bottom:14px!important;box-shadow:0 8px 22px #0005!important}.exercise:first-of-type{border-top:1px solid #344b3a!important}.exercise-art{background:#0b120e;border:1px solid #35533e;border-radius:14px;width:78px;height:78px;flex-basis:78px}.exercise h3{font-size:16px;line-height:1.35}.exercise-tip{background:#13271b;border:1px solid #284b34;border-left:3px solid #35c775;color:#bfd6c6;border-radius:8px;padding:12px}.exercise-tip strong{color:#6deaa0}input,select{background:#0b110d;border:1px solid #38513f;color:#f3f7f4;border-radius:11px}input:focus,select:focus{outline:2px solid #38bd71;outline-offset:1px}input[type=checkbox]{accent-color:#2fc974}.stat,a,.extra summary,.technique{color:#55e18e}.cal-day.trained{background:#209e57;color:white}.rank-hero{padding:22px;background:linear-gradient(120deg,#103821,#121913 75%);border:1px solid #316342;border-radius:20px;margin-bottom:16px}.rank-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.rank-name{font-size:25px;font-weight:800;color:#76eda5;letter-spacing:-.6px}.rank-track{height:10px;background:#294432;border-radius:30px;overflow:hidden;margin:12px 0 8px}.rank-fill{height:100%;background:linear-gradient(90deg,#19a557,#6dff9e);border-radius:30px}.rank-meta{display:flex;justify-content:space-between;font-size:12px;color:#b6cdbd}.level-chip{display:inline-flex;padding:5px 10px;background:#193e28;color:#7eecaa;border-radius:30px;font-size:11px;font-weight:800;letter-spacing:.5px}.challenge{margin-top:14px;padding:13px;background:#0d1710;border:1px solid #294431;border-radius:13px}.challenge-target{font-size:23px;font-weight:800;color:#80f0ad;margin:8px 0}.challenge-row{display:flex;align-items:center;gap:8px;margin:9px 0}.challenge-row span{flex:1;font-size:13px;color:#d1dfd4}.challenge-row button{min-height:37px;padding:7px 12px}.challenge-row button.chosen{outline:2px solid #d7f8df}.setup-screen{position:fixed;inset:0;background:#070b08;z-index:30;overflow:auto;padding:24px 15px 50px}.setup-inner{max-width:620px;margin:auto}.setup-title{font-size:34px;font-weight:800;color:#60e899;letter-spacing:-1px}.setup-choice{width:100%;text-align:left;margin:6px 0;background:#151d17;border:1px solid #354d3a;padding:16px}.setup-choice.selected{border-color:#56e18f;background:#193b27}.setup-exercise{padding:13px 0;border-bottom:1px solid #2b3c2f}.setup-exercise label{margin:7px 0}.setup-actions{display:flex;gap:10px;margin-top:22px}.setup-actions button{flex:1}.setup-error{color:#ff9c97}.rank-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rank-item{background:#111a14;border:1px solid #2b3d30;border-radius:12px;padding:12px}.rank-item strong{display:block;color:#72eaa0}.rank-item small{font-size:11px}.load-adjust{font-size:12px;text-decoration:underline;color:#a7cbb1;background:none;border:0;padding:4px;min-height:28px}.challenge-note{font-size:12px;color:#9eb5a5;line-height:1.5}.hidden-v3{display:none!important}@media(max-width:390px){.panel{padding:15px}.exercise{padding:14px!important}.challenge-row button{padding:7px 9px;font-size:12px}.rank-name{font-size:21px}}
/* PhD Fit 3.1: guided first-run onboarding */
.onboarding-screen{z-index:9999;background:#080b0a;overflow-y:auto;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}
.onboarding-inner{max-width:560px;margin:0 auto;padding:26px 4px 44px}
.ob-brand{font-weight:900;font-size:26px;letter-spacing:-1px;color:#66d99b;margin-bottom:23px}.ob-brand span{color:#fff}.ob-version{float:right;font-size:12px!important;color:#9daea5!important;letter-spacing:0;font-weight:600}
.ob-progress{height:5px;background:#202c25;border-radius:99px;overflow:hidden;margin-bottom:28px}.ob-progress span{display:block;height:100%;background:#46d887;border-radius:99px;transition:width .25s}
.onboarding-inner .setup-title{font-size:clamp(29px,7vw,39px);line-height:1.12;letter-spacing:-1px;margin:15px 0}
.ob-subtitle{font-size:15px;line-height:1.65;margin-bottom:25px}.ob-emblem{width:112px;height:112px;display:grid;place-items:center;margin:42px auto 22px;background:radial-gradient(circle,#23563c,#10251b 70%);border:1px solid #367e52;border-radius:30px;font-size:70px;color:#64e59c;box-shadow:0 18px 70px #1aa15b20}
.ob-welcome{text-align:center;letter-spacing:3px;font-size:11px;font-weight:800;color:#67d99c;margin-bottom:40px}.ob-label{display:block;font-weight:700;margin:20px 0 9px}.onboarding-inner input{width:100%;min-height:52px;background:#121a15;border:1px solid #365041;color:#fff;border-radius:13px;padding:12px;font-size:17px}
.ob-help{color:#9baea1;font-size:12px;line-height:1.5;margin:11px 0 23px}.ob-fields{display:grid;gap:17px;margin:22px 0}.ob-fields label{font-size:13px;color:#c8d8cf;font-weight:700;display:grid;gap:8px}
.onboarding-inner .setup-choice{display:block;width:100%;text-align:left;margin:10px 0;padding:17px;background:#111a15;border:1px solid #304638;border-radius:15px;color:#fff}.onboarding-inner .setup-choice.selected{border:2px solid #54d98d;background:#173526}.onboarding-inner .setup-choice small{color:#aabdb0;line-height:1.8}
.ob-slide-icon{width:106px;height:106px;display:grid;place-items:center;font-size:59px;color:#62dd9c;background:#142d20;border:1px solid #285d3c;border-radius:28px;margin:35px auto}.ob-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:25px 0}.ob-tags span{background:#193525;border:1px solid #2d5c3c;color:#c8f3d8;border-radius:99px;padding:9px 13px;font-size:12px}.ob-dots{display:flex;justify-content:center;gap:7px;margin:28px 0}.ob-dots i{width:7px;height:7px;border-radius:50%;background:#415348}.ob-dots i.on{width:25px;border-radius:99px;background:#52d88d}
.onboarding-inner .setup-actions{display:flex;gap:10px;margin:28px 0 16px}.onboarding-inner .setup-actions button{min-height:50px}.onboarding-inner .setup-actions .primary{flex:1;background:#40cb7b!important;color:#06160d!important;border-color:#40cb7b!important;font-weight:800}.ob-load-note{font-size:13px;color:#c7d8cb}.ob-load-list{max-height:43vh;overflow-y:auto;padding-right:5px}.onboarding-inner .setup-exercise{margin-bottom:12px}.onboarding-inner .setup-exercise label{display:block;font-size:13px;margin-bottom:7px;color:#d4e6d9}

.personal-greeting{margin:2px 0 14px;padding:18px 18px 16px;border:1px solid #263c31;border-radius:18px;background:linear-gradient(135deg,#0d1511,#111f18);display:grid;gap:2px}.personal-greeting span{font-size:13px;color:#91a298;text-transform:uppercase;letter-spacing:.08em}.personal-greeting strong{font-size:27px;line-height:1.15;color:#f7f7f2}.personal-greeting small{margin-top:5px;color:#8fa097}

.personal-greeting .name-edit{margin-top:8px;align-self:flex-start;background:transparent;color:#b5c9bd;border:1px solid #3d5949;border-radius:8px;padding:5px 9px;font-size:12px}
/* PhD Fit 3.4 — central de avisos */
.notice-banner{padding:15px 17px;margin:0 0 14px;background:linear-gradient(115deg,#153a28,#101b17);border:1px solid #318b54;border-radius:16px;color:#e6ffec;font-weight:650;line-height:1.5}
.notice-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.86);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}
.notice-panel{width:min(100%,620px);background:#101612;border:1px solid #285c3d;border-radius:19px;padding:18px;margin:18px auto;color:#eff8f0;box-shadow:0 18px 65px #000b}
.notice-panel .row{margin-bottom:10px}.notice-panel .row h2{margin:0}.notice-switch{display:flex;align-items:center;gap:12px;font-size:15px;color:#e8f2e9;margin:13px 0}.notice-switch input{width:21px;height:21px;accent-color:#27b760;flex-shrink:0}.notice-panel select{margin:8px 0 14px}.notice-panel #notice-browser{width:100%;background:#176b3c;border-color:#279e5c;color:white}.notice-item{padding:12px 0;border-top:1px solid #284232}.notice-item p{margin:5px 0;color:#d3e6d7;font-size:14px}.notice-item small{color:#9ab4a0}

/* PhD Fit 3.5 — cartões iOS: separação, hierarquia e alvos de toque */
:root{--ios-green:#36d17b;--ios-red:#f16c68}body{-webkit-text-size-adjust:100%}main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(44px + env(safe-area-inset-bottom))}#content .exercise{position:relative;display:block!important;margin:0 0 24px!important;padding:22px 17px 20px!important;border:1px solid #3b5845!important;border-radius:24px!important;background:#111a15!important;box-shadow:0 12px 32px #0009!important;overflow:hidden}#content .exercise:before{content:'EXERCÍCIO ' attr(data-exercise-number);display:block;color:#74e6a2;font-size:11px;font-weight:850;letter-spacing:1.3px;margin-bottom:15px}#content .exercise:not(:last-of-type):after{content:'';position:absolute;bottom:-13px;left:18px;right:18px;height:1px;background:#385042}#content .exercise-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}#content .exercise h3{font-size:19px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:-.35px;color:#fff!important}#content .exercise-art{width:94px!important;height:94px!important;flex:0 0 94px!important;border-radius:16px!important;object-fit:contain}#content .exercise-tip{margin:18px 0!important;padding:15px!important;font-size:14px!important;line-height:1.55!important;border-radius:14px!important}#content .exercise .challenge{margin-top:20px;padding:17px 14px 16px;background:#09110c;border:1px solid #335341;border-radius:18px}#content .challenge-target{font-size:28px!important;letter-spacing:-.7px;line-height:1.3;margin:15px 0 10px}#content .challenge-target small{display:block;font-size:15px;color:#d5e6d9;letter-spacing:0;margin-top:5px}#content .challenge-note{font-size:13px;line-height:1.55}#content .challenge .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}#content .challenge .actions button{min-height:54px;font-size:15px;border-radius:14px;padding:10px 6px}#content .challenge .actions button:last-child{grid-column:1/-1;background:#173824!important;border-color:#399e65!important;color:#b8ffd0!important}#content .challenge .actions .btn-fail{background:#672624!important;border-color:#c65b55!important;color:#fff!important}#content .challenge .actions .chosen{outline:2px solid #e9f7ec;outline-offset:2px}#content .exercise .extra{margin-top:16px}#content .exercise .extra summary{min-height:44px;display:flex;align-items:center}button,input,select{touch-action:manipulation}button{min-height:44px}@media(max-width:390px){#content .exercise{padding:18px 13px!important}#content .exercise-art{width:78px!important;height:78px!important;flex-basis:78px!important}#content .exercise h3{font-size:17px!important}#content .challenge-target{font-size:25px!important}}

/* 3.6: compact iOS-first daily workout; secondary actions live in profile */
:root{color-scheme:dark}body{background:#090c0a;color:#f7f9f7}header{position:sticky;top:0;z-index:20;background:#0d1210!important;box-shadow:0 6px 24px #0008}header>div{position:relative;padding-right:92px}#profile-entry{position:absolute;right:8px;top:4px;border:1px solid #405646;background:#1b2b21;color:#d6e6d9;font-size:13px;font-weight:700;padding:12px;border-radius:99px;min-height:44px}main{padding-bottom:calc(30px + env(safe-area-inset-bottom))}#tabs{gap:8px}#tabs button:not(.profile-only){min-height:48px}.profile-only{display:none!important}.panel{background:#111915;border-color:#28382d}.ios-exercise{background:#121a16!important;border:1px solid #304438!important;border-radius:22px!important;padding:18px!important;margin:0 0 20px!important;box-shadow:0 12px 28px #0005!important}.ios-exercise .exercise-head{align-items:center;gap:14px}.ios-exercise .exercise-head h3{font-size:19px!important;line-height:1.25!important;font-weight:800}.ios-exercise .exercise-art{width:90px!important;height:90px!important;flex-basis:90px!important;background:#e9eeeb!important;border:1px solid #4a5a50!important;object-fit:contain!important;padding:4px}.ios-exercise .exercise-tip{background:#1a2720!important;border-left-color:#3fbf76!important;font-size:13px!important;line-height:1.55!important}.ios-exercise .challenge{border-top:1px solid #31483a;padding-top:15px;margin-top:14px}.ios-exercise .challenge-target{font-size:28px!important;font-weight:850!important;line-height:1.2}.ios-exercise .challenge-target small{display:block;font-size:15px;margin-top:7px;color:#c3d3c8}.ios-exercise .challenge .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ios-exercise .challenge .actions button{min-width:0;min-height:52px;padding:10px 3px!important;font-size:13px!important;border-radius:13px}.ios-exercise .btn-fail{background:#5a2424!important;border-color:#b34b4b!important;color:#fff!important}.ios-exercise .btn-ok{background:#164a2d!important;border-color:#3c9b63!important;color:#fff!important}.ios-exercise .challenge .actions button:last-child{background:#3d321b!important;border-color:#b89b50!important;color:#f8df9c!important}.profile-shade{position:fixed;inset:0;background:#000b;z-index:100;display:flex;align-items:flex-end;justify-content:center}.profile-sheet{width:min(100%,680px);max-height:90dvh;overflow:auto;border-radius:25px 25px 0 0;border:1px solid #365040;background:#111914;padding:24px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px #0008}.profile-menu{display:grid;gap:9px;margin:22px 0}.profile-menu button{text-align:left;min-height:53px;padding:15px;background:#1a2720;border:1px solid #304b39;font-size:15px;font-weight:650}.notice-overlay{z-index:110}@media(max-width:375px){.ios-exercise .exercise-art{width:74px!important;height:74px!important;flex-basis:74px!important}.ios-exercise .exercise-head h3{font-size:17px!important}}
/* 5.5 Ranking */
.ph55-rank-hero{text-align:center;padding:28px 18px;margin-bottom:16px;border:1px solid #61744f;border-radius:24px;background:radial-gradient(circle at 50% 25%,#24482f,#101713 66%);box-shadow:0 18px 45px #0008}.ph55-rank-hero>small{letter-spacing:2px;color:#8ee8aa;font-weight:800}.ph55-emblem{font-size:72px;line-height:1.1;margin:14px 0 5px;filter:drop-shadow(0 8px 16px #0008)}.ph55-rank-hero h2{font-size:27px;margin:4px}.ph55-rank-hero p{color:#c7d7ca}.ph55-ranking{display:grid;gap:8px;margin-top:15px}.ph55-rank-row{width:100%;display:grid;grid-template-columns:42px 42px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;background:#101713;border:1px solid #2d4033;border-radius:15px;padding:10px 12px;color:#fff}.ph55-rank-row.me{border-color:#62d88e;background:#14291c}.ph55-rank-row .pos{font-weight:900;color:#9ab4a1}.ph55-rank-row:nth-child(-n+3) .pos{color:#f3d277;font-size:17px}.ph55-rank-row .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#233a2a;border:1px solid #49604f;font-weight:900}.ph55-rank-row .who{min-width:0}.ph55-rank-row .who strong,.ph55-rank-row .who small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph55-rank-row .who small{color:#8ea596;font-size:11px;margin-top:3px}.ph55-rank-row .badge{text-align:right}.ph55-rank-row .badge b{font-size:23px;display:inline-block;vertical-align:middle;margin-right:5px}.ph55-rank-row .badge small,.ph55-rank-row .badge em{display:block;font-style:normal}.ph55-rank-row .badge small{color:#d7e4da;font-weight:750}.ph55-rank-row .badge em{color:#77dfa0;font-size:11px;margin-top:2px}@media(max-width:390px){.ph55-rank-row{grid-template-columns:34px 36px minmax(0,1fr) auto;padding:9px 8px}.ph55-rank-row .avatar{width:34px;height:34px}.ph55-rank-row .badge b{display:none}.ph55-rank-row .badge small{font-size:10px}}
