/* TALIA / Edgerunners-inspired accent palette: coral orange, hot pink, electric magenta. */
:root{--talia-orange:#ff784b;--talia-pink:#f24f96;--talia-magenta:#df348e;--talia-ink:#241b29;--talia-glow:rgba(242,79,150,.16)}
/* Keep existing light/dark theme and layouts. Color only the visual accents. */
.talia-wordmark{background:linear-gradient(105deg,#ff9358 0%,#ff674f 40%,#f34b95 78%,#da3caa 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ff784b}
.brand b{color:var(--talia-orange)}
.btn:not(.quiet):not(.danger):not(.alt){background:linear-gradient(115deg,#ff8254 0%,#ff654e 58%,#ef568c 100%);color:#fff}
.btn:not(.quiet):not(.danger):not(.alt):active{filter:brightness(.94)}
.nav button.on,.desktopnav button.on{color:var(--talia-pink)!important}
.nav button.on svg,.desktopnav button.on svg{stroke:var(--talia-pink)}
.tag,.alt,.set button:not(.done){color:#c93f7b;background:#fff0f5}
.tabs button.on{background:linear-gradient(110deg,#ff7852,#f04e91)}
.label{letter-spacing:.015em}
.card:focus-within{border-color:rgba(242,79,150,.42)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--talia-pink);outline-offset:2px}
.today{border-color:var(--talia-orange);background:#fff1f4}
.chart div{background:linear-gradient(0deg,#ff7954,#f0579c)}
.bar div{background:linear-gradient(90deg,#ff7954,#f0579c)}
.dark .talia-wordmark{filter:drop-shadow(0 0 12px rgba(242,79,150,.16))}
.dark .nav button.on,.dark .desktopnav button.on{color:#ff80af!important}
.dark .tag,.dark .alt,.dark .set button:not(.done){background:#422839;color:#ff91b9}
.dark .today{background:#352431;border-color:#f66a9b}
.dark .card:focus-within{border-color:rgba(255,125,171,.45)}
@media(prefers-reduced-motion:reduce){.btn{transition:none!important}}

/* Atmospheric Edgerunners background — static gradients, zero animation cost. */
body:not(.dark){
 background-color:#fff7f7;
 background-image:radial-gradient(ellipse 90% 52% at 104% -5%,rgba(255,133,103,.19),transparent 72%),radial-gradient(ellipse 85% 65% at -25% 45%,rgba(242,79,150,.12),transparent 75%),radial-gradient(ellipse 85% 50% at 90% 100%,rgba(228,110,177,.10),transparent 76%),linear-gradient(160deg,#fffafa 0%,#fff7f8 45%,#fff9f6 100%);
 background-attachment:fixed;
}
body.dark{
 background-color:#14121c;
 background-image:radial-gradient(ellipse 85% 54% at 108% -10%,rgba(246,76,111,.22),transparent 73%),radial-gradient(ellipse 75% 65% at -30% 40%,rgba(177,48,130,.16),transparent 75%),radial-gradient(ellipse 85% 60% at 110% 108%,rgba(255,110,74,.10),transparent 78%),linear-gradient(160deg,#17131e 0%,#14151e 55%,#19131d 100%);
 background-attachment:fixed;
}
/* Slightly lift surfaces above the color without sacrificing legibility. */
body:not(.dark) .card,body:not(.dark) .metric{background:rgba(255,255,255,.94);border-color:#f1e3e9}
body.dark .card,body.dark .metric{background:#25232e;border-color:#403342}
body.dark .nav{background:#211d29;border-top-color:#443044}
body.dark .desktopnav{background:#201c27;border-right-color:#443044}
body:not(.dark) .nav{background:#fff9fb;border-top-color:#f0dfe6}
body:not(.dark) .desktopnav{background:#fff9fb;border-right-color:#f0dfe6}
body.dark .top{color:#f7eaf3}
/* A narrow neon edge gives the interface personality without a distracting glow. */
body.dark .card:focus-within{box-shadow:0 0 0 1px rgba(255,104,158,.13)}
@media(max-width:699px){body:not(.dark),body.dark{background-attachment:scroll}}

/* Brighter TALIA neon ambiance and more generous Home spacing. */
body.dark{background-image:radial-gradient(ellipse 90% 55% at 108% -8%,rgba(246,76,111,.29),transparent 74%),radial-gradient(ellipse 78% 65% at -30% 44%,rgba(198,52,144,.23),transparent 74%),radial-gradient(ellipse 85% 60% at 105% 110%,rgba(255,110,74,.15),transparent 76%),linear-gradient(160deg,#17131e 0%,#14151e 55%,#19131d 100%)}
body:not(.dark){background-image:radial-gradient(ellipse 90% 52% at 104% -5%,rgba(255,133,103,.27),transparent 72%),radial-gradient(ellipse 85% 65% at -25% 45%,rgba(242,79,150,.19),transparent 75%),radial-gradient(ellipse 85% 50% at 90% 100%,rgba(228,110,177,.14),transparent 76%),linear-gradient(160deg,#fffafa 0%,#fff5f8 45%,#fff8f5 100%)}
.talia-home{padding-bottom:80px}.talia-home .home-hero{margin-bottom:27px}.talia-home .home-section-head{margin-top:28px;margin-bottom:14px}.talia-home .home-stats{margin-bottom:25px}.talia-home .home-week{margin-bottom:28px}
.talia-header-theme{border:1px solid rgba(240,101,146,.3);background:rgba(245,96,147,.09);border-radius:99px;padding:8px 11px;font-size:16px;line-height:1;color:#ee6397;min-width:38px;min-height:38px;touch-action:manipulation;margin-left:auto}.talia-header-theme:active{transform:scale(.96)}.top{gap:10px}.top .brand{display:flex;align-items:center;gap:8px}.talia-avatar{width:37px;height:37px;object-fit:cover;object-position:center;border-radius:50%;border:2px solid #f56f9d;box-shadow:0 0 0 2px rgba(255,111,147,.12);flex-shrink:0}.desktopnav .brand{display:flex;align-items:center;gap:8px}.desktopnav .talia-avatar{width:33px;height:33px}@media(max-width:390px){.top .brand{gap:6px}.talia-avatar{width:33px;height:33px}}

/* Pin the bottom navigation to the device viewport and paint the safe-area inset. */
@media(max-width:699px){
html,body{min-height:100%;margin:0}
#nav.nav{position:fixed!important;inset:auto 0 0 0!important;width:100%!important;max-width:none!important;transform:none!important;bottom:0!important;z-index:1000!important;box-sizing:border-box!important;height:calc(65px + env(safe-area-inset-bottom,0px))!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;background:#fff9fb!important;border-top:1px solid #f0dfe6!important}
body.dark #nav.nav{background:#211d29!important;border-top-color:#443044!important}
#nav.nav button{min-height:0;align-self:stretch}
#app.main{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}

/* Bottom-nav correction: vertically center icons/labels instead of pinning them
   to the top of a tall iPhone safe-area container. */
@media(max-width:699px){
#nav.nav{height:calc(54px + env(safe-area-inset-bottom,0px))!important;padding:0 0 env(safe-area-inset-bottom,0px)!important;align-items:stretch!important;justify-content:space-between!important;box-shadow:0 -2px 12px rgba(32,22,37,.06)!important}
#nav.nav button{height:54px!important;max-height:54px!important;min-height:54px!important;flex:1 1 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:3px 1px!important;line-height:1.1!important}
#nav.nav button svg{width:19px!important;height:19px!important;margin:0!important}
#nav.nav button span{line-height:1.15!important}
#app.main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}
}

/* Mobile home and bottom bar: compact, predictable layout with a real safe area. */
@media(max-width:699px){
#nav.nav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;transform:none!important;height:calc(62px + env(safe-area-inset-bottom,0px))!important;padding:0 0 env(safe-area-inset-bottom,0px)!important;display:flex!important;align-items:center!important;overflow:visible!important;background:#fff9fb!important;box-shadow:0 -1px 10px rgba(25,20,34,.06)!important;z-index:2000!important}
body.dark #nav.nav{background:#211d29!important}
#nav.nav button{height:62px!important;min-height:62px!important;max-height:62px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:9px 1px 0!important;gap:3px!important;line-height:1.1!important}
#nav.nav button svg{width:20px!important;height:20px!important}
#app.main{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}
.talia-home{padding-bottom:18px!important}
.talia-home .home-intro{margin:0 0 14px!important}
.talia-home .home-intro h2{font-size:25px!important}
.talia-home .home-hero{padding:17px!important;margin-bottom:15px!important;border-radius:16px!important}
.talia-home .home-hero h3{font-size:23px!important;margin:8px 0!important}
.talia-home .home-primary{margin-top:13px!important;padding:12px 14px!important}
.talia-home .home-section-head{margin:20px 0 9px!important}
.talia-home .home-stats{gap:7px!important;margin-bottom:12px!important}
.talia-home .home-stats>div{padding:12px 9px!important}
.talia-home .home-stats strong{font-size:21px!important}
.talia-home .home-week{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin-bottom:10px!important}
.talia-home .home-day{min-height:55px!important;flex-basis:auto!important;padding:9px 11px!important;border-radius:11px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.talia-home .home-day span{margin-bottom:4px!important;font-size:10px!important}
.talia-home .home-day b{font-size:12px!important;line-height:1.2!important}
.talia-home .home-last{margin-top:14px!important;padding:13px 14px!important}
}

/* Home v3 — editorial composition, not a grid of dashboard cards. */
.talia-home-v3{max-width:690px;margin:0 auto;padding:6px 0 36px!important;color:var(--talia-ink,#24232c)}
.talia-home-v3 .th-kicker{font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:#a35b72}
.talia-home-v3 .th-greeting{padding:12px 2px 23px}
.talia-home-v3 .th-greeting h2{font-size:clamp(25px,6.3vw,34px);font-weight:760;letter-spacing:-.055em;line-height:1.13;margin:9px 0 0;max-width:340px}
.talia-home-v3 .th-feature{background:#fff8f7;border:1px solid rgba(239,113,128,.27);border-left:3px solid #ef6694;border-radius:12px;padding:24px 22px 19px;box-shadow:0 8px 28px rgba(105,43,68,.045)}
.talia-home-v3 .th-feature-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.talia-home-v3 .th-day{font-size:12px;color:#ae6577;font-weight:650}
.talia-home-v3 .th-feature h3{font-size:clamp(26px,7vw,35px);line-height:1.12;letter-spacing:-.045em;font-weight:790;margin:21px 0 9px;color:#24222b}
.talia-home-v3 .th-feature p{font-size:13px;line-height:1.5;color:#826e79;margin:0 0 25px}
.talia-home-v3 .th-start{width:100%;display:flex;align-items:center;justify-content:space-between;background:#f4775e;color:white;border:0;border-radius:9px;padding:15px 17px;font-size:14px;font-weight:750;letter-spacing:.01em;min-height:49px}
.talia-home-v3 .th-start span:last-child{font-size:22px;font-weight:400;line-height:1}
.talia-home-v3 .th-section{margin-top:32px}
.talia-home-v3 .th-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 12px}
.talia-home-v3 .th-section-title h3{font-size:17px;font-weight:750;letter-spacing:-.03em;margin:0}
.talia-home-v3 .th-section-title button{font-size:12px;color:#d45478;font-weight:700;border:0;background:transparent;padding:8px 0}
.talia-home-v3 .th-week{border-top:1px solid rgba(160,115,134,.19)}
.talia-home-v3 .th-day-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid rgba(160,115,134,.15);min-height:45px}
.talia-home-v3 .th-day-label{font-size:12px;color:#9b8793;font-weight:650}
.talia-home-v3 .th-day-plan{font-size:13px;color:#342b35;font-weight:610;overflow-wrap:anywhere}
.talia-home-v3 .th-day-row.is-today .th-day-plan{color:#ce4677;font-weight:770}
.talia-home-v3 .th-now{font-size:10px;color:#d45478;background:rgba(239,102,148,.09);padding:4px 7px;border-radius:5px;font-weight:750}
.talia-home-v3 .th-last{display:flex;flex-direction:column;gap:5px;padding:3px 2px 5px}
.talia-home-v3 .th-last strong{font-size:15px;letter-spacing:-.015em}
.talia-home-v3 .th-last span{font-size:12px;color:#95818d}
.talia-home-v3 .th-stats-link{margin-top:30px;width:100%;border:0;border-top:1px solid rgba(160,115,134,.2);padding:16px 2px 4px;background:transparent;text-align:left;color:#b94b76;font-weight:710;font-size:13px;display:flex;justify-content:space-between}
body.dark .talia-home-v3{color:#f8e9f0}
body.dark .talia-home-v3 .th-feature{background:#2a222e;border-color:#5b394c;border-left-color:#f36b9b;box-shadow:none}
body.dark .talia-home-v3 .th-feature h3,body.dark .talia-home-v3 .th-day-plan{color:#f8e8ef}
body.dark .talia-home-v3 .th-feature p{color:#c8aebd}
body.dark .talia-home-v3 .th-day-row.is-today .th-day-plan{color:#ff8eb3}
body.dark .talia-home-v3 .th-kicker{color:#f48caf}
@media(max-width:699px){
/* The nav background should end at the device bottom, not create a second blank row. */
#nav.nav{height:calc(55px + env(safe-area-inset-bottom,0px))!important;min-height:0!important;padding:0 0 env(safe-area-inset-bottom,0px)!important;align-items:flex-start!important;box-sizing:border-box!important}
#nav.nav button{height:55px!important;min-height:55px!important;max-height:55px!important;padding:4px 1px 2px!important;justify-content:center!important}
#nav.nav button svg{width:19px!important;height:19px!important}
#app.main{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))!important}
.talia-home-v3 .th-feature{padding:21px 19px 18px}
.talia-home-v3 .th-section{margin-top:27px}
}


/* TALIA editorial system — shared by every tab, preserving all controls. */
#app.main{max-width:760px;margin-inline:auto}
#app.main>h2,#app.main>.between>h2{font-size:clamp(25px,6vw,31px);font-weight:780;letter-spacing:-.045em;line-height:1.14;margin:12px 0 22px}
#app.main>.between{align-items:center;margin-bottom:18px}
#app.main>.between>h2{margin:0}
#app.main .label{color:#8d7c88;font-size:12px;font-weight:670;letter-spacing:.01em}
#app.main input,#app.main select,#app.main textarea{border-radius:9px;min-height:43px;border-color:#e7dce2;background:#fffdfd;color:#27222b}
#app.main .btn{border-radius:9px;box-shadow:none;letter-spacing:0}
#app.main .btn:not(.alt):not(.quiet):not(.danger){background:#f47660}
#app.main .tabs{gap:3px;border-bottom:1px solid rgba(157,110,132,.18);padding:0 0 3px;margin:3px 0 18px;scrollbar-width:none}
#app.main .tabs::-webkit-scrollbar{display:none}
#app.main .tabs button{background:transparent;color:#857681;border-radius:0;border-bottom:2px solid transparent;font-size:13px;font-weight:640;padding:11px 12px}
#app.main .tabs button.on{background:transparent!important;color:#ce4e7b;border-color:#e45d8d}
#app.main .row{border-bottom:1px solid rgba(157,110,132,.15);padding:14px 2px}
#app.main .tag{border-radius:5px;padding:5px 8px;font-size:11px;background:#fff0f3;color:#c14c77}
#app.main .card{border-radius:11px;border:1px solid rgba(166,122,140,.16);background:rgba(255,253,253,.75);box-shadow:none;margin-bottom:13px}
#app.main .card.empty{background:transparent;border:1px dashed rgba(157,110,132,.26);padding:32px 16px;color:#92818b}
#app.main .metric{border:0;border-right:1px solid rgba(157,110,132,.18);border-radius:0;background:transparent;box-shadow:none;padding:8px 12px}
#app.main .metric:last-child{border-right:0}
#app.main .metric .num{font-size:clamp(21px,5vw,29px);letter-spacing:-.05em}
#app.main .grid{gap:0;border-bottom:1px solid rgba(157,110,132,.16);margin-bottom:22px;padding-bottom:12px}
#app.main .chart{background:transparent;border:0;box-shadow:none}
/* Library: search and filters are tools, not decorative cards. */
body[data-talia-page="Library"] #libResults{background:transparent!important;border:0!important;padding:0!important;margin-top:10px!important}
body[data-talia-page="Library"] #app .tabs{margin-bottom:10px}
/* History: a calm chronological list, with controls kept visible. */
body[data-talia-page="History"] #app>.card:not(.empty){background:transparent;border:0;border-bottom:1px solid rgba(157,110,132,.23);border-radius:0;padding:17px 2px 20px;margin:0}
body[data-talia-page="History"] #app>.card .row{padding:9px 0}
/* Settings: section headings and quiet dividers replace repeated tiles. */
body[data-talia-page="Settings"] #app>.card{background:transparent;border:0;border-bottom:1px solid rgba(157,110,132,.22);border-radius:0;padding:19px 2px 24px;margin:0}
body[data-talia-page="Settings"] #app>.card h3{font-size:16px;letter-spacing:-.025em;margin-bottom:17px}
/* Records: reduce visual noise without hiding PR controls. */
body[data-talia-page="Records"] #app .record-card,body[data-talia-page="Records"] #app .record-goal-card{border-radius:11px;box-shadow:none}
/* The active workout keeps a clear hierarchy and comfortable touch targets. */
body[data-talia-page="Workout"] #app .talia-workspace .talia-workspace-header h2{letter-spacing:-.045em}
body.dark #app.main .card{background:rgba(42,34,46,.62);border-color:rgba(236,159,195,.16)}
body.dark #app.main input,body.dark #app.main select,body.dark #app.main textarea{background:#29232f;border-color:#493747;color:#f5e8f0}
body.dark #app.main .metric{background:transparent;border-color:rgba(236,159,195,.18)}
body.dark #app.main .tabs button{color:#c3a9ba}
body.dark #app.main .tabs button.on{color:#ff94b8}
body.dark #app.main .card.empty{background:transparent;border-color:#54404f}
body.dark[data-talia-page="History"] #app>.card:not(.empty),body.dark[data-talia-page="Settings"] #app>.card{background:transparent;border-color:rgba(236,159,195,.2)}
@media(max-width:699px){#app.main{padding-inline:17px!important}#app.main>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}#app.main .metric{min-width:0}#app.main .tabs button{padding-inline:10px}#app.main>.between{gap:12px}}

/* iOS Safari: 16px inputs prevent automatic focus zoom while logging sets. */
@media(max-width:699px){
input,textarea,select,#app.main input,#app.main select,#app.main textarea,.talia-workspace input,.talia-workspace select,.talia-exercise-block input{font-size:16px!important;line-height:1.3!important}
}
