*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Georgia,serif;background:#e7d8aa;color:#403729}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ac351d;outline-offset:4px}button{background:#fff7df;border:1px solid #7b634b55;border-radius:3px;box-shadow:0 3px 0 #6f573324;padding:10px 16px;min-height:44px}button:hover{background:#fffaf0}button[aria-pressed=true]{background:#8a3726;color:#fff7df}button:disabled{opacity:.6;cursor:default}header{position:fixed;z-index:3;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:22px 30px;gap:12px;pointer-events:none}header a,header button{pointer-events:auto}.name{color:#49391e;text-decoration:none;font-size:22px;font-weight:bold;text-shadow:0 1px #fffa}nav{display:flex;gap:8px}nav button{background:#fff8e3d9;font-size:15px;padding:6px 14px}#party{position:relative;width:100%;height:100dvh;min-height:540px}canvas{width:100%;height:100%;display:block;touch-action:none}#caption{position:absolute;bottom:178px;left:20%;width:60%;text-align:center;pointer-events:none}h1{font-size:24px;margin:0 0 8px;font-weight:normal;text-shadow:0 1px #ffff}#feedback{display:block;height:21px;font:14px system-ui;color:#614b2c}#controls{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);text-align:center;width:min(94%,520px)}.bat-controls{display:flex;align-items:center;justify-content:center;gap:11px}.bat-controls button{min-width:66px;background:#f8e4b9;font:bold 23px Georgia;box-shadow:0 5px 0 #77512355;min-height:54px}.bat-controls #swing{background:#b6432b;color:#fff5dc;border-color:#892d22;width:174px}.options{display:flex;justify-content:center;gap:7px;margin-top:13px}.options button{padding:4px 11px;min-height:32px;font:12px system-ui;background:#fbefcfb8;box-shadow:none}.attempts{height:23px;margin:0 0 5px;display:flex;justify-content:center;gap:8px}.attempts i{width:8px;height:17px;display:block;transform:rotate(22deg);border-radius:4px;background:#bb482c;box-shadow:inset 2px 0 #ffbc64}.attempts i.used{background:#a89b79;opacity:.4}#round-end{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);width:min(96%,590px);text-align:center;background:#fff2dada;border:1px solid #bd9e71;padding:16px 20px;box-shadow:0 8px 25px #4a352133;z-index:3}#round-end p{font-size:21px;margin:0 0 12px}#round-end button{margin:4px}#round-end[hidden],*[hidden]{display:none!important}#loader{position:fixed;inset:0;z-index:20;background:#ecdfbd;display:flex;align-items:center;justify-content:center;flex-direction:column}#loader p{font-size:18px}.paper-ring{width:50px;height:50px;border:9px dashed #bd4226;border-radius:50%}progress{width:170px;height:5px;accent-color:#ad4025}dialog{border:0;background:#fcf3df;color:#392f23;box-shadow:0 22px 90px #241c0ab3;padding:24px;width:min(920px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow:auto;border-top:12px solid #ae3b2c}dialog::backdrop{background:#201807a8}dialog h2{font-size:27px;font-weight:normal;margin:0}dialog p{font-size:18px;line-height:1.65}dialog button.close,#reader-close{width:46px;font:28px Georgia;padding:4px;flex-shrink:0}.dialog-top,.reader-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:25px}.reader-top{position:sticky;top:-24px;background:#fcf3dff5;padding:16px 0;z-index:3}#reader{width:min(1020px,calc(100% - 24px));padding:0 30px 25px;border-bottom:9px solid #ae3b2c}#reader .reader-top{top:0}.reader-bottom{text-align:center;margin-top:22px}#reader-next{min-width:180px}#media{--ab-text:#392f23;--ab-muted:#655b4a;--ab-line:#b1a087;--ab-max-image-height:75dvh}#media .ab-lede{font-size:20px;line-height:1.5}#media img{object-fit:contain}#collection{width:min(1180px,calc(100% - 24px))}#collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}#collection-grid button{background:#f0e4c8;padding:13px 8px;border:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:16px}#collection-grid img{height:180px;width:100%;object-fit:contain;filter:drop-shadow(3px 6px 3px #58442332)}#help-dialog,#about-dialog{max-width:620px}#about-copy a{color:#9d3021}body.modal #controls{pointer-events:none}@media(max-width:650px){header{padding:12px;align-items:flex-start}.name{font-size:17px;line-height:44px;white-space:nowrap}nav{gap:3px}nav button{font-size:12px;padding:5px 9px}#caption{width:94%;left:3%;bottom:182px}h1{font-size:21px}#controls{bottom:max(15px,env(safe-area-inset-bottom));width:98%}.bat-controls button{min-height:57px}.options{gap:5px}.options button{padding:4px 9px}#reader{padding:0 15px 20px}dialog{padding:18px}.reader-top h2{font-size:23px}#media .ab-lede{font-size:18px}#collection-grid{grid-template-columns:repeat(2,1fr);gap:10px}#collection-grid img{height:150px}#collection-grid button{font-size:14px}#round-end{bottom:35px}#round-end p{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* The caption never shares the sculpture's full pendulum/tear envelope. */
#caption{top:174px;bottom:auto;left:28px;width:min(280px,23%);text-align:left}#attempt-label{display:block;font:11px system-ui;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;color:#614b2c}body:has(#round-end:not([hidden])) #caption{display:none}
@media(max-width:650px){#caption{top:auto;bottom:158px;left:4%;width:92%;text-align:center;background:#ede0bde6;border-radius:3px;padding:5px 10px}#caption h1{font-size:17px;margin:0 0 2px}#feedback{height:18px;font-size:12px}#controls{bottom:max(12px,env(safe-area-inset-bottom))}}
