/* Pulsified Play: Calculator. Source: Obsidian Calculator-Demo.html (playtested design, unchanged).
   Loaded only by /play/calculator/, so these rules never reach other pages. */
:root{color-scheme:light;--ink:#273d3b;--muted:#68726a;--paper:#fffdf1;--coral:#bd583e;--desk:#e8e0d3}
*{box-sizing:border-box}body{margin:0;background:var(--desk);color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100vh;background-image:radial-gradient(ellipse at 30% 15%,#f6f1e5 0,transparent 65%)}
button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b84b32;outline-offset:4px}button:disabled{cursor:default}header{max-width:1160px;margin:auto;padding:26px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #273d3b24}.brand{font-size:12px;font-weight:800;letter-spacing:2px}.brand svg{vertical-align:middle;margin-right:8px}.demo{font:10px monospace;letter-spacing:1px;border:1px solid #273d3b40;padding:7px 10px;border-radius:20px}
main{max-width:1060px;margin:42px auto 30px;display:grid;grid-template-columns:1fr 370px 1fr;gap:40px;align-items:start;padding:0 24px}.intro{padding-top:48px}.eyebrow{font:10px monospace;letter-spacing:2px;text-transform:uppercase;color:var(--coral)}h1{font-family:Georgia,serif;font-weight:400;font-size:51px;letter-spacing:-2px;line-height:1.02;margin:19px 0 22px}h1 em{color:var(--coral)}.intro p{font-size:13px;line-height:1.8;max-width:205px;color:#5d6860}.rule{display:block;font-size:11px;font-weight:bold;line-height:1.7;margin-top:28px}.stage-note{margin-top:35px;font:11px monospace;color:var(--muted);line-height:1.8}.play{position:relative;width:100%}.stats{display:flex;justify-content:space-between;padding:0 12px 19px;font:11px monospace;letter-spacing:1px}.stats strong{font-size:20px;letter-spacing:-1px;margin-left:5px}.paper{background:var(--paper);position:relative;min-height:154px;width:max-content;min-width:calc(100% - 30px);max-width:min(calc(100% + 24px),calc(100vw - 28px));left:50%;translate:-50% 0;margin:0 0 -13px;padding:25px 17px 30px;transform:rotate(-2deg);box-shadow:1px 5px 9px #4943331b;z-index:1;background-image:repeating-linear-gradient(transparent 0,transparent 27px,#7c9aaa24 28px,#7c9aaa24 29px);background-position:0 30px;border-bottom:1px solid #c6bca6}.paper:before{content:'';position:absolute;width:78px;height:22px;background:#d2c8ab99;top:-9px;left:calc(50% - 39px);transform:rotate(4deg)}.paper-label{font:9px monospace;letter-spacing:2px;color:#777d70;text-align:center}.question{font-family:'Bradley Hand','Segoe Print',Georgia,serif;font-style:italic;font-size:37px;text-align:center;margin:24px 0 12px;color:#304b62;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.paper-bottom{font:9px monospace;text-align:right;color:#8d8c7d}.calculator{background:#344b48;border-radius:16px 16px 25px 25px;padding:30px 22px 22px;box-shadow:0 8px 0 #213632,0 13px 0 #21363218,7px 23px 32px #383f332b;position:relative;z-index:2}.calc-top{display:flex;justify-content:space-between;align-items:center;color:#d4d9cb;font:9px monospace;letter-spacing:2px;margin:0 2px 13px}.solar{width:80px;height:17px;border:2px solid #25332d;border-radius:2px;background:repeating-linear-gradient(90deg,#514b3c 0,#514b3c 17px,#2f332b 18px,#2f332b 19px)}.screen{background:#bfccb0;border:5px solid #263d37;border-radius:7px;box-shadow:inset 0 3px 5px #45543c35;padding:9px 13px;margin-bottom:19px;overflow:hidden}.screen-label{font:9px monospace;color:#526047;letter-spacing:2px}.answer{display:block;width:100%;min-height:49px;color:#2f4232;font:42px 'Courier New',monospace;text-align:right;letter-spacing:2px;overflow:hidden}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.key{border:0;border-radius:7px;background:#eee9dc;color:#344b48;box-shadow:0 4px 0 #b4b4a7;padding:10px 0;font-size:24px;min-height:49px;transition:transform .08s,box-shadow .08s}.key:active:not(:disabled),.key.pressed{transform:translateY(3px);box-shadow:0 1px 0 #aaa99b}.key.utility{background:#768980;color:#fffbed;box-shadow:0 4px 0 #52685e;font-size:15px}.key.equal{background:#d87151;color:#fff8e8;box-shadow:0 4px 0 #a54f38;font-size:25px;grid-column:span 2}.key:disabled{opacity:.65}.key.zero{font-size:25px}.calc-bottom{text-align:center;color:#b7c4b7;font:8px monospace;letter-spacing:3px;margin-top:23px}.hint{text-align:center;margin:24px 0 0;font:10px monospace;color:#72796c;line-height:1.8}.status{min-height:18px;text-align:center;font:11px monospace;color:#9b4a36;margin:9px 0 0}.board{margin-top:52px;padding-left:4px}h2{font:17px Georgia,serif;margin:0 0 7px}.local{font:9px monospace;letter-spacing:1px;color:var(--muted);line-height:1.7}.player{display:block;font:9px monospace;letter-spacing:1px;margin-top:24px}.player input{display:block;width:100%;max-width:200px;background:transparent;border:0;border-bottom:1px solid #273d3b4a;border-radius:0;padding:10px 0;color:var(--ink);font:13px monospace;letter-spacing:1px}.board ol{list-style:none;padding:0;margin:23px 0;counter-reset:rank}.board li{counter-increment:rank;display:flex;gap:10px;border-bottom:1px solid #273d3b1a;padding:12px 0;font:11px monospace}.board li:before{content:counter(rank,decimal-leading-zero);color:#919586}.board li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.board li strong{color:var(--coral)}.empty{font:12px Georgia,serif;font-style:italic;line-height:1.7;color:#7b8172;margin-top:27px}.board-foot{font-size:10px;line-height:1.7;color:#7d8276;max-width:185px}.overlay{position:absolute;inset:80px -5px auto;z-index:5;background:var(--paper);border:1px solid #c8bba1;box-shadow:0 18px 70px #152e3890;padding:30px 27px;text-align:center;transform:rotate(1deg);border-radius:3px}.overlay[hidden]{display:none}.overlay h2{font:38px Georgia,serif;margin:15px 0 10px}.final-score{font:65px Georgia,serif;color:var(--coral);margin:10px 0}.result{font:12px monospace;line-height:1.9}.restart{background:var(--ink);border:0;color:#fffdf1;width:100%;padding:16px;border-radius:5px;margin-top:18px;font-size:14px}.saved{font:10px monospace;color:var(--muted);line-height:1.7;margin-top:14px}.footer{text-align:center;font:9px monospace;letter-spacing:2px;color:#8c8e7e;padding:15px 20px 25px}.flash{animation:tick .23s ease}@keyframes tick{50%{transform:rotate(0deg) translateY(-5px)}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
@media(max-width:900px){main{grid-template-columns:330px 200px;justify-content:center;gap:34px;margin-top:28px}.intro{grid-column:1/-1;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro h1{font-size:33px;margin:0;letter-spacing:-1px}.intro .eyebrow,.intro p,.intro .stage-note{display:none}.rule{margin:0;font-size:10px;max-width:160px}.board{margin-top:40px}}@media(max-width:600px){header{padding:16px 19px}.brand{font-size:10px;letter-spacing:1px}.demo{font-size:8px}main{display:flex;flex-direction:column;gap:24px;margin:22px auto 0;padding:0 22px;max-width:395px}.intro{width:100%}.intro h1{font-size:29px}.rule{max-width:125px;font-size:9px}.stats{padding-bottom:15px}.question{font-size:33px}.paper{min-height:140px;padding-top:20px}.calculator{padding:27px 20px 19px}.key{min-height:45px;padding:7px}.keys{gap:11px}.hint{margin-top:21px}.board{width:100%;margin:0;padding:14px 10px 0;border-top:1px solid #273d3b24}.player input{max-width:100%}.board-foot{max-width:none}.footer{padding-top:25px}.overlay{inset:60px 0 auto}.stage-note{display:none}}

.settings{margin:25px 0 28px;padding:0;border:0;border-top:1px solid #273d3b24}.settings legend{font:10px monospace;letter-spacing:1px;padding:0 8px 0 0}.operator-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.operator-options label{display:flex;align-items:center;gap:6px;padding:9px 6px;background:#fffdf170;border:1px solid #273d3b25;border-radius:5px;font:11px monospace;cursor:pointer}.operator-options input{accent-color:var(--ink);width:15px;height:15px;margin:0}.operator-options b{font-size:18px}.difficulty-label{display:block;font:10px monospace;letter-spacing:1px;margin-top:17px}.difficulty-label select{display:block;width:100%;padding:10px 7px;margin-top:7px;border:1px solid #273d3b50;border-radius:5px;background:var(--paper);color:var(--ink);font:12px monospace}.apply-settings{width:100%;margin-top:12px;border:1px solid #273d3b50;border-radius:5px;background:var(--ink);color:var(--paper);padding:11px 7px;font-size:11px}.apply-settings:disabled{opacity:.45}.settings-help,.active-operators{font:10px monospace;color:var(--muted);line-height:1.7}.settings-help{margin:8px 0 0}.active-operators{margin:10px 0 0}.board li small{display:block;color:var(--muted);font:9px monospace;margin-top:5px}

/* Site integration: return links keep the game's own look. */
a.brand{color:inherit;text-decoration:none}.footer .home-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.footer .home-link:hover{color:var(--coral)}

/* Question timer (optional). Text + color mark the final five seconds; nothing flashes. */
.timer{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:9px;font:11px monospace;letter-spacing:1px;color:#526047}.timer[hidden]{display:none}.timer-text{min-width:7ch;text-align:right}.timer-bar{display:block;width:96px;height:5px;background:#273d3b1f;border-radius:3px;overflow:hidden}.timer-fill{display:block;height:100%;width:100%;background:#526047;transform-origin:left center}.timer.urgent{color:#9b4a36;font-weight:bold}.timer.urgent .timer-fill{background:#bd583e}
.timer-settings{margin-top:17px}.timer-toggle{display:flex;align-items:center;gap:8px;font:10px monospace;letter-spacing:1px;cursor:pointer}.timer-toggle input{accent-color:var(--ink);width:15px;height:15px;margin:0}.timer-duration{margin-top:10px}.timer-range-label{display:block;font:9px monospace;letter-spacing:1px;color:var(--muted)}.timer-inputs{display:flex;align-items:center;gap:10px;margin-top:7px}.timer-inputs input[type=range]{flex:1;min-width:0;accent-color:var(--ink)}.timer-inputs input[type=number]{width:62px;padding:8px 6px;border:1px solid #273d3b50;border-radius:5px;background:var(--paper);color:var(--ink);font:12px monospace;text-align:center}.timer-duration.off{opacity:.5}.timer-duration .settings-help{margin-top:6px}.settings-help.error{color:#9b4a36}
