.mini-intro{position:relative;max-width:620px;margin:auto;border:1px solid #806c43;border-radius:20px;overflow:hidden;background:#101c1f;box-shadow:0 18px 70px #0007}
.mini-intro-art{height:170px;background-image:var(--mini-scene);background-size:var(--mini-size,400% 200%);background-position:var(--mini-x) var(--mini-y);background-repeat:no-repeat;mask-image:linear-gradient(#000 65%,transparent)}
.mini-landmark{border-radius:0;box-shadow:none;background-repeat:no-repeat}
.mini-stakes{display:flex;justify-content:center;gap:18px;border:0;padding:8px 0 16px;margin:0}.mini-stakes legend{text-align:center;font-size:12px;color:#dcc89b}.gold-stake{position:relative;cursor:pointer;margin:0}.gold-stake input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.gold-stake span{display:flex;flex-direction:column;align-items:center;justify-content:center;width:65px;height:65px;border-radius:50%;border:3px double #b69350;background:radial-gradient(circle at 30% 20%,#e3bd66,#81602d 70%,#c19c51);color:#30200d;box-shadow:inset 0 0 0 3px #f3d58b44,0 4px 8px #0007;text-shadow:0 1px #f7db9877}.gold-stake b{font:700 24px Georgia}.gold-stake small{font:700 8px system-ui;letter-spacing:.12em}.gold-stake input:checked+span{outline:2px solid #ffe7ab;outline-offset:4px;box-shadow:0 0 18px #ffca5b66}.gold-stake input:disabled+span{filter:grayscale(.8);opacity:.4;cursor:not-allowed}.gold-stake input:focus-visible+span{outline:3px solid #fff5cd;outline-offset:4px}
.mini-intro-body{padding:0 22px 20px}.mini-intro-body h1{font-size:clamp(23px,6vw,34px);margin:5px 0 12px}.mini-intro-body>small{letter-spacing:.16em;color:#c5a56d}.mini-intro-body p{line-height:1.55;color:#dbd4c1;margin-bottom:20px}
.mini-mode{overflow:hidden}.mini-mode #app{padding-top:6px;padding-bottom:0}.mini-mode .topbar{min-height:44px;padding-top:7px;padding-bottom:7px}.mini-mode .brand small{display:none}.mini-mode .brand img{height:24px;width:24px}.mini-mode .brand span{font-size:15px}.mini-mode .connection{font-size:10px}.mini-mode .lab-ribbon{margin:0 0 3px;padding:3px 6px;font-size:9px}.mini-mode .lab-ribbon button{min-height:28px;padding:4px;font-size:11px}
.minigame-shell{max-width:720px;margin:auto;display:flex;flex-direction:column;gap:5px;min-height:0;isolation:isolate}.mini-top{display:flex;align-items:center;gap:10px;flex:none;padding:2px 3px}.mini-top>div{flex:1;min-width:0}.mini-top small{font-size:8px;letter-spacing:.16em;color:#cbb17d}.mini-top h1{font-size:clamp(17px,4.9vw,24px);margin:2px 0;line-height:1.12}.mini-top .mini-clock{font:600 18px Georgia;color:#efd9a1;white-space:nowrap}.mini-help-toggle{min-width:34px;min-height:34px;width:34px;padding:0;border-radius:50%;background:#324340;color:#ecd9ad;border:1px solid #8b7954}
.mini-role{min-height:22px;max-height:50px;display:flex;gap:5px;align-items:center;justify-content:center;font-size:12px;line-height:1.15;text-align:center}.mini-role:empty{display:none}.mini-role small{display:block;margin-top:3px;color:#c4bcaa;font-size:10px}.mini-painted{display:inline-block;background-size:400% 200%;background-repeat:no-repeat;flex:none}.mini-role-art{width:32px;height:32px}.mini-progress{text-align:center;color:#ead9b5;font-size:12px;min-height:16px}
.mini-role-swatch{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--role-color);background:color-mix(in srgb,var(--role-color) 30%,#142224);border-radius:50%;width:34px;height:34px;flex:none}.mini-role-swatch .mini-role-art{width:25px;height:25px}
.mini-stage{flex:1;min-height:120px;position:relative;overflow:hidden;border-radius:14px;border:1px solid #8d7651;background:#112329;box-shadow:inset 0 0 30px #0006;touch-action:none;user-select:none;-webkit-user-select:none}
#mini-canvas{display:block;width:100%;height:100%;position:absolute;inset:0}#mini-hit-layer{position:absolute;inset:0;pointer-events:none}.mini-hit{position:absolute;pointer-events:auto;touch-action:none;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-width:0!important;min-height:0!important;border-radius:8px!important;transform:none!important}.mini-hit:focus-visible{outline:3px solid #fff2bd;outline-offset:-3px}
.mini-preparation{position:absolute;inset:0;background:linear-gradient(#081419ee,#14252dcc);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:18px;text-align:center;z-index:3;backdrop-filter:blur(3px)}.mini-preparation strong{font:26px Georgia;color:#efd9b0}.mini-preparation>span{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:18px}.mini-preparation .mini-role-art{width:56px;height:56px}.mini-preparation>b{font:52px Georgia;color:#e5c18b}.mini-preparation[hidden],.mini-rule-overlay[hidden]{display:none}
.mini-rule-overlay{position:absolute;inset:0;z-index:5;background:#101e23f5;padding:20px;overflow:auto;display:flex;flex-direction:column;justify-content:center;gap:12px}.mini-rule-overlay p{font-size:15px;line-height:1.5}.mini-feedback{height:17px;flex:none;text-align:center;font-size:12px;color:#eed193;margin:0;overflow:hidden}.mini-controls{display:flex;gap:7px;align-items:center;justify-content:center;flex:none;min-height:0}.mini-controls:empty{display:none}.mini-controls button{flex:1;min-height:45px;max-height:58px;padding:8px 6px;font-size:14px;touch-action:none}.mini-controls button[hidden]{display:none}.mini-controls input{min-width:40px;max-width:38%;margin:0}.mini-controls>span{font-size:12px;min-height:23px;text-align:center}
.minigame-shell{position:relative}.mini-stage{min-height:90px;background:radial-gradient(ellipse at center,#263732,#0c171b 85%)}.mini-world{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;aspect-ratio:var(--world-ratio)}
.mini-progress{flex:none;height:16px;overflow:hidden}.mini-role{flex:none}.mini-controls.has-controls{height:48px;min-height:48px}.mini-controls [data-mini-op="next"][hidden]{display:block;visibility:hidden}.mini-finished .mini-controls{visibility:hidden;pointer-events:none}
.mini-clock{display:inline-block;min-width:48px;text-align:center;flex:none}
.mini-mode #app{position:fixed;top:var(--mini-view-top,0px);left:0;right:0;bottom:auto;overflow:hidden;margin:0 auto}
.mini-mode .lab-ribbon{flex-wrap:nowrap}.mini-mode .lab-ribbon>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-mode .lab-ribbon>.row{flex:none;flex-wrap:nowrap}
.minigame-shell:is([data-mini-v2="cards"],[data-mini-v2="alchemy"],[data-mini-v2="flames"]) .mini-controls{height:0;min-height:0}.mini-controls [data-mini-op="next"]{position:absolute;bottom:6px;left:5%;width:90%;z-index:2}
.mini-result-overlay{position:absolute;inset:65px 0 0;z-index:4;display:flex;align-items:flex-end;justify-content:center;padding:8px;background:linear-gradient(transparent 15%,#08131666 60%,#081316cc);pointer-events:none;animation:mini-result-in .35s both;animation-delay:var(--result-delay,.2s)}.mini-result{pointer-events:auto;width:100%;max-height:65%;overflow-y:auto;overscroll-behavior:contain;padding:15px;background:#142624f5;border:1px solid #63775b;border-radius:12px;box-shadow:0 8px 30px #0008}.mini-result h2{margin:0 0 8px;font-size:24px}.mini-result p{font-size:14px;margin:5px 0 12px}.mini-result.won{border-color:#b49b5d}.mini-result .rewards{max-height:none}.mini-rule-overlay{z-index:6}
@keyframes mini-result-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-height:650px){.mini-intro-art{height:100px}.mini-intro-body{padding:0 15px 12px}.mini-intro-body p{font-size:13px;line-height:1.4;margin:8px 0 12px}.mini-mode .topbar{min-height:36px;padding-top:3px;padding-bottom:3px}.mini-role-art{width:24px;height:24px}.mini-top h1{font-size:17px}.mini-progress,.mini-role,.mini-feedback{font-size:10px}.minigame-shell{gap:3px}.mini-controls button{min-height:40px;font-size:12px}.mini-mode .lab-ribbon{padding:0 4px}.mini-stage{border-radius:10px}}
@media(max-height:650px){.mini-controls.has-controls{height:40px;min-height:40px}.mini-result{max-height:80%;padding:10px}.mini-result h2{font-size:20px}.mini-result p{font-size:12px}.mini-result button{min-height:38px}}
@media(prefers-reduced-motion:reduce){.mini-result-overlay{animation:none!important}}.reduce-motion .mini-result-overlay{animation:none!important}
