:root{color-scheme:light;--bg-0:#FAF7F4;--bg-1:#F5F0EB;--ink-strong:#2C2420;--ink:#4A3F38;--ink-soft:#8A7E76;--line:rgba(44,36,32,0.08);--line-strong:rgba(44,36,32,0.14);--card:rgba(255,255,255,0.72);--card-strong:rgba(255,255,255,0.9);--accent:#B8784E;--accent-2:#C99A6D;--accent-glow:rgba(184,120,78,0.25);--accent-soft:rgba(184,120,78,0.08);--success:#6B8F71;--warning:#C49A3C;--danger:#C25B4D;--radius-lg:24px;--radius-md:16px;--radius-sm:12px;--shadow-soft:0 12px 40px rgba(44,36,32,0.06);--shadow-card:0 14px 34px rgba(44,36,32,0.07)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg-0:#0F0D0B;--bg-1:#1A1614;--ink-strong:#F5F0EB;--ink:#D4CBC3;--ink-soft:#9A8E84;--line:rgba(212,203,195,0.12);--line-strong:rgba(212,203,195,0.2);--card:rgba(26,22,20,0.66);--card-strong:rgba(26,22,20,0.88);--accent:#D4976A;--accent-2:#B8784E;--accent-glow:rgba(212,151,106,0.3);--accent-soft:rgba(212,151,106,0.1);--shadow-soft:0 18px 34px rgba(0,0,0,0.5);--shadow-card:0 18px 34px rgba(0,0,0,0.5)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{width:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(78% 45% at 8% 0,rgba(184,120,78,.08) 0,transparent 100%),radial-gradient(80% 50% at 100% 0,rgba(201,154,109,.1) 0,transparent 100%),linear-gradient(180deg,var(--bg-0) 0,var(--bg-1) 100%);min-height:100dvh;letter-spacing:-.01em}a{color:inherit;text-decoration:none}main{max-width:520px;margin:0 auto;min-height:100dvh;padding:calc(env(safe-area-inset-top) + .8rem) .9rem calc(env(safe-area-inset-bottom) + 6.6rem)}.header{position:-webkit-sticky;position:sticky;top:calc(env(safe-area-inset-top) + .35rem);z-index:30;display:flex;justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:1rem;padding:.9rem 1rem;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(160deg,rgba(255,253,250,.88),rgba(255,253,250,.68));-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%)}.brand{font-size:1.18rem;font-weight:700;color:var(--ink-strong);line-height:1.1}.small{margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.45}.nav{position:fixed;left:.9rem;right:.9rem;bottom:calc(env(safe-area-inset-bottom) + .6rem);z-index:45;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;grid-gap:.45rem;gap:.45rem;padding:.45rem;border-radius:20px;border:1px solid var(--line);box-shadow:0 20px 40px rgba(44,36,32,.12);background:linear-gradient(180deg,rgba(255,253,250,.92),rgba(250,247,244,.84));-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%)}.nav a{min-height:48px;border-radius:14px;border:1px solid transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.24rem;color:var(--ink-soft);font-size:.69rem;font-weight:600;transition:transform .17s ease,color .16s ease,background-color .16s ease}.nav a:active{transform:scale(.97)}.nav .nav-icon{width:24px;height:24px;border-radius:999px;display:grid;place-items:center}.nav .nav-icon-glyph{width:17px;height:17px}.nav a.nav-active,.nav a[aria-current=page]{color:#5C3D26;border-color:rgba(184,120,78,.2);background:linear-gradient(160deg,rgba(184,120,78,.12),rgba(201,154,109,.08))}.nav a.nav-active .nav-icon,.nav a[aria-current=page] .nav-icon{background:linear-gradient(160deg,rgba(184,120,78,.2),rgba(201,154,109,.16))}.nav-label{line-height:1}.grid{display:grid;grid-gap:.82rem;gap:.82rem}.card{position:relative;border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(160deg,var(--card-strong),var(--card));box-shadow:var(--shadow-card);padding:1rem;overflow:hidden;animation:card-enter .32s ease-out both}.grid>.card:nth-child(2){animation-delay:40ms}.grid>.card:nth-child(3){animation-delay:80ms}.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(150deg,rgba(255,255,255,.45),transparent 42%)}h2,h3{margin:0 0 .58rem;font-size:1.02rem;letter-spacing:-.02em;color:var(--ink-strong)}label{display:block;margin-bottom:.42rem;font-weight:600;font-size:.88rem;color:var(--ink)}button,input,select,textarea{width:100%;min-height:48px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);padding:.68rem .78rem;font:inherit;color:var(--ink);background:rgba(255,255,255,.85)}input,select,textarea{margin-bottom:.62rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(184,120,78,.45);outline-offset:2px}a:focus-visible{outline:3px solid rgba(184,120,78,.45);outline-offset:2px;border-radius:4px}button{border:0;font-weight:650;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 8px 18px var(--accent-glow);transition:transform .13s ease,filter .14s ease;cursor:pointer}button:hover{filter:brightness(1.03)}button:active{transform:scale(.985)}button.secondary{background:rgba(255,255,255,.9);color:var(--ink-strong);border:1px solid var(--line);box-shadow:none}button:disabled{opacity:.58;cursor:not-allowed}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .56rem;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge.high{color:#943131;background:rgba(194,91,77,.13)}.badge.medium{color:#8B6D1F;background:rgba(196,154,60,.16)}.badge.low{color:#4A6F50;background:rgba(107,143,113,.16)}.kpi{margin:.22rem 0;font-size:2.1rem;font-weight:760;letter-spacing:-.04em;color:var(--ink-strong)}.row{display:flex;gap:.72rem;align-items:center;flex-wrap:wrap}.footer-note{margin-top:.8rem;padding:.9rem .4rem 0}.footer-note p{margin:0 0 .48rem}.legal-links{display:flex;gap:.72rem;flex-wrap:wrap}.legal-links a{color:var(--accent);font-size:.83rem;text-decoration:underline}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:100%;border-radius:var(--radius-sm);font-weight:650;color:#fff;background:linear-gradient(145deg,var(--accent),var(--accent-2));box-shadow:0 8px 18px var(--accent-glow)}.state-panel{border:1px solid var(--line);border-radius:14px;padding:.85rem;background:rgba(255,255,255,.5)}.state-panel h3{margin:.3rem 0 .4rem}.state-orb{width:48px;height:48px;border-radius:999px}.state-orb.empty{background:radial-gradient(circle at 30% 30%,rgba(201,154,109,.6),rgba(184,120,78,.5))}.state-orb.error{background:radial-gradient(circle at 30% 30%,rgba(194,91,77,.6),rgba(194,91,77,.8))}.skeleton{display:grid;grid-gap:.4rem;gap:.4rem}.skeleton-line{height:13px;border-radius:999px;background:linear-gradient(95deg,rgba(184,120,78,.08),rgba(184,120,78,.18),rgba(184,120,78,.08));background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-line:nth-child(2){width:85%}.skeleton-line:nth-child(3){width:65%}.skeleton-line:nth-child(4){width:55%}.progress-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.progress-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s ease}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes card-enter{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes score-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes celebration{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@media (min-width:860px){main{max-width:980px;padding:1.25rem 1.25rem 1.5rem}.header{top:.7rem}.nav{position:static;width:auto;left:auto;right:auto;bottom:auto;border:0;box-shadow:none;padding:0;gap:.38rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex}.nav a{min-height:40px;min-width:90px;padding:.4rem .66rem;flex-direction:row;font-size:.76rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,250,.76)}.nav .nav-icon{width:18px;height:18px}.nav .nav-icon-glyph{width:14px;height:14px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}.skip-link{position:absolute;top:-100%;left:1rem;z-index:999;padding:.6rem 1rem;border-radius:var(--radius-sm);font-weight:650;color:#fff;background:var(--accent);text-decoration:none}.skip-link:focus{top:calc(env(safe-area-inset-top) + .5rem)}.sw-update-toast{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 6rem);left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--card-strong);box-shadow:var(--shadow-soft);font-size:.85rem;font-weight:600;color:var(--ink-strong);white-space:nowrap}.sw-update-toast button{width:auto;min-height:34px;padding:.3rem .7rem;font-size:.8rem}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (prefers-contrast:more){:root{--line:rgba(44,36,32,0.3);--line-strong:rgba(44,36,32,0.4);--ink-soft:#5C4A3E}button:focus,input:focus,select:focus,textarea:focus{outline:3px solid var(--accent);outline-offset:2px}.badge.high{color:#7A2020}.badge.medium{color:#6E4500}.badge.low{color:#3D5C42}}