:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#f1e8d6;background:#14110c;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #14110c;--ink: #f1e8d6;--muted: #a2967f;--ink-70: rgba(241, 232, 214, .7);--card: #201b14;--card-border: #332b1f;--line: #2e2718;--gold: #c9a35f;--gold-bright: #e6c98a;--gold-deep: #8c6e40;--success: #7d9a80;--warn: #c07a52;--danger: #c26a5c;--on-gold: #241c0f;--shadow: 0 18px 50px rgba(0, 0, 0, .38)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}.page-shell{width:min(100%,520px);margin:0 auto}.page{padding:22px 20px 38px}.topbar,.simple-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.simple-header{display:block}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-family:Songti SC,STSong,serif;font-size:clamp(28px,8vw,38px);font-weight:600;letter-spacing:-.03em}h2{margin-bottom:10px;font-family:Songti SC,STSong,serif;font-size:24px}.eyebrow{margin-bottom:7px;color:var(--gold-deep);font-size:10px;font-weight:700;letter-spacing:.17em}.muted{color:var(--muted);line-height:1.7}.avatar{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--card-border);border-radius:50%;color:var(--gold);background:var(--card)}.page-enter{animation:page-enter .3s ease-out}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.brand-lockup{display:grid;justify-items:start;gap:4px}.brand-lockup-title{margin:0;color:var(--ink);font-size:16px;font-weight:700;letter-spacing:.02em}.brand-lockup-sub{margin:0;color:var(--muted);font-size:10.5px;letter-spacing:.3em}.brand-lockup-line{width:64px;height:1px;margin:4px 0 3px;background:linear-gradient(90deg,var(--gold),transparent)}.brand-lockup-scene{margin:0;color:var(--gold);font-size:10.5px;letter-spacing:.12em}.hero-card{position:relative;display:grid;grid-template-columns:1.35fr .65fr;min-height:250px;overflow:hidden;padding:28px 24px;border:1px solid var(--card-border);border-radius:28px;color:var(--ink);background:linear-gradient(160deg,#3a2f1d,#221b10 55%,#14110c);box-shadow:var(--shadow)}.hero-card:before{content:"";position:absolute;inset:-12%;pointer-events:none;background:radial-gradient(circle at 78% 18%,rgba(230,201,138,.26),transparent 42%),radial-gradient(circle at 18% 82%,rgba(201,163,95,.14),transparent 46%);animation:slow-drift 14s ease-in-out infinite alternate}.hero-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 42%,rgba(20,17,12,.72))}@keyframes slow-drift{0%{transform:translate(-2.5%,-2.5%) scale(1)}to{transform:translate(2.5%,2.5%) scale(1.05)}}.hero-copy{position:relative;z-index:1}.hero-copy h2{margin-top:26px;font-size:30px}.hero-copy p{max-width:250px;color:var(--ink-70);font-size:14px;line-height:1.65}.chip{padding:7px 11px;border:1px solid rgba(201,163,95,.45);border-radius:999px;color:var(--gold-bright);font-size:11px}.face-orbit{position:absolute;right:-44px;bottom:-50px;width:210px;height:240px;border:1px solid rgba(201,163,95,.32);border-radius:52% 48% 46% 54%;transform:rotate(12deg)}.face-orbit:before{content:"";position:absolute;inset:18px;border:1px solid rgba(201,163,95,.2);border-radius:inherit}.face-mark{position:absolute;left:62px;top:72px;color:var(--gold-bright);font-size:26px}.primary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:0;border-radius:999px;color:var(--on-gold);background:linear-gradient(180deg,var(--gold-bright),var(--gold));font-weight:700;box-shadow:0 8px 22px #00000052;cursor:pointer}.primary-button.full{width:100%}.primary-button:disabled{opacity:.45;cursor:not-allowed}.credit-card{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:20px 22px;border:1px solid var(--card-border);border-radius:22px;background:var(--card)}.credit-card p{margin-bottom:5px;color:var(--muted);font-size:12px}.credit-card strong{color:var(--ink)}.page-intro{margin:-12px 0 20px;color:var(--muted);font-size:13px;line-height:1.7}.rights-list{display:grid;gap:14px}.rights-card{padding:20px;border:1px solid var(--card-border);border-radius:22px;background:var(--card);box-shadow:0 10px 30px #00000047}.rights-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.rights-title span{color:var(--gold);font-size:11px;font-weight:700}.rights-title h2{margin:4px 0 0;font-size:21px}.rights-title>strong{color:var(--gold-bright);font-size:34px;line-height:1;text-align:right}.rights-title small{display:block;margin-top:5px;color:var(--ink-70);font-size:10px;font-weight:500}.rights-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 14px}.rights-card dl div{padding:12px;border-radius:14px;background:#1a1610}.rights-card dt{color:var(--ink-70);font-size:11px}.rights-card dd{margin:4px 0 0;font-size:19px;font-weight:700}.rights-card time{color:var(--ink-70);font-size:11px}.credit-count{display:flex;align-items:baseline;gap:5px;color:var(--muted);font-size:12px}.credit-count strong{color:var(--ink);font-family:Georgia,serif;font-size:20px}.section-block{margin-top:32px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading a{margin-bottom:11px;color:var(--gold);font-size:13px}.empty-card{display:grid;place-items:center;padding:32px 20px;border:1px dashed rgba(140,110,64,.55);border-radius:22px;color:var(--muted);background:#201b1499;text-align:center}.empty-card h3{margin:12px 0 7px;color:var(--ink)}.empty-card p{max-width:300px;margin-bottom:0;font-size:13px;line-height:1.65}.empty-card .primary-button{margin-top:18px}.empty-card.tall{min-height:300px}.empty-icon{font-size:32px;color:var(--gold)}.empty-face{width:72px;height:auto;color:var(--gold)}.latest-report{display:flex;align-items:end;justify-content:space-between;padding:22px;border:1px solid var(--card-border);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.latest-report>div{display:grid;gap:7px}.latest-report>div:last-child{color:var(--muted);font-size:12px;text-align:right}.latest-report>div:last-child span{color:var(--gold-bright)}.latest-report>div:first-child span{color:var(--muted);font-size:12px}.latest-report>div:first-child strong{color:var(--gold-bright);font:48px/1 Georgia,serif}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;justify-content:space-around;padding:9px max(16px,calc((100vw - 520px)/2)) calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#14110ceb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:grid;min-width:76px;place-items:center;gap:2px;color:var(--ink-70);font-size:11px}.bottom-nav a.active{color:var(--gold)}.nav-icon{font-size:23px;line-height:1}.claim-page{min-height:100vh;background:var(--bg)}.claim-visual{position:relative;display:grid;min-height:38vh;place-content:center;color:var(--ink);background:radial-gradient(circle at 30% 20%,rgba(230,201,138,.24),transparent 45%),linear-gradient(145deg,#3a2f1d,#191409);text-align:center}.claim-visual .brand-lockup{position:absolute;top:calc(16px + env(safe-area-inset-top));left:18px;text-align:left}.brand-mark{color:var(--gold);letter-spacing:.2em;font-size:11px}.claim-number{color:var(--gold-bright);font-family:Georgia,serif;font-size:92px;line-height:.95}.claim-panel{width:min(100%,520px);margin:-24px auto 0;padding:30px 24px calc(50px + env(safe-area-inset-bottom));border:1px solid var(--card-border);border-bottom:0;border-radius:28px 28px 0 0;background:var(--card)}.claim-panel label{display:block;margin-top:20px;color:var(--muted);font-size:13px}.claim-panel input[type=tel],.claim-panel input[inputmode=numeric]{width:100%;margin-top:8px;padding:15px 0;border:0;border-bottom:1px solid var(--line);outline:none;color:var(--ink);background:transparent}.claim-panel input::placeholder{color:var(--ink-70)}.inline-field{display:flex;align-items:end;gap:12px}.text-button{flex:none;padding:12px 0;border:0;color:var(--gold);background:transparent}.text-button.full{width:100%}.claim-panel .consent-row{display:flex;align-items:center;gap:9px;margin:24px 0;font-size:12px}.consent-row input{accent-color:var(--gold)}.alert,.notice-card{margin:20px 0;padding:14px 16px;border:1px solid rgba(192,122,82,.35);border-radius:14px;color:var(--ink);background:#c07a521f;font-size:13px;line-height:1.6}.dev-hint{margin-top:9px;color:var(--warn);font-size:12px}.verified-row{margin:22px 0 0;padding:15px;border:1px solid rgba(125,154,128,.35);border-radius:14px;color:var(--success);background:#7d9a801f;font-size:13px}.camera-frame{position:relative;display:grid;min-height:320px;place-items:center;align-content:center;gap:18px;overflow:hidden;padding:28px 20px;border:1px solid var(--card-border);border-radius:28px;background:radial-gradient(circle at 70% 16%,rgba(230,201,138,.12),transparent 44%),linear-gradient(180deg,#262016,#171310)}.recapture-reference{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:13px;margin-bottom:14px;padding:10px;border:1px solid var(--card-border);border-radius:16px;background:var(--card)}.recapture-reference img{width:64px;height:74px;border-radius:11px;object-fit:cover}.recapture-reference div{display:grid;gap:6px}.recapture-reference span{color:var(--ink-70);font-size:11px;line-height:1.5}.face-guide{width:132px;height:172px;border:2px solid var(--gold-deep);border-radius:48% 48% 44% 44%;animation:guide-breathe 2.2s ease-in-out infinite}@keyframes guide-breathe{0%,to{box-shadow:0 0 0 10px #c9a35f12}50%{box-shadow:0 0 0 14px #c9a35f29}}.camera-copy{display:grid;gap:4px;color:var(--ink);text-align:center}.camera-copy span{color:var(--muted);font-size:12px}.live-camera-page{padding:0}.live-camera{position:fixed;z-index:60;inset:0;display:flex;flex-direction:column;width:100%;overflow:hidden;border-radius:0;background:#14110c}.live-camera-exit{position:fixed;z-index:70;top:calc(14px + env(safe-area-inset-top));left:12px;display:grid;width:44px;height:44px;place-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#ffffffe6;background:#0a0e0b80;font-size:16px;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.live-camera-stage{position:relative;flex:1;min-height:0;margin:0 12px;overflow:hidden;border-radius:18px}.live-camera-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-facing-rear .live-camera-video{transform:none;object-fit:contain}.camera-screen-fill{position:fixed;z-index:999;inset:0;background:#fff}.live-camera-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.44),transparent 22%,transparent 67%,rgba(0,0,0,.66))}.live-face-oval{position:absolute;top:50%;left:50%;width:min(62vw,250px);aspect-ratio:.76;border:3px solid rgba(162,150,127,.62);border-radius:49% 49% 45% 45%;box-shadow:0 0 0 999px #080c092b;pointer-events:none;transform:translate(-50%,-50%);animation:oval-breathe 2s ease-in-out infinite;transition:border-color .18s ease,box-shadow .18s ease}@keyframes oval-breathe{0%,to{box-shadow:0 0 0 999px #080c092b,0 0 10px #a2967f1a}50%{box-shadow:0 0 0 999px #080c092b,0 0 24px #a2967f4d}}.camera-guide-warning .live-face-oval{border-color:var(--gold);animation:none;box-shadow:0 0 0 999px #19140833,0 0 22px #c9a35f52}.camera-guide-ready .live-face-oval{border-color:var(--success);animation:none;box-shadow:0 0 0 999px #08160b29,0 0 24px #7d9a8066}.camera-guide-error .live-face-oval{border-color:var(--danger);animation:none}.camera-voice-toggle{position:absolute;z-index:2;top:calc(14px + env(safe-area-inset-top));right:12px;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;background:#0a0e0b80;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.live-camera-message{display:grid;gap:5px;padding:calc(18px + env(safe-area-inset-top)) 84px 12px 66px;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.38)}.live-camera-message strong{font-size:18px}.live-camera-message span{color:#ffffffc7;font-size:12px}.live-camera-controls{display:grid;justify-items:center;gap:8px;padding:12px 18px calc(17px + env(safe-area-inset-bottom));color:#fff}.live-camera-controls small{color:#ffffffbf;font-size:10px}.camera-switch-lens{padding:6px 11px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;background:#0a0e0b7a;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.camera-debug-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camera-shutter{display:grid;width:68px;height:68px;padding:5px;place-items:center;border:3px solid white;border-radius:50%;background:#ffffff24}.camera-shutter span{display:block;width:50px;height:50px;border-radius:50%;background:#fff}.camera-guide-ready .camera-shutter{border-color:var(--success)}.camera-guide-ready .camera-shutter span{background:var(--success)}.camera-shutter:disabled{opacity:.45}.camera-error{margin:0;color:var(--danger);font-size:11px;text-align:center}.auto-capture-status{margin:-2px 0 0;color:var(--success);font-size:12px;font-weight:700}.system-camera-fallback{color:#ffffffbd;font-size:11px;text-decoration:underline;cursor:pointer}.system-camera-fallback input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.capture-review{position:relative;overflow:hidden;margin-bottom:18px;border-radius:28px;background:#1a1610}.capture-review img{display:block;width:100%;max-height:66vh;object-fit:contain}.capture-review-copy{position:absolute;right:0;bottom:0;left:0;display:grid;gap:3px;padding:28px 18px 16px;color:#fff;background:linear-gradient(transparent,#000000b8);text-align:center}.capture-review-copy span{color:#ffffffbf;font-size:11px}.capture-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}.capture-mode-picker button{position:relative;display:grid;gap:5px;padding:14px 12px;border:1px solid var(--card-border);border-radius:16px;color:var(--ink);text-align:left;background:var(--card)}.capture-mode-picker button.selected{border:1.5px solid var(--gold);background:#c9a35f1a}.capture-mode-picker button.selected:after{content:"✓";position:absolute;top:8px;right:11px;color:var(--gold);font-size:13px;font-weight:700}.capture-mode-picker strong{font-size:14px}.capture-mode-picker span{color:var(--ink-70);font-size:11px;line-height:1.5}.prep-list{margin:24px 0}.prep-list h2{font-size:19px}.prep-list label{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.prep-reminders{margin:0;padding:0;list-style:none}.prep-reminders li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.prep-icon{width:16px;height:16px;flex:0 0 auto;color:var(--gold);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.face-consent-note{margin:-8px 0 20px;padding:14px;border:1px solid var(--card-border);border-radius:14px;color:var(--muted);background:var(--card);font-size:12px;line-height:1.65}.face-consent{display:flex;align-items:flex-start;gap:10px;margin:-8px 0 20px;padding:14px;border:1px solid var(--card-border);border-radius:14px;color:var(--ink);background:var(--card);font-size:12px;line-height:1.65}.face-consent input{flex-shrink:0;margin-top:2px;accent-color:var(--gold)}.face-consent-note a,.face-consent a,.consent-row a{color:var(--gold);text-decoration:underline}.capture-mode-picker.single{grid-template-columns:1fr}.score-card{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding:22px;border-radius:22px;color:var(--on-gold);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-bright) 100%)}.score-card p{margin-bottom:8px;font-size:12px;opacity:.78}.score-card strong{font:46px/1 Georgia,serif}.score-card span{max-width:110px;font-size:12px;line-height:1.5;opacity:.78;text-align:right}.upload-button{cursor:pointer}.upload-button.disabled{opacity:.45;cursor:not-allowed}.upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.chart-card{margin-bottom:18px;padding:20px 14px 12px;border:1px solid var(--card-border);border-radius:22px;background:var(--card)}.chart-card .section-heading{padding:0 8px}.chart-card h2{font-size:19px}.chart-card .section-heading span{color:var(--ink-70);font-size:11px}.score-trend svg{display:block;width:100%;height:auto;margin-top:4px;overflow:visible}.chart-grid{stroke:#f1e8d617;stroke-width:1}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.chart-dot{fill:var(--gold);stroke:var(--card);stroke-width:1.5}.chart-dot-latest{fill:var(--gold-bright);stroke:var(--card);stroke-width:1.5}.chart-dot-pulse{fill:none;stroke:var(--gold-bright);stroke-width:1.5;opacity:.75;transform-box:fill-box;transform-origin:center;animation:dot-pulse 1.8s ease-out infinite}@keyframes dot-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.chart-labels{display:flex;justify-content:space-between;padding:0 14px 3px;color:var(--ink-70);font-size:10px}.report-list{display:grid;gap:10px}.compare-link{display:block;margin:-4px 0 18px;padding:14px 16px;border:1px solid rgba(201,163,95,.3);border-radius:14px;color:var(--gold);background:#c9a35f1a;font-size:13px;text-align:center}.report-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--card-border);border-radius:18px;background:var(--card)}.report-row>div:nth-child(2){display:grid;gap:5px}.report-row>div:nth-child(2) span{overflow:hidden;color:var(--ink-70);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.report-date{display:grid;place-items:center;padding-right:13px;border-right:1px solid var(--line)}.report-date strong{color:var(--ink);font:27px/1 Georgia,serif}.report-date span{color:var(--ink);font-size:12px}.row-score{display:flex;align-items:baseline;gap:5px;color:var(--gold-bright);font:28px/1 Georgia,serif}.row-score-delta{font-family:Inter,PingFang SC,system-ui,sans-serif;font-size:13px}.row-score-delta.up{color:var(--success)}.row-score-delta.down{color:var(--warn)}.splash-screen{display:grid;min-height:100vh;place-content:center;color:var(--gold);text-align:center}.splash-mark{margin-bottom:12px;font-size:40px;animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.45;transform:scale(.92)}}.report-detail{min-height:100vh;background:var(--bg)}.report-hero{min-height:330px;padding:calc(24px + env(safe-area-inset-top)) 24px 34px;color:var(--ink);background:radial-gradient(circle at 80% 25%,rgba(230,201,138,.22),transparent 34%),linear-gradient(145deg,#3a2f1d,#17130c)}.back-link{display:inline-block;margin-bottom:42px;font-size:13px;opacity:.86}.report-hero .brand-lockup{margin-bottom:22px}.report-hero>p{margin-bottom:12px;font-size:13px;opacity:.75}.report-score{display:flex;align-items:end;gap:14px}.report-score strong{color:var(--gold-bright);font:92px/.9 Georgia,serif}.report-score span{max-width:100px;margin-bottom:10px;font-size:12px;line-height:1.5;opacity:.72}.report-hero time{display:block;margin-top:28px;font-size:12px;opacity:.65}.report-body{width:min(100%,520px);margin:-24px auto 0;padding:25px 20px calc(48px + env(safe-area-inset-bottom));border:1px solid var(--card-border);border-bottom:0;border-radius:26px 26px 0 0;background:var(--bg)}.report-disclaimer{margin-bottom:18px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;color:var(--ink-70);background:#1a1610;font-size:11px;line-height:1.6}.report-context{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.report-context>div{display:grid;gap:5px;padding:15px;border:1px solid var(--card-border);border-radius:16px;background:var(--card)}.report-context span,.report-context small{color:var(--ink-70);font-size:11px}.report-context strong{color:var(--gold-bright);font:22px/1.2 Georgia,PingFang SC,serif}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-card{min-width:0;padding:17px;border:1px solid var(--card-border);border-radius:18px;background:var(--card)}.metric-card>div{display:grid;gap:8px}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{overflow:hidden;font:24px/1.2 Georgia,PingFang SC,serif;text-overflow:ellipsis}.metric-card p{margin:10px 0 0;color:var(--ink-70);font-size:11px}.metric-rating{padding:3px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:700}.metric-rating.excellent{color:var(--success);background:#7d9a8024}.metric-rating.good{color:var(--gold);background:#c9a35f24}.metric-rating.attention{color:var(--warn);background:#c07a5224}.advice-card{scroll-margin-top:24px;margin-top:22px;padding:23px;border:1px solid var(--card-border);border-radius:22px;background:var(--card)}.advice-card h2{font-size:21px}.advice-card>p:last-child{margin-bottom:0;color:var(--muted);font-size:13px;line-height:1.8}.danger-button{width:100%;margin-top:28px;padding:14px;border:0;color:var(--danger);background:transparent;font-size:13px}.report-action{margin-top:22px}.secondary-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;margin-top:10px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);background:transparent;font-weight:700}.secondary-button.full{width:100%}.photo-download{margin:0 0 18px}.chart-version-warning{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.note-card{margin-top:18px;padding:20px;border:1px solid var(--card-border);border-radius:22px;background:var(--card)}.note-card h2{font-size:20px}.note-card textarea{width:100%;min-height:96px;resize:vertical;padding:13px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#1a1610;line-height:1.6}.note-card textarea::placeholder{color:var(--ink-70)}.note-actions,.note-item div{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-actions{margin-top:8px}.note-actions span,.note-item time{color:var(--ink-70);font-size:11px}.note-message{margin:10px 0 0;color:var(--danger);font-size:12px}.note-actions button,.note-item button{padding:7px 11px;border:0;border-radius:999px;color:var(--on-gold);background:var(--gold)}.note-actions button:disabled{opacity:.45}.note-item{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.note-item p{white-space:pre-wrap;line-height:1.65}.note-item button{padding:0;color:var(--danger);background:transparent}.stage-report-page{min-height:100vh;padding:18px;background:var(--bg)}.stage-report-header{display:flex;width:min(100%,820px);align-items:center;justify-content:space-between;margin:0 auto 14px}.stage-report-header a{color:var(--gold);font-size:13px}.stage-report-header button{padding:9px 14px;border:0;border-radius:999px;color:var(--on-gold);background:var(--gold)}.stage-report-document{width:min(100%,820px);margin:0 auto;padding:clamp(22px,5vw,48px);border:1px solid var(--card-border);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.stage-report-document .brand-lockup{margin-bottom:18px}.stage-subtitle{max-width:680px;margin-top:12px;color:var(--muted);line-height:1.7}.stage-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.stage-selectors label{color:var(--muted);font-size:12px}.stage-selectors select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#1a1610}.stage-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}.stage-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--card-border);border-radius:18px}.stage-photo-grid img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover}.stage-photo-grid figcaption{display:grid;gap:3px;padding:12px;background:#1a1610;font-size:11px}.stage-photo-grid figcaption span{color:var(--ink-70)}.stage-metrics,.stage-notes{margin-top:28px}.stage-metric-head,.stage-metric-row{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(3,1fr);gap:8px;align-items:center;padding:11px 4px}.stage-metric-head{color:var(--ink-70);border-bottom:1px solid var(--line);font-size:11px}.stage-metric-row{border-bottom:1px solid var(--line);font-size:13px}.stage-notes article{padding:12px 0;border-bottom:1px solid var(--line)}.stage-notes time{color:var(--ink-70);font-size:11px}.stage-notes p{margin:6px 0 0;white-space:pre-wrap;line-height:1.65}.stage-report-document footer{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-70);font-size:11px;line-height:1.7}@media(max-width:560px){.stage-selectors{grid-template-columns:1fr}.stage-metric-head,.stage-metric-row{grid-template-columns:minmax(100px,1.35fr) repeat(3,.8fr);font-size:11px}}@media print{body{background:#fff}.no-print{display:none!important}.stage-report-page{padding:0;background:#fff}.stage-report-document{width:100%;color:#253128;background:#fff;box-shadow:none}.stage-report-document h1,.stage-report-document h2,.stage-report-document strong,.stage-report-document p{color:#253128}}.share-message{margin-top:10px;color:var(--gold);font-size:12px;text-align:center}.share-link-panel{display:grid;gap:8px;margin-top:12px;padding:14px;border:1px solid rgba(201,163,95,.28);border-radius:16px;background:#c9a35f14}.share-link-panel label{color:var(--gold);font-size:12px;font-weight:700}.share-link-panel input{width:100%;padding:10px;border:1px solid rgba(201,163,95,.34);border-radius:10px;color:var(--ink);background:#1a1610;font-size:12px}.report-photo{overflow:hidden;margin-bottom:18px;border-radius:20px;background:#1a1610}.report-photo img{display:block;width:100%;max-height:560px;object-fit:cover}.report-photo figcaption{padding:10px 13px;color:var(--ink-70);background:var(--card);font-size:10px;text-align:center}.evidence-section{scroll-margin-top:14px;margin-bottom:18px}.evidence-viewer{position:relative;overflow:hidden;width:100%;border-radius:20px;background:#1e1e1e}.evidence-viewer>img,.evidence-overlay{position:absolute;inset:0;width:100%;height:100%}.evidence-viewer.map-replace{background:#1e1e1e}.evidence-viewer>img.provider-map{z-index:1;object-fit:contain}.evidence-viewer>img.provider-map.overlay{pointer-events:none}.evidence-viewer>img{object-fit:contain}.evidence-overlay{pointer-events:none}.evidence-badge{position:absolute;right:14px;bottom:14px;display:grid;gap:2px;padding:9px 12px;border:1px solid rgba(255,255,255,.34);border-radius:12px;color:#fff;background:#14110cad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.evidence-badge strong{font-size:13px}.evidence-badge span{font-size:10px;opacity:.76}.evidence-tabs{display:flex;overflow-x:auto;gap:8px;margin:12px -20px 0;padding:0 20px 5px;scrollbar-width:none}.evidence-tabs::-webkit-scrollbar{display:none}.evidence-tabs button{flex:0 0 auto;min-height:36px;padding:7px 14px;border:0;border-bottom:2px solid rgba(201,163,95,.3);border-radius:0;color:var(--gold);background:transparent;font-size:12px}.evidence-tabs button.active{border:0;border-radius:999px;color:var(--on-gold);background:var(--gold)}.evidence-explanation{display:grid;gap:5px;margin-top:8px;padding:13px 14px;border:1px solid rgba(140,110,64,.4);border-radius:14px;color:var(--ink);background:#c9a35f14}.evidence-explanation strong{color:var(--gold);font-size:13px}.evidence-explanation p{margin:0;font-size:12px;line-height:1.65}.evidence-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.evidence-details>div{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--card-border);border-radius:13px;background:var(--card)}.evidence-details span{color:var(--ink-70);font-size:10px}.evidence-details strong{color:var(--ink);font-size:14px}.metric-value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-evidence-button{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:1px solid rgba(201,163,95,.4);border-radius:10px;color:var(--gold);background:#c9a35f1a}.metric-evidence-button svg{width:18px;height:18px;fill:currentColor}.metric-evidence-button:active{transform:scale(.96)}.metric-trend-card select{width:calc(100% - 16px);margin:12px 8px 0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#1a1610}.settings-page,.legal-page,.shared-report{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(48px + env(safe-area-inset-bottom));background:var(--bg)}.settings-header{margin-bottom:22px}.settings-header>a{display:inline-block;margin-bottom:24px;color:var(--gold);font-size:13px}.settings-card{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px;padding:18px;border:1px solid var(--card-border);border-radius:16px;background:var(--card)}.settings-card span,.settings-card p{color:var(--muted);font-size:13px}.settings-card.privacy-copy{display:block;margin-top:22px}.settings-card.privacy-copy h2{margin-bottom:10px;font-size:18px}.settings-card.privacy-copy p{margin:0;line-height:1.7}.settings-action{display:block;width:100%;padding:17px 4px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left}.support-card{align-items:center;margin-top:22px}.support-card strong{max-width:62%;text-align:right;overflow-wrap:anywhere}.settings-faq{margin-top:24px}.settings-faq h2{margin-bottom:10px;font-size:18px}.settings-faq details{padding:15px 0;border-bottom:1px solid var(--line)}.settings-faq summary{cursor:pointer;font-weight:700}.settings-faq p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.settings-danger{margin-top:34px}.legal-page h1{margin:18px 0 24px;font-size:32px}.legal-page h2{margin:28px 0 8px;font-size:18px}.legal-page p{color:var(--muted);font-size:14px;line-height:1.85}.legal-page p a{color:var(--gold);text-decoration:underline;word-break:break-all}.legal-back{color:var(--gold);opacity:1}.legal-notice{padding:15px;border:1px solid rgba(192,122,82,.35);border-radius:14px;color:var(--warn);background:#c07a521f;font-size:12px;line-height:1.7}.legal-version{margin-top:36px;color:var(--ink-70);font-size:11px!important}.shared-report>header{padding:18px 0 24px}.shared-report>header .brand-lockup{margin-bottom:14px}.shared-report>header h1{margin-bottom:10px;font-size:32px}.shared-report>header time{color:var(--muted);font-size:12px}.shared-score{display:flex;align-items:end;gap:15px;margin-bottom:18px;padding:24px;border-radius:22px;color:var(--on-gold);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-bright) 100%)}.shared-score strong{font:64px/.9 Georgia,serif}.shared-score span{max-width:110px;font-size:12px;line-height:1.5;opacity:.75}.shared-report .report-disclaimer{margin-top:22px}.compare-page{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(48px + env(safe-area-inset-bottom));background:var(--bg)}.compare-page .simple-header>a{display:inline-block;margin-bottom:22px;color:var(--gold);font-size:13px}.compare-selectors{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0 14px}.compare-selectors label{display:grid;gap:7px;color:var(--ink-70);font-size:11px}.compare-selectors select{min-width:0;padding:11px 8px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#1a1610}.photo-compare{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;overflow:hidden;border-radius:20px;background:var(--bg)}.photo-compare figure{position:relative;aspect-ratio:3/4;overflow:hidden}.photo-compare img{width:100%;height:100%;object-fit:cover}.photo-compare figcaption{position:absolute;right:8px;bottom:8px;display:grid;gap:2px;padding:7px 9px;border-radius:10px;color:#fff;background:#00000073;font-size:10px}.photo-compare figcaption strong{font-size:12px;line-height:1.3}.compare-metrics{margin-top:18px;border:1px solid var(--card-border);border-radius:18px;background:var(--card)}.compare-metrics>div{display:grid;grid-template-columns:1fr 1.4fr .65fr;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}.compare-metrics>div:last-child{border-bottom:0}.compare-metrics span{color:var(--muted)}.compare-metrics em{color:var(--gold);font-style:normal;text-align:right}@media(min-width:800px){body{background:#0d0b08}.page-shell,.claim-page{min-height:100vh;background:var(--bg);box-shadow:0 0 70px #00000080}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.admin-loading,.admin-login-page,.admin-shell{--ink: #2e352f;--ink-70: rgba(46, 53, 47, .72);--muted: #5f6860;--line: rgba(37, 49, 40, .14);--card: #ffffff;--card-border: rgba(37, 49, 40, .14);--gold: #8c6e40;--gold-bright: #a5824f;--gold-deep: #6d5530;--admin-accent: #526b58;--admin-accent-soft: #829987;color:#2e352f}.admin-loading{display:grid;min-height:100vh;place-items:center;color:var(--admin-accent)}.admin-login-page{display:grid;min-height:100vh;grid-template-columns:minmax(360px,1.15fr) minmax(420px,.85fr);background:#f4f2ed}.admin-login-brand{display:grid;align-content:center;padding:9vw;color:#fff;background:radial-gradient(circle at 75% 24%,rgba(255,255,255,.18),transparent 22%),linear-gradient(145deg,#34493b,#78907d)}.admin-login-brand>p{letter-spacing:.22em;font-size:12px}.admin-login-brand h1{margin:18px 0 30px;font-size:clamp(42px,5vw,68px);line-height:1.25}.admin-login-brand span{opacity:.7}.admin-login-form{display:grid;align-content:center;width:min(440px,80%);margin:0 auto}.admin-login-form h2{margin-bottom:24px;font-size:34px}.admin-login-form label,.admin-form label{display:grid;gap:8px;margin-bottom:18px;color:#6b736c;font-size:13px}.admin-login-form input,.admin-form input,.admin-form select{width:100%;padding:13px 14px;border:1px solid rgba(37,49,40,.15);border-radius:10px;outline:none;background:#fff}.admin-login-form input:focus,.admin-form input:focus,.admin-form select:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px #526b581a}.admin-primary{min-height:44px;padding:0 18px;border:0;border-radius:10px;color:#fff;background:var(--admin-accent);font-weight:700;cursor:pointer}.admin-primary:disabled{opacity:.45;cursor:not-allowed}.admin-alert{margin-bottom:18px;padding:13px 15px;border-radius:10px;color:#8f4f48;background:#f8e5e1;font-size:13px}.admin-shell{display:grid;min-height:100vh;grid-template-columns:236px 1fr;background:#f3f4f1}.admin-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:28px 18px;color:#fff;background:#283a2e}.admin-logo{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.admin-logo>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:var(--admin-accent);background:#e9eee7}.admin-logo>div{display:grid;gap:3px}.admin-logo small{opacity:.5}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav button{padding:12px 14px;border:0;border-radius:9px;color:#ffffff9e;background:transparent;text-align:left;cursor:pointer}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{color:#fff;background:#ffffff1a}.admin-user{display:grid;gap:4px;margin-top:auto;padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px}.admin-user small{opacity:.5}.admin-user button{width:max-content;margin-top:8px;padding:0;border:0;color:#ced8d0;background:transparent;cursor:pointer}.admin-content{min-width:0;padding:38px clamp(24px,5vw,70px) 70px}.admin-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.admin-header h1{font-size:38px}.admin-header>span{color:var(--muted);font-size:12px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.admin-stats article{display:grid;gap:12px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.admin-stats span{color:var(--muted);font-size:12px}.admin-stats strong{color:var(--admin-accent);font:42px/1 Georgia,serif}.admin-panel{min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 30px #25312809}.admin-panel h2{font-family:inherit;font-size:20px}.admin-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:18px;margin-bottom:20px}.admin-form{align-self:start}.admin-form>p{margin:-6px 0 20px;color:var(--muted);font-size:12px;line-height:1.7}.adjustment-form{margin-bottom:20px}.admin-filter{display:grid;grid-template-columns:minmax(200px,1fr) 150px 180px auto;gap:10px;margin-bottom:20px}.admin-filter input,.admin-filter select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.simple-list{display:grid}.simple-list>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.simple-list>div:last-child{border-bottom:0}.simple-list span{color:var(--muted);font-size:12px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th{padding:12px 10px;color:var(--muted);font-weight:500;text-align:left}.admin-table td{padding:14px 10px;border-top:1px solid var(--line);white-space:nowrap}.table-actions{display:inline-flex;align-items:center;gap:7px}.table-actions button,.table-action{padding:5px 8px;border:0;border-radius:7px;color:var(--admin-accent);background:#e8eee6;cursor:pointer}.table-actions button.danger{color:#9b5149;background:#f8e5e1}.table-action+.table-action{margin-left:6px}.status-pill{padding:5px 8px;border-radius:999px;color:#52705a;background:#e6eee7}.status-pill.frozen{color:#8e645c;background:#f3e7e3}.table-action{border:0;color:var(--admin-accent);background:transparent;cursor:pointer}.table-action:disabled{color:#aaa;cursor:not-allowed}.generated-panel{color:#fff;background:linear-gradient(145deg,#455e4c,#7f9683)}.generated-panel .eyebrow{color:#ffffffb3}.generated-panel>strong{display:block;margin-bottom:12px;font-size:24px}.generated-panel>p:not(.eyebrow){max-width:440px;color:#ffffffb3;font-size:12px;line-height:1.7}.generated-panel .admin-primary{color:var(--admin-accent);background:#fff}.totp-enrollment{display:grid;justify-items:start;gap:12px}.totp-enrollment img{width:220px;max-width:100%;border:1px solid var(--line);border-radius:12px}.totp-enrollment p{margin:0;color:var(--muted)}.totp-enrollment strong{color:#9b5149;font-size:12px}.totp-enrollment code{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal}.totp-enrollment button{padding:9px 12px;border:0;border-radius:8px;color:#fff;background:var(--admin-accent)}.generated-actions{display:flex;flex-wrap:wrap;gap:10px}.form-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.advanced-options{color:var(--muted);font-size:13px}.advanced-options summary{cursor:pointer}.advanced-options label{display:grid;gap:6px;margin-top:10px;color:var(--ink)}.generated-codes{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.generated-code-card{display:grid;justify-items:center;gap:8px;padding:12px;border-radius:12px;background:#ffffff1f}.generated-code-card img{width:150px;max-width:100%;border-radius:8px;background:#fff}.generated-code-card .qr-placeholder{display:grid;width:150px;aspect-ratio:1;place-items:center;color:#ffffffb3;font-size:12px}.generated-code-card button{padding:6px 12px;border:0;border-radius:8px;color:var(--admin-accent);background:#fff;cursor:pointer}.muted-hint{color:var(--muted);font-size:12px}.qr-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#141e188c}.qr-panel{display:grid;justify-items:center;gap:12px;width:min(420px,100%);max-height:90vh;overflow-y:auto;padding:24px;border-radius:16px;background:#fff;box-shadow:0 24px 60px #141e184d}.qr-panel h3{margin:0}.qr-panel p{margin:0;color:var(--muted);font-size:13px;text-align:center}.qr-panel img{width:220px;max-width:100%;border:1px solid var(--line);border-radius:12px}.qr-panel .claim-url{display:block;max-width:100%;padding:8px 10px;border-radius:8px;background:#f2f5f1;font-size:12px;overflow-wrap:anywhere;white-space:normal}.qr-panel .generated-actions button{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.qr-panel .generated-actions .admin-primary{border-color:var(--admin-accent);color:#fff;background:var(--admin-accent)}.empty-admin{display:grid;min-height:300px;place-content:center;color:var(--muted);text-align:center}.empty-admin>span{color:var(--admin-accent-soft);font-size:36px}@media(max-width:900px){.admin-login-page{grid-template-columns:1fr}.admin-login-brand{display:none}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto}.admin-sidebar nav{grid-template-columns:repeat(4,1fr)}.admin-user{display:none}.admin-grid,.admin-stats,.admin-filter{grid-template-columns:1fr}}
