/* TRAINING PROTOCOL 2.3 — understated, soft, consistent visual language. */
:root{
 --bg:var(--tp-bg);--panel:var(--tp-surface);--panel2:var(--tp-surfaceAlt);--line:var(--tp-border);
 --red:var(--tp-accent);--red-dark:var(--tp-accentHover);--white:var(--tp-heading);--text:var(--tp-text);
 --muted:var(--tp-muted);--mint:var(--tp-success);--gold:var(--tp-warning);--rounded:10px;
 --ease:cubic-bezier(.22,.61,.36,1);
}
html{font-size:14px;}
body{font-family:"Manrope","Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:13px;line-height:1.65;font-weight:500;background:var(--bg);background-image:radial-gradient(ellipse at 85% 0%,color-mix(in srgb, var(--tp-bg) 37.6%, transparent) 0,transparent 50%);}
body::before{opacity:.11;background-size:92px 92px;animation:none;mask-image:linear-gradient(black,transparent 48%);}
body::after{display:none;}
button,input,select,textarea{font-family:inherit;letter-spacing:normal;}
.btn,.square-btn,.day-card,.dm-slot,.check-task,.kb-card,.metric,.panel,.counter-task,.dm-task,.mobile-dock button,
.field-input,.field-select,.field-textarea{border-radius:10px;}
.panel,.kb-section{background:var(--panel);border:1px solid var(--tp-border);border-radius:14px;box-shadow:0 2px 9px color-mix(in srgb, var(--tp-shadow) 7.1%, transparent);overflow:hidden;}
.metric,.kb-card,.counter-task,.dm-task,.check-task{background:var(--tp-card);border:1px solid var(--tp-border);box-shadow:none;}
.metric::after{opacity:.25;}
.section-title,.group-title,.kb-head h2,.rest-message h3,.hero h1,.kb-banner h1,.brand-name,.auth-panel h1{font-family:"Onest","Manrope",system-ui,sans-serif;font-weight:750;letter-spacing:-.035em;text-transform:none;}
.hero h1,.kb-banner h1{font-weight:800;letter-spacing:-.05em;line-height:1.07;}
.hero h1 span,.kb-banner h1 span{color:var(--red);}
.brand-name{font-size:16px;letter-spacing:-.02em;}.brand-name small{font-family:"Manrope",sans-serif;letter-spacing:.11em;font-weight:600;font-size:9px;}
.brand-icon{border-radius:10px;clip-path:none;font-size:21px;font-weight:800;}
.eyebrow,.section-mark{letter-spacing:.09em;font-weight:750;font-size:11px;}
.section-title{font-size:18px;}
.section-sub,.metric-desc,.task-helper,.day-subtitle,.hint,.settings-block p{font-size:12px;line-height:1.65;}
.metric-label,.group-note,.day-card .dow,.day-card .status,.task-end,.slot-number{font-size:11px;letter-spacing:.03em;font-weight:650;}
.metric-number,.counter-qty,.day-card .date,.daily-percent{font-family:"Onest","Manrope",sans-serif;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
.metric-number{font-size:34px;}.task-title{font-size:13px;font-weight:700;}
.btn{border-radius:9px;font-size:12px;letter-spacing:0;font-weight:700;transition:background-color .21s var(--ease),border-color .21s var(--ease),transform .21s var(--ease);}
.btn.primary{background:var(--red);border-color:var(--red);color:var(--tp-accentText);}
.btn.primary:hover:not(:disabled){background:var(--tp-accentHover);}
.btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--tp-accent);}
.btn:active:not(:disabled){transform:scale(.985);}
.square-btn{transition:background-color .18s var(--ease),transform .18s var(--ease);}
.square-btn:active:not(:disabled){transform:scale(.94);}
.day-card{transition:border-color .22s var(--ease),background-color .22s var(--ease),transform .22s var(--ease);}
.day-card:hover{transform:translateY(-1px);border-color:var(--tp-accent);}
.day-card.selected{background:var(--tp-selected);box-shadow:inset 0 2px 0 var(--red);}
.day-card.rest{background:var(--tp-rest);}.day-card.paused{background:var(--tp-paused);}
.kb-card{transition:border-color .23s var(--ease),background-color .23s var(--ease);}
.kb-card:hover{border-color:var(--tp-accent);background:var(--tp-surfaceAlt);}
.field-input,.field-select,.field-textarea{font-size:13px;padding:11px 13px;background:var(--tp-input);border-color:var(--tp-border);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--tp-accent) 7.8%, transparent);}
.checkbox-visual,.dm-slot,.group-index{border-radius:7px;clip-path:none;}
.group-index{background:var(--tp-accent);font-weight:750;}
.panel-head{border-color:var(--tp-border);}.panel-head::after{display:none!important;}
.thin-bar{border-radius:8px;height:5px;}.thin-bar>div{border-radius:8px;transition:width .45s var(--ease);}
.chart-bar{border-radius:5px 5px 0 0;box-shadow:none;}
.status-pill{letter-spacing:.025em;font-size:11px;font-weight:700;border-radius:999px;}
.status-pill .dot{box-shadow:none;animation:none;}
.level-badge{clip-path:none;border-radius:16px;font-weight:750;background:var(--tp-accent);}
.modal-backdrop{z-index:90;background:color-mix(in srgb, var(--tp-overlay) 73.7%, transparent);backdrop-filter:blur(5px);}
.modal{border-radius:15px;border-color:var(--tp-border);box-shadow:0 18px 55px color-mix(in srgb, var(--tp-shadow) 53.3%, transparent);}
.modal-head,.modal-footer{background:var(--tp-modal);}
.settings-block h3{font-size:13px;font-weight:750;letter-spacing:.01em;color:var(--tp-accent);text-transform:none;}
.modal .field-label{font-size:12px;font-weight:650;}
.kb-banner h1,.hero h1{color:var(--white);}
.kb-section h2{text-transform:none;}
.kb-banner-icon{border-radius:12px;transform:none;font-size:54px;}
.toast{border-radius:10px;font-weight:650;transition:opacity .22s var(--ease),transform .22s var(--ease);}
.auth-panel{font-family:"Manrope",sans-serif;}
/* Small, deliberate entrance motion for major panels only. */
@keyframes calm-enter{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.hero,.kb-banner,.metrics{animation:calm-enter .4s var(--ease) both;}
/* Password account settings: isolated from Save Training Settings. */
.account-address{font-size:12px;color:var(--tp-text);overflow-wrap:anywhere;}
.account-details{border:1px solid var(--tp-border);border-radius:10px;background:var(--tp-surface);overflow:hidden;}
.account-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 16px;color:var(--tp-heading);font-weight:750;font-size:13px;list-style:none;}
.account-details summary::-webkit-details-marker{display:none;}
.account-details summary span{color:var(--tp-accent);transition:transform .2s var(--ease);}
.account-details[open] summary span{transform:rotate(180deg);}
.account-details form{border-top:1px solid var(--tp-border);padding:16px;display:flex;flex-direction:column;gap:14px;}
.password-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.password-fields label:first-child{grid-column:1/-1;}
.password-fields .field-input{margin-top:7px;}
.password-verify{display:flex;align-items:flex-start;flex-direction:column;gap:9px;}
.password-verify .hint{margin:0;}
.password-challenge{width:100%;}.password-challenge label{display:block;}.password-challenge input{max-width:280px;margin-top:6px;}
.password-status{font-size:12px;color:var(--tp-text);min-height:1em;line-height:1.5;}
.password-status.error{color:var(--tp-danger);}.password-status.success{color:var(--tp-success);}
.account-submit{align-self:flex-start;min-height:43px;}
@media(max-width:760px){
 .mobile-dock{background:color-mix(in srgb, var(--tp-nav) 96.9%, transparent);border-top:1px solid var(--tp-border);box-shadow:0 -6px 20px color-mix(in srgb, var(--tp-shadow) 33.3%, transparent);backdrop-filter:blur(14px);}
 .mobile-dock button{border-radius:10px;}
 .mobile-dock button[aria-current="page"]{color:var(--tp-accent);background:color-mix(in srgb, var(--tp-navActive) 11.0%, transparent);border-color:color-mix(in srgb, var(--tp-accent) 22.7%, transparent);}
 .counter-actions [data-action="count-up"]{background:var(--red);border-color:var(--red);box-shadow:none;color:var(--tp-accentText);}
 .top-actions .cloud-user-btn{font-size:11px;}
 .metric{min-height:102px;}
 .password-fields{grid-template-columns:1fr;}
}
@media(max-width:390px){.brand-name{font-size:12px;}}
