:root{--ink:#17243b;--muted:#536178;--blue:#315efb;--line:#dce3ee;--lime:#d7ff45}
body{background:#f3f6fb;color:var(--ink);font:16px/1.65 system-ui,-apple-system,sans-serif}
h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere}p{white-space:normal}
button{font-weight:700;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#edf3ff;border-color:var(--blue)}button:disabled{cursor:not-allowed;opacity:.55}
button.primary-action{background:var(--blue);border-color:var(--blue);color:#fff}button.primary-action:hover:not(:disabled){background:#2448c7;color:#fff}
:is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #315efb;outline-offset:4px}
a{touch-action:manipulation}summary{min-height:44px;align-content:center}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-180%);padding:12px 18px;background:var(--ink);color:#fff;border-radius:10px}.skip-link:focus{transform:none}
.tools-header{position:sticky;top:0;z-index:10;display:flex;padding:12px max(20px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fff}
.tools-brand{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ink);font-weight:750}.tools-brand img{width:72px;height:44px;background:none;border-radius:0;object-fit:contain}.tools-brand span{font-size:16px;border-left:1px solid var(--line);padding-left:16px}.tools-back{font-size:14px;text-decoration:none;min-height:44px;display:flex;align-items:center}
main{max-width:1160px;padding:28px 20px 60px}.tools-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.06em;color:#536178;margin:0 0 6px}.tools-heading h1{font-size:32px;letter-spacing:-.045em;margin:4px 0 10px;line-height:1.3}.tools-heading p:last-child{margin:0;color:var(--muted);font-size:16px}.mobile-break{display:none}.account-link{font-size:14px;white-space:nowrap;min-height:44px;align-content:center}
.tools-tabs{display:flex;position:sticky;top:69px;z-index:9;gap:4px;margin:0 0 20px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:auto;scrollbar-width:thin}.tools-tabs button{flex:1 0 auto;font-size:14px;min-height:46px;padding:10px 18px;border:0;background:transparent;white-space:nowrap;border-radius:10px}.tools-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.tools-tabs button:focus-visible{outline-offset:-3px}
main>section{margin:0 0 22px;padding:26px;border:1px solid var(--line);border-radius:22px;scroll-margin-top:148px}.section-title{margin-bottom:22px}.section-title h2{font-size:25px;line-height:1.3;margin:4px 0}.section-title .eyebrow{color:var(--muted)}.price-chip{font-size:14px;padding:7px 12px}.muted-chip{background:#eef3fc;color:#3e5273}
.motion-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:24px}.camera-column{min-width:0}.camera-stage{min-height:0;aspect-ratio:4/3;border:1px solid #223452;background:#111d31;border-radius:16px}.camera-stage video{height:100%;width:100%;min-height:0;max-height:none;object-fit:contain}.camera-stage canvas{width:100%;height:100%;inset:0}.camera-stage>span{font-size:12px;top:14px;left:14px;padding:5px 10px;background:#253750;border:1px solid #58708c}.camera-stage>span.ready{background:#21472f;border-color:#668762}
.camera-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 20px 24px;color:#fff;background:radial-gradient(ellipse at center,#223752,#111d31 75%)}.camera-icon{width:42px;height:42px;color:var(--lime);margin-bottom:20px}.camera-empty b{font-size:20px;font-weight:750}.camera-empty p{color:#c1cfdf;font-size:14px;line-height:1.7;margin:10px 0}
.camera-controls{display:flex;gap:10px;margin-top:14px}.camera-controls #startCamera{flex:1;min-height:52px}.camera-controls #stopCamera{min-width:76px;min-height:52px}.camera-status{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0;min-height:45px}.camera-status[data-error=true]{color:#9e302b;background:#fff2ee;border-radius:10px;padding:12px}
.motion-sidebar{padding:20px;border-radius:16px;background:#f4f7fc;border:1px solid #e1e8f3;align-self:start}.observation-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.observation-heading h3{font-size:16px;margin:0}.observation-heading span{font-size:12px;color:#5c6a80}.motion-stats{display:block;margin:14px 0}.motion-stats>div{display:grid;gap:6px;padding:13px 0;border-top:1px solid #dce4f0}.motion-stats dt{font-size:14px;color:#536178}.motion-stats dt span{font-size:12px;float:right}.motion-stats dd{margin:0;font-size:19px;font-weight:750;line-height:1.45;font-variant-numeric:tabular-nums}.motion-stats meter{display:block;height:16px;margin-top:2px}.motion-stats .session-stat{grid-template-columns:1fr auto;align-items:center}.session-stat dd{font-size:24px}
.camera-help{margin:0}.camera-help summary{font-size:14px;font-weight:700}.camera-help ol{padding-left:20px;font-size:14px;color:#536178;line-height:1.8}.camera-help p,.price-hint{font-size:14px;color:#536178}.price-hint{border-top:1px solid #dce4f0;padding-top:14px;margin:12px 0 0}.price-hint b{color:var(--ink)}
.safety-note{padding:14px 16px;border-radius:10px;background:#f4f7fb;color:var(--muted);font-size:14px;margin:20px 0}.record-detail{border-top:1px solid var(--line);padding-top:10px;margin-bottom:0}.record-detail summary span{font-size:16px}.record-detail summary small{display:inline;margin-left:12px;font-size:14px;font-weight:400}.record-detail[open] summary{margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{margin-top:0}
input,select,textarea{font-size:16px;padding:12px;background:#fff;color:var(--ink)}textarea{resize:vertical;min-height:110px}.check{font-size:14px;color:var(--muted);line-height:1.7}.check input{margin:4px 0}.check span{min-width:0}label{font-size:14px;font-weight:650}form>[role=status]{font-size:14px;margin-bottom:0;white-space:pre-wrap}
.connection-state{padding:14px 16px;border:1px solid #dbe5f3;border-radius:12px;background:#f1f6fe;font-size:14px}.photo-upload-actions{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.photo-upload-label{padding:18px;border:1px dashed #aebdd3;border-radius:14px}.photo-upload-label small{font-weight:400}#aiPreview{display:block;width:100%;height:auto;max-height:350px;object-fit:contain;margin:16px 0;background:#edf3fc}#photoAIResult{white-space:pre-wrap}.result-panel:empty{display:none}.result-panel:not(:empty){padding:18px;background:#f1f5fc;border-radius:14px;margin:16px 0;font-size:16px;line-height:1.8}
#missionCard{background:#17243b;color:#fff;font-size:18px;line-height:1.8;padding:28px;white-space:pre-wrap;border-radius:16px}#pairResult{white-space:pre-wrap;font-size:17px;line-height:1.8}#records article{background:#f5f8fd;border:1px solid var(--line);border-radius:14px;margin:14px 0}#records article p{white-space:pre-wrap}#records article button{font-size:14px}#records .records-empty{padding:28px;text-align:center;background:#f4f7fc;border:1px dashed #bccbe0;border-radius:14px}#records .records-empty p{font-size:14px;color:#536178}
.price-board{display:block;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:10px 22px;margin:22px 0}.price-board>summary{font-size:16px}.price-board>summary span{font-size:14px;color:var(--muted);font-weight:400;margin-left:14px}.price-board>p{font-size:14px;color:var(--muted)}.price-board ul{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;gap:10px}.price-board li{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);background:#f7f9fc;padding:16px;border-radius:12px}.price-board li strong{text-align:left;color:var(--ink);font-size:20px}.price-board li span{color:var(--muted);font-size:14px}.price-board>a{display:inline-block;font-size:14px;min-height:44px;margin-bottom:10px}.tools-footer{font-size:14px;color:var(--muted);padding:8px 0}.tools-footer a{display:inline-block;margin-right:20px;min-height:44px}
@media(max-width:800px){.motion-workspace{grid-template-columns:1fr}.motion-sidebar{padding:18px}.motion-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.motion-stats .session-stat{display:grid;grid-template-columns:1fr}.motion-stats .session-stat dd{font-size:24px}.camera-help{margin-top:10px}.price-board ul{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
 .tools-header{padding:8px 16px;gap:10px;flex-wrap:nowrap}.tools-brand{gap:8px}.tools-brand img{width:60px;height:40px}.tools-brand span{padding-left:8px;font-size:14px}.tools-back{font-size:14px}
 main{padding:22px 14px calc(30px + env(safe-area-inset-bottom))}.tools-heading{display:block;margin-bottom:18px}.tools-heading h1{font-size:28px;margin:5px 0 10px}.tools-heading .eyebrow{font-size:12px}.tools-heading p:last-child{font-size:14px}.account-link{display:inline-block;margin-top:8px}
 .tools-tabs{top:61px;margin:0 -2px 16px;padding:5px;gap:2px;border-radius:12px}.tools-tabs button{flex:0 0 auto;font-size:14px;padding:10px 14px;min-height:44px}.tools-tabs button[data-tab]{flex-basis:auto}
 main>section{padding:18px 14px;border-radius:18px}.section-title{gap:8px;flex-direction:row;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}.section-title h2{font-size:23px}.price-chip{font-size:12px;padding:5px 9px}.section-title .eyebrow{font-size:12px}
 .camera-empty b{font-size:18px}.camera-empty p{font-size:14px}.camera-icon{width:32px;height:32px;margin-bottom:12px}.camera-stage{border-radius:12px}.camera-controls{gap:8px}.camera-controls button{font-size:14px;padding:10px 12px}.camera-status{font-size:14px}
 .record-detail summary small{display:block;margin:4px 0 0}.form-grid,.photo-upload-actions{grid-template-columns:1fr;gap:0}.photo-upload-actions button{justify-self:start;margin-bottom:12px}.price-board{padding:12px 16px}.price-board ul{grid-template-columns:1fr}.price-board>summary span{display:block;margin:4px 0;font-size:14px}.question-grid fieldset{padding:14px}#missionCard{padding:22px;font-size:17px}.mobile-break{display:block}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.motion-state-card{margin-top:16px;padding:18px;border-radius:14px;background:#17243b;color:#fff}.motion-state-card strong{display:block;font-size:24px;line-height:1.4;color:#d7ff45}.motion-state-card p{font-size:14px;line-height:1.65;margin:9px 0;color:#e0e8f4}.motion-state-card small{font-size:12px;color:#bccbe0}
