@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Unbounded:wght@500;700&display=swap";html,body{overflow-x:hidden;max-width:100%}:root{font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#f8f8f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#121420,#0b0c0f 55%,#07080a);overflow-x:hidden}#root{min-height:100vh}h1,h2,.brand-mark{font-family:Unbounded,Space Grotesk,sans-serif}button,input{font-family:inherit}.trainer-panel{margin-top:2rem;padding:1.5rem;background:linear-gradient(140deg,#0f1114,#121722);border-radius:12px;color:#f8f8f8;border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 30px #00000047}.trainer-header{margin-bottom:1.5rem}.trainer-header h3{margin:0;font-size:1.3rem;font-weight:600;color:#2d9cff}.trainer-subtitle{margin:0;font-size:.9rem;color:#9aa3af}.trainer-suggestions{display:grid;gap:1rem}.suggestion-card{background:#0c0e129e;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s ease}.suggestion-card:hover{background:#10141ce6;border-color:#2d9cff73;transform:translateY(-2px)}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.suggestion-title{margin:0;font-size:1.1rem;font-weight:600}.suggestion-content{margin-bottom:.75rem}.suggestion-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;margin-bottom:.75rem;font-size:1rem}.suggestion-item{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.suggestion-item.highlight{background:#2d9cff24;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(45,156,255,.35);align-items:flex-end;text-align:right}.suggestion-label{font-size:.8rem;color:#9aa3af}.suggestion-value{font-weight:700;font-size:1.1rem}.suggestion-reps{font-size:.9rem;color:#d7deea;margin-left:.5rem}.suggestion-arrow{font-size:1.2rem;color:#7fbfff}.suggestion-goal{margin-top:.6rem;padding:.6rem;border-radius:6px;background:#2d9cff14}.suggestion-goal-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08rem;color:#95b5d9;margin-bottom:.35rem}.suggestion-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .6rem}.suggestion-goal-grid strong{display:block;font-size:.86rem}.suggestion-goal-label{display:block;font-size:.68rem;color:#9aa3af}.suggestion-sets{margin-top:.6rem;padding:.6rem;background:#ffffff0a;border-radius:6px}.suggestion-sets-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08rem;color:#95b5d9;margin-bottom:.3rem}.suggestion-sets-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:.85rem}.suggestion-sets-list li{display:flex;align-items:center;gap:.5rem}.set-title{font-weight:600;color:#dfe8f5;min-width:70px}.suggestion-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;gap:1rem}.suggestion-time{color:#9aa3af}.accept-button{padding:.5rem 1rem;background:#2d9cff24;border:1px solid rgba(45,156,255,.45);border-radius:6px;color:#dce8f9;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.accept-date-input{border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#f8f8f8;padding:.35rem .5rem;font-size:.8rem}.accept-date-input:focus{outline:none;border-color:#2d9cffb3}.accept-button:hover{background:#2d9cff3d;border-color:#2d9cffbf;transform:scale(1.05)}.accept-button:active{transform:scale(.98);opacity:.9}@media(max-width:600px){.trainer-panel{padding:1rem;margin-top:1.5rem}.suggestion-card{padding:.75rem}.suggestion-row{gap:.75rem}.suggestion-value{font-size:1rem}.suggestion-reasoning{font-size:.85rem}}.trainer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.trainer-loading p{margin:0;font-size:.9rem;color:#b5b8bf}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.18);border-top-color:#2d9cffe6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{color:#f8f8f8;display:flex;flex-direction:column;gap:2rem;padding:2.5rem 1.75rem 6.5rem;position:relative;width:100%;max-width:100%;margin:0 auto}.app:before,.app:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;filter:blur(0px);opacity:.16;pointer-events:none}.app:before{top:-120px;right:-40px;background:radial-gradient(circle,#2d9cff 0%,transparent 70%)}.app:after{bottom:120px;left:-100px;background:radial-gradient(circle,#ffffff 0%,transparent 70%)}.hero{display:grid;gap:1.5rem}.brand{display:flex;flex-direction:column;gap:.4rem;text-transform:uppercase}.brand-mark{font-size:2.2rem;letter-spacing:.28rem;font-weight:700}.brand-sub{color:#b5b8bf;font-size:.85rem;letter-spacing:.12rem}.hero-card{background:linear-gradient(140deg,#0f1114,#121722);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 20px 40px #00000059}.hero-date{color:#9aa3af;font-size:.9rem;text-transform:uppercase;letter-spacing:.12rem}.hero-progress{display:flex;align-items:baseline;gap:.35rem;font-size:1.4rem;font-weight:600;color:#2d9cff;justify-content:flex-end}.hero-progress-divider{color:#6b7280}.hero-progress-label{font-size:.8rem;color:#b5b8bf;margin-left:.4rem;letter-spacing:.08rem;text-transform:uppercase}.content{display:grid;gap:1.2rem}.section{background:#0c0e12ad;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.1rem;display:grid;gap:.9rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-meta{color:#9aa3af;font-size:.8rem;letter-spacing:.08rem;text-transform:uppercase}.section-actions{display:flex;align-items:center;gap:.6rem}.home-date-row{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.6rem}.home-date-input{appearance:none;min-width:170px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#f8f8f8;padding:.4rem .7rem;font-size:.8rem}.home-date-input:focus{outline:none;border-color:#2d9cffb3}.section h2{margin:0;font-size:1.2rem;letter-spacing:.08rem;text-transform:uppercase}.ghost-button{background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#f8f8f8;padding:.4rem 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem;cursor:pointer;transition:all .2s ease}.ghost-button.is-active{border-color:#2d9cffb3;color:#2d9cff;background:#2d9cff1f}.ghost-button:hover{border-color:#2d9cff;color:#2d9cff}.icon-button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#f8f8f8;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{border-color:#2d9cff;color:#2d9cff}.icon-button.ghost{border-color:#ffffff1f;background:transparent}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.checklist-item{background:#0f1114bf;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.9rem 1rem;transition:transform .2s ease,border-color .2s ease;animation:fadeUp .45s ease forwards;opacity:0}.checklist-item:hover{transform:translateY(-2px);border-color:#2d9cff66}.checklist-item.done{background:#2d9cff14;border-color:#2d9cff80}.checklist-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.checklist-actions{display:inline-flex;align-items:center;gap:.5rem}.checklist-label{display:grid;grid-template-columns:24px 1fr;gap:.85rem;align-items:center;cursor:pointer;flex:1}.checklist-label input{display:none}.checkmark{width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;transition:all .2s ease;position:relative}.checkmark:after{content:"";width:10px;height:6px;border-left:2px solid #0a0a0a;border-bottom:2px solid #0a0a0a;transform:rotate(-45deg) scale(0);transition:transform .2s ease}.checklist-label input:checked+.checkmark{background:#2d9cff;border-color:#2d9cff}.checklist-label input:checked+.checkmark:after{transform:rotate(-45deg) scale(1)}.checklist-text{display:grid;gap:.25rem}.checklist-title{font-weight:600;font-size:1rem}.checklist-meta{color:#9aa3af;font-size:.85rem}.checklist-item.done .checklist-title{text-decoration:line-through;color:#b5b8bf}.plan-delete{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#9aa3af;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.plan-delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.plan-delete:hover{color:#ff6b6b;border-color:#ff6b6b80;background:#ff6b6b14}.record-button{width:30px;height:30px;border-radius:10px;border:1px solid rgba(45,156,255,.3);background:#2d9cff14;color:#2d9cff;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.record-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.record-button:hover{border-color:#2d9cffb3;background:#2d9cff2e}.pill-button{border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#f8f8f8;border-radius:999px;padding:.35rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;transition:all .2s ease}.pill-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.pill-button.active{color:#2d9cff;border-color:#2d9cff80}.pill-button.active svg{transform:rotate(180deg)}.setlist{list-style:none;margin:.85rem 0 0;padding:0 0 0 2.6rem;display:grid;gap:.65rem;border-left:1px dashed rgba(255,255,255,.15)}.set-item{padding-left:.5rem}.set-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.set-label{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:.65rem;cursor:pointer;flex:1}.set-label input{display:none}.set-checkmark{width:18px;height:18px;border-radius:6px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;transition:all .2s ease;position:relative}.set-checkmark:after{content:"";width:8px;height:5px;border-left:2px solid #0a0a0a;border-bottom:2px solid #0a0a0a;transform:rotate(-45deg) scale(0);transition:transform .2s ease}.set-label input:checked+.set-checkmark{background:#2d9cff;border-color:#2d9cff}.set-label input:checked+.set-checkmark:after{transform:rotate(-45deg) scale(1)}.set-text{display:grid;gap:.2rem}.set-title{font-size:.9rem;font-weight:600}.set-meta{font-size:.8rem;color:#9aa3af}.set-delete{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#9aa3af;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.set-delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.set-delete:hover{color:#ff6b6b;border-color:#ff6b6b80;background:#ff6b6b14}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.2rem;background:#0c0e12b3;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:1.2rem 1.4rem}.stat-label{color:#9aa3af;font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem}.stat-value{margin-top:.35rem;font-size:1.1rem;font-weight:600}.add-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:10;padding:1.5rem;overflow:auto;-webkit-overflow-scrolling:touch}.add-backdrop{position:absolute;inset:0;background:#050608bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.add-card{position:relative;width:min(100%,460px);max-height:calc(100vh - 3rem);overflow:auto;overscroll-behavior:contain;background:linear-gradient(150deg,#11131a,#0c0f15);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:1.8rem;display:grid;gap:1.4rem;box-shadow:0 30px 60px #00000073;animation:modalRise .3s ease forwards}.add-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.add-title{font-size:1.2rem;letter-spacing:.08rem;text-transform:uppercase;font-weight:600}.add-subtitle{color:#9aa3af;font-size:.85rem;margin-top:.25rem}.field{display:grid;gap:.5rem}.field-label{font-size:.75rem;letter-spacing:.1rem;text-transform:uppercase;color:#9aa3af}.field-input{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;padding:.8rem 1rem;color:#f8f8f8;font-size:.95rem;transition:border-color .2s ease}.field-input:focus{outline:none;border-color:#2d9cffb3}.field-input.compact{padding:.65rem .9rem;font-size:.85rem}.set-builder{display:grid;gap:.6rem}.set-builder-row{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:.6rem;align-items:center}.set-builder-title{font-size:.8rem;color:#9aa3af;text-transform:uppercase;letter-spacing:.08rem}.add-set{margin-top:.6rem;border:1px dashed rgba(255,255,255,.2);background:#ffffff08;color:#f8f8f8;border-radius:12px;padding:.55rem 1rem;font-size:.8rem;letter-spacing:.08rem;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.add-set:hover{border-color:#2d9cffb3;color:#2d9cff}.row-delete{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#9aa3af;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.row-delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.row-delete:hover{color:#ff6b6b;border-color:#ff6b6b80;background:#ff6b6b14}@media(max-width:520px){.set-builder-row{grid-template-columns:1fr 1fr;grid-template-areas:"title title" "weight reps" "trash trash"}.set-builder-title{grid-area:title}.set-builder-row .field-input.compact:nth-of-type(1){grid-area:weight}.set-builder-row .field-input.compact:nth-of-type(2){grid-area:reps}.row-delete{grid-area:trash;justify-self:end}}.add-actions{display:flex;justify-content:flex-end;gap:.8rem}.record-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:10;padding:1.5rem;overflow:auto;-webkit-overflow-scrolling:touch}.record-backdrop{position:absolute;inset:0;background:#050608bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.record-card{position:relative;width:min(100%,460px);max-height:calc(100vh - 3rem);overflow:auto;overscroll-behavior:contain;background:linear-gradient(150deg,#11131a,#0c0f15);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:1.8rem;display:grid;gap:1.4rem;box-shadow:0 30px 60px #00000073;animation:modalRise .3s ease forwards}.record-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.record-title{font-size:1.2rem;letter-spacing:.08rem;text-transform:uppercase;font-weight:600}.record-subtitle{color:#9aa3af;font-size:.85rem;margin-top:.25rem}.record-toggle-group{display:grid;gap:.45rem}.record-toggle-row{display:flex;flex-wrap:wrap;gap:.45rem}.record-toggle{border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#f8f8f8;border-radius:999px;padding:.35rem .8rem;font-size:.75rem;letter-spacing:.04rem;cursor:pointer;transition:all .2s ease}.record-toggle:hover{border-color:#2d9cffb3}.record-toggle.is-active{border-color:#2d9cffcc;color:#2d9cff;background:#2d9cff24}.record-actions{display:flex;justify-content:flex-end;gap:.8rem}.danger-button{background:#ff6b6b;color:#0a0a0a;border:none;border-radius:999px;padding:.55rem 1.4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.danger-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #ff6b6b40}.solid-button{background:#2d9cff;color:#0a0a0a;border:none;border-radius:999px;padding:.55rem 1.4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.solid-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #2d9cff40}.library,.goals{gap:1.4rem}.goals-grid{display:grid;gap:1rem}.goal-card{background:#0f1114bf;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.2rem 1.4rem;display:grid;gap:.4rem}.goal-card.is-button{text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.goal-card.is-button:hover{transform:translateY(-2px);border-color:#2d9cff66}.goal-title{font-size:1rem;font-weight:600;letter-spacing:.04rem;text-transform:uppercase;color:#f8f8f8}.goal-sub{color:#9aa3af;font-size:.9rem}.goal-detail{background:#12141ceb;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1.4rem;display:grid;gap:1rem}.goal-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.goal-detail-title{font-size:1rem;text-transform:uppercase;letter-spacing:.08rem}.goal-detail-body{color:#9aa3af;font-size:.95rem}.weight-goal-summary{padding:.6rem .8rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#f8f8f8;font-size:.9rem;margin-bottom:.6rem}.streak-summary{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1rem}.streak-summary-item{padding:.8rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;gap:.4rem}.streak-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1rem;color:#9aa3af}.streak-value{font-size:1.2rem;font-weight:600;color:#2d9cff}.weight-chart{margin-top:.8rem;padding:.75rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,#0e1218f2,#080a0eb3)}.weight-chart-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.12rem;color:#9aa3af;margin-bottom:.4rem}.weight-records{margin-top:1rem;display:grid;gap:.6rem}.weight-records-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.1rem;color:#9aa3af}.weight-record-list{display:grid;gap:.4rem}.weight-record-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .6rem;border-radius:10px;background:#080a0c80;border:1px solid rgba(255,255,255,.06)}.weight-record-date{font-size:.8rem;color:#9aa3af}.weight-record-value{font-weight:600;color:#f8f8f8}.weight-more-hint{font-size:.75rem;color:#9aa3af;text-align:center;padding:.4rem;font-style:italic}.stat-card{background:#0f1114bf;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem 1.2rem;display:grid;gap:.4rem;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.stat-card:hover{transform:translateY(-2px);border-color:#2d9cff66}.stat-label{color:#9aa3af;font-size:.8rem;text-transform:uppercase;letter-spacing:.08rem}.stat-value{font-size:1.2rem;font-weight:600;color:#2d9cff}.target-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.target-item{display:grid;padding:.7rem .85rem;border-radius:12px;background:#12141cb3;border:1px solid rgba(255,255,255,.08);color:#f8f8f8}.target-row{border:none;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;cursor:pointer}.target-name{font-weight:600}.target-row-toggle{width:22px;height:22px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:grid;place-items:center;transition:transform .2s ease,color .2s ease}.target-row-toggle svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.target-item.open .target-row-toggle{transform:rotate(180deg);color:#2d9cff}.target-panel{margin-top:.6rem;padding-top:.6rem;border-top:1px dashed rgba(255,255,255,.12)}.target-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:#f8f8f8;font-weight:600}.target-panel-name{font-size:.95rem}.target-panel-weight{font-size:.85rem;color:#2d9cff}.target-panel-message{margin-top:.35rem;color:#9aa3af;font-size:.85rem}.target-edit{display:grid;gap:.4rem;margin-top:.6rem}.target-ai-support{display:flex;align-items:center;gap:.6rem;margin-top:.6rem}.target-ai-hint{font-size:.75rem;color:#9aa3af}.ghost-button:disabled{opacity:.5;cursor:not-allowed;border-color:#ffffff14;color:#fff9}.target-chart{margin-top:.8rem;padding:.75rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,#0e1218f2,#080a0eb3)}.target-chart-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.12rem;color:#9aa3af;margin-bottom:.4rem}.target-edit-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1rem;color:#9aa3af}.target-input{width:110px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#f8f8f8;padding:.4rem .6rem;font-size:.8rem;text-align:right}.target-input:focus{outline:none;border-color:#2d9cffb3}.target-records{margin-top:.8rem;display:grid;gap:.4rem}.target-record{display:flex;align-items:center;justify-content:space-between;padding:.45rem .6rem;border-radius:10px;background:#080a0c73;color:#c4c8cf;font-size:.8rem}.target-record-date{letter-spacing:.04rem}.target-record-weight{color:#f8f8f8}.history-card{margin-top:.6rem;padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#0c0e14c7;display:grid;gap:.8rem}.history-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.6rem .8rem;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.history-summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1rem;color:#9aa3af}.history-summary-value{font-size:1.1rem;font-weight:600;color:#2d9cff}.history-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.history-month{font-size:1rem;text-transform:uppercase;letter-spacing:.08rem;color:#f8f8f8}.history-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08rem;color:#9aa3af}.history-weekdays span{text-align:center}.history-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.history-cell{min-height:42px}.history-day{border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:#d7d9de;border-radius:12px;padding:.5rem .2rem .35rem;min-height:42px;display:grid;align-items:center;justify-items:center;gap:.2rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.history-day:hover{border-color:#2d9cff80;color:#f8f8f8}.history-day-number{font-size:.85rem;font-weight:600}.history-day.has-workout{border-color:#2d9cff59;background:#2d9cff14}.history-day.is-selected{border-color:#2d9cffcc;background:#2d9cff2e;color:#f8f8f8}.history-day.is-today{box-shadow:0 0 0 1px #ffffff2e inset}.history-dot{width:6px;height:6px;border-radius:999px;background:#2d9cff}.history-records{margin-top:1rem;display:grid;gap:.75rem}.history-records-header{font-size:.9rem;text-transform:uppercase;letter-spacing:.08rem;color:#f8f8f8}.history-record-list{display:grid;gap:.5rem}.history-record-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:12px;background:#080a0c80;border:1px solid rgba(255,255,255,.06)}.history-record-main{display:grid;gap:.2rem}.history-record-edit{border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#f8f8f8;border-radius:999px;padding:.3rem .75rem;font-size:.72rem;cursor:pointer;transition:all .2s ease}.history-record-edit:hover{border-color:#2d9cffb3;color:#2d9cff}.history-notice{margin-top:1.2rem;padding:1rem 1.2rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#0a0c1073;color:#9aa3af;font-size:.85rem;line-height:1.6}.history-notice-title{color:#f8f8f8;font-size:.8rem;letter-spacing:.08rem;text-transform:uppercase;margin-bottom:.4rem}.history-record-title{font-weight:600;color:#f8f8f8}.history-record-meta{color:#9aa3af;font-size:.85rem}.library-search{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;display:grid;place-items:center;color:#9aa3af}.search-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.search-input{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;padding:.8rem 1rem .8rem 2.6rem;color:#f8f8f8;font-size:.95rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:#2d9cffb3}.library-form{display:grid;gap:1rem;background:#0c0e12b3;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:1.4rem}.library-filters,.library-actions{display:flex;justify-content:flex-end}.library-groups{display:grid;gap:1rem}.library-group{background:#0f1114bf;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.9rem 1.1rem;display:grid;gap:.6rem}.library-group-header{border:none;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;cursor:pointer}.library-group-title{font-size:.85rem;letter-spacing:.12rem;text-transform:uppercase;color:#9aa3af}.library-group-toggle{width:28px;height:28px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:grid;place-items:center;color:#9aa3af;transition:transform .2s ease,color .2s ease}.library-group-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.library-group.open .library-group-toggle{color:#2d9cff;transform:rotate(180deg)}.library-group.collapsed .library-list{display:none}.library-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.library-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:12px;background:#080a0c8c}.library-item.is-favorite{border:1px solid rgba(247,201,72,.25);background:#0d0c08b3}.library-item-actions{display:inline-flex;align-items:center;gap:.5rem}.library-favorite{width:28px;height:28px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#9aa3af;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.library-favorite svg{width:14px;height:14px;fill:currentColor}.library-favorite.is-active{border-color:#f7c948b3;background:#f7c94833;color:#ffd66b}.library-favorite:hover{border-color:#ffffff59;background:#ffffff14}.library-add{width:28px;height:28px;border-radius:10px;border:1px solid rgba(45,156,255,.4);background:#2d9cff1a;color:#2d9cff;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.library-add svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.library-add:hover{border-color:#2d9cffcc;background:#2d9cff33}.library-delete{width:28px;height:28px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0a;color:#9aa3af;display:grid;place-items:center;cursor:pointer;transition:all .2s ease}.library-delete svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.library-delete:hover{color:#ff6b6b;border-color:#ff6b6b80;background:#ff6b6b14}.empty-state{text-align:center;color:#9aa3af;border:1px dashed rgba(255,255,255,.12);border-radius:16px;padding:1.6rem;display:grid;gap:1rem;justify-items:center}.empty-title{font-size:.95rem;color:#f8f8f8}.library-form-hint,.library-hint{color:#9aa3af;font-size:.85rem}.confirm-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:12;padding:1.5rem}.confirm-backdrop{position:absolute;inset:0;background:#06070ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-card{position:relative;width:min(100%,420px);background:linear-gradient(150deg,#11131a,#0c0f15);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:1.6rem;display:grid;gap:1.1rem;box-shadow:0 24px 50px #00000073;animation:modalRise .3s ease forwards}.confirm-title{font-size:1.1rem;letter-spacing:.08rem;text-transform:uppercase;font-weight:600}.confirm-text{color:#c4c8cf;font-size:.95rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.8rem}.undo-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:#0d0f14f2;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.65rem 1rem;display:flex;align-items:center;gap:1rem;z-index:11;font-size:.85rem;animation:fadeUp .3s ease}.notice-toast{position:fixed;left:50%;bottom:140px;transform:translate(-50%);background:#0d0f14f2;border:1px solid rgba(45,156,255,.35);border-radius:999px;padding:.6rem 1rem;display:flex;align-items:center;gap:.6rem;z-index:11;font-size:.85rem;color:#cfe6ff;animation:fadeUp .3s ease}.undo-button{border:none;background:none;color:#2d9cff;font-size:.8rem;letter-spacing:.08rem;text-transform:uppercase;cursor:pointer}@keyframes modalRise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.footer-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:#090a0ceb;border-top:1px solid rgba(255,255,255,.08);padding:.75rem 1.5rem 1.2rem;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-item{background:transparent;border:none;color:#9aa3af;display:grid;justify-items:center;gap:.35rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08rem;cursor:pointer}.nav-icon{width:28px;height:28px;border-radius:12px;background:#ffffff0f;display:grid;place-items:center;transition:background .2s ease,color .2s ease}.nav-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item.active,.nav-item:hover{color:#2d9cff}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{background:#2d9cff33}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.app{max-width:720px;margin:0 auto}}
