:root{--ink:#0f172a;--muted:#526173;--line:#d6dee6;--bg:#eef3f2;--panel:#fff;--brand:#0f766e;--brand-dark:#115e59;--brand-soft:#e6f4f1;--listen:#2563eb;--listen-soft:#eff4ff;--speak:#dc2626;--speak-soft:#fff1f1;--draw:#15803d;--draw-soft:#effbf2;--move:#c2410c;--move-soft:#fff4ec;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--radius:20px;--shadow:0 10px 30px #0f172a12}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-size:20px;line-height:1.6}a{color:var(--brand)}h1{margin:0 0 12px;font-size:1.9rem;line-height:1.3}h2{margin:24px 0 10px;font-size:1.35rem}.flush{margin-top:0}.app-bar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px max(16px,50% - 520px);display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-size:1.05rem;text-decoration:none;display:flex}.brand-mark{background:linear-gradient(135deg, #14b8a6, var(--brand-dark));color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.env-tag{color:#7c4a03;white-space:nowrap;background:#fef3c7;border-radius:99px;padding:3px 12px;font-size:.8rem}.wrap{width:min(1040px,100% - 32px);margin:22px auto 40px}.app-foot{text-align:center;color:var(--muted);padding:0 16px 28px;font-size:.85rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.panel+.panel{margin-top:18px}.center{text-align:center}.lead{color:var(--muted);font-size:1.15rem}.muted{color:var(--muted)}.small{font-size:.88rem}.ok{color:var(--ok);font-weight:700}.warn-text{color:var(--warn);font-weight:600}.bad-text{color:var(--bad)}.eyebrow{color:var(--brand);letter-spacing:.06em;margin:0 0 8px;font-size:.95rem;font-weight:800}.subtitle{max-width:32em;margin:8px auto 18px;font-size:1.65rem;font-weight:700;line-height:1.5}.subtitle.small{font-size:1.25rem}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.spread{justify-content:space-between;align-items:flex-start}.center-row{justify-content:center;margin:8px 0}.plain-list{margin:0;padding-left:1.2em}.plain-list li+li{margin-top:6px}.two-up{grid-template-columns:1fr 1fr;gap:28px;display:grid}.btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:10px 22px;font-weight:700;text-decoration:none;transition:transform 80ms,background .12s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.btn-secondary{color:var(--ink);border-color:var(--line);background:#fff}.btn-danger{background:var(--bad);color:#fff}.btn-ghost{color:var(--muted);border-color:var(--line);background:0 0;min-height:44px;padding:6px 14px;font-size:.95rem}.btn-link{color:var(--muted);background:0 0;border:none;min-height:44px;font-weight:500;text-decoration:underline}.btn-lg{min-width:160px;min-height:64px;font-size:1.2rem}.btn-xl{min-width:240px;min-height:76px;margin-top:16px;font-size:1.45rem}.btn-sm{min-height:40px;padding:4px 12px;font-size:.9rem}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;display:grid}.step-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.step-grid li{background:var(--brand-soft);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 14px;display:grid}.step-grid li span{grid-row:span 2;font-size:1.6rem}.step-grid small{color:var(--muted);font-size:.85rem}.wizard-progress,.progress{gap:6px;display:flex}.wizard-progress{margin-bottom:18px}.wizard-progress span,.progress span{background:#dde6e4;border-radius:99px;flex:1;height:10px}.wizard-progress span.done,.progress span.done{background:#5eb3a9}.wizard-progress span.now,.progress span.now{background:var(--brand)}.question h2{margin:0 0 8px;font-size:1.8rem}.age-display{text-align:center;color:var(--brand-dark);font-variant-numeric:tabular-nums;margin:8px 0;font-size:3.6rem;font-weight:800}.age-display small{color:var(--muted);font-size:1.4rem}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:420px;margin:0 auto;display:grid}.key{font:inherit;border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;min-height:74px;font-size:1.9rem;font-weight:700}.key:active{background:var(--brand-soft)}.key-muted{color:var(--muted);background:#f5f7f9;font-size:1.1rem}.choice-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;display:grid}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{font:inherit;border:3px solid var(--line);cursor:pointer;min-height:84px;color:var(--ink);background:#fff;border-radius:16px;padding:12px;font-size:1.3rem;font-weight:700}.choice.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}.consent{font:inherit;text-align:left;border:3px solid var(--line);cursor:pointer;width:100%;color:var(--ink);background:#fffbeb;border-radius:16px;align-items:flex-start;gap:16px;padding:18px;display:flex}.consent.on{border-color:var(--brand);background:var(--brand-soft)}.consent-box{border:3px solid var(--brand);width:40px;height:40px;color:var(--brand);background:#fff;border-radius:10px;flex:none;place-items:center;font-size:1.5rem;font-weight:800;display:grid}.field{flex-direction:column;gap:6px;margin-top:18px;display:flex}.field>span{font-size:1rem;font-weight:700}.field input{font:inherit;border:2px solid var(--line);border-radius:12px;max-width:320px;min-height:56px;padding:10px 12px}.summary{color:var(--muted);gap:24px;margin:18px 0 0;font-size:1rem;display:flex}.summary dt{font-size:.85rem}.summary dd{color:var(--ink);margin:0;font-weight:700}.wizard-nav{justify-content:space-between;gap:12px;margin-top:26px;display:flex}:is(body:has(.runner) .app-bar,body:has(.runner) .app-foot){display:none}.wrap:has(.runner){margin-top:8px;margin-bottom:8px}.runner-bar{top:env(safe-area-inset-top,0px);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);background:#fffffff5;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:14px;padding:10px 14px;display:grid;position:sticky}.runner-step{white-space:nowrap;align-items:baseline;gap:10px;display:flex}.runner-count{color:var(--brand-dark);font-weight:800}.runner-count small{color:var(--muted);font-weight:500}.runner-title{font-weight:700}.runner-actions{gap:6px;display:flex}.stage{border-radius:calc(var(--radius) + 6px);padding:6px;transition:background .2s}.stage-listen{background:var(--listen-soft)}.stage-speak{background:var(--speak-soft)}.stage-draw{background:var(--draw-soft)}.stage-move{background:var(--move-soft)}.mode-badge{color:#fff;border-radius:99px;margin:6px 0 10px 10px;padding:4px 16px;font-size:1rem;font-weight:800;display:inline-block}.stage-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.stage-head .mode-badge{margin-right:auto}.btn-skip{min-height:44px;color:var(--ink);border-color:var(--line);background:#fff;margin:6px 10px 10px auto;padding:6px 16px;font-size:1rem}.mode-listen{background:var(--listen)}.mode-speak{background:var(--speak)}.mode-draw{background:var(--draw)}.mode-move{background:var(--move)}.prep-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:12px;max-width:720px;margin:18px auto 6px;display:grid}.prep{background:var(--brand-soft);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.prep span{font-size:1.8rem}.ear{margin-top:6px;font-size:3.4rem}.ear.pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.7;transform:scale(1.15)}}.answer{flex-direction:column;align-items:center;gap:12px;display:flex}.mic-ring{border:4px solid var(--speak);background:#fff;border-radius:50%;place-items:center;width:104px;height:104px;font-size:3rem;animation:1.6s ease-out infinite ring;display:grid;box-shadow:0 0 #dc262673}@keyframes ring{70%{box-shadow:0 0 0 22px #dc262600}to{box-shadow:0 0 #dc262600}}.level{background:#e2e8f0;border-radius:99px;width:min(420px,100%);height:14px;margin:0 auto;overflow:hidden}.level div{background:linear-gradient(90deg, #14b8a6, var(--brand));height:100%;transition:width 80ms linear}.countdown{color:var(--speak);font-variant-numeric:tabular-nums;font-size:4.4rem;font-weight:800;line-height:1.1}.countdown small{margin-left:4px;font-size:1.4rem}.typed{font:inherit;border:2px solid var(--line);border-radius:12px;width:min(640px,100%);padding:12px 14px;font-size:1.3rem}.spinner{border:6px solid #d9e2e1;border-top-color:var(--brand);border-radius:50%;width:54px;height:54px;margin:10px auto 16px;animation:1s linear infinite spin}.spinner.inline{border-width:3px;width:20px;height:20px;margin:0 6px -3px 0;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.runner.fill{flex-direction:column;height:max(100dvh - 16px,540px);display:flex}.runner.fill .stage{flex-direction:column;flex:1;min-height:0;display:flex}.runner.fill .stage>.panel{flex:1;min-height:0}.draw-panel{grid-template:"head""pad"1fr/1fr;gap:10px 16px;padding:16px;display:grid}.draw-panel.with-stim{grid-template-columns:auto 1fr;grid-template-areas:"stim head""pad pad"}.draw-head{grid-area:head;align-self:center}.draw-panel .subtitle.small{text-align:left;margin:0}.draw-panel h1{margin-bottom:4px;font-size:1.5rem}.stimulus{border:2px solid var(--line);background:#fff;border-radius:14px;grid-area:stim;justify-content:center;align-self:start;padding:8px;display:flex}.stimulus svg{width:clamp(96px,20vw,170px);height:auto}.pad{flex-direction:column;grid-area:pad;gap:10px;min-height:0;display:flex}.pad-area{flex:1;place-items:center;min-height:240px;display:grid;position:relative;container-type:size}.pad-surface{width:min(100cqw, calc(100cqh * var(--ar)));height:auto;aspect-ratio:var(--ar);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#fff;border:3px dashed #94a3b8;border-radius:14px;display:block}.pad-disabled{opacity:.55;cursor:wait}.pad-wait{text-align:center;color:var(--muted);pointer-events:none;font-weight:600;position:absolute;inset:auto 0 12px}.pad-actions{bottom:env(safe-area-inset-bottom,0px);background:var(--panel);flex-wrap:wrap;justify-content:center;gap:10px;padding:6px 0 2px;display:flex;position:sticky}.pad-actions .btn-done{min-width:9em}@media (min-width:900px) and (orientation:landscape){.draw-panel.with-stim{grid-template:"head head""stim pad"1fr/auto 1fr}.draw-panel.with-stim .stimulus svg{width:200px}}.luria-stage{justify-content:center;min-height:300px;display:flex}.luria-big{flex-direction:column;align-items:center;animation:.26s ease-out pop;display:flex}.luria-big.idle{opacity:.35;animation:none}.luria-big strong{color:var(--move);font-size:3rem;line-height:1.1}.luria-big span{color:var(--muted)}@keyframes pop{0%{opacity:.3;transform:translateY(-18px)scale(.92)}}.seq-chips{justify-content:center;gap:10px;margin-top:10px;display:flex}.seq-chips .chip{padding:6px 18px;font-size:1.3rem}.beat{justify-content:center;gap:10px;margin-bottom:8px;display:flex}.beat span{min-width:92px;color:var(--muted);background:#fff;border:2px solid #fed7aa;border-radius:99px;padding:6px 14px;font-size:1.2rem;font-weight:800}.beat span.past{color:var(--move);background:#ffedd5}.beat span.on{background:var(--move);border-color:var(--move);color:#fff;transform:scale(1.08)}.strip{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.strip.small{margin-bottom:8px}.strip-item{background:#fff;border:2px solid #fed7aa;border-radius:16px;flex-direction:column;align-items:center;padding:8px 10px 10px;display:flex}.strip-item strong{color:var(--move);font-size:1.5rem}.strip.small .strip-item strong{font-size:1.1rem}.strip-item small{color:var(--muted)}.learn{text-align:left;justify-content:center;align-items:center;gap:24px;margin-bottom:12px;display:flex}.learn-figure{background:#fff;border:3px solid #fed7aa;border-radius:20px;padding:8px;position:relative}.learn-figure.ok{border-color:var(--ok)}.learn-check{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.8rem;font-weight:800;display:grid;position:absolute;top:-12px;right:-12px}.learn-text{max-width:340px}.learn-status{color:var(--move);font-weight:700}.learn-label{color:var(--move);font-size:3.2rem;line-height:1.1}.camera-wrap{width:min(460px, 100%, calc(50vh * var(--r,1.333)));margin:0 auto 10px;position:relative}.camera,.camera-overlay{border-radius:16px;width:100%;display:block}.camera-wrap.mirrored .camera,.camera-wrap.mirrored .camera-overlay{transform:scaleX(-1)}.camera{object-fit:cover;background:#000;height:100%}.camera-switch{margin:0 auto 10px;display:block}.camera-overlay{pointer-events:none;height:100%;position:absolute;inset:0}.hand-flag{color:#fff;background:#0f172abf;border-radius:99px;padding:2px 12px;font-size:.95rem;font-weight:700;position:absolute;top:10px;left:10px}.hand-flag.ok{background:var(--ok)}.rec-dot{color:var(--speak);font-weight:800}.calib{text-align:left;justify-content:center;align-items:center;gap:20px;margin-bottom:12px;display:flex}.calib-label{color:var(--move);font-size:3rem}.modal-backdrop{z-index:50;background:#0f172a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(520px,100%);padding:28px;box-shadow:0 20px 60px #0f172a4d}.modal h2{margin-top:0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.result-hero{grid-template-columns:auto 1fr;align-items:center;gap:28px;display:grid}.score-ring{--pct:0%;background:conic-gradient(var(--brand) var(--pct), #e2e8f0 0);border-radius:50%;place-items:center;width:190px;height:190px;display:grid}.score-ring>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;display:flex}.score-ring strong{color:var(--brand-dark);font-size:2.8rem;line-height:1}.score-ring span{color:var(--muted)}.band{border-radius:99px;padding:6px 16px;font-weight:800;display:inline-block}.band-above{color:#14532d;background:#dcfce7}.band-mci{color:#7c2d12;background:#ffedd5}.band-dementia{color:#7f1d1d;background:#fee2e2}.band-undetermined{color:#1e293b;background:#e2e8f0}.items{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px;display:grid}.item-card{border:1px solid var(--line);background:#fbfcfd;border-radius:16px;min-width:0}.item-card>summary{cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 18px;list-style:none;display:grid}.item-card>summary::-webkit-details-marker{display:none}.item-card>summary:before{content:"▸";color:var(--muted);margin-left:-14px;position:absolute}.item-card[open]>summary{border-bottom:1px solid var(--line)}.item-name{font-size:1.15rem;font-weight:800}.item-score{color:var(--brand-dark);font-size:1.5rem;font-weight:800}.item-score small{color:var(--muted);font-size:.95rem}.item-body{padding:14px 18px 18px;font-size:1rem}.how{background:var(--brand-soft);border-radius:10px;margin-top:0;padding:8px 12px}.review-note{background:#eff6ff;border-radius:10px;padding:8px 12px}.reasons{color:var(--warn);margin:8px 0;padding-left:1.2em}.trial{border-left:4px solid var(--line);margin:12px 0;padding-left:12px}.trial-head{margin:10px 0 4px;font-weight:700}.verbal audio{width:min(420px,100%);height:40px}.transcript{margin:4px 0 8px}.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chip{color:var(--ink);background:#eef2f6;border:2px solid #0000;border-radius:99px;padding:2px 12px;font-weight:700;display:inline-block}.chip.on{background:var(--move);color:#fff}.chip.ok{color:#14532d;background:#dcfce7}.chip.miss{color:#64748b;background:#f1f5f9;text-decoration:line-through}.chip.warn{color:#78350f;background:#fef3c7}.chip.seq{background:var(--move-soft);color:var(--move);border-color:#fed7aa}.chip small{opacity:.75;font-weight:500}.evidence-row{flex-wrap:wrap;align-items:flex-start;gap:18px;margin:8px 0;display:flex}.replay{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.strokes{border:1px solid var(--line);background:#fff;border-radius:12px;width:min(340px,100%)}.facts{flex:1;min-width:min(240px,100%)}.facts p{margin:4px 0}.facts ul{margin:4px 0;padding-left:1.2em}.mark.ok{color:var(--ok);font-weight:800}.mark.bad{color:var(--bad);font-weight:800}.clip-figure{margin:0}video.clip{background:#000;border-radius:12px;width:min(360px,100%);display:block}table.mini{width:auto;min-width:360px}.login-box>summary{list-style:none}.login-box>summary::-webkit-details-marker{display:none}.login-box[open]>summary{margin-bottom:8px}.notice{border-left:5px solid var(--warn);background:#fffbeb;border-radius:0 12px 12px 0;padding:14px 18px;font-size:1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:1rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:8px 12px}th{background:#f1f5f9;font-size:.88rem}.tag{white-space:nowrap;border-radius:8px;padding:2px 10px;font-size:.82rem;font-weight:700;display:inline-block}.tag-review{color:#78350f;background:#fef3c7}.tag-done{color:#14532d;background:#dcfce7}.tag-pending{color:#334155;background:#e2e8f0}.tag-manual{color:#1e3a8a;background:#dbeafe}.tag-fixed{color:#5b21b6;background:#ede9fe}.correction-open{margin-top:10px}.correction{background:#faf8ff;border:2px solid #c4b5fd;border-radius:14px;margin-top:12px;padding:12px 14px}.correction-title{margin:0 0 6px;font-weight:800}.correction-block+.correction-block{border-top:1px dashed #c4b5fd;margin-top:14px;padding-top:12px}.correction .typed{width:100%;font-size:1.05rem}.criteria{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.criteria li{background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;padding:6px 8px;display:grid}.criteria li.changed{outline:2px solid #a78bfa}.criteria-label{font-weight:600}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{font:inherit;min-height:40px;color:var(--muted);cursor:pointer;background:#fff;border:0;padding:4px 12px;font-size:.95rem}.seg button+button{border-left:1px solid var(--line)}.seg button.on.ok{color:var(--ok);background:#dcfce7;font-weight:800}.seg button.on.bad{color:var(--bad);background:#fee2e2;font-weight:800}@media (max-width:640px){.criteria li{grid-template-columns:minmax(0,1fr) auto}.criteria li .muted{grid-row:2}}.review-form{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:12px;font-size:1rem;display:flex}.review-form select,.review-form input{font:inherit;border:2px solid var(--line);border-radius:10px;min-height:46px;padding:8px 10px}.review-form input{flex:1;min-width:200px}.review-form .btn{min-height:46px;padding:6px 16px}@media (max-width:860px){.hero,.two-up,.result-hero{grid-template-columns:1fr}.result-hero{text-align:center;justify-items:center}}@media (max-width:640px){body{font-size:18px}.panel{padding:20px 16px}.subtitle{font-size:1.3rem}.btn-xl{width:100%;min-width:0}.choice-grid.three,.prep-grid{grid-template-columns:1fr}.runner-bar{grid-template-columns:1fr auto;gap:6px 10px;margin-bottom:8px;padding:8px 10px}.runner-bar .progress{grid-area:2/1/auto/-1}.runner-count small{display:none}.runner-actions .btn{min-height:40px;padding:6px 10px;font-size:.9rem}.wrap:has(.runner){width:calc(100% - 12px)}.runner .stage{padding:4px}.runner .mode-badge{margin:2px 0 6px 6px;font-size:.9rem}.btn-skip{min-height:38px;margin:2px 6px 6px auto;padding:4px 12px;font-size:.9rem}.draw-panel{gap:8px 10px;padding:10px}.draw-panel .subtitle.small{font-size:1rem}.pad-actions .btn{padding-inline:12px}.learn{text-align:center;flex-direction:column}.item-card>summary{grid-template-columns:1fr auto}.item-card>summary .tag{grid-column:1/-1;justify-self:start}}.lf .lf-impact{opacity:0}.lf-side.lf-loop .lf-hand{animation:1.9s ease-in infinite lf-drop}.lf-side.lf-once .lf-hand{animation:1.1s ease-in both lf-drop}.lf-top.lf-loop .lf-hand{transform-origin:120px 120px;animation:1.9s ease-in infinite lf-slap}.lf-top.lf-once .lf-hand{transform-origin:120px 120px;animation:1.1s ease-in both lf-slap}.lf-top.lf-loop .lf-shadow{animation:1.9s ease-in infinite lf-shadow}.lf-top.lf-once .lf-shadow{animation:1.1s ease-in both lf-shadow}.lf-loop .lf-impact{animation:1.9s linear infinite lf-impact}.lf-once .lf-impact{animation:1.1s linear both lf-impact}@keyframes lf-drop{0%,25%{transform:translateY(-38px)}55%,to{transform:translateY(0)}}@keyframes lf-slap{0%,25%{transform:translate(-10px,-16px)scale(1.14)}55%,to{transform:none}}@keyframes lf-shadow{0%,25%{opacity:.25}55%,to{opacity:1}}@keyframes lf-impact{0%,54%{opacity:0}58%{opacity:1}85%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.lf .lf-hand,.lf .lf-shadow,.lf .lf-impact{animation:none!important}}.app-nav{align-items:center;gap:14px;display:flex}.app-nav a{white-space:nowrap;font-weight:700;text-decoration:none}.reuse{background:var(--brand-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-weight:600;display:flex}.hero-actions{align-items:flex-start;margin-top:14px}.hero-share{margin-top:10px}.share-box{background:var(--brand-soft);border-radius:14px;width:100%;padding:12px 16px}.share-box p{margin:0 0 8px}.share-url{width:100%;font:inherit;border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:8px;padding:8px 10px;font-size:.9rem}.history{grid-template-columns:minmax(0,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.history-item{border:1px solid var(--line);border-radius:16px;grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px;min-width:0;padding:14px 16px;display:grid}.history-item>.table-wrap{width:100%}.history-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;width:100%;display:flex}.history-score{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.history-score small{color:var(--muted);font-size:1rem;font-weight:500}.diff{color:var(--muted);margin-left:10px;font-size:.9rem;font-weight:700}.diff.up{color:var(--ok)}.diff.down{color:var(--warn)}.history-items th,.history-items td{text-align:center;white-space:nowrap;font-size:.9rem}.history-items small{color:var(--muted)}.trend{margin:10px 0 0}.trend-title{margin-bottom:6px;font-weight:700}.trend-wrap{position:relative}.trend-wrap svg{touch-action:pan-y;max-width:100%;height:auto;display:block}.trend-grid{stroke:#e2e8f0;stroke-width:1px}.trend-cut{stroke:#94a3b8;stroke-width:1px}.trend-cut-label,.trend-tick{fill:var(--muted);font-size:13px}.trend-line{fill:none;stroke:var(--brand);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--brand);stroke:#fff;stroke-width:2px}.trend-end{fill:var(--ink);font-size:15px;font-weight:800}.trend-cross{stroke:#cbd5e1;stroke-width:1px}.trend-tip{border:1px solid var(--line);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;background:#fff;border-radius:10px;padding:6px 10px;font-size:.85rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.trend-tip strong{font-size:1.05rem}.timeline{background:#f1f5f9;border-radius:8px;width:min(340px,100%);height:34px;position:relative}.tl-stroke{background:#475569;border-radius:3px;height:10px;position:absolute;top:6px}.tl-stroke.erased{opacity:.6;background:#dc2626}.tl-cursor{background:var(--brand);width:2px;position:absolute;top:2px;bottom:14px}.tl-label{color:var(--muted);font-size:.7rem;line-height:1;position:absolute;bottom:1px}.tl-start{left:4px}.tl-end{right:4px}.replay-controls{align-items:center;gap:8px}.speed{font:inherit;border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-size:.9rem}.check{align-items:center;gap:6px;font-size:.9rem;display:flex}.trace-facts ul{margin:4px 0 10px}@media (max-width:640px){.app-nav .env-tag{display:none}}
