:root{--bg:#f3f3f3;--card:#fff;--text:#151515;--muted:#777;--line:#e7e7e7;--green:#ed1c24;--green-dark:#c8101e;--green-pale:#ffe5e6;--red:#e11d2e;--red-pale:#ffe5e7;--orange:#d78a34;--shadow:0 5px 18px rgba(0,0,0,.055);--radius:22px;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(237,28,36,.24);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--green)}#app{max-width:820px;min-height:100dvh;margin:0 auto;padding-bottom:calc(92px + var(--safe-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 20px 12px}.brand-row{display:flex;align-items:center;gap:10px}.brand-mark{width:39px;height:39px;border-radius:13px;background:var(--green);color:white;display:grid;place-items:center;font-weight:900;font-size:19px;letter-spacing:-1px;box-shadow:0 5px 11px rgba(237,28,36,.2)}.brand-word{font-weight:850;font-size:19px;letter-spacing:2.2px}.brand-sub{font-size:11px;color:var(--muted);letter-spacing:.15px;margin-top:-3px}.top-date{font-size:12px;color:var(--muted);font-weight:650}.profile-chip{border:0;border-radius:999px;background:#fff;padding:6px 12px 6px 6px;display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700;box-shadow:var(--shadow)}.avatar{height:34px;width:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-pale);color:var(--green-dark);font-weight:850;font-size:13px}.page{padding:8px 16px 28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 4px 16px}.page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1.1;letter-spacing:-.5px;font-weight:600;margin:0}.page-heading p{color:var(--muted);margin:6px 0 0;font-size:13px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:800;margin:23px 4px 11px}.section-title small{font-size:12px;color:var(--muted);font-weight:550}.card{background:var(--card);border:1px solid rgba(24,44,31,.035);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);margin-bottom:12px;min-width:0}.card-flat{box-shadow:none;border:1px solid var(--line)}.hero{background:linear-gradient(140deg,#b20f19,#f22932);color:white;padding:20px;position:relative;overflow:hidden;border-radius:26px;box-shadow:0 10px 24px rgba(198,16,30,.18)}.hero:after{content:"";position:absolute;width:185px;height:185px;border:26px solid rgba(255,255,255,.06);border-radius:50%;right:-57px;top:-70px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;font-weight:800;opacity:.78}.hero h2{font-size:25px;line-height:1.15;margin:8px 0 5px;letter-spacing:-.5px;max-width:86%}.hero p{font-size:13px;opacity:.86;margin:0 0 17px;max-width:85%}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}.hero-stat{font-size:12px;opacity:.88}.hero-stat strong{display:block;font-size:19px;color:white;margin-top:2px}.hero-mark{font-size:46px;opacity:.88;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--green);color:white;border-radius:13px;padding:12px 16px;font-weight:800;font-size:13px;transition:transform .12s,background .12s;box-shadow:0 4px 10px rgba(32,129,94,.13)}.btn:active{transform:scale(.98)}.btn-light{background:white;color:var(--green-dark);box-shadow:none}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn-soft{background:var(--green-pale);color:var(--green-dark);box-shadow:none}.btn-danger{background:var(--red-pale);color:var(--red);box-shadow:none}.btn-small{padding:8px 11px;font-size:12px;border-radius:10px}.btn-full{width:100%}.icon-btn{height:38px;width:38px;display:grid;place-items:center;border:1px solid var(--line);background:white;border-radius:12px;font-size:19px;color:var(--text)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.metric-card{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(0,0,0,.025);min-width:0}.metric-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:650}.metric-icon{height:31px;width:31px;display:grid;place-items:center;border-radius:10px;background:var(--green-pale);color:var(--green-dark);font-size:16px}.metric-value{font-size:23px;font-weight:820;letter-spacing:-.7px;margin:10px 0 1px;line-height:1.1;overflow-wrap:anywhere}.metric-caption{font-size:11px;color:var(--muted)}.inline-link{background:none;border:0;color:var(--green);font-weight:750;font-size:12px;padding:4px}.row{display:flex;align-items:center;gap:12px;min-width:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.weight-bold{font-weight:800}.chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:#f0f2ef;color:#626a64;font-size:11px;font-weight:750;white-space:nowrap}.chip-green{background:var(--green-pale);color:var(--green-dark)}.chip-red{background:var(--red-pale);color:var(--red)}.chip-orange{background:#fff2df;color:#9d6117}.rule{height:1px;background:var(--line);margin:14px 0}.empty{padding:24px 16px;text-align:center;color:var(--muted)}.empty-icon{font-size:30px;margin-bottom:7px}.empty strong{display:block;color:var(--text);margin-bottom:4px}.empty p{margin:0 auto 12px;max-width:290px;font-size:12px}.day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day-pill{min-width:53px;border:1px solid var(--line);border-radius:16px;padding:9px 7px;background:white;text-align:center;color:var(--muted)}.day-pill strong{display:block;font-size:15px;color:var(--text)}.day-pill span{display:block;font-size:10px;margin-top:2px}.day-pill.active{border-color:var(--green);background:var(--green-pale);box-shadow:inset 0 0 0 1px var(--green)}.day-pill.active strong{color:var(--green-dark)}.day-pill.done:after{content:"";display:block;width:5px;height:5px;border-radius:50%;margin:5px auto 0;background:var(--green)}.day-pill.rest span{color:var(--orange)}.exercise-card{border:1px solid var(--line);border-radius:17px;padding:14px;margin-bottom:10px;background:white;min-width:0}.exercise-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.exercise-title{font-size:15px;font-weight:800;line-height:1.25}.exercise-meta{font-size:11px;color:var(--muted);margin-top:4px}.exercise-symbol{height:39px;width:39px;border-radius:13px;background:#fff0f0;display:grid;place-items:center;font-size:19px;flex:0 0 auto}.set-header,.set-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(0,1fr) 37px;gap:8px;align-items:center}.set-header{margin:15px 0 7px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.5px}.set-row{margin-top:7px}.set-no{font-weight:800;color:var(--muted);font-size:12px;text-align:center}.field{width:100%;min-width:0;border:1px solid #e5e5e5;background:#fafbfa;color:var(--text);padding:10px 10px;border-radius:11px;outline:none}.field:focus{border-color:var(--green);background:white}.field.compact{padding:9px 7px;text-align:center;font-size:13px}.done-btn{height:35px;width:35px;border-radius:11px;background:#f2f2f2;border:1px solid #e2e2e2;color:#9aa29b;font-weight:900}.done-btn.checked{background:var(--green);border-color:var(--green);color:white}.exercise-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.progress-track{height:7px;background:#e9e9e9;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--green);border-radius:99px;transition:width .2s}.notice{padding:12px 13px;border-radius:14px;background:#ffe8e9;color:#8d141b;font-size:12px;margin:10px 0}.notice-warn{background:#fff4e4;color:#83531d}.notice-neutral{background:#f0f2ef;color:#667067}.form-stack{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#515151;min-width:0}.form-field input,.form-field select,.form-field textarea{font-weight:500}.form-field.full{grid-column:1/-1}.text-input{width:100%;min-width:0;border:1px solid var(--line);background:#fafbfa;border-radius:12px;padding:11px 12px;color:var(--text)}.text-input:focus{border-color:var(--green);outline:none;background:#fff}.text-area{min-height:80px;resize:vertical}.filter-row{display:flex;gap:7px;overflow:auto;padding:2px 0 10px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;color:#606060;font-weight:700}.filter-chip.active{background:var(--green);color:white;border-color:var(--green)}.library-item{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:13px 0}.library-item:last-child{border-bottom:0}.library-add{height:33px;width:33px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--green);background:var(--green-pale);font-size:21px;font-weight:600}.tabs{display:flex;background:#eeeeee;border-radius:13px;padding:4px;gap:3px}.tabs button{flex:1;border:0;background:transparent;border-radius:10px;padding:9px 7px;color:var(--muted);font-size:12px;font-weight:800}.tabs button.active{background:#fff;color:var(--text);box-shadow:0 2px 5px rgba(0,0,0,.05)}.chart-wrap{padding:10px 0 0}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:2px}.chart-legend{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.legend-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-cell{min-width:0;background:#f5f5f5;border-radius:12px;padding:8px 2px;text-align:center;border:1px solid transparent}.calendar-cell .cal-day{font-size:10px;color:var(--muted)}.calendar-cell .cal-date{font-size:13px;font-weight:800;margin:4px 0}.calendar-cell .cal-mark{height:5px;width:5px;border-radius:50%;background:#c6c6c6;margin:0 auto}.calendar-cell.trained .cal-mark{background:var(--green)}.calendar-cell.restday .cal-mark{background:var(--orange)}.calendar-cell.selected{border-color:var(--green);background:var(--green-pale)}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-card{border:1px solid var(--line);background:white;border-radius:18px;padding:16px;text-align:left;color:var(--text);min-height:108px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--shadow)}.menu-icon{width:39px;height:39px;border-radius:13px;background:var(--green-pale);display:grid;place-items:center;font-size:20px}.menu-title{font-weight:800;font-size:13px}.menu-sub{font-size:11px;color:var(--muted);margin-top:3px}.supplement-card{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.supplement-card:last-child{border-bottom:0}.supplement-icon{height:41px;width:41px;display:grid;place-items:center;border-radius:13px;background:#fff2df;font-size:19px}.supp-time{font-size:12px;font-weight:800;color:var(--green-dark);margin-top:3px}.day-checks{display:flex;gap:6px;flex-wrap:wrap}.day-check{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:11px;background:white;color:var(--muted);font-weight:750}.day-check input{accent-color:var(--green);margin-right:4px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-tile{position:relative;aspect-ratio:3/4;border-radius:14px;background:#eeeeee;overflow:hidden;border:1px solid var(--line)}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile .photo-label{position:absolute;bottom:0;left:0;right:0;padding:6px 5px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;font-size:10px;font-weight:800}.photo-delete{position:absolute;top:5px;right:5px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:white;font-weight:800}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,820px);padding:8px 10px calc(8px + var(--safe-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.08);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.nav-item{border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:7px 2px;color:#898989;border-radius:13px;font-size:10px;font-weight:750}.nav-icon{font-size:20px;line-height:1.1}.nav-item.active{color:var(--green-dark);background:var(--green-pale)}#toast{position:fixed;z-index:99;left:50%;bottom:calc(86px + var(--safe-bottom));transform:translate(-50%,15px);background:#171717;color:white;border-radius:14px;padding:11px 15px;max-width:calc(100vw - 32px);font-size:12px;font-weight:700;box-shadow:0 10px 25px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:all .22s}#toast.show{opacity:1;transform:translate(-50%,0)}.list-clean{padding:0;margin:0;list-style:none}.list-clean li{padding:10px 0;border-bottom:1px solid var(--line)}.list-clean li:last-child{border-bottom:0}.footer-note{text-align:center;color:#9aa19b;font-size:10px;padding:14px 10px 4px}.danger-zone{border:1px solid #f1d5d8;background:#fffafb}.rest-banner{border:1px solid #f2dfc7;background:#fff8ef;border-radius:20px;padding:17px;text-align:center}.rest-banner .rest-icon{font-size:30px}.rest-banner h3{margin:6px 0 3px}.rest-banner p{font-size:12px;color:#826344;margin:0 0 12px}.profile-big{display:flex;align-items:center;gap:14px}.avatar-big{width:62px;height:62px;border-radius:20px;background:var(--green-pale);color:var(--green-dark);display:grid;place-items:center;font-size:23px;font-weight:900}.friend-pr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.friend-pr:last-child{border:0}.spinner{width:18px;height:18px;border:2px solid #d5d5d5;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:600px){.page{padding:10px 24px 30px}.topbar{padding:25px 27px 14px}.hero{padding:25px}.hero h2{font-size:30px}.card{padding:20px}.metric-card{padding:17px}.metric-value{font-size:26px}}
@media(max-width:380px){.page{padding-left:11px;padding-right:11px}.topbar{padding-left:14px;padding-right:14px}.card{padding:14px;border-radius:19px}.hero h2{font-size:22px}.set-header,.set-row{grid-template-columns:25px minmax(0,1fr) minmax(0,1fr) 33px;gap:5px}.done-btn{width:32px;height:34px}.metric-value{font-size:20px}.grid-3{gap:6px}}

/* FOR identity: uploaded red/white logo and theme-aware profile photo. */
.hero-logo{display:block;width:min(138px,42%);height:auto;max-height:60px;object-fit:contain;object-position:left center;margin:0 0 12px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.avatar-photo{padding:0!important;overflow:hidden;background:#090909!important;flex:0 0 auto}
.avatar-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.profile-hint{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}
.theme-symbol{height:39px;width:39px;border-radius:13px;background:var(--green-pale);color:var(--green-dark);display:grid;place-items:center;font-size:22px}
.brand-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:17px 8px 4px;color:var(--muted);font-size:10px;font-weight:700}
.brand-footer img{width:62px;height:28px;object-fit:contain}
html[data-theme="dark"]{color-scheme:dark;--bg:#09090b;--card:#151518;--text:#f4f4f5;--muted:#a1a1aa;--line:#2c2c31;--green:#ff2934;--green-dark:#ff5961;--green-pale:#351316;--red:#ff515b;--red-pale:#351316;--orange:#f0ad59;--shadow:0 5px 18px rgba(0,0,0,.24)}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .card,html[data-theme="dark"] .metric-card,html[data-theme="dark"] .exercise-card,html[data-theme="dark"] .menu-card{background:var(--card);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .field,html[data-theme="dark"] .text-input,html[data-theme="dark"] .day-pill,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .filter-chip,html[data-theme="dark"] .day-check{background:#1b1b1f;border-color:#34343a;color:var(--text)}
html[data-theme="dark"] .field:focus,html[data-theme="dark"] .text-input:focus{background:#202024;border-color:var(--green);color:var(--text)}
html[data-theme="dark"] .tabs{background:#222226}
html[data-theme="dark"] .tabs button.active{background:#38383e;color:#fff}
html[data-theme="dark"] .bottom-nav{background:rgba(14,14,16,.96);border-top-color:#29292e}
html[data-theme="dark"] .nav-item{color:#8d8d96}
html[data-theme="dark"] .nav-item.active{color:#ff636a;background:#351316}
html[data-theme="dark"] .chip{background:#29292e;color:#d2d2d8}
html[data-theme="dark"] .chip-green{background:#351316;color:#ff777e}
html[data-theme="dark"] .chip-red{background:#351316;color:#ff777e}
html[data-theme="dark"] .chip-orange{background:#302315;color:#f5bd7d}
html[data-theme="dark"] .notice{background:#2d1417;color:#ffc1c5}
html[data-theme="dark"] .notice-warn{background:#302415;color:#ffd8a0}
html[data-theme="dark"] .notice-neutral{background:#222226;color:#c9c9d0}
html[data-theme="dark"] .exercise-symbol,html[data-theme="dark"] .metric-icon,html[data-theme="dark"] .menu-icon,html[data-theme="dark"] .theme-symbol{background:#351316;color:#ff777e}
html[data-theme="dark"] .done-btn{background:#222226;border-color:#39393f;color:#b4b4bc}
html[data-theme="dark"] .done-btn.checked{background:#ed1c24;border-color:#ed1c24;color:#fff}
html[data-theme="dark"] .progress-track{background:#303036}
html[data-theme="dark"] .calendar-cell{background:#1b1b1f}
html[data-theme="dark"] .calendar-cell.selected,html[data-theme="dark"] .day-pill.active{background:#351316;border-color:var(--green)}
html[data-theme="dark"] .rest-banner{background:#282016;border-color:#4a3820;color:var(--text)}
html[data-theme="dark"] .rest-banner p{color:#d3b99b}
html[data-theme="dark"] .supplement-icon{background:#302315}
html[data-theme="dark"] .danger-zone{background:#251316;border-color:#51252b}
html[data-theme="dark"] .btn-outline{border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .btn-soft{background:#351316;color:#ff777e}
html[data-theme="dark"] .btn-danger{background:#351316;color:#ff777e}
html[data-theme="dark"] .photo-tile{background:#202024}
html[data-theme="dark"] .avatar-big{background:#351316;color:#ff777e}
html[data-theme="dark"] .footer-note,html[data-theme="dark"] .brand-footer{color:#85858e}
html[data-theme="dark"] .spinner{border-color:#34343a;border-top-color:var(--green)}
@media(prefers-reduced-motion:no-preference){body, .card, .bottom-nav{transition:background-color .18s ease,color .18s ease,border-color .18s ease}}
