:root{color:#17201d;background:#f4f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{min-height:42px;border:0;border-radius:8px;padding:0 18px;color:#fff;background:#1f6f64;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;width:min(1240px,calc(100vw - 32px));min-height:100vh;margin:0 auto;padding:24px 0;align-items:center}.stage{display:grid;gap:14px}.cameraWrap{position:relative;overflow:hidden;min-height:360px;aspect-ratio:16 / 9;border-radius:8px;background:#111816;box-shadow:0 24px 60px #17201d38}video,canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}video{opacity:0}.cameraState{position:absolute;left:14px;top:14px;border-radius:999px;padding:7px 12px;color:#fff;background:#111816c7;font-size:13px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid rgba(23,32,29,.16);border-radius:8px;background:#fff}.panel{display:grid;gap:14px;align-content:start}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.1;letter-spacing:0}.lede{color:#4c5a55;line-height:1.65}.notice,.zone,.metric,.guidance,.field select{border:1px solid rgba(23,32,29,.12);border-radius:8px;background:#ffffffb8}.notice,.zone{display:grid;gap:8px;padding:14px;line-height:1.55}.notice span,.zone span{color:#4c5a55}.zone{border-color:#1f6f6447;background:#e8f6f1c7}.field{display:grid;gap:8px;color:#4c5a55}.field select{width:100%;min-height:44px;padding:0 12px;color:#17201d}.field input[type=range]{width:100%;accent-color:#1f6f64}.metric{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 14px}.metric span{color:#4c5a55}.metric strong{font-size:20px}.guidance{min-height:96px;padding:16px;line-height:1.65;color:#26342f}.badges{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.badges span{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:0 10px;color:#17483f;background:#d9f1e9;font-size:13px;font-weight:700}.collection{display:grid;gap:10px;border:1px solid rgba(23,32,29,.12);border-radius:8px;padding:14px;background:#ffffffb8}.collectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.collectionHead button{min-height:32px;padding:0 10px;color:#17483f;background:#d9f1e9;font-size:13px}.collectionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collectionItem{display:grid;gap:4px;min-height:58px;border:1px dashed rgba(23,32,29,.2);border-radius:8px;padding:9px;color:#6b756f;background:#f4f1ea94}.collectionItem.unlocked{border-style:solid;border-color:#1f6f6447;color:#17201d;background:#ecfaf5}.collectionItem span,.collectionItem strong{overflow-wrap:anywhere}.collectionItem strong{font-size:13px}.consent{width:min(520px,calc(100vw - 28px));border:0;border-radius:8px;padding:0;color:#17201d;background:#fff;box-shadow:0 30px 80px #00000047}.consent::backdrop{background:#1118168a}.consent form{display:grid;gap:16px;padding:22px}.consent p,.consent label{line-height:1.6;color:#4c5a55}.consent menu{display:flex;justify-content:flex-end;gap:10px;margin:0;padding:0}#cancelConsent{color:#17201d;background:#e8e3d8}@media(max-width:900px){.shell{grid-template-columns:1fr;align-items:start}.panel{order:-1}.cameraWrap{min-height:240px}}
