:root{color-scheme:dark;--bg:#111317;--panel:#191c21;--panel2:#20242a;--line:#30353c;--text:#f3f5f0;--muted:#a3a9a8;--acid:#c6f36b;--acid-dim:#344523;--amber:#ffc46d;--red:#fa827a;--blue:#91b7ff;font-family:'Noto Sans JP',sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#252b2a 0,transparent 35%),var(--bg);color:var(--text);min-width:320px}.topbar{height:68px;border-bottom:1px solid #ffffff14;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:#111317db;backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.brand,.footer-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em;color:var(--text);text-decoration:none}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--acid);color:#171a13;font-family:'DM Mono',monospace;font-weight:500;font-size:19px}.brand-light{font-weight:500;color:#aab0aa}.top-note{font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#c2c7c1;display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 11px #c6f36b8c}main{width:min(1120px,calc(100% - 40px));margin:auto}.intro{padding:46px 0 28px}.eyebrow{display:flex;align-items:center;gap:12px;color:#aab0aa;font:11px 'DM Mono',monospace;letter-spacing:.14em}.eyebrow-line{height:1px;width:38px;background:var(--acid)}h1{font-size:clamp(32px,5vw,54px);line-height:1.25;letter-spacing:-.045em;margin:17px 0 9px;font-weight:800}.accent{color:var(--acid)}.intro p{font-size:15px;line-height:1.75;color:#b7bcb7;margin:0}.mobile-break{display:none}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.panel,.result-panel{border:1px solid var(--line);background:linear-gradient(145deg,#1c2025,#171a1f);border-radius:18px;padding:22px}.panel-main{grid-row:span 2}.step-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:24px}.step-no{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--acid);color:#1a1c16;font:500 13px 'DM Mono',monospace;flex:none}.step-title h2{font-size:17px;line-height:1.35;margin:1px 0 4px}.step-title p{font-size:12px;color:var(--muted);margin:0}.field-label{font-size:13px;font-weight:700;display:block;margin:15px 0 8px;color:#e6e9e3}.search-wrap,.number-wrap{height:48px;border:1px solid #424850;background:#121519;border-radius:11px;display:flex;align-items:center;padding:0 13px;gap:9px}.search-icon{font-size:24px;line-height:1;color:#9fa69f;transform:rotate(-20deg)}input,select,button{font:inherit}.search-wrap input,.number-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}.search-wrap input::placeholder,.number-wrap input::placeholder{color:#727a78}.count{font:11px 'DM Mono',monospace;color:#a6aca6;white-space:nowrap}.machine-select-wrap{margin-top:15px}.machine-select-wrap .field-label{margin:0 0 8px}.machine-select-wrap select{width:100%;height:144px;overflow:auto;border:1px solid #353b42;background:#121519;color:#d9ded7;border-radius:10px;padding:4px;outline-color:var(--acid);font-size:13px}.machine-select-wrap option{padding:9px 10px;border-radius:6px}.machine-select-wrap option:checked{background:var(--acid);color:#151811}.machine-facts{margin-top:14px;border-radius:12px;background:#121519;border:1px solid #2d3339;padding:14px}.facts-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;align-items:start}.facts-name{font-size:14px;line-height:1.55;font-weight:700}.maker{font:11px 'DM Mono',monospace;color:#a7aea8;white-space:nowrap}.fact-pills{display:flex;flex-wrap:wrap;gap:7px}.fact-pill{padding:6px 9px;border:1px solid #39413b;border-radius:7px;color:#dce6ce;font-size:11px}.fact-pill strong{color:var(--acid);margin-right:6px}.machine-note{font-size:12px;color:#abb2ac;margin:11px 0 0;line-height:1.6}.panel-input{grid-column:2}.panel-input .step-title{margin-bottom:17px}.upload-box{min-height:130px;border:1px dashed #596159;border-radius:13px;background:#14181a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;gap:7px;cursor:pointer;position:relative;overflow:hidden;transition:.2s}.upload-box:hover{border-color:var(--acid);background:#191e19}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-symbol{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#293325;color:var(--acid);font-size:23px;line-height:1}.upload-box strong{font-size:13px}.upload-box span:last-of-type{font-size:11px;color:#a1aaa1;line-height:1.45}.upload-box img{max-width:100%;max-height:200px;object-fit:contain;border-radius:6px;margin-top:5px;z-index:1;pointer-events:none}.ocr-button{margin-top:9px;width:100%;height:38px;border:1px solid #424a41;border-radius:9px;color:var(--acid);background:#1e251b;font-weight:700;font-size:12px;cursor:pointer}.ocr-button:disabled{opacity:.45;cursor:not-allowed}.ocr-status{min-height:4px;font-size:12px;color:#c8d4b5;line-height:1.6;margin-top:5px}.ocr-candidates{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}.candidate-button{padding:6px 10px;border-radius:7px;background:#272d23;border:1px solid #556547;color:var(--acid);font-size:12px;cursor:pointer}.game-label{margin-top:10px}.game-label span{color:#9fa69f;font-weight:500}.number-wrap input{font:500 20px 'DM Mono',monospace}.number-wrap>span{font:13px 'DM Mono',monospace;color:#aeb5ae}.check-row{display:flex;align-items:flex-start;gap:9px;margin-top:12px;font-size:12px;color:#b4bbb4;line-height:1.55;cursor:pointer}.check-row input{accent-color:var(--acid);width:16px;height:16px;margin:1px 0 0;flex:none}.analyze-button{width:100%;height:48px;margin-top:15px;background:var(--acid);border:0;border-radius:11px;color:#181b13;font-weight:800;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer;transition:transform .15s,filter .15s}.analyze-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.analyze-button span:first-child{font-size:14px}.analyze-button span:last-child{font-size:20px}.microcopy{font-size:11px;line-height:1.5;color:#8f9790;margin:9px 0 0}.result-panel{grid-column:2;background:linear-gradient(145deg,#1d221b,#171a1f);min-height:190px;border-color:#414b3d}.result-top{display:flex;justify-content:space-between;align-items:center}.result-caption{font:11px 'DM Mono',monospace;color:#abb3a6;letter-spacing:.12em}.result-empty{text-align:center;padding:17px 0 8px}.target-icon{font-size:30px;color:#68755e}.result-empty h2{font-size:14px;margin:8px 0}.result-empty p{font-size:12px;color:var(--muted);margin:0}.result-content{padding:14px 2px 0}.result-model{font-size:12px;color:#b2bab2;margin:0 0 14px}.score-row{display:flex;align-items:center;gap:16px}.score-number{font:500 52px/.95 'DM Mono',monospace;letter-spacing:-.08em;color:var(--acid);white-space:nowrap}.score-number small{font:400 13px 'Noto Sans JP',sans-serif;color:#a9b1a6;letter-spacing:0}.score-info{min-width:0}.score-status{display:inline-block;padding:5px 9px;border-radius:6px;font-size:12px;font-weight:800;background:#303728;color:var(--acid)}.score-status.wait{background:#342e20;color:var(--amber)}.score-status.avoid{background:#332426;color:#f39a91}.score-status.risky{background:#3a2c20;color:#ffd088}.score-info p{font-size:11px;line-height:1.55;color:#aab1aa;margin:7px 0 0}.score-track{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:14px 0 11px}.score-track span{height:7px;border-radius:4px;background:#3a4044}.score-track span.active{background:var(--acid)}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-box{background:#121519;border:1px solid #30373b;border-radius:9px;padding:10px}.stat-box span{display:block;color:#959e97;font-size:10px;margin-bottom:5px}.stat-box strong{font:500 16px 'DM Mono',monospace;color:#f0f3ec}.result-footnote{font-size:11px;color:#aeb5ae;line-height:1.6;margin:10px 0 0}.condition-alert{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:#332c20;border:1px solid #55452a;color:#ffd088;font-size:11px;line-height:1.55}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 32px}.guide-card{display:flex;gap:12px;padding:17px 15px;border:1px solid var(--line);border-radius:14px;background:#171a1e}.guide-index{font:500 12px 'DM Mono',monospace;color:var(--acid);padding-top:2px}.guide-card h3{margin:0 0 7px;font-size:13px}.guide-card p{font-size:11px;line-height:1.65;color:#a9b0aa;margin:0}.guide-warning .guide-index{color:var(--amber)}footer{border-top:1px solid #ffffff15;padding:20px 0 30px;color:#939b94;font-size:11px;line-height:1.6}footer a{color:#c4e892;text-decoration:underline;text-underline-offset:3px}.footer-brand{font-size:12px;color:#c3c9c2;margin-bottom:11px}.footer-brand .brand-mark{width:24px;height:24px;font-size:15px;border-radius:7px}footer p{margin:5px 0}
@media(max-width:760px){.topbar{height:60px;padding:0 18px}main{width:min(100% - 28px,560px)}.intro{padding:34px 0 22px}.intro p{font-size:13px}.mobile-break{display:block}.workspace{grid-template-columns:1fr;gap:11px}.panel,.result-panel{padding:18px;border-radius:15px}.panel-main{grid-row:auto}.panel-input,.result-panel{grid-column:1}.machine-select-wrap select{height:132px}.guide-grid{grid-template-columns:1fr;gap:8px;margin-top:12px}.guide-card{padding:14px}.result-panel{min-height:175px}.upload-box{min-height:124px}.top-note{font-size:10px}}
@media(max-width:370px){h1{font-size:29px}.panel,.result-panel{padding:15px}.topbar{padding:0 14px}}

/* Visual direction inspired by the dramatic red/black palette of the reference. */
:root{--bg:#0b0b0d;--panel:#151517;--panel2:#1c1c20;--line:#353235;--text:#f7f5f3;--muted:#aaa4a3;--acid:#f02b3a;--acid-dim:#46191e;--amber:#ffb34d;--red:#ff7077;--blue:#b3b8c7}
body{background:radial-gradient(ellipse at 86% 0%,#45161c 0,transparent 28%),linear-gradient(135deg,#0b0b0d,#111012 60%,#0b0b0d)}
.topbar{border-bottom-color:#7a292f66;background:#0b0b0deb}.brand-mark,.step-no{border-radius:5px;background:var(--acid);color:#fff}.brand-mark{box-shadow:0 0 18px #f02b3a30}.live-dot{box-shadow:0 0 11px #f02b3a8c}.eyebrow-line{background:var(--acid)}
h1{letter-spacing:-.055em}.accent{color:#ff3947;text-shadow:0 0 30px #f02b3a26}
.panel,.result-panel{border-radius:10px;background:linear-gradient(145deg,#1a181a,#111113);border-color:#484044;box-shadow:0 14px 38px #0005}.panel-main{position:relative;overflow:hidden}.panel-main:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--acid),transparent 80%)}
.search-wrap,.number-wrap,.machine-select-wrap select,.machine-facts,.stat-box{border-radius:5px}.upload-box,.analyze-button,.ocr-button,.fact-pill,.score-status,.guide-card{border-radius:5px}.upload-box{border-color:#75464a;background:linear-gradient(135deg,#181517,#111113)}.upload-box:hover{border-color:#ff5964;background:#211518}.upload-symbol{border-radius:4px;background:#45191e;color:#ff5964}.ocr-button{background:#261416;border-color:#60343a;color:#ff6670}.analyze-button{background:linear-gradient(100deg,#d91e2d,#fa4350);color:#fff;text-transform:uppercase;letter-spacing:.03em}.analyze-button:hover{filter:brightness(1.12)}
.result-panel{background:linear-gradient(145deg,#211519,#151315);border-color:#704047}.result-number,.score-number{color:#ff4d59}.score-status{background:#421d22;color:#ff737b}.score-status.wait{background:#3d2e20;color:#ffd08a}.score-status.avoid{background:#35191d;color:#ff8a91}.score-status.risky{background:#3d2b19;color:#ffd088}.score-track span.active{background:linear-gradient(90deg,#c91d2c,#ff5660)}
.fact-pill{border-color:#563337;color:#f1dfde}.fact-pill strong{color:#ff5964}.guide-grid{gap:8px}.guide-card{background:#151416;border-color:#3c3437}.guide-card:hover{border-color:#854047}.guide-warning{background:#211416}.guide-warning .guide-index{color:#ff6f78}footer{border-top-color:#6b292f66}footer a{color:#ff7078}.footer-brand .brand-mark{box-shadow:none}

.brand-mark-wide{width:38px;font-size:14px;letter-spacing:-.05em}.app-title{margin:30px 0 4px;font:900 clamp(54px,10vw,112px)/.88 'Noto Sans JP',sans-serif;letter-spacing:-.075em;font-style:italic;color:#f7f5f3;text-transform:uppercase;text-shadow:5px 5px 0 #8f111d,10px 10px 24px #000}.app-title ruby{ruby-position:over}.app-title rt{font:800 clamp(11px,1.4vw,16px)/1.2 'Noto Sans JP',sans-serif;letter-spacing:.28em;font-style:normal;color:#ff5964;text-shadow:none;padding-bottom:8px}.app-catch{font-size:clamp(20px,3vw,30px)!important;font-weight:800;letter-spacing:-.03em;color:#f1eceb!important;margin:17px 0 5px!important}

.upload-box{width:100%;color:inherit}.visually-hidden{position:fixed!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.photo-dialog{width:min(420px,calc(100% - 24px));padding:0;border:1px solid #75464a;border-radius:12px;background:#151315;color:#f7f5f3;box-shadow:0 24px 80px #000b}.photo-dialog::backdrop{background:#050506c9;backdrop-filter:blur(5px)}.dialog-grip{display:none}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid #3c3033}.dialog-heading h3{font-size:16px;margin:0}.dialog-close{width:34px;height:34px;border:0;border-radius:5px;background:#2b2022;color:#d9cccd;font-size:24px;line-height:1;cursor:pointer}.photo-actions{display:grid;gap:9px;padding:15px}.photo-action{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid #4c383b;border-radius:7px;background:#1c1819;cursor:pointer;transition:.15s}.photo-action:hover{border-color:#f02b3a;background:#261719}.photo-action-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:5px;background:#46191e;color:#ff5964;font-size:20px}.photo-action strong,.photo-action small{display:block}.photo-action strong{font-size:14px}.photo-action small{margin-top:3px;color:#a9a2a2;font-size:11px}.photo-action>span:last-child{font-size:28px;color:#ff5964}.dialog-cancel{display:block;width:calc(100% - 30px);height:42px;margin:0 15px 15px;border:1px solid #403638;border-radius:6px;background:#211d1e;color:#d8d2d1;font-weight:700;cursor:pointer}
@media(max-width:600px){.photo-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:16px 16px 0 0;border-width:1px 0 0}.dialog-grip{display:block;width:42px;height:4px;border-radius:3px;background:#655d5f;margin:9px auto 0}.dialog-heading{padding-top:10px}.photo-action{min-height:72px}.app-title{margin-top:25px;font-size:clamp(48px,15vw,72px);text-shadow:3px 3px 0 #8f111d,7px 7px 18px #000}.app-title rt{font-size:10px;letter-spacing:.2em}.app-catch{font-size:21px!important}}

/* Slot-machine product shell */
main{width:min(1220px,calc(100% - 28px))}.machine-shell{position:relative;margin-top:24px;padding:18px 24px 24px;border:1px solid #77777b;border-radius:30px;background:linear-gradient(115deg,#777 0,#242428 4%,#0f0f11 12%,#242428 88%,#777 96%,#222 100%);box-shadow:0 30px 80px #000b,inset 0 0 0 5px #0a0a0b,inset 0 0 0 7px #3d3d41;overflow:hidden}.machine-shell:before,.machine-shell:after{content:"";position:absolute;top:85px;bottom:28px;width:5px;border-radius:4px;background:linear-gradient(#ff2636,#5a0910,#ff2636);box-shadow:0 0 14px #ff263688}.machine-shell:before{left:8px}.machine-shell:after{right:8px}.machine-crown{height:38px;margin:-3px 24px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;color:#bdbdc3;font:500 10px 'DM Mono',monospace;letter-spacing:.2em}.machine-crown span{height:2px;background:linear-gradient(90deg,transparent,#e82635)}.machine-crown span:last-child{background:linear-gradient(90deg,#e82635,transparent)}.machine-crown i{font-style:normal}.machine-shell .intro{padding:30px 12px 22px;text-align:center;border:1px solid #4f2025;border-radius:12px 12px 4px 4px;background:radial-gradient(ellipse at 50% 20%,#3c1117,#100f11 58%);box-shadow:inset 0 0 32px #000,0 0 0 4px #070708}.machine-shell .eyebrow{justify-content:center}.machine-shell .app-title{font-size:clamp(58px,8vw,100px);margin-top:28px}.machine-shell .app-catch{margin-top:14px!important}.stage-strip{max-width:720px;margin:16px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:7px;border:1px solid #4b4b4f;border-radius:8px;background:#080809;box-shadow:inset 0 0 16px #000}.stage-strip span{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #3d3436;border-radius:4px;background:linear-gradient(#252326,#121214);color:#c9c5c6;font-size:13px;font-weight:700}.stage-strip b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#d91e2d;color:#fff;font:500 11px 'DM Mono',monospace;box-shadow:0 0 10px #f02b3a66}.machine-shell .workspace{gap:10px}.machine-shell .panel,.machine-shell .result-panel{border-width:3px;border-color:#262629;outline:1px solid #5d5d61;background:linear-gradient(145deg,#19191c,#09090a);box-shadow:inset 0 0 0 1px #050506,0 10px 22px #0008}.machine-shell .step-title{padding-bottom:12px;border-bottom:1px solid #3b3033}.machine-shell .step-no{border-radius:50%;box-shadow:0 0 0 3px #3b0d12,0 0 13px #f02b3a66}.machine-shell .machine-facts,.machine-shell .search-wrap,.machine-shell .number-wrap,.machine-shell .machine-select-wrap select{background:#070708;border-color:#4b3d40;box-shadow:inset 0 2px 8px #000}.machine-shell .upload-box{background:radial-gradient(circle at 50% 40%,#23171a,#080809);border-style:solid;box-shadow:inset 0 0 20px #000}.machine-shell .analyze-button{height:58px;border:1px solid #ff6d77;border-radius:29px;background:radial-gradient(circle at 50% 20%,#ff5964,#bd1220 58%,#690812);box-shadow:0 6px 0 #5d070e,0 10px 16px #000a,inset 0 2px 3px #fff5;font-size:16px;text-shadow:0 1px 2px #0008}.machine-shell .analyze-button:active{transform:translateY(4px);box-shadow:0 2px 0 #5d070e,0 5px 10px #0009}.machine-shell .result-panel{background:radial-gradient(ellipse at 50% 0%,#301018,#080809 65%);border-color:#40151a;outline-color:#77777b}.machine-shell .result-top{padding-bottom:10px;border-bottom:1px solid #482127}.machine-shell .score-number{text-shadow:0 0 20px #ff364980}.machine-base{height:38px;margin:14px 12px -10px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #55555a;color:#85858b;font:500 9px 'DM Mono',monospace;letter-spacing:.12em}.guide-grid{width:calc(100% - 24px);margin-left:auto;margin-right:auto}
@media(max-width:760px){main{width:calc(100% - 10px)}.machine-shell{margin-top:8px;padding:10px 11px 16px;border-radius:20px}.machine-shell:before,.machine-shell:after{top:65px;bottom:22px;width:3px}.machine-shell:before{left:4px}.machine-shell:after{right:4px}.machine-crown{height:28px;margin:0 12px;gap:8px;font-size:8px}.machine-shell .intro{padding:22px 8px 18px}.machine-shell .app-title{font-size:clamp(46px,15vw,70px)}.stage-strip{margin:10px 0;gap:4px;padding:4px}.stage-strip span{min-height:39px;font-size:11px;gap:5px}.stage-strip b{width:19px;height:19px;font-size:9px}.machine-shell .workspace{gap:8px}.machine-shell .panel,.machine-shell .result-panel{padding:16px;border-radius:7px}.machine-base{margin-top:10px}.guide-grid{width:calc(100% - 18px)}}

/* Native wheel picker + direct iPhone camera inputs */
.machine-select-wrap select{height:58px;padding:0 14px;font-size:16px;font-weight:700;cursor:pointer}.picker-hint{margin:7px 2px 0;color:#8f898a;font-size:11px;line-height:1.5}.photo-action{position:relative;overflow:hidden}.photo-action-file{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:3}.photo-action>span{pointer-events:none}.photo-action:focus-within{outline:2px solid #ff5964;outline-offset:2px}
@media(max-width:760px){.machine-select-wrap select{height:62px;font-size:17px}.picker-hint{font-size:12px}.photo-action strong{font-size:15px}.photo-action small{font-size:12px;line-height:1.45}}

/* Cabinet v2: marquee, moving reels, physical controls and lower LCD */
.jackpot-screen{position:relative;overflow:hidden;isolation:isolate;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center}.jackpot-screen:before{content:"";position:absolute;inset:-30%;z-index:-1;background:conic-gradient(from 0deg at 50% 50%,transparent 0 12%,#ff263640 16%,transparent 21% 36%,#ffb52335 42%,transparent 47% 62%,#d5002140 68%,transparent 74%);animation:marqueeSweep 8s linear infinite}.jackpot-screen:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 58%,#fa1f3450,transparent 35%),linear-gradient(180deg,#16070a55,#050506dd)}
.jackpot-title{margin:28px 0 12px;display:flex;flex-direction:column;align-items:center;font-family:'Noto Sans JP',sans-serif;font-style:italic;font-weight:900;line-height:.72;letter-spacing:-.085em;text-transform:uppercase;filter:drop-shadow(0 9px 0 #520710) drop-shadow(0 18px 18px #000)}.jackpot-title small{margin-bottom:20px;padding-left:.18em;font-size:clamp(10px,1.4vw,15px);line-height:1;letter-spacing:.38em;color:#fff;text-shadow:0 0 12px #ff2438}.jackpot-title span{font-size:clamp(72px,11vw,145px);background:linear-gradient(180deg,#fff6bd 0,#ffce35 23%,#fff8c5 40%,#f45726 61%,#ff1f36 78%,#7e0712 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px #ffd46b;text-shadow:none}.jackpot-title span:last-child{font-size:clamp(64px,10.4vw,136px)}
.reel-theater{position:relative;width:min(760px,92%);margin:18px auto 4px;padding:32px 34px 30px;border:1px solid #aaa;border-radius:20px 20px 8px 8px;background:linear-gradient(115deg,#25262a,#a8a8aa 8%,#242429 17%,#0d0d0f 50%,#242429 83%,#a8a8aa 92%,#25262a);box-shadow:0 12px 30px #000,inset 0 0 0 6px #09090a,inset 0 0 0 8px #58585d}.reel-status{position:absolute;top:8px;left:12%;right:12%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;color:#ff6671;font:700 9px 'DM Mono',monospace;letter-spacing:.23em;text-align:center}.reel-status span{height:1px;background:linear-gradient(90deg,transparent,#f32b3b)}.reel-status span:last-child{background:linear-gradient(90deg,#f32b3b,transparent)}
.reel-window{position:relative;display:grid;grid-template-columns:repeat(3,1fr);height:210px;overflow:hidden;border:6px solid #070708;border-radius:8px;background:#eee;box-shadow:0 0 0 2px #b5b5b8,0 0 26px #ff1e3270,inset 0 0 25px #0008}.reel{overflow:hidden;border-right:4px solid #161619;background:linear-gradient(90deg,#b9b9ba,#fff 16% 84%,#aaa)}.reel:last-child{border-right:0}.reel-track{display:flex;flex-direction:column;height:400%;animation:reelSpin 1.05s linear infinite;will-change:transform}.reel-two{animation-duration:.91s;animation-delay:-.36s}.reel-three{animation-duration:1.19s;animation-delay:-.71s}.reel-track b{height:12.5%;min-height:0;display:grid;place-items:center;font:900 clamp(38px,6vw,72px)/1 'Noto Sans JP',sans-serif;text-shadow:0 3px 0 #fff,0 5px 7px #0005}.reel-track .symbol-red{color:#f0182e;-webkit-text-stroke:2px #8c0010}.reel-track .symbol-gold{color:#ffbd18;-webkit-text-stroke:2px #a84d00}.reel-track .symbol-blue{color:#2a83df;-webkit-text-stroke:2px #064e9c}.reel-track .symbol-bar{font-size:clamp(17px,2.6vw,31px);letter-spacing:-.06em;color:#17171b;-webkit-text-stroke:1px #555}.pay-line{position:absolute;left:0;right:0;top:50%;z-index:3;height:3px;background:#ee1429;box-shadow:0 0 8px #ff1428;transform:translateY(-50%);pointer-events:none}.pay-line:before,.pay-line:after{content:"";position:absolute;top:-6px;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent}.pay-line:before{left:0;border-left:10px solid #f0182e}.pay-line:after{right:0;border-right:10px solid #f0182e}
.machine-controls{position:relative;width:min(560px,82%);margin:0 auto 24px;padding:19px 34px 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,7vw,64px);border-radius:0 0 46px 46px;background:linear-gradient(#17171a,#050506);border:1px solid #555;border-top:0;box-shadow:0 12px 20px #000c,inset 0 -3px 0 #26262a}.machine-controls button{appearance:none;border:0;background:transparent;color:#d7d3d3;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.16em}.machine-controls i{width:clamp(46px,8vw,68px);height:clamp(46px,8vw,68px);display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 45% 28%,#ffbe55,#ff4a2e 33%,#d71823 65%,#780610 78%);border:4px solid #1b1b1d;outline:2px solid #777;box-shadow:0 7px 0 #5e050c,0 10px 14px #000,inset 0 3px 5px #fff8;color:#fff5c8;font-style:normal;font:900 15px 'DM Mono',monospace;text-shadow:0 1px 2px #6d0008;transition:.12s}.machine-controls button:hover i{filter:brightness(1.16)}.machine-controls button:active i{transform:translateY(5px);box-shadow:0 2px 0 #5e050c,0 4px 8px #000,inset 0 3px 5px #fff8}
.info-display{position:relative;margin:0 8px 8px;padding:44px 18px 18px;border:1px solid #777;border-radius:18px 18px 8px 8px;background:linear-gradient(135deg,#27272a,#070708 8% 92%,#343438);box-shadow:inset 0 0 0 7px #09090a,inset 0 0 0 9px #49494e,0 15px 30px #000b}.info-screen-head{position:absolute;top:14px;left:28px;right:28px;display:flex;justify-content:space-between;color:#96969d;font:600 9px 'DM Mono',monospace;letter-spacing:.2em}.info-screen-head b{color:#ff4654;text-shadow:0 0 8px #ff2636}.info-display .stage-strip{margin:0 auto 12px}.info-display .workspace{padding:10px;border:1px solid #49151b;border-radius:7px;background:radial-gradient(ellipse at 50% 0%,#260c11,#050506 65%);box-shadow:inset 0 0 40px #000}
@keyframes reelSpin{to{transform:translateY(-50%)}}@keyframes marqueeSweep{to{transform:rotate(360deg)}}
@media(max-width:760px){.jackpot-screen{min-height:310px}.jackpot-title{margin:21px 0 10px}.jackpot-title small{margin-bottom:16px}.jackpot-title span{font-size:clamp(64px,22vw,94px)}.jackpot-title span:last-child{font-size:clamp(56px,19vw,84px)}.reel-theater{width:94%;margin-top:12px;padding:28px 18px 20px;border-radius:15px 15px 6px 6px}.reel-window{height:145px;border-width:4px}.reel{border-right-width:3px}.machine-controls{width:84%;margin-bottom:15px;padding:14px 18px 10px;gap:18px}.machine-controls i{width:48px;height:48px}.info-display{margin:0 0 5px;padding:39px 8px 9px;border-radius:12px 12px 6px 6px}.info-screen-head{top:13px;left:18px;right:18px}.info-display .workspace{padding:5px}.info-display .stage-strip{margin-bottom:7px}}
@media(max-width:390px){.jackpot-screen{min-height:285px}.reel-theater{padding-left:13px;padding-right:13px}.reel-window{height:128px}.machine-controls{gap:10px}.info-display{padding-left:5px;padding-right:5px}.info-display .workspace{padding:3px}}
.camera-help{margin:7px 2px 0;color:#b6adae;font-size:12px;line-height:1.6}
.machine-shell .hero-catch{display:inline-block;margin:18px 0 0;padding:8px 18px;border:1px solid #ff737b;border-radius:999px;background:linear-gradient(100deg,#d91e2d,#fa4350);box-shadow:0 5px 16px #d91e2d55;color:#fff;font-size:clamp(15px,2vw,21px);font-weight:900;line-height:1.35;letter-spacing:.02em;text-shadow:0 1px 2px #700;font-family:'Noto Sans JP',sans-serif}
.machine-shell .jackpot-title{margin-top:16px}
@media(max-width:600px){.machine-shell .hero-catch{margin-top:14px;padding:7px 13px;font-size:16px}.machine-shell .jackpot-title{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.reel-track,.jackpot-screen:before{animation:none}.reel-track{transform:translateY(-12.5%)}html{scroll-behavior:auto}}

/* Original illustrated reel symbols based on the supplied reference */
.reel-track{height:500%}.reel-track b.slot-symbol{height:10%;min-height:0;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 3px 2px #0008);text-shadow:none;-webkit-text-stroke:0}.symbol-cherry{background-image:url('/assets/symbol-cherry.png')}.symbol-seven{background-image:url('/assets/symbol-seven.png')}.symbol-bell{background-image:url('/assets/symbol-bell.png')}.symbol-watermelon{background-image:url('/assets/symbol-watermelon.png')}.symbol-replay{background-image:url('/assets/symbol-replay.png')}
@media(prefers-reduced-motion:reduce){.reel-track{transform:translateY(-10%)}}

/* Saved comparison photos, preview, storage status and future ad unit */
.comparison-card{grid-template-columns:66px 48px minmax(0,1fr) minmax(145px,auto) auto}
.comparison-thumb{width:66px;height:56px;padding:0;overflow:hidden;display:grid;place-items:center;border:1px solid #999;border-radius:5px;background:#e7e3e4;color:#555;font-size:10px;cursor:zoom-in}
.comparison-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.comparison-no-photo{cursor:default}
.comparison-storage-note{margin:6px 0 0;color:#9f9798;font-size:11px}
.photo-preview-dialog{width:min(680px,calc(100% - 24px));max-width:none;max-height:90vh;padding:12px;border:1px solid #7d4b50;border-radius:12px;background:#111;color:#fff}
.photo-preview-dialog::backdrop{background:#000d}
.photo-preview-dialog img{display:block;max-width:100%;max-height:78vh;margin:auto;object-fit:contain}
.photo-preview-dialog button{display:block;margin:0 0 8px auto;width:38px;height:38px;border:0;border-radius:50%;background:#3a1a1e;color:#fff;font-size:26px;cursor:pointer}

@media(max-width:600px){.comparison-card{grid-template-columns:54px 42px minmax(0,1fr) auto;gap:7px;padding:9px}.comparison-thumb{width:54px;height:54px}.comparison-score{grid-column:1/-1}}

/* Camera capture surface and mobile Safari fallback */
.camera-live-action{width:100%;text-align:left;color:inherit;font:inherit}.camera-dialog{width:min(560px,calc(100% - 24px));padding:14px;border:1px solid #75464a;border-radius:12px;background:#111113;color:#f7f5f3;box-shadow:0 24px 80px #000b}.camera-dialog::backdrop{background:#050506dd;backdrop-filter:blur(5px)}.camera-preview-wrap{position:relative;min-height:240px;overflow:hidden;border-radius:7px;background:#050506;display:grid;place-items:center}.camera-preview-wrap video{display:block;width:100%;max-height:65vh;object-fit:contain}.camera-empty{position:absolute;color:#aaa;font-size:14px}.camera-message{min-height:24px;margin:12px 4px;color:#ddd;font-size:14px;line-height:1.5}.camera-controls{display:flex;align-items:center;justify-content:space-between;padding:2px 5px 4px}.camera-controls button{border:0;color:white;cursor:pointer}.camera-controls button:first-child{padding:10px 15px;border-radius:7px;background:#30282a}.camera-controls button:last-child{width:66px;height:66px;border:5px solid #ddd;border-radius:50%;background:radial-gradient(circle,#ff4b55 0 54%,#a90e19 58%);font-size:0;box-shadow:0 0 0 3px #33282a}.camera-controls button:last-child:disabled{opacity:.4}.camera-dialog[open]{margin:auto}
@media(max-width:600px){.camera-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:16px 16px 0 0;border-width:1px 0 0}.camera-preview-wrap{min-height:240px}.camera-controls{padding-bottom:max(10px,env(safe-area-inset-bottom))}}
.camera-fallback-note{margin:0 15px 14px;padding:10px;border-radius:6px;background:#382b1e;color:#ffd08a;font-size:12px;line-height:1.55}
/* Match the ad-clinic native upload pattern: the real file input overlays the whole tap target. */
.upload-box input{width:100%;height:100%;margin:0;z-index:5}
/* Same upload geometry as Ad Clinic: a transparent native JPG picker covers the tap area. */
.upload-picker{position:relative}.upload-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:5;cursor:pointer}
.machine-controls .quick-camera{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#d7d3d3;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.16em}.machine-controls .quick-camera input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:3;cursor:pointer}

/* Bright photo target and at-a-glance multi-machine comparison */
.machine-shell .upload-box{min-height:124px;background:#fff;color:#171717;border:2px solid #fff;box-shadow:none;text-shadow:none}
.machine-shell .upload-box:hover{background:#f4f4f4;border-color:#ff5964}
.machine-shell .upload-box #uploadTitle{color:#151515;font-size:16px}
.machine-shell .upload-box #uploadHint{color:#444}
.machine-shell .upload-box .upload-symbol{background:#d91e2d;color:#fff}
.machine-shell .upload-box img{max-width:100%;max-height:190px;object-fit:contain;border-radius:8px}
.compare-add-button{width:100%;min-height:46px;margin-top:10px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border:1px solid #ff6872;border-radius:9px;background:#211316;color:#fff;font-weight:700;cursor:pointer}
.compare-add-button span{padding:4px 8px;border-radius:99px;background:#fff;color:#8e0711;font:700 12px 'DM Mono',monospace}
.compare-add-button:disabled{opacity:.55;cursor:not-allowed}
.comparison-panel{grid-column:1/-1;padding:18px;border:1px solid #5a3438;border-radius:12px;background:linear-gradient(145deg,#151315,#0c0b0c)}
.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.comparison-kicker{margin:0 0 5px;color:#ff7a82;font:700 10px 'DM Mono',monospace;letter-spacing:.14em}
.comparison-heading h2{margin:0;font-size:18px}
.comparison-heading h2 span{margin-left:8px;color:#c9c1c1;font:500 12px 'DM Mono',monospace}
.clear-comparison,.remove-compare{border:1px solid #54474a;border-radius:7px;background:#211c1e;color:#eee;padding:8px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.clear-comparison:disabled{opacity:.4;cursor:not-allowed}
.comparison-help,.comparison-note{font-size:12px;line-height:1.6;color:#b5adae}
.comparison-help{margin:9px 0 12px}.comparison-note{margin:12px 0 0;color:#d6b7ba}
.comparison-list{display:grid;gap:8px}
.comparison-empty{margin:0;padding:18px;text-align:center;border:1px dashed #514145;border-radius:9px;color:#a99fa0;font-size:13px}
.comparison-card{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(145px,auto) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #d7d7d7;border-radius:8px;background:#fff;color:#181818}
.comparison-rank{font-weight:900;color:#b20e1b;font-size:17px;white-space:nowrap}
.comparison-main{min-width:0;display:grid;gap:3px}.comparison-main strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.comparison-main span{font-size:13px;font-weight:700}.comparison-main small,.comparison-score small{font-size:11px;color:#4d4d4d;line-height:1.4}
.comparison-score{display:grid;justify-items:start;gap:3px}.comparison-score>b{color:#ba0c1b;font:700 20px 'DM Mono',monospace}.comparison-score>b small{color:#444;font:500 11px sans-serif}
.comparison-status{display:inline-block;padding:3px 7px;border-radius:99px;background:#e5f3d1;color:#31510d;font-size:11px;font-weight:800}.comparison-status.caution{background:#fff0c9;color:#714a00}
.remove-compare{background:#fff;color:#555;border-color:#bbb;padding:6px 8px}
@media(max-width:600px){.comparison-panel{padding:13px}.comparison-heading h2{font-size:16px}.comparison-card{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;padding:10px}.comparison-rank{font-size:15px}.comparison-score{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;padding-top:7px;border-top:1px solid #ddd}.comparison-score>b{font-size:18px}.comparison-main strong{font-size:13px}.comparison-main small{font-size:10px}.clear-comparison{padding:7px 8px;font-size:11px}}
.machine-shell .panel-main .step-title,.machine-shell .panel-input .step-title{align-items:center;padding:12px;border:0;border-radius:8px;background:linear-gradient(100deg,#bd1423,#e52e3b);box-shadow:0 4px 10px #0005}
.machine-shell .panel-main .step-title h2,.machine-shell .panel-input .step-title h2{color:#fff}
.machine-shell .panel-main .step-title p,.machine-shell .panel-input .step-title p{color:#ffe2e4}
.machine-shell .panel-main .step-title .step-no,.machine-shell .panel-input .step-title .step-no{background:#fff;color:#b20f1c;box-shadow:none}
.top-links{display:flex;align-items:center;gap:14px}.top-links>a{font:700 13px 'DM Mono',monospace;color:var(--acid);text-decoration:none}.top-links>a span{font:500 10px 'Noto Sans JP',sans-serif;color:#a7c3cd;display:block;letter-spacing:0}@media(max-width:520px){.topbar{padding:0 12px}.top-links{gap:8px}.top-links>a{font-size:11px}.top-note{font-size:10px;gap:5px}}

/* Persistent bottom ad slot shared by the slot and pachinko tools */
body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.sticky-ad{position:fixed;z-index:1000;inset:auto 0 0;padding:7px 14px calc(7px + env(safe-area-inset-bottom));border-top:2px solid #d91e2d;background:linear-gradient(180deg,#151315f2,#09090bf7);box-shadow:0 -8px 24px #0009;backdrop-filter:blur(12px)}.sticky-ad-content{width:min(970px,100%);min-height:43px;margin:auto;padding:5px 12px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px dashed #76565a;border-radius:6px;background:#111012;color:#d7cecf}.sticky-ad-label{font:600 9px 'DM Mono',monospace;letter-spacing:.15em;color:#ff747e}.sticky-ad-content strong{font-size:12px;font-weight:500}@media(max-width:600px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.sticky-ad{padding-left:10px;padding-right:10px}.sticky-ad-content{min-height:42px}}
