@font-face{font-family:'RocknRoll One';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/rocknroll-one/RocknRollOne-Regular.ttf') format('truetype')}
.strategy-status strong{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.sr-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.strategy-mode{--gold:#e4c98e;--ink:#f4eddf;--muted:#c4bfcd;--line:#ddc28b50;background:radial-gradient(ellipse at 50% 0,#52427166,transparent 65%),repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 5px),#161322;color:var(--ink);font-family:'M PLUS 2','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}
.strategy-mode .catalog-header{padding-block:18px}.strategy-mode .catalog-header nav a{min-height:44px;display:inline-flex;align-items:center}.strategy-mode .catalog-header nav a[aria-current]{color:var(--gold)}
.strategy-table{position:relative;margin:22px 0 36px;padding:26px;border:8px solid #443240;border-radius:38px;background:radial-gradient(ellipse at 50% 0,#66518455,transparent 70%),repeating-linear-gradient(35deg,#ffffff03 0 1px,transparent 1px 4px),#2a2244;box-shadow:0 0 0 1px #bfa172,inset 0 0 0 2px #c4a66d88,inset 0 0 50px #130e2c88,0 22px 50px #0005}
.strategy-mode h1,.strategy-mode h2,.strategy-mode h3{font-family:'RocknRoll One',sans-serif;font-weight:400}.strategy-mode button,.strategy-mode input,.strategy-mode select{min-height:44px}.strategy-mode button{border-color:#bda57277;background:#211c35}.strategy-mode button:hover{border-color:#f5dca2}.strategy-mode button:disabled{cursor:not-allowed;opacity:.5}.strategy-mode :focus-visible{outline:3px solid #efd69d;outline-offset:3px}
.strategy-titlebar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.strategy-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-width:0}.strategy-title h1{font-size:clamp(22px,2.8vw,34px);line-height:1.5;letter-spacing:0;margin:0;text-shadow:0 2px 10px #0008}.strategy-status{display:flex;flex-direction:column;align-items:flex-end;flex:none;gap:3px;color:#efd69d;font-size:13px;white-space:nowrap}.strategy-status strong{font-size:17px}.strategy-tools{display:flex;align-items:center;gap:6px}.strategy-tools .strategy-icon{display:grid;place-items:center;width:44px;height:44px;padding:9px;border-radius:50%;background:#1b1730}.strategy-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.strategy-volume{display:flex;align-items:center;gap:6px;font-size:11px;color:#e4c98e}.strategy-volume input{width:76px;height:44px;min-width:0;padding:0;accent-color:#e4c98e;cursor:pointer}.strategy-volume output{width:32px;text-align:right;font-variant-numeric:tabular-nums}
.strategy-lead{font-size:17px;line-height:1.9;max-width:800px;color:#e1d9ee}.strategy-note{font-size:12px;line-height:1.75;color:#c5bcd3}.strategy-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.strategy-actions button:first-child,.strategy-primary{background:#e4c98e!important;color:#241b34;font-weight:700;box-shadow:0 3px 0 #806333,0 6px 14px #0005}.strategy-primary{display:block;margin:18px auto 8px;min-width:250px;max-width:100%}
.starting-deck{padding:18px;border:1px solid var(--line);border-radius:12px;background:#17132ac9}.starting-deck h2{font-size:21px;margin:0 0 12px}.starting-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.starting-slot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:80px;padding:12px;border:1px dashed #d4b87e77;border-radius:9px;background:#302844}.starting-slot strong{font-size:16px;overflow-wrap:anywhere}.starting-slot button{font-size:12px;padding:6px 10px}.starting-slot>span{color:#bcb0ca;font-size:14px}
.strategy-coverage{padding:16px;margin:20px 0;border:1px solid var(--line);border-radius:12px;background:#1c1732aa}.strategy-coverage h3{font-size:18px;margin:0 0 12px}.coverage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.coverage-tile{display:flex;flex-direction:column;align-items:center;padding:8px 5px;border:1px solid #c4a66d44;border-radius:8px;background:#38304a}.coverage-tile span{font-size:12px}.coverage-tile strong{font-size:20px;color:#f2d799}.coverage-tile small{font-size:11px;color:#c7bcd4}.coverage-tile.weak{border-color:#d58d8666;background:#4b2c4244}.coverage-tile.weak strong{color:#efb3a7}
.strategy-search{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 12px}.strategy-search input{flex:1;min-width:160px}.strategy-search select{flex:1;min-width:160px}.strategy-catalogue-grid,.strategy-hand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.solver-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #c5a46b;border-radius:13px;min-width:0;background:linear-gradient(135deg,#484055,#30273e 55%,#3b314a);box-shadow:inset 0 0 0 4px #22192f,inset 0 0 0 5px #a78b5466,0 8px 15px #120c2588}.solver-card.selected{outline:3px solid #f0d296;outline-offset:2px;background:linear-gradient(135deg,#6c5261,#49334a);box-shadow:inset 0 0 0 5px #c29b5d66,0 0 22px #e4c98e33}.solver-card .composer-portrait{margin:0;width:100%;height:auto;aspect-ratio:4/5;border:1px solid #cbb17a;border-radius:8px;overflow:hidden;background:#201729}.solver-card .composer-portrait img{object-fit:cover;filter:sepia(.1)}.solver-card .portrait-placeholder{height:100%;min-height:0;padding:6px;gap:5px}.solver-card .portrait-monogram{width:38px;height:38px;font-size:15px}.solver-card .placeholder-name{font-size:13px}.solver-card .placeholder-message{font-size:11px}.solver-card h3{font-family:'M PLUS 2','Yu Gothic',sans-serif;font-size:17px;font-weight:800;line-height:1.5;text-align:center;color:#f3dda5;margin:0;overflow-wrap:anywhere}.solver-odds{font-size:13px;color:#f6ead5;font-weight:700;text-align:center;letter-spacing:.03em;min-height:28px;border-bottom:1px solid #bda57266;padding-bottom:6px}.solver-odds.perfect{color:#ffe09c}.solver-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin:0}.solver-stats>div{display:flex;justify-content:space-between;gap:4px;align-items:center;font-size:11px;border-bottom:1px solid #fff1;padding:3px 0;min-width:0}.solver-stats strong{font-variant-numeric:tabular-nums}.solver-stats .perfect{color:#f6d386}.solver-stats .current{color:#fff3cd;border-bottom-color:#e5c58477;font-weight:700}.solver-actions{display:flex;gap:6px;margin-top:auto;flex-wrap:wrap;padding-top:4px}.solver-actions button{font-size:12px;line-height:1.5;padding:8px 7px;flex:1;min-width:0}.solver-actions .detail-action{flex:0 0 44px}.solver-choice[aria-pressed=true],.reward-choice[aria-pressed=true]{background:#e4c98e;color:#261c36;border-color:#e4c98e}.empty-solver-slot{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:240px;border:2px dashed #ae91bd66;border-radius:12px;padding:16px;text-align:center;background:#18112866;color:#c7bad5}.empty-solver-slot span{font-size:13px}.empty-solver-slot button{font-size:13px;max-width:100%}
.strategy-question{border:1px solid #cbb17a77;border-radius:14px;padding:22px;margin-bottom:20px;background:#17132bcc}.strategy-question>.eyebrow{margin:0 0 8px;color:#e4c98e}.strategy-question h2{font-size:clamp(19px,2.5vw,26px);line-height:1.6;margin:0 0 16px}.strategy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.strategy-option{padding:12px 14px;border:1px solid #d5bc8755;border-radius:8px;font-size:16px;background:#302745}.strategy-option.correct{border:2px solid #9bdbb1;background:#34725344;color:#c8f1d6}.strategy-option.incorrect{border:2px solid #e699a2;background:#84344944;color:#ffd3d8}.strategy-deck>h2,.strategy-reward>h2{font-size:22px;line-height:1.5;margin:20px 0 14px}.strategy-feedback{border:1px solid #8bc4a288;border-left:4px solid #8bc4a2;border-radius:12px;padding:16px 20px;margin:18px 0;background:#1d423455}.strategy-feedback.incorrect{border-color:#de969c;background:#5a283c66}.strategy-feedback h3{font-size:21px;margin:0 0 8px}.strategy-feedback p{margin:8px 0;line-height:1.8}.score-breakdown{font-size:12px;color:#e0c992}.strategy-sources{font-size:11px;display:flex;flex-wrap:wrap;gap:6px 12px;overflow-wrap:anywhere}.strategy-sources a{max-width:100%}.strategy-reward{border:1px solid #d4b67e88;border-radius:15px;padding:18px;background:radial-gradient(ellipse at top,#9d775e22,transparent 75%),#211a35;margin:20px 0}.strategy-reward>h2{margin-top:0;color:#f5dda4}.strategy-reward>p{font-size:14px}.upcoming{padding:8px 12px;border-left:3px solid #e4c98e;background:#e4c98e0b}.strategy-results{padding:24px;border:1px solid #edca83;border-radius:14px;margin:12px 0 24px;background:radial-gradient(ellipse at top,#a77b4922,transparent 70%),#1c1630}.strategy-results>h2{font-size:clamp(22px,3vw,32px);margin:0;color:#efd397}.strategy-result-score{font:400 52px/1.4 'RocknRoll One',sans-serif;color:#ffe2a6;margin:12px 0}.strategy-review{border-top:1px solid #bda57255;padding:8px 0}.strategy-review summary{min-height:44px;padding:8px 0;cursor:pointer;font-size:14px}.strategy-review p{font-size:14px;overflow-wrap:anywhere}
.strategy-dialog{width:min(900px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:1px solid #c4a66d;border-radius:16px;background:#241c37;color:#f0e9da;padding:20px}.strategy-dialog::backdrop{background:#000b}.strategy-dialog-bar{position:sticky;top:-20px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;background:#241c37;padding:8px 0 12px}.strategy-dialog-bar h2{font-size:21px;margin:0}.strategy-dialog p,.strategy-dialog li{font-size:14px;line-height:1.9}.strategy-dialog li{margin:8px 0}.strategy-dialog .solver-stats{margin:10px 0 20px;max-width:500px;gap:8px 20px}.strategy-dialog .solver-stats>div{font-size:15px}
@media(max-width:1000px){.strategy-titlebar{align-items:flex-start}.strategy-title{gap:8px}.strategy-tools{flex-basis:100%}.strategy-title h1{font-size:28px}.strategy-status{font-size:12px}.strategy-status strong{font-size:15px}.coverage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.strategy-catalogue-grid,.strategy-hand{grid-template-columns:repeat(2,minmax(0,1fr))}.starting-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-titlebar{gap:10px}.strategy-status{font-size:11px}.strategy-title h1{font-size:23px}.solver-card{padding:10px}.solver-actions{flex-direction:column}.solver-actions .detail-action{flex:auto}.strategy-question{padding:16px}.strategy-reward{padding:12px}}
@media(max-width:560px){.strategy-mode .catalog-shell{padding:0 14px}.strategy-mode .catalog-header{gap:10px;padding:14px 0}.strategy-mode .catalog-header nav{gap:5px 14px;font-size:12px}.strategy-table{padding:16px 10px;border-width:5px;border-radius:24px}.strategy-titlebar{position:relative;display:block}.strategy-title{display:block}.strategy-title h1{font-size:21px;line-height:1.5;max-width:calc(100% - 88px);min-height:64px;display:flex;align-items:center}.strategy-status{position:absolute;right:0;top:0;max-width:84px;white-space:normal;text-align:right}.strategy-status strong{font-size:12px}.strategy-status span{font-size:10px}.strategy-tools{margin-top:8px}.strategy-volume input{width:76px}.strategy-lead{font-size:15px}.starting-deck{padding:12px}.starting-slot{padding:9px;font-size:13px}.starting-slot strong{font-size:14px}.strategy-actions{flex-direction:column}.strategy-actions button{width:100%}.strategy-search{gap:8px}.strategy-search input,.strategy-search select{width:100%;min-width:0;flex:auto}.strategy-coverage{padding:12px}.coverage-grid{gap:6px}.coverage-tile strong{font-size:18px}.strategy-question{padding:12px}.strategy-question h2{font-size:19px}.strategy-options{grid-template-columns:1fr;gap:7px}.strategy-option{font-size:14px;padding:9px 10px}.strategy-hand,.strategy-catalogue-grid{gap:8px}.solver-card{padding:9px;gap:8px}.solver-card h3{font-size:15px}.solver-odds{font-size:12px}.solver-stats{grid-template-columns:1fr;gap:0}.solver-stats>div{font-size:11px;line-height:1.6}.solver-card .portrait-monogram{width:30px;height:30px;font-size:12px}.solver-card .placeholder-name{font-size:11px}.solver-card .placeholder-message{font-size:10px}.strategy-primary{min-width:0;width:100%;font-size:14px}.strategy-deck>h2,.strategy-reward>h2{font-size:19px}.strategy-feedback{padding:12px}.strategy-feedback h3{font-size:18px}.strategy-feedback p{font-size:13px}.strategy-results{padding:14px}.strategy-results>h2{font-size:22px}.strategy-result-score{font-size:44px}.strategy-dialog{padding:14px}.strategy-dialog-bar{top:-14px}.strategy-dialog-bar h2{font-size:18px}.strategy-dialog .composer-card-detail{display:block}.empty-solver-slot{min-height:260px;padding:10px}.empty-solver-slot button{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.solver-card{animation:solver-arrive .25s ease-out}@keyframes solver-arrive{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}

.strategy-mode .placeholder-name{font-family:'M PLUS 2','Yu Gothic',sans-serif}
.solver-fatigue{font-size:11px;text-align:center;margin:0;color:#e7be9b}.strategy-checkpoint{padding:clamp(20px,4vw,40px);margin:22px 0;border:1px solid #efd199;border-radius:18px;background:radial-gradient(ellipse at top,#cba65e2a,transparent 80%),#211931}.strategy-checkpoint h2{font-size:clamp(22px,4vw,32px);color:#ffe1a6}.strategy-checkpoint .strategy-actions button{min-height:52px}#cashOutStrategy{background:#e4c98e;color:#241c30}#recoverReward{margin:18px 12px 12px 0;border-color:#9ac1ab;color:#d1efd8}
.composer-speech{display:flex;align-items:center;gap:16px;max-width:760px;margin:20px auto;padding:14px;border:1px solid #dbc18a55;border-radius:16px;background:linear-gradient(130deg,#54405b66,#241a34)}.composer-speech .speech-portrait{flex:0 0 80px;width:80px;height:96px;aspect-ratio:auto;margin:0;border:1px solid #dbc18a88;border-radius:10px;overflow:hidden}.speech-portrait img{width:100%;height:100%;object-fit:cover}.speech-portrait .portrait-monogram{width:32px;height:32px;font-size:13px}.speech-portrait .placeholder-name{font-size:10px}.speech-portrait .placeholder-message{display:none}.speech-body{flex:1;min-width:0}.speech-name{font-size:13px;font-weight:700;color:#ffe1a6;margin:0 0 8px}.speech-bubble{position:relative;margin:0;padding:13px 16px;border-radius:14px;background:#f0e6cd;color:#33283a;font:600 15px/1.8 'M PLUS 2','Yu Gothic',sans-serif;overflow-wrap:anywhere;box-shadow:0 3px 10px #0002}.speech-bubble::before{content:'';position:absolute;left:-9px;top:17px;border-block:7px solid transparent;border-right:10px solid #f0e6cd}.composer-speech.correct .speech-bubble{background:#e2efdc}.composer-speech.correct .speech-bubble::before{border-right-color:#e2efdc}.composer-speech.wrong .speech-bubble{background:#efdedc}.composer-speech.wrong .speech-bubble::before{border-right-color:#efdedc}@media(max-width:480px){.composer-speech{gap:10px;padding:10px}.composer-speech .speech-portrait{flex-basis:56px;width:56px;height:76px}.speech-bubble{font-size:13px;padding:10px 12px}.speech-name{font-size:12px}}
.strategy-difficulty{font-size:12px;color:#ead19b;border-left:3px solid #d3af6b;padding:5px 10px;background:#d3af6b0c}.strategy-history-list{list-style:none;padding:0;margin:18px 0}.strategy-history-list li{padding:16px 0;border-bottom:1px solid #d8bd8155}.strategy-history-list strong{display:block;color:#ffe2aa;font-size:18px}.strategy-history-list time{display:block;font-size:12px;color:#c3b5cb;margin-top:5px}.strategy-history-list p{font-size:13px;margin:8px 0}.history-summary{padding:12px 0;border-block:1px solid #d8bd8155;color:#ffe2aa}.strategy-history-button{border-color:#c6aa72}

@media(max-width:560px){.strategy-title h1{max-width:none;min-height:0}.strategy-status{position:static;max-width:none;width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;white-space:nowrap}.strategy-status strong{font-size:14px}.strategy-status span{font-size:12px}}
