.cag-odd{font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b33}
.cag-odd[hidden]{display:none!important}.cag-odd *{box-sizing:border-box}
.odd-launch{position:fixed;z-index:900;right:24px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;border:1px solid #66736e;border-radius:18px;padding:4px 16px 4px 4px;background:#f4f1e8;color:#172b33;box-shadow:0 8px 30px #0003;cursor:pointer;text-align:left;font:inherit;min-height:64px}
.odd-launch img{width:58px;height:60px;object-fit:contain;border-radius:13px;background:#e9c46a}.odd-launch strong{display:block;font-size:15px}.odd-launch small{display:block;font-size:12px}.odd-plus{font-size:24px;margin-left:10px;font-weight:400}
.cag-odd button:hover{filter:brightness(.96)}.cag-odd :focus-visible{outline:3px solid #947014;outline-offset:3px}
.odd-panel{position:fixed;inset:auto 24px max(20px,env(safe-area-inset-bottom)) auto;margin:0;padding:0;width:410px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;border:1px solid #53646b;border-radius:20px;background:#f4f1e8;color:#172b33;box-shadow:0 20px 80px #0005;font:inherit}
.odd-panel::backdrop{background:#101b2070}.odd-head{display:flex;gap:10px;align-items:center;padding:20px 16px 16px;background:#172b33;color:#f4f1e8;border-bottom:3px solid #e9c46a}.odd-head img{width:66px;height:80px;object-fit:contain}.odd-head h2{font:500 28px/1.15 Georgia,serif;letter-spacing:-.5px;margin:2px 0 4px;color:#f4f1e8}.odd-head p{margin:0;font-size:12px}.odd-head .odd-kicker{color:#e9c46a;font-size:9px;letter-spacing:1.8px;font-weight:700}.odd-close{align-self:flex-start;margin-left:auto;flex-shrink:0;width:40px;height:40px;border:1px solid #70818a;background:transparent;border-radius:50%;color:#f4f1e8;font:26px/1 system-ui;cursor:pointer}
.odd-body{padding:20px 24px}.odd-body label{font-size:12px;font-weight:700;display:block;margin-bottom:6px}.odd-body select{width:100%;min-height:44px;padding:9px 32px 9px 12px;background:#fffdf7;color:#172b33;border:1px solid #8c9797;border-radius:7px;font:inherit;font-size:14px}
.odd-quote{font:italic 20px/1.4 Georgia,serif;margin:20px 0 12px}.odd-metric{font-size:48px;font-weight:600;letter-spacing:-2px;line-height:1.1;margin:0}.odd-metric-label{font-size:12px;color:#536567;margin:6px 0 18px}.odd-explanation{margin:0 0 14px;font-size:14px}.odd-caution{border-left:3px solid #ab8124;padding:9px 12px;background:#eae3d2;font-size:13px;margin:0 0 18px}
.odd-method{border-top:1px solid #b9c1ba;font-size:12px;padding-top:12px}.odd-method summary{cursor:pointer;min-height:32px;font-weight:600}.odd-method p{margin:10px 0;overflow-wrap:anywhere}.odd-method a,.odd-foot a{color:#294f60;text-underline-offset:3px}.odd-calculation{font-family:ui-monospace,monospace;background:#e5e8e0;padding:10px}.odd-about{font-size:11px;color:#536567;margin:16px 0 0}.odd-foot{padding:12px 24px 16px;border-top:1px solid #c4cbc3;display:flex;gap:10px;justify-content:space-between;font-size:11px}.odd-foot a{font-weight:600;white-space:nowrap}
@media(max-width:520px){.odd-launch{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding-right:12px;min-height:56px}.odd-launch img{width:44px;height:48px}.odd-launch small{display:none}.odd-launch .odd-plus{margin-left:2px}.odd-panel{right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px)}.odd-body{padding:18px 20px}.odd-head{padding:14px 12px}.odd-metric{font-size:42px}}
@media print{.cag-odd{display:none!important}}

#odd-answer:has(.odd-metric-label) .odd-metric{overflow-wrap:anywhere}
#odd-game option{color:#172b33}

/* Six registered poses: look down, write, look back up. Text never moves. */
.odd-dock{position:fixed;z-index:900;right:24px;bottom:max(20px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px}
.odd-dock .odd-launch{position:static}
.odd-sprite{display:block;flex-shrink:0;width:58px;height:58px;border-radius:12px;background:#f4f1e8 url('agent-odd-sprites.png') 0 0 / 300% 200% no-repeat;animation:odd-idle 12s steps(1,end) infinite}
.odd-head .odd-sprite{width:66px;height:66px}
.odd-reacting .odd-sprite{animation:odd-reaction 1.6s steps(1,end) 1}
.odd-motion{cursor:pointer;color:#172b33;background:#f4f1e8;border:1px solid #70818a;font:inherit}
.odd-motion-dock{width:36px;height:44px;border-radius:12px;font-size:18px;box-shadow:0 5px 20px #0002}
.odd-motion-text{padding:0 6px;min-height:32px;border-radius:5px;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.odd-motion:disabled{cursor:default}.odd-foot{align-items:center}
@keyframes odd-idle{0%,72%,100%{background-position:0 0}74%{background-position:50% 0}77%{background-position:100% 0}80%{background-position:0 100%}83%{background-position:100% 0}86%{background-position:0 100%}89%{background-position:50% 100%}92%,98%{background-position:100% 100%}}
@keyframes odd-reaction{0%{background-position:0 0}12%{background-position:50% 0}25%{background-position:100% 0}40%{background-position:0 100%}55%{background-position:100% 0}68%{background-position:0 100%}80%{background-position:50% 100%}92%,100%{background-position:100% 100%}}
.cag-odd[data-motion=paused] .odd-sprite{animation:none;background-position:0 0}
.cag-odd[data-sleep=true] .odd-sprite{animation-play-state:paused}
@media(max-width:520px){.odd-dock{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.odd-launch .odd-sprite{width:44px;height:44px}.odd-head .odd-sprite{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.cag-odd .odd-sprite{animation:none!important;background-position:0 0!important}}
