/* Izolovaný automat. Barvy a písma navazují na Lžolam; globální CSS se nenačítá. */
.ap-page { --ap-paper:#e9dcc1; --ap-light:#f0e5cd; --ap-ink:#34271e; --ap-muted:#62503c; --ap-leather:#2f231b; --ap-wine:#7f2832; --ap-bronze:#b28d55; --ap-line:#bba583; margin:0; color:var(--ap-ink); background:radial-gradient(ellipse at 85% 8%,#f8edd4,transparent 36%),repeating-linear-gradient(0deg,#5e452006 0 1px,transparent 1px 4px),var(--ap-paper); font:16px/1.55 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
.ap-page *, .ap-page *::before, .ap-page *::after { box-sizing:border-box; }
.ap-page [hidden] { display:none!important; }
.ap-page h1,.ap-page h2,.ap-page h3,.ap-page p { margin:0; }
.ap-page h1,.ap-page h2,.ap-page h3 { font-family:Georgia,'Times New Roman',serif; line-height:1.13; }
.ap-page button,.ap-page textarea { font:inherit; color:inherit; }
.ap-page button { cursor:pointer; -webkit-tap-highlight-color:transparent; }
.ap-page button:disabled { cursor:default; opacity:.5; }
.ap-page a { color:inherit; text-underline-offset:4px; }
.ap-page :focus-visible { outline:3px solid var(--ap-wine); outline-offset:4px; }
.ap-page dialog[open] { display:block; }
.ap-page:has(dialog[open]) { overflow:hidden; }
.ap-skip { position:fixed; top:-100px; left:12px; z-index:100; padding:12px; background:var(--ap-light); }
.ap-skip:focus { top:12px; }
.ap-header { min-height:76px; padding:14px max(16px,calc((100vw - 1100px)/2)); display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--ap-light); background:repeating-linear-gradient(115deg,#a5835907 0 1px,transparent 1px 4px),var(--ap-leather); border-bottom:3px solid #9b7646; }
.ap-header :focus-visible { outline-color:#e7c58d; }
.ap-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font:18px/1.1 Georgia,serif; }
.ap-brand img { width:38px; height:38px; }
.ap-brand strong { display:block; font-size:14px; letter-spacing:.6px; font-weight:400; }
.ap-back { display:inline-flex; gap:8px; align-items:center; min-height:44px; font-size:14px; text-decoration:none; }
.ap-shell { width:min(1000px,calc(100% - 32px)); margin:auto; }
.ap-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:34px 0 28px; border-bottom:1px solid var(--ap-line); }
.ap-kicker { font:700 11px/1.6 'Courier New',monospace; letter-spacing:1.2px; }
.ap-intro h1 { margin:10px 0 13px; font-size:clamp(28px,3.3vw,36px); font-weight:400; letter-spacing:-1.3px; }
.ap-intro h1 span { display:block; color:var(--ap-wine); font-size:clamp(48px,6vw,70px); font-weight:700; letter-spacing:-3.5px; line-height:.98; margin-bottom:5px; text-shadow:0 1px #fff5d7; }
.ap-subtitle { color:var(--ap-muted); font-size:16px; }
.ap-stamp { background:#e5d3ac55; box-shadow:4px 4px 0 #7f283211; flex-shrink:0; transform:rotate(-8deg); padding:8px 13px; border:2px solid var(--ap-wine); outline:1px solid var(--ap-wine); outline-offset:3px; color:var(--ap-wine); text-align:center; font:700 20px/1.2 'Courier New',monospace; letter-spacing:3px; }
.ap-stamp small { font-size:8px; letter-spacing:.5px; }
/* The cabinet keeps the live table, controls and commentary in one viewport. */
.ap-layout { display:grid; grid-template-columns:minmax(0,440px) minmax(0,1fr); gap:48px; align-items:start; padding:30px 24px 36px; }
/* All light is local to the cabinet; no fixed overlays or additional render loops. */
.ap-machine { --ap-room:347px; --ap-hit:#60e8d0; position:relative; isolation:isolate; width:100%; max-width:440px; min-width:0; margin-inline:auto; padding:8px; border:2px solid #d6b777; border-radius:18px 18px 10px 10px; background:radial-gradient(circle at 50% 0,#ae825c38,transparent 46%),repeating-linear-gradient(92deg,#e6a66008 0 1px,transparent 1px 5px),linear-gradient(90deg,#211c18,#72513a 2%,#302720 5%,#191d1b 12%,#171c1b 88%,#302720 95%,#72513a 98%,#211c18); box-shadow:0 22px 44px #2e291c50,0 5px 0 #33291f,0 0 0 3px #493629,inset 0 0 0 2px #171813,inset 4px 0 6px #e1b87330,inset -4px 0 6px #e1b87330; scroll-margin-top:6px; touch-action:none; overscroll-behavior:contain; }
.ap-machine::before { content:''; position:absolute; z-index:6; inset:3px; border:1px solid #ceb07735; border-radius:13px 13px 6px 6px; background:radial-gradient(circle at 4px 4px,#fff0bf 0 1px,#977c4c 1.5px 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 4px) 4px,#fff0bf 0 1px,#977c4c 1.5px 3px,transparent 3.5px),radial-gradient(circle at 4px calc(100% - 4px),#fff0bf 0 1px,#977c4c 1.5px 3px,transparent 3.5px),radial-gradient(circle at calc(100% - 4px) calc(100% - 4px),#fff0bf 0 1px,#977c4c 1.5px 3px,transparent 3.5px); pointer-events:none; }
.ap-machine::after { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; box-shadow:0 0 12px #4ac7b61a; pointer-events:none; }
.ap-machine[data-impact=jackpot],.ap-machine[data-impact=combo],.ap-machine[data-impact=rescue] { --ap-hit:#ffda73; }
.ap-machine[data-impact=audit],.ap-machine[data-impact=family] { --ap-hit:#ff6575; }
.ap-machine[data-impact=trust] { --ap-hit:#cf9cff; }
.ap-machine[data-impact=slow] { --ap-hit:#8acfff; }
.ap-machine.is-impact::after { box-shadow:0 0 6px var(--ap-hit),0 0 22px color-mix(in srgb,var(--ap-hit),transparent 50%); }
.ap-machine:focus { outline:none; }
.ap-hud { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 106px; gap:5px 12px; padding:7px 11px; border:1px solid #a58c57; border-radius:9px 9px 3px 3px; background:repeating-linear-gradient(0deg,#040b0b00 0 3px,#0003 3px 4px),radial-gradient(ellipse at 50% -20%,#35534788,transparent 70%),#101d1b; box-shadow:inset 0 2px 8px #0009,0 1px 0 #d5b56e44; color:var(--ap-light); }
.ap-hud::before { content:''; position:absolute; left:14%; right:14%; top:-1px; height:1px; background:linear-gradient(90deg,transparent,#efd89b,transparent); }
.ap-score { display:grid; grid-template-columns:76px minmax(0,1fr); column-gap:6px; align-items:center; min-width:0; }
.ap-score>span { grid-column:1; grid-row:1; font:700 9px/1.15 'Courier New',monospace; text-transform:uppercase; letter-spacing:.25px; color:#e8d7ac; }
.ap-score>strong { grid-column:2; grid-row:1/3; display:block; font:700 34px/1 'Courier New',monospace; text-align:right; white-space:nowrap; color:#ffe09a; text-shadow:0 0 3px #ffc46675,0 0 13px #e9a94c45; font-variant-numeric:tabular-nums; }
.ap-score.is-scoring>strong { color:#fff9dc; text-shadow:0 0 5px #fff7b7,0 0 18px #ffc34dcc; }
.ap-score>small { grid-column:1; font-size:8px; line-height:1.2; color:#cdbf9b; }
.ap-status-light { display:inline-block; width:5px; height:5px; margin-left:3px; border-radius:50%; background:#b59a6b; }
.ap-machine[data-state=playing] .ap-status-light { background:#88ffcd; box-shadow:0 0 6px #6feab7,0 0 9px #6feab777; }
.ap-balls { display:grid; grid-template-columns:1fr auto; gap:2px 6px; align-items:center; text-align:right; }
.ap-balls>span { font:700 9px/1.1 'Courier New',monospace; text-transform:uppercase; color:#e8d7ac; }
.ap-balls strong { font:700 16px/1.2 'Courier New',monospace; white-space:nowrap; color:#edfcdf; }
#ball-lights { grid-column:1/-1; color:#8cdbb8; text-shadow:0 0 5px #68d2a955; font:10px/1 'Courier New',monospace; letter-spacing:2px; white-space:nowrap; }
.ap-conflict { grid-column:1; align-self:end; }
.ap-conflict label { display:flex; align-items:baseline; justify-content:space-between; font:700 10px/1.2 'Courier New',monospace; }
.ap-conflict label strong { font-size:16px; line-height:1; font-variant-numeric:tabular-nums; }
.ap-conflict progress { display:block; width:100%; height:6px; margin-top:4px; border:0; border-radius:2px; background:#344139; accent-color:#e1b56c; }
.ap-conflict progress::-webkit-progress-bar { background:#344139; border-radius:2px; box-shadow:inset 0 1px 3px #0008; }
.ap-conflict progress::-webkit-progress-value { background:repeating-linear-gradient(90deg,transparent 0 6px,#1c211c70 6px 7px),linear-gradient(90deg,#b99a52,#ffe1a0); border-radius:2px; }
.ap-conflict progress::-moz-progress-bar { background:#e1b56c; }
.ap-conflict.is-critical progress { accent-color:#ff7c87; }
.ap-conflict.is-critical progress::-webkit-progress-value { background:repeating-linear-gradient(90deg,transparent 0 6px,#1c211c70 6px 7px),linear-gradient(90deg,#bb3b52,#ff9c96); }
.ap-conflict.is-critical label strong { color:#ffb4ac; }
.ap-mini-stats { grid-column:2; display:flex; flex-direction:column; align-items:end; gap:2px; font:9px/1.2 Arial,sans-serif; color:#d1c9ae; white-space:nowrap; }
.ap-mini-stats strong { color:#ffefd0; margin-left:3px; }
.ap-jackpot-mission { grid-column:1/-1; display:grid; grid-template-columns:auto auto auto minmax(0,1fr); align-items:center; gap:5px; margin-top:1px; padding-top:5px; border-top:1px solid #7d865c66; }
.ap-jackpot-stamp { display:block; padding:4px 5px; border:1px dashed #bda67c; border-radius:2px; color:#e4d2aa; font:700 9px/1 'Courier New',monospace; letter-spacing:.3px; }
.ap-jackpot-stamp.is-active { color:#142d25; border-style:solid; border-color:#bcebc1; background:#a8ddb4; box-shadow:0 0 7px #82dbb12b; }
.ap-jackpot-stamp.is-active::before { content:'✓ '; }
#mission-status { min-width:0; color:#f9df9c; text-align:right; font:700 9px/1.2 'Courier New',monospace; overflow-wrap:anywhere; }
.ap-announcement-rail { position:relative; height:34px; margin-top:4px; border:1px solid #7d865c80; border-radius:4px; background:#162b26; box-shadow:inset 0 1px 5px #0005; pointer-events:none; }
.ap-announcement-rail p { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:2px 8px; text-align:center; font:700 10px/1.2 'Courier New',monospace; overflow-wrap:anywhere; }
.ap-announcement-idle { color:#c6ba95; font-size:8px!important; letter-spacing:.6px; }
.ap-announcement-rail:has(#character-bubble:not([hidden]),#event-toast:not([hidden])) .ap-announcement-idle { visibility:hidden; }
.ap-character-bubble { z-index:1; border-radius:3px; color:#f7e4bc; background:#263c31; }
.ap-character-bubble::after { content:''; position:absolute; bottom:-5px; left:calc(50% - 4px); width:8px; height:8px; border-right:1px solid #7d865c; border-bottom:1px solid #7d865c; background:#263c31; transform:rotate(45deg); }
.ap-event-toast { z-index:2; color:#fff0c4; border-radius:3px; background:#513039; text-shadow:0 1px #0008; }
.ap-event-toast[data-tone=success] { color:#e2ffe9; background:#254f3d; }
.ap-board-frame { position:relative; aspect-ratio:9/16; width:min(100%,calc((100svh - var(--ap-room))*9/16)); margin:4px auto 0; overflow:hidden; border:1px solid #bfa668; border-radius:7px 7px 3px 3px; background:#102825; box-shadow:0 0 0 1px #071513,inset 0 0 8px #0009,0 0 12px #44ceb119; touch-action:none; overscroll-behavior:contain; }
.ap-board-frame::after { content:''; position:absolute; z-index:2; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 0 15px #020b0955,inset 0 1px 0 #fff3; background:linear-gradient(115deg,#e7ffef08,transparent 22%,transparent 80%,#e7ffef05); }
#arena { position:absolute; inset:0; display:block; width:100%; height:100%; touch-action:none; }
.ap-cover { position:absolute; z-index:5; inset:0; display:flex; align-items:center; justify-content:center; padding:22px; background:radial-gradient(ellipse at 50% 50%,#061b1c99,#06171833 64%,#06171866); }
.ap-cover-card { position:relative; width:100%; padding:21px 17px; color:#f4e7c4; background:radial-gradient(ellipse at 50% 0,#48736388,transparent 70%),linear-gradient(130deg,#183d35f2,#101e1df2); border:1px solid #d2b775; border-radius:7px; outline:1px solid #f4e4ba44; outline-offset:4px; box-shadow:0 15px 40px #0009,inset 0 0 0 4px #101b18,0 0 26px #3ecfb52b; text-align:center; }
.ap-cover-card::before,.ap-cover-card::after { content:'◆'; position:absolute; top:9px; color:#d9be78; font-size:9px; }
.ap-cover-card::before { left:12px; }.ap-cover-card::after { right:12px; }
.ap-cover-card .ap-kicker { font-size:8px; letter-spacing:1px; color:#ebd49c; }
.ap-cover-seal { position:relative; width:67px; height:67px; margin:16px auto 0; border:4px double #f7da8c; border-radius:50%; background:repeating-conic-gradient(from 0deg,#e1b45e 0deg 5deg,#d2a250 5deg 10deg); box-shadow:0 3px 0 #79532f,0 6px 14px #0008,0 0 20px #f7c95838; color:#3f2a18; transform:rotate(-9deg); }
.ap-cover-seal::before { content:''; position:absolute; inset:3px; border:1px solid #8e612d; border-radius:50%; background:radial-gradient(ellipse at 30% 20%,#ffe5a2,#d0a24f); }
.ap-cover-seal>span { position:relative; display:block; margin-top:4px; font:700 31px/1 Georgia,serif; text-shadow:0 1px #ffebae; }
.ap-cover-seal>small { position:relative; color:#3f2a18!important; font:700 8px/1.5 'Courier New',monospace!important; letter-spacing:1px; }
.ap-cover-card h2 { margin:18px 0 12px; font-size:27px; letter-spacing:-.5px; color:#fff2d5; text-shadow:0 2px 4px #0008; }
.ap-cover-card p { font-size:13px; line-height:1.5; color:#dce4d3; }
.ap-cover-card .ap-button { width:100%; margin:18px 0 12px; color:#241b10!important; background:linear-gradient(#f7d889,#d9ad5d); border-color:#ffe0a0; box-shadow:0 3px 0 #795c30,0 0 17px #e8bd6525,inset 0 1px 0 #fff4c9; }
.ap-cover-card .ap-button:hover { background:linear-gradient(#ffe7aa,#e5c17a); }
.ap-cover-card>small { display:block; font-size:9px; color:#bdc6ae; }
.ap-machine[data-state=paused] .ap-cover-seal,.ap-machine[data-state=over] .ap-cover-seal { display:none; }
.ap-button { min-height:46px; display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:11px 16px; border:1px solid var(--ap-ink); border-radius:3px; background:transparent; text-decoration:none; font-weight:700!important; font-size:14px!important; }
.ap-button:hover { background:#d2bb9660; }
.ap-primary { color:var(--ap-light)!important; background:linear-gradient(#953c40,#74262f); border-color:#60202a; box-shadow:0 3px 0 #501923; }
.ap-primary:hover { background:#60202a; }
.ap-payment-stamp { position:absolute; z-index:3; top:15%; left:50%; width:70%; transform:translateX(-50%) rotate(-9deg); padding:7px; border:3px double #ffac97; background:#441d28ef; color:#ffe4c5; box-shadow:0 3px 12px #0008,0 0 18px #ff34484d; text-align:center; pointer-events:none; font:700 20px/1.1 'Courier New',monospace; letter-spacing:1px; }
.ap-payment-stamp.is-compact { top:4px; right:4px; left:auto; width:auto; max-width:30%; padding:3px 4px; transform:none; border-width:1px; font-size:8px; line-height:1.1; letter-spacing:0; box-shadow:0 1px 4px #0006; }
.ap-effects { position:absolute; left:0; top:0; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ap-controls { display:grid; grid-template-columns:1fr .9fr 1fr; gap:7px; padding-top:6px; touch-action:none; user-select:none; }
.ap-controls button { position:relative; height:58px; min-height:44px; border:1px solid #a2bc98; border-radius:7px; color:#f5edce; font:700 11px/1.1 'Courier New',monospace; touch-action:none; box-shadow:0 3px 0 #0b1512,inset 0 1px 0 #e7ffcb55,inset 0 -3px 0 #06140f55; }
.ap-controls button::after { content:''; position:absolute; bottom:5px; left:18%; right:18%; height:2px; border-radius:2px; background:#8dceb1; box-shadow:0 0 5px #57dca14d; pointer-events:none; }
.ap-paddle { display:grid; grid-template-columns:30px auto; grid-template-rows:1fr 1fr; align-content:center; align-items:center; column-gap:5px; padding:9px 12px; background:radial-gradient(ellipse at 50% 0,#648a6f99,transparent 75%),linear-gradient(#315447,#1c3731); }
.ap-paddle b { align-self:end; letter-spacing:1px; }
.ap-paddle-glyph { display:block; grid-row:1/3; position:relative; width:28px; height:9px; border:1px solid #fff0b5; border-radius:8px 13px 6px 8px; background:linear-gradient(#f0d996,#be9a4f); transform:rotate(24deg); box-shadow:0 2px 0 #0a1d18; }
#right-flipper .ap-paddle-glyph { transform:rotate(-24deg); }
.ap-paddle kbd { font-size:9px; color:#d1e4cd; align-self:start; padding-top:3px; }
.ap-paddle[aria-pressed=true] { background:radial-gradient(ellipse at 50% 0,#bdebc2,transparent 90%),linear-gradient(#87c6a7,#4c9f88); color:#102a25; border-color:#d1ffce; box-shadow:inset 0 3px 6px #143b2c55,0 0 13px #7bffd37a; }
.ap-paddle[aria-pressed=true] kbd { color:#173f33; }
.ap-paddle[aria-pressed=true]::after { background:#d7ffce; box-shadow:0 0 8px #baffb5; }
.ap-paddle[aria-pressed=true] .ap-paddle-glyph { transform:rotate(-24deg); }
#right-flipper[aria-pressed=true] .ap-paddle-glyph { transform:rotate(24deg); }
.ap-launch { display:grid; grid-template-columns:20px 1fr; grid-template-rows:1fr 1fr; align-items:center; padding:9px 8px; gap:1px 2px; background:radial-gradient(ellipse at 50% 0,#df7d6866,transparent 70%),linear-gradient(#a44245,#64282f); border-color:#d8a387!important; }
.ap-launch-glyph { grid-row:1/3; font:25px Arial,sans-serif; }
.ap-launch b { align-self:end; font-size:10px; }
.ap-launch small { align-self:start; font-size:8px; padding-top:3px; color:#f4d9b8; }
.ap-launch::after { background:#ffc88f!important; box-shadow:0 0 5px #ff886477!important; }
.ap-launch:enabled { border-color:#ffe4a8!important; box-shadow:0 3px 0 #321d19,0 0 13px #f6b75344,inset 0 1px 0 #f8d39977; }
.ap-controls button:disabled { opacity:.58; }
.ap-ticker { position:relative; margin-top:7px; padding:5px 9px; height:51px; background:repeating-linear-gradient(0deg,#0000 0 2px,#0002 2px 3px),radial-gradient(ellipse at 15% 0,#31453766,transparent 90%),#0c1816; border:1px solid #7d865c; border-radius:4px; box-shadow:inset 0 2px 5px #0008; }
.ap-ticker-label { display:block; color:#9ed2b9; font:700 7px/1.1 'Courier New',monospace; letter-spacing:1.1px; margin-bottom:3px; }
.ap-message { color:#f1e9c2; font:11px/1.35 'Courier New',monospace; }
.ap-utilities { display:grid; grid-template-columns:.7fr 1.4fr 1fr; align-items:center; gap:3px; color:#ead7b4; font-size:10px; }
.ap-utilities button { min-width:0; height:44px; min-height:44px; padding:3px; border:0; border-radius:3px; background:none; color:inherit; font-size:11px; }
.ap-utilities button:hover:enabled { background:#c19b5e20; }
.ap-utilities :focus-visible,.ap-controls :focus-visible,.ap-cover :focus-visible { outline-color:#fff0b5; }
#nudge-button strong { display:block; font:700 11px/1.3 'Courier New',monospace; color:#f2ce8e; }
#nudge-button:enabled strong { text-shadow:0 0 7px #efba4d55; }
#nudge-button kbd { display:inline-block; margin-left:4px; padding:0 3px; border:1px solid #aa844e; font-size:9px; border-radius:2px; }
#nudge-hint { display:block; font-size:8px; line-height:1.4; color:#dbc49e; }
.ap-machine[data-state=playing][data-motion=full] .ap-launch:enabled { animation:ap-ready-light 1.8s ease-in-out infinite; }
.ap-machine[data-state=playing][data-motion=full] .ap-status-light { animation:ap-running-light 2.8s ease-in-out infinite; }
.ap-machine[data-state=playing].is-impact .ap-ticker { border-color:var(--ap-hit); box-shadow:inset 0 0 14px #0008,0 0 8px color-mix(in srgb,var(--ap-hit),transparent 70%); }
@keyframes ap-ready-light { 50% { box-shadow:0 3px 0 #321d19,0 0 20px #f6b75380,inset 0 1px 0 #f8d39977; } }
@keyframes ap-running-light { 50% { opacity:.6; } }
.ap-dossier { padding-top:10px; }
.ap-dossier-top { display:flex; justify-content:space-between; padding-bottom:12px; margin-bottom:20px; border-bottom:2px solid var(--ap-ink); }
.ap-file-number { font:12px 'Courier New',monospace; color:var(--ap-muted); }
.ap-dossier h2 { font-size:34px; font-weight:400; }
.ap-dossier-lead { margin-top:14px!important; color:var(--ap-muted); font-size:15px; max-width:32ch; }
.ap-mission { position:relative; margin-top:24px; padding:20px; border:1px solid #9b895e; border-top:3px solid #c9a568; background:repeating-linear-gradient(0deg,transparent 0 24px,#bba58309 24px 25px),radial-gradient(ellipse at 100% 0,#435b4599,transparent 90%),#1c3630; color:#f5e8c7; box-shadow:3px 4px 0 #b69b7044,0 8px 16px #26382c14; }
.ap-mission::after { content:''; position:absolute; top:-8px; right:20px; width:26px; height:17px; border:2px solid #d2b678; border-radius:8px 8px 4px 4px; transform:rotate(8deg); }
.ap-mission h3 { font-size:25px; margin:8px 0 10px; }
.ap-mission p { font-size:13px; max-width:32ch; }
.ap-mission-progress { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px; margin-top:17px; font:700 11px 'Courier New',monospace; }
#combo-time { color:#c8cfb4; font-size:10px; font-weight:400; }
.ap-mission-dots { display:flex; gap:6px; margin:9px 0 12px; }
.ap-mission-dots i { display:block; height:5px; flex:1; background:#c2c4a733; border-radius:2px; }
.ap-mission-dots i.is-active { background:#a7f0c4; box-shadow:0 0 7px #7dddaf66; }
.ap-mission>small { color:#c8cfb4; font:italic 12px Georgia,serif; }
.ap-sequence { margin-top:20px; padding:15px; border:1px solid #bba583; border-left:3px solid var(--ap-wine); background:#f0e3c8; }
.ap-sequence .ap-kicker { font-size:9px; color:var(--ap-wine); }
.ap-sequence h3 { margin:7px 0 9px; font-size:22px; }
.ap-sequence p { font-size:12px; line-height:1.6; }
#conflict-combo-status { margin-top:10px; padding-top:8px; border-top:1px dashed var(--ap-line); font:700 11px/1.5 'Courier New',monospace; color:var(--ap-wine); }
.ap-tip { margin-top:20px; padding:13px 15px; border-left:3px solid #7f2832; background:#f3e6c5; }
.ap-tip strong { font:700 14px Georgia,serif; }
.ap-tip p { margin-top:6px; font-size:12px; line-height:1.6; }
.ap-motion-setting { display:flex; align-items:center; gap:12px; margin:16px 0; padding:12px 0; border-block:1px solid var(--ap-line); }
.ap-motion-setting button { flex-shrink:0; min-height:44px; padding:8px 11px; border:1px solid #466050; border-radius:3px; background:#253e34; color:#f3e6c5; font:700 11px 'Courier New',monospace; }
.ap-motion-setting button[aria-pressed=false] { background:#e1d4b9; color:#34271e; border-color:#9d8a65; }
.ap-motion-setting small { color:var(--ap-muted); font-size:11px; line-height:1.5; }
.ap-result-quip { margin-top:13px!important; padding:12px 14px; border-left:3px solid var(--ap-wine); background:#dfc99a55; font-style:italic; }
.ap-ledger { border-block:1px solid var(--ap-line); margin:24px 0; }
.ap-ledger>div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; font-size:13px; border-bottom:1px dashed var(--ap-line); }
.ap-ledger>div:last-child { border:0; }
.ap-ledger strong { text-align:right; font-family:'Courier New',monospace; font-size:13px; }
.ap-ledger small { color:var(--ap-muted); font-size:10px; }
.ap-rules summary { min-height:44px; font:700 17px Georgia,serif; cursor:pointer; }
.ap-rules ul { list-style:none; padding:0; margin:0; }
.ap-rules li { margin-bottom:12px; padding-left:16px; border-left:2px solid #b28d55; }
.ap-rules li strong { display:block; font:700 11px 'Courier New',monospace; letter-spacing:.5px; }
.ap-rules li span { font-size:12px; color:var(--ap-muted); }
.ap-rules>p { margin:16px 0!important; font-size:12px; }
.ap-drain-key { padding:17px 0; border-block:1px solid var(--ap-line); }
.ap-drain-key h3 { font-size:19px; margin-bottom:12px; }
.ap-drain-key p { font-size:12px; margin:6px 0; }
.ap-drain-key strong { font:700 10px 'Courier New',monospace; }
.ap-keyboard-help { font-size:12px; line-height:1.9; margin:18px 0!important; }
.ap-keyboard-help kbd { display:inline-block; min-width:20px; padding:0 4px; border:1px solid var(--ap-line); background:#f0e5cd; text-align:center; }
.ap-facts-button { justify-content:space-between; width:100%; }
.ap-fiction { margin-top:14px!important; color:var(--ap-muted); font-size:11px; line-height:1.6; }
.ap-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid var(--ap-line); padding:20px 0 30px; font:10px 'Courier New',monospace; }
.ap-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.ap-dialog { width:min(520px,calc(100% - 28px)); max-height:calc(100svh - 32px); overflow:auto; padding:26px; color:var(--ap-ink); background:linear-gradient(130deg,#f4ead5,#e9dcc1); border:1px solid #7b6040; box-shadow:0 20px 90px #0005; }
.ap-dialog::backdrop { background:#20170fe0; }
.ap-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; border-bottom:1px solid var(--ap-line); padding-bottom:9px; margin-bottom:22px; }
.ap-close { width:44px; height:44px; border:1px solid var(--ap-line); background:transparent; font-size:26px!important; }
.ap-dialog h2 { font-size:30px; margin-bottom:14px; }
.ap-dialog>p { font-size:14px; }
.ap-result-stamp { display:inline-block; padding:5px 8px; margin:0 0 16px; transform:rotate(-4deg); color:var(--ap-wine); border:2px solid currentColor; font:700 12px 'Courier New',monospace; }
.ap-result-rank { font:italic 19px Georgia,serif!important; color:var(--ap-wine); }
.ap-result-stats { margin:20px 0; }
.ap-result-stats div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:9px 0; border-bottom:1px solid var(--ap-line); font-size:13px; }
.ap-result-stats dd { margin:0; font:700 15px 'Courier New',monospace; text-align:right; }
.ap-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px; }
#share-status { margin-top:12px; min-height:20px; font-size:12px; }
#manual-share { width:100%; margin-top:8px; font-size:12px; padding:8px; }
#manual-share-label { font-size:12px; }
.ap-fact-cards { display:grid; gap:14px; margin:22px 0; }
.ap-fact-card { padding:16px; border:1px solid var(--ap-line); background:#f7efdd66; }
.ap-fact-card h3 { font-size:20px; margin:9px 0; }
.ap-fact-card p { font-size:13px; }
.ap-fact-card .ap-fact-status { font:700 10px 'Courier New',monospace; color:#464d34; }
.ap-fact-meta { margin-top:12px; color:var(--ap-muted); font-size:11px; }
.ap-noscript { position:fixed; bottom:0; padding:16px; background:var(--ap-light); border:2px solid var(--ap-wine); }
@media (max-width:760px) {
  .ap-shell { width:min(540px,calc(100% - 20px)); }
  .ap-header { min-height:60px; padding-block:8px; }
  .ap-brand { gap:8px; font-size:16px; }
  .ap-brand img { width:32px; height:32px; }
  .ap-brand strong { font-size:12px; }
  .ap-back { font-size:12px; }
  .ap-intro { padding:22px 0 20px; }
  .ap-intro h1 { font-size:28px; letter-spacing:-1px; }
  .ap-intro h1 span { font-size:48px; letter-spacing:-2px; }
  .ap-subtitle { font-size:13px; max-width:38ch; }
  .ap-stamp { display:none; }
  .ap-layout { grid-template-columns:1fr; gap:30px; padding:20px 0 28px; }
  .ap-machine { --ap-room:337px; max-width:410px; padding:6px; }
  .ap-hud { padding:6px 9px; gap:4px 9px; grid-template-columns:minmax(0,1fr) 106px; }
  .ap-score { grid-template-columns:69px minmax(0,1fr); column-gap:3px; }
  .ap-score>span { font-size:9px; }
  .ap-score>strong { font-size:30px; }
  .ap-score>small { font-size:8px; }
  .ap-balls strong { font-size:16px; }
  .ap-mini-stats { font-size:9px; }
  .ap-cover { padding:16px; }
  .ap-cover-card { padding:18px 14px; }
  .ap-cover-card h2 { font-size:25px; }
  .ap-cover-card p { font-size:12px; }
  .ap-cover-card .ap-button { margin-block:14px 10px; }
  .ap-dossier { padding-inline:8px; }
  .ap-dossier h2 { font-size:32px; }
  .ap-rules li span,.ap-rules>p,.ap-drain-key p { font-size:14px; }
  .ap-rules li strong { font-size:12px; }
  .ap-fiction { font-size:12px; }
  .ap-footer>span { max-width:20ch; line-height:1.6; }
}
@media (max-width:370px) {
  .ap-machine { --ap-room:347px; }
  .ap-hud { grid-template-columns:minmax(0,1fr) 106px; gap:4px 7px; }
  .ap-score { grid-template-columns:62px minmax(0,1fr); }
  .ap-score>strong { font-size:26px; }
  .ap-jackpot-mission { gap:4px; }
  .ap-jackpot-stamp { padding-inline:4px; font-size:8px; }
  #mission-status { font-size:8px; }
  .ap-cover { padding:12px; }
  .ap-cover-seal { width:46px; height:46px; margin-top:10px; }
  .ap-cover-seal>span { font-size:21px; margin-top:1px; }
  .ap-cover-seal>small { font-size:6px!important; }
  .ap-cover-card h2 { font-size:21px; margin:12px 0 8px; }
  .ap-cover-card .ap-kicker { font-size:7px; }
  .ap-cover-card { padding:13px 10px; }
  .ap-cover-card p { font-size:11px; }
  .ap-cover-card .ap-button { font-size:12px!important; padding:8px; }
  .ap-paddle { padding-inline:8px; grid-template-columns:25px auto; }
  .ap-paddle-glyph { width:24px; }
  .ap-launch { grid-template-columns:16px 1fr; padding-inline:5px; }
  .ap-launch b { font-size:9px; }
  .ap-dialog { padding:20px; }
  .ap-message { font-size:10px; }
}
@media (max-width:340px) {
  .ap-score { grid-template-columns:52px minmax(0,1fr); }
  .ap-score>span { font-size:8px; }
  .ap-score>strong { font-size:23px; }
}
@media (max-height:650px) and (orientation:portrait) {
  .ap-cover { padding:10px; }
  .ap-cover-card { padding:10px 8px; }
  .ap-cover-seal,.ap-cover-card .ap-kicker,.ap-cover-card>small { display:none; }
  .ap-cover-card h2 { margin:8px 0; font-size:17px; }
  .ap-cover-card p { font-size:10px; line-height:1.35; }
  .ap-cover-card .ap-button { margin:10px 0 6px; padding:8px 5px; font-size:11px!important; }
}
@media (max-height:600px) and (orientation:portrait) {
  .ap-cover { padding:4px; }
  .ap-cover-card { padding:5px 4px; outline-offset:2px; }
  .ap-cover-card::before,.ap-cover-card::after { display:none; }
  .ap-cover-card h2 { margin:5px 0; font-size:14px; line-height:1.1; }
  .ap-cover-card p { font-size:10px; line-height:1.25; }
  .ap-cover-card .ap-button { min-height:44px; margin:8px 0 2px; padding:6px 3px; font-size:10px!important; line-height:1.15; }
}
@media (orientation:landscape) and (max-height:500px) {
  .ap-shell { width:min(1000px,calc(100% - 24px)); }
  .ap-layout { grid-template-columns:1fr; padding:16px 0; }
  .ap-machine { max-width:760px; display:grid; grid-template-columns:minmax(120px,1fr) minmax(100px,calc((100svh - 44px)*9/16)) minmax(120px,1fr); grid-template-areas:'hud board controls' 'announcement board utilities' 'message board utilities'; gap:8px; padding:7px; }
  .ap-hud { grid-area:hud; padding:8px; gap:6px; grid-template-columns:1fr; align-content:start; }
  .ap-score { grid-template-columns:72px minmax(0,1fr); }
  .ap-balls { grid-template-columns:1fr auto; }
  #ball-lights { grid-column:auto; }
  .ap-conflict,.ap-mini-stats { grid-column:1; }
  .ap-mini-stats { flex-direction:row; justify-content:space-between; font-size:8px; }
  .ap-score>strong { font-size:25px; }
  .ap-jackpot-mission { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; }
  .ap-jackpot-stamp { font-size:7px; padding-inline:3px; text-align:center; }
  #mission-status { grid-column:1/-1; text-align:left; }
  .ap-announcement-rail { grid-area:announcement; margin:0; height:40px; }
  .ap-announcement-rail p { padding-inline:5px; font-size:9px; }
  .ap-board-frame { grid-area:board; width:100%; margin:0; }
  .ap-controls { grid-area:controls; grid-template-columns:1fr; padding:0; gap:5px; }
  .ap-controls button { height:53px; }
  .ap-ticker { grid-area:message; margin:0; height:auto; min-height:62px; padding:7px; }
  .ap-message { font-size:10px; }
  .ap-utilities { grid-area:utilities; display:flex; flex-direction:column; justify-content:center; font-size:10px; }
  .ap-utilities button { width:100%; }
  .ap-cover { padding:9px; }
  .ap-cover-card { padding:10px; }
  .ap-cover-seal { display:none; }
  .ap-cover-card h2 { font-size:19px; margin:8px 0; }
  .ap-cover-card p { font-size:10px; }
  .ap-cover-card .ap-kicker { font-size:7px; }
  .ap-cover-card .ap-button { padding:8px; margin:10px 0; font-size:11px!important; }
  .ap-cover-card>small { font-size:8px; }
  .ap-dossier { max-width:600px; margin:auto; }
}
.ap-page[data-motion=calm] * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
.ap-machine[data-motion=calm].is-impact::after { box-shadow:0 0 6px color-mix(in srgb,var(--ap-hit),transparent 50%); }
.ap-machine[data-motion=calm] .ap-paddle[aria-pressed=true] .ap-paddle-glyph { transform:none; }
@media (prefers-reduced-motion:reduce) { .ap-page:not([data-motion=full]) * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } .ap-machine:not([data-motion=full]) .ap-paddle[aria-pressed=true] .ap-paddle-glyph { transform:none; } }
