/* ===== v80 Hearth glow: whole-app phone + PC polish ===== */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
body{letter-spacing:-.005em}
h1{letter-spacing:-.4px;line-height:1.12}h2,h3{letter-spacing:-.2px}
.wmain .card{border-radius:18px;border:1px solid var(--line);box-shadow:0 1px 0 color-mix(in srgb,#fff 4%,transparent) inset,0 10px 28px -18px rgba(0,0,0,.6)}
.wmain .card .card{box-shadow:none}
button,.btn{transition:transform .12s ease,background-color .15s,box-shadow .15s,opacity .15s}
button:active{transform:scale(.97)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
input,select,textarea{border-radius:12px}
.wgoal{min-height:32px;padding:4px 10px}
::selection{background:color-mix(in srgb,var(--acc) 45%,transparent)}
/* scrollbars */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 18%,transparent) transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 18%,transparent);border-radius:8px}
/* PC */
@media(min-width:901px){
 .wmain{padding-left:clamp(20px,3vw,40px)!important;padding-right:clamp(20px,3vw,40px)!important}
 .wmain>*{max-width:1180px;margin-left:auto;margin-right:auto}
 nav.side .navb{border-radius:12px;min-height:40px}
 nav.side .navb:hover:not(.on){background:color-mix(in srgb,var(--ink) 7%,transparent)}
}
/* Phone */
@media(max-width:900px){
 .wmain{padding-left:max(14px,env(safe-area-inset-left))!important;padding-right:max(14px,env(safe-area-inset-right))!important;padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;padding-top:max(10px,env(safe-area-inset-top))}
 .wmain .card{border-radius:20px;padding:16px}
 .wmain h1{font-size:25px}
 .wmain button{min-height:44px}
 .wmain .wgoal{min-height:32px}
 nav.side.v2{padding-bottom:max(6px,env(safe-area-inset-bottom))!important;background:color-mix(in srgb,var(--card) 82%,transparent)!important;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--line);box-shadow:0 -10px 30px -12px rgba(0,0,0,.55)}
 nav.side.v2 .navb{min-height:52px;font-size:11px;font-weight:800;letter-spacing:.1px;position:relative;background:none!important;color:var(--mut)}
 nav.side.v2 .navb .i{display:grid;place-items:center;width:52px;height:30px;border-radius:999px;margin:0 auto 2px;transition:background .2s,color .2s}
 nav.side.v2 .navb.on{color:var(--ink)}
 nav.side.v2 .navb.on .i{background:color-mix(in srgb,var(--acc) 26%,transparent);color:var(--acc)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
