:root{--paper:#f0e6cc;--paper-2:#f8f2e2;--ink:#2a1d14;--ink-soft:#6a5846;--amber:#c9721a;--line:#cdbf9e;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--serif);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.stick-zone{touch-action:none;width:55%;position:absolute;top:0;bottom:0;left:0}.stick-base{opacity:0;pointer-events:none;background:#f8f2e259;border:2px solid #2a1d148c;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;transition:opacity .15s;position:absolute}.stick-base.on{opacity:1}.stick-knob{background:#2a1d14b3;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.objective{top:calc(12px + var(--safe-t));background:var(--paper-2);border:1.5px solid var(--ink);white-space:nowrap;border-radius:3px;padding:7px 16px;font-size:16px;font-style:italic;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.hint{bottom:calc(12px + var(--safe-b));color:var(--ink-soft);white-space:nowrap;background:#f8f2e2cc;border-radius:3px;padding:4px 12px;font-size:13px;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}.marker{background:var(--amber);border:2px solid var(--ink);border-radius:50% 50% 50% 0;width:22px;height:22px;margin:-11px 0 0 -11px;animation:1.4s ease-in-out infinite pulse;position:absolute;transform:rotate(-45deg);pointer-events:none!important}@keyframes pulse{50%{scale:1.25}}.btn{font:inherit;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--ink);cursor:pointer;touch-action:manipulation;border-radius:3px;padding:9px 16px;font-size:16px}.btn:active{background:var(--line)}.notebook-btn{top:calc(12px + var(--safe-t));right:calc(14px + var(--safe-r));position:absolute}.restart-btn{top:calc(42px + var(--safe-t));left:calc(16px + var(--safe-l));width:30px;height:30px;min-height:0;box-shadow:none;opacity:.45;border-width:1.5px;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.restart-btn:hover,.restart-btn:focus-visible,.restart-btn:active{opacity:1}.restart-btn svg{fill:none;width:16px;height:16px;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.restart-btn kbd{inset:50% -26px auto auto;translate:0 -50%}.confirm{background:#2a1d1480;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.confirm-box{background:var(--paper-2);border:3px solid var(--ink);box-shadow:0 7px 0 var(--ink);text-align:center;border-radius:14px;max-width:420px;padding:20px 26px 24px}.confirm-box h2{margin:0 0 4px;font-size:22px}.confirm-box p{color:var(--ink-soft);margin:0 0 20px;font-style:italic}.confirm-box .row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.confirm-box .btn{box-shadow:0 4px 0 var(--ink);border-width:2.5px;border-radius:10px;font-weight:600;position:relative}.confirm-box .btn:active{box-shadow:0 1px 0 var(--ink);translate:0 3px}.confirm-box .yes{background:#f2a23a}.badge{background:var(--amber);border:1.5px solid var(--ink);border-radius:50%;width:14px;height:14px;position:absolute;top:-6px;right:-6px}.energy{top:calc(18px + var(--safe-t));left:calc(16px + var(--safe-l));background:var(--paper-2);border:1.5px solid var(--ink);border-radius:3px;width:150px;height:14px;position:absolute;overflow:hidden;pointer-events:none!important}.energy i{background:var(--amber);height:100%;display:block}.energy.low i{background:#a3321f}.pad{--tilt:0deg;bottom:calc(30px + var(--safe-b));cursor:pointer;touch-action:none;letter-spacing:.03em;text-transform:uppercase;width:100px;height:100px;color:var(--ink);background:var(--paper-2);border:3.5px solid var(--ink);box-shadow:0 6px 0 var(--ink);rotate:var(--tilt);border-radius:50%;place-content:center;justify-items:center;gap:1px;padding:0;font:800 17px/1 ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Trebuchet MS,sans-serif;transition:translate 60ms,box-shadow 60ms,background .12s;display:grid;position:absolute}.pad:active,.pad.on{box-shadow:0 2px 0 var(--ink);translate:0 4px}.pad svg{fill:none;width:40px;height:32px;stroke:var(--ink);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.pad svg .fill{fill:var(--tint)}.pad b{font-weight:800}.fly{--tilt:-4deg;--tint:#cfe3a6;right:calc(26px + var(--safe-r));background:#f4f7df}.fly.on{background:#cfe3a6}.fly.on svg{animation:.16s linear infinite flap}.fly.off{opacity:.45;filter:grayscale(.6)}@keyframes flap{50%{transform:scaleY(.55)translateY(4px)}}.action{--tilt:3deg;--tint:#f2a23a;right:calc(146px + var(--safe-r));background:#fdebc8;animation:.25s ease-out pop}.action:before{content:"";pointer-events:none;background:conic-gradient(var(--amber) calc(var(--p,0) * 360deg), transparent 0);border-radius:50%;position:absolute;inset:-11px;-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(closest-side,#0000 calc(100% - 7px),#000 calc(100% - 6px))}@keyframes pop{0%{scale:.6}70%{scale:1.08}}kbd{letter-spacing:.02em;text-transform:none;color:var(--paper-2);background:var(--ink);box-shadow:0 0 0 2px var(--paper-2);border-bottom:3px solid #000;border-radius:6px;padding:3px 7px 2px;font:700 11px/1.2 ui-monospace,Menlo,Consolas,monospace;position:absolute;top:-9px;left:-12px;rotate:-7deg}.notebook-btn kbd{top:auto;bottom:-11px;left:-10px}@media (hover:none) and (pointer:coarse){kbd{display:none}}.toast{top:calc(60px + var(--safe-t));background:var(--ink);color:var(--paper-2);white-space:nowrap;border-radius:3px;padding:10px 20px;font-size:17px;position:absolute;left:50%;transform:translate(-50%);pointer-events:none!important}[hidden]{display:none!important}.book{padding:calc(10px + var(--safe-t)) calc(14px + var(--safe-r)) calc(10px + var(--safe-b)) calc(14px + var(--safe-l));background:#2a1d1473;place-items:center;display:grid;position:absolute;inset:0}.book-inner{width:min(920px,100%);height:min(560px, calc(100dvh - 20px - var(--safe-t) - var(--safe-b)));background:var(--paper-2);border:1.5px solid var(--ink);border-radius:4px;flex-direction:column;display:flex;box-shadow:6px 8px #2a1d1459}.book header{border-bottom:1.5px solid var(--ink);align-items:center;gap:14px;padding:8px 12px;display:flex}.book header h1{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:17px;font-weight:600}.book nav{flex:1;gap:6px;display:flex}.tab{font:inherit;border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:3px;padding:5px 12px;font-size:15px}.tab.on{border-color:var(--ink);color:var(--ink);background:var(--paper)}.book .close{padding:5px 12px;font-size:15px}.spread{flex:1;min-height:0;display:flex}.page{-webkit-user-select:text;user-select:text;flex:1;min-width:0;padding:16px 22px;overflow-y:auto}.page+.page{border-left:1.5px dashed var(--line)}.plate{background:#f6f1e0;flex:.8;padding:8px;overflow:hidden}.plate img{object-fit:contain;width:100%;height:100%;display:block}.notes h2,.locked h2{margin:0;font-size:26px;font-weight:600}.notes .sub{color:var(--ink-soft);margin:2px 0 12px;font-style:italic}.notes ul{margin:0;padding-left:18px;font-size:16px;line-height:1.45}.notes li{margin-bottom:9px}.locked{text-align:center;color:var(--ink-soft);place-content:center;display:grid}.title{background:var(--paper);text-align:center;cursor:pointer;place-content:center;gap:4px;transition:opacity .8s;display:grid;position:absolute;inset:0}.title.gone{opacity:0;visibility:hidden;transition:opacity .8s,visibility 0s .8s;pointer-events:none!important}.title p{margin:0}.title .connecting{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);font-size:13px;animation:1.2s infinite blink}.title h1{margin:6px 0 0;font-size:clamp(34px,7vw,60px);font-weight:600}.title .common{font-size:20px}.title .place{color:var(--ink-soft);font-style:italic}.title .start{letter-spacing:.12em;text-transform:uppercase;opacity:0;margin-top:26px;font-size:15px;transition:opacity .5s}.title.ready .start{opacity:1}.title.ready .connecting{visibility:hidden;animation:none}@keyframes blink{50%{opacity:.3}}.rotate{background:var(--paper);text-align:center;place-content:center;padding:24px;font-size:20px;display:none;position:absolute;inset:0}@media (orientation:portrait) and (max-width:600px){.rotate{display:grid}}@media (max-height:420px){.pad{width:86px;height:86px;bottom:calc(22px + var(--safe-b));font-size:15px}.pad svg{width:34px;height:27px}.action{right:calc(128px + var(--safe-r))}.objective{font-size:14px}.hint{font-size:12px}}.page-btn{background:#fdebc8;border-width:2px;min-height:40px;margin-top:6px;font-weight:600}.anatomy{--sys-digestive:#c9a24a;--sys-nervous:#efe6c0;--sys-circulatory:#a3321f;--sys-respiratory:#b9cfd6;--sys-reproductive:#9a6a8f;--sys-muscular:#c98570;display:flex;position:absolute;inset:0}#ui.plate-open>:not(.anatomy):not(.rotate):not(.title){visibility:hidden!important;pointer-events:none!important}.an-stage{touch-action:none;cursor:grab;min-width:0;padding:calc(8px + var(--safe-t)) 10px calc(8px + var(--safe-b)) calc(10px + var(--safe-l));flex:1;grid-template:"top top""sys free"minmax(0,1fr)"bottom bottom"/auto minmax(0,1fr);gap:6px 8px;display:grid;position:relative}.an-stage>*{pointer-events:none}.an-stage button,.an-stage label{pointer-events:auto;cursor:pointer}.an-free{grid-area:free}.an-top{grid-area:top;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.an-seg{display:flex}.an-seg button{font:inherit;min-height:40px;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--ink);touch-action:manipulation;padding:0 13px;font-size:15px}.an-seg button+button{margin-left:-1.5px}.an-seg button:first-child{border-radius:3px 0 0 3px}.an-seg button:last-child{border-radius:0 3px 3px 0}.an-seg button.on{background:var(--ink);color:var(--paper-2)}.anatomy .btn{min-width:40px;min-height:40px;padding:0 13px;font-size:15px}.an-systems{flex-direction:column;grid-area:sys;align-self:start;gap:3px;display:none}.anatomy[data-view=internal] .an-systems{display:flex}.an-systems button{font:inherit;text-align:left;min-height:40px;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--ink);touch-action:manipulation;border-radius:3px;align-items:center;gap:8px;padding:0 12px 0 9px;font-size:14px;display:flex}.an-systems i,.an-list h2 i,.an-group i{border:1.5px solid var(--ink);background:var(--sys);border-radius:50%;flex:none;width:13px;height:13px}.an-systems button[aria-pressed=false]{color:var(--ink-soft);border-color:var(--line);background:#f8f2e299}.an-systems button[aria-pressed=false] i{border-color:var(--ink-soft);background:0 0}[data-system=digestive]{--sys:var(--sys-digestive)}[data-system=nervous]{--sys:var(--sys-nervous)}[data-system=circulatory]{--sys:var(--sys-circulatory)}[data-system=respiratory]{--sys:var(--sys-respiratory)}[data-system=reproductive]{--sys:var(--sys-reproductive)}[data-system=muscular]{--sys:var(--sys-muscular)}[data-system=external]>i,[data-system=external] h2 i{display:none}.an-bottom{flex-wrap:wrap-reverse;grid-area:bottom;align-items:center;gap:6px 10px;display:flex}.an-angles{gap:5px;display:flex}.an-explode{background:var(--paper-2);border:1.5px solid var(--ink);border-radius:3px;flex:150px;max-width:300px;min-height:40px;padding:3px 10px 2px;display:none}.anatomy[data-view=exploded] .an-explode{display:block}.an-explode span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;line-height:1.1;display:block}.an-explode input{width:100%;height:22px;accent-color:var(--ink);touch-action:pan-y;margin:0;display:block}.anatomy[data-quiz] :is(.an-top,.an-systems,.an-explode){display:none}.an-tip{z-index:1;white-space:nowrap;color:var(--paper-2);background:var(--ink);border-radius:3px;padding:4px 9px;font-size:13px;position:absolute}.an-loading{letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft);grid-area:free;place-self:center;margin:0;font-size:13px;animation:1.2s infinite blink;display:none}.anatomy.loading .an-loading{display:block}.an-panel{background:var(--paper-2);border-left:1.5px solid var(--ink);width:clamp(248px,36vw,400px);padding-right:var(--safe-r);flex-direction:column;flex:none;display:flex;box-shadow:-5px 0 #2a1d141f}.an-panel header{padding:calc(7px + var(--safe-t)) 12px 7px;border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:center;gap:10px;display:flex}.an-panel h1{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600}.an-panel header p{color:var(--ink-soft);margin:0;font-size:13px}.an-close{position:relative}.an-close kbd{top:50%;left:-30px;translate:0 -50%}.an-body{flex:1;min-height:0}.an-body>div{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;height:100%;padding:10px 12px calc(14px + var(--safe-b));overflow-y:auto}.an-hint,.an-note{color:var(--ink-soft);margin:0 0 2px;font-size:13px;font-style:italic}.an-list .an-note{display:none}.anatomy[data-view=internal] .an-list .an-note{display:block}.an-card .an-note{margin:8px 0 0}.an-list h2{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;margin:14px 0 3px;font-size:13px;font-weight:600;display:flex}.an-intro{color:var(--ink-soft);margin:0 0 4px;font-size:13px;font-style:italic;line-height:1.35}.an-list button{text-align:left;width:100%;min-height:40px;font:inherit;color:var(--ink);border:0;border-top:1px solid var(--line);cursor:pointer;touch-action:manipulation;background:0 0;padding:6px 8px;font-size:15px;display:block}.an-list button:hover,.an-list button.on{background:var(--paper)}.an-card,.an-quiz{-webkit-user-select:text;user-select:text}.an-card-nav{justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.an-card-nav span{gap:5px;display:flex}.an-group{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.an-card h2{margin:2px 0 0;font-size:23px;font-weight:600;line-height:1.15}.an-latin{color:var(--ink-soft);margin:1px 0 0;font-size:15px}.an-paired{color:var(--ink-soft);border:1px solid var(--ink-soft);border-radius:10px;margin:7px 0 0;padding:1px 9px;font-size:12px;display:inline-block}.an-desc{margin:9px 0 11px;font-size:15px;line-height:1.45}.an-exam{border:1.5px solid var(--ink);border-left:6px solid var(--amber);background:#fdebc8;border-radius:3px;padding:7px 10px 8px}.an-exam b{letter-spacing:.1em;text-transform:uppercase;color:#8a4a0c;font-size:11px;display:block}.an-exam p{margin:2px 0 0;font-size:15px;line-height:1.4}.an-forewings{border-top:1.5px dashed var(--line);margin-top:14px;padding-top:10px}.an-forewings h3{margin:0;font-size:16px;font-weight:600}.an-forewings>p{color:var(--ink-soft);margin:2px 0 0;font-size:13px;font-style:italic}.an-forewings dl{background:var(--paper);border:1px solid var(--line);border-radius:3px;margin:9px 0 0;padding:6px 9px}.an-forewings dt{font-size:15px;font-weight:600}.an-forewings dd{margin:1px 0 0;font-size:13px;line-height:1.35}.an-forewings dd span{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.an-quiz-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.an-quiz h2{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:15px;font-weight:600}.an-score{color:var(--ink-soft);margin:0;font-size:14px}.an-question{margin:6px 0 8px;font-size:17px;font-style:italic}.an-options{gap:5px;display:grid}.an-options button{text-align:left;min-height:40px;font:inherit;color:var(--ink);background:var(--paper-2);border:1.5px solid var(--ink);cursor:pointer;touch-action:manipulation;border-radius:3px;padding:5px 12px;font-size:15px}.an-options button:not(:disabled):hover{background:var(--paper)}.an-options .right{background:#cfe3a6}.an-options .wrong{color:var(--ink-soft);background:#ecd3ca;text-decoration:line-through}.an-feedback{margin:9px 0 7px;font-size:16px;font-weight:600}.an-feedback.no{color:#a3321f}.an-row{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.an-row .an-go{background:#fdebc8;font-weight:600}.examine{cursor:pointer;touch-action:manipulation;letter-spacing:.04em;text-transform:uppercase;min-height:44px;color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#fdebc8;border-radius:24px;padding:0 20px;font:800 15px/1 ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Trebuchet MS,sans-serif;animation:.25s ease-out pop;position:absolute;rotate:-2deg}.examine:active{box-shadow:0 2px 0 var(--ink);translate:0 3px}.examine kbd{top:-11px;left:-10px}@media (max-height:420px){.an-seg button,.anatomy .btn{padding:0 10px;font-size:14px}.an-systems button{font-size:13px}.an-intro{display:none}.an-card h2{font-size:20px}.an-desc,.an-exam p{font-size:14px}}
