:root{color:#132033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.app-shell{background:linear-gradient(#ffffffe6,#f4f7fbf5),repeating-linear-gradient(0deg,#0000 0 39px,#94a3b824 39px 40px),repeating-linear-gradient(90deg,#0000 0 39px,#94a3b824 39px 40px);min-height:100vh;padding:28px}.workspace{width:min(1280px,100%);margin:0 auto}.app-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;display:flex}.subject-label,.eyebrow{color:#2563eb;margin:0 0 7px;font-size:.86rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:#0f172a;letter-spacing:0;max-width:720px;margin-bottom:0;font-size:clamp(2rem,4vw,4rem);line-height:1.03}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.mode-group{background:#fff;border:1px solid #d6e0eb;border-radius:8px;gap:8px;padding:5px;display:flex;box-shadow:0 10px 24px #0f172a14}.tool-button{color:#183044;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 15px;font-weight:800;transition:transform .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}.tool-button:hover{background:#eef6ff;transform:translateY(-1px)}.tool-button:focus-visible{outline-offset:3px;outline:3px solid #facc15}.tool-button.active{color:#fff;background:#2563eb;box-shadow:0 10px 20px #2563eb40}.tool-button.reset{background:#fff;border-color:#d6e0eb}.tool-button.guide{color:#713f12;background:#fffbeb;border-color:#fde68a}.tool-button.guide.active{color:#713f12;background:#fef3c7;border-color:#facc15;box-shadow:0 10px 20px #facc1540}.tool-button.guide:hover{background:#fef3c7}.construction-group{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%;display:flex}.construct-button{color:#1e3a8a;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:7px;min-height:38px;padding:0 12px;font-size:.92rem;font-weight:850}.construct-button:hover{background:#dbeafe}.construct-button:focus-visible{outline-offset:3px;outline:3px solid #facc15}.celebration{color:#b91c1c;background:#fff1f2;border:2px solid #fca5a5;border-radius:8px;align-items:center;gap:12px;min-height:58px;margin-bottom:16px;padding:13px 18px;font-size:1.18rem;font-weight:900;display:flex;box-shadow:0 12px 28px #b91c1c1a}.celebration-message{min-width:1ch}.celebration.visible{animation:.42s cubic-bezier(.22,1,.36,1) pop}.mission-panel{background:#fffffff0;border:1px solid #c7d2fe;border-radius:8px;gap:12px;margin-bottom:16px;padding:16px;display:grid;box-shadow:0 14px 34px #0f172a14}.mission-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mission-heading h2{color:#0f172a;letter-spacing:0;margin-bottom:0;font-size:1.35rem}.mission-status{color:#1e3a8a;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:.92rem;font-weight:900;display:inline-flex}.mission-status.complete{color:#166534;background:#f0fdf4;border-color:#86efac}.mission-prompt{color:#334155;margin:0;font-size:1rem;font-weight:750;line-height:1.45}.mission-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.mission-tabs{flex-wrap:wrap;gap:8px;display:flex}.mission-tab,.mission-helper{cursor:pointer;border-radius:7px;min-height:38px;font-weight:850}.mission-tab{color:#1e3a8a;background:#f8fbff;border:1px solid #dbeafe;padding:0 11px}.mission-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}.mission-helper{color:#713f12;background:#fef3c7;border:1px solid #facc15;justify-content:center;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.mission-tab:hover{background:#dbeafe}.mission-tab.active:hover{background:#1d4ed8}.mission-helper:hover{background:#fde68a}.mission-tab:focus-visible,.mission-helper:focus-visible{outline-offset:3px;outline:3px solid #facc15}.main-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.canvas-shell,.measurement-panel{background:#ffffffeb;border:1px solid #d6e0eb;border-radius:8px;box-shadow:0 18px 48px #0f172a1a}.canvas-shell{overflow:hidden}.shape-canvas{aspect-ratio:760/520;touch-action:none;cursor:grab;background:#f8fbff;width:100%;display:block}.shape-canvas:active{cursor:grabbing}.canvas-caption{color:#40566f;border-top:1px solid #e2e8f0;margin:0;padding:13px 16px;font-size:.95rem;font-weight:700}.measurement-panel{padding:20px}.panel-header{border-bottom:1px solid #e2e8f0;padding-bottom:16px}.panel-header h2{color:#0f172a;margin-bottom:0;font-size:1.75rem}.panel-section{padding:18px 0 0}.panel-section h3{color:#1e293b;margin-bottom:10px;font-size:1rem}.measurement-list{gap:8px;display:grid}.measurement-row{color:#1e3a8a;background:#f8fbff;border:1px solid #dbeafe;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 12px;display:flex}.measurement-row span{font-weight:900}.measurement-row strong{color:#0f172a;white-space:nowrap}.measurement-row.hot{color:#b91c1c;background:#fff1f2;border-color:#fca5a5}.badge-list{flex-wrap:wrap;gap:8px;display:flex}.shape-badge{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5;border-radius:999px;align-items:center;padding:8px 12px;font-size:.95rem;font-weight:900;display:inline-flex}.shape-badge.secondary{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.classification-stack,.near-list{gap:10px;display:grid}.representative-card{color:#b91c1c;background:#fff1f2;border:1px solid #fca5a5;border-radius:8px;gap:4px;padding:12px;display:grid}.representative-card span,.related-label{color:#64748b;margin:0;font-size:.82rem;font-weight:900}.representative-card strong{font-size:1.25rem}.representative-card p{color:#7f1d1d;margin:3px 0 0;font-size:.92rem;font-weight:750;line-height:1.45}.near-card{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;gap:5px;padding:12px;display:grid}.near-card strong{color:#92400e}.near-card span{color:#5b4a22;line-height:1.45}.hint{color:#5b6b7e;margin-bottom:0;line-height:1.55}@keyframes pop{0%{transform:scale(.98)}60%{transform:scale(1.015)}to{transform:scale(1)}}@media (width<=980px){.app-shell{padding:18px}.app-header{flex-direction:column;align-items:flex-start}.toolbar{justify-content:flex-start;width:100%}.construction-group,.mission-actions{justify-content:flex-start}.main-grid{grid-template-columns:1fr}}@media (width<=560px){.app-shell{padding:12px}h1{font-size:2rem}.toolbar,.mode-group{width:100%}.mode-group{grid-template-columns:1fr 1fr;display:grid}.tool-button.reset,.tool-button.guide{width:100%}.construction-group,.mission-heading,.mission-actions,.mission-tabs{grid-template-columns:1fr;display:grid}.mission-status,.mission-tab,.mission-helper{width:100%}.measurement-panel{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
