:root{font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;color:#f7f0dc;background:#102c2c;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0,#325c52 0,#163a37 45%,#10282b 100%)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible{outline:3px solid #ffe29a;outline-offset:4px}[hidden]{display:none!important}.shell{width:min(100%,1000px);margin:auto;padding:24px max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-bottom))}.masthead{display:flex;justify-content:space-between;align-items:center;gap:16px}.edition{font-size:11px;color:#d8c691;letter-spacing:.13em;margin:0 0 8px}.edition span{margin-left:8px;border-left:1px solid #9f9d78;padding-left:10px;letter-spacing:.03em}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(28px,4.4vw,43px);font-weight:700;letter-spacing:.08em;margin:0}nav{display:flex;gap:8px}.quiet,.secondary{border:1px solid #83947b;border-radius:10px;background:#193d36;color:#f8f0d9;min-height:44px;padding:10px 16px}.welcome{margin:25px 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.tagline{font-family:"Yu Mincho",serif;font-size:24px;letter-spacing:.06em;margin:0}.welcome>p:last-child{font-size:13px;line-height:1.9;color:#ced8c4;margin:0}.mobile{display:none}.hud{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:16px 22px;background:#0c2728a6;border:1px solid #758868;border-bottom:0;border-radius:16px 16px 0 0}.hud>div{display:flex;flex-direction:column;justify-content:center;gap:5px}.hud>div>span,.wallet span{font-size:12px;color:#c7d1bb}.hud strong{display:block;font-size:23px;font-weight:700;line-height:1.25;color:#fff0b3;font-variant-numeric:tabular-nums}.hud small{font-size:12px;color:#c7d1bb}.hud .wallet{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px}.wallet img{object-fit:contain}.scene{position:relative;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;background:#141723;border:1px solid #a9a16f;border-radius:0 0 16px 16px;box-shadow:0 15px 50px #00151966}.scene>img,.scene>video,.scene>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene>video{z-index:2}.scene>canvas{z-index:4}.scene-badge{position:absolute;bottom:13px;left:16px;font-size:11px;letter-spacing:.12em;color:#f8edc6;background:#0c292e9c;padding:7px 10px;border:1px solid #b6ae6b5c;border-radius:20px}.cutin{position:absolute;inset:0;z-index:5;background:#141723}.cutin>img{position:absolute;width:100%;height:100%;object-fit:contain}.cutin-active .scene-badge{display:none}.status{min-height:3.2em;margin:16px auto 10px;line-height:1.6;text-align:center;max-width:650px;color:#faf0cf;font-size:15px;font-weight:600}.actions{display:flex;justify-content:center;gap:12px}.primary{min-height:64px;min-width:260px;padding:13px 28px;border:1px solid #f7e2a7;border-radius:12px;background:linear-gradient(170deg,#f5df9d,#d8ae59);box-shadow:0 5px 20px #041b1e66;color:#3c331b;font-weight:800;font-size:19px;line-height:1.3}.primary span{display:block;font-size:11px;font-weight:500;letter-spacing:.06em;margin-top:4px}.primary:hover:not(:disabled){filter:brightness(1.07)}.secondary{font-size:13px}.support{text-align:center;margin-top:16px}.text-button{min-height:44px;background:none;border:0;border-bottom:1px solid #d7c99a66;color:#efddb1;padding:7px 5px;font-size:13px}.support p{font-size:11px;color:#b6c8b7;line-height:1.7;margin:7px 0}.support .save-status{color:#8faf9b;font-size:10px}.error{padding:14px;border:1px solid #ffb98a;border-radius:12px;background:#512f26;color:#fff6e5;line-height:1.7;margin:16px 0}.error p{margin:0 0 8px}.error-actions{display:flex;flex-wrap:wrap;gap:8px}.error button{padding:10px;border:1px solid #cfb69a;border-radius:8px;color:#fff;background:#413b30}.results{max-width:580px;text-align:center;margin:26px auto;padding:30px;background:#163a37;border:1px solid #a9a16f;border-radius:18px;box-shadow:0 10px 40px #031b1d55}.results h2{font-family:"Yu Mincho",serif;font-size:28px;font-weight:600}.result-caption{font-size:13px;color:#c2cfb8}.results dl,#totals{margin:25px 0}dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:12px 0;border-bottom:1px solid #677a634a;text-align:left}dt{font-size:13px;color:#cad3bd}dd{margin:0;font-weight:700;color:#f7e3a5;font-variant-numeric:tabular-nums}.result-main dd{font-size:28px}.result-main{margin:8px 0}.fine{font-size:11px!important;color:#b5c6b3;line-height:1.8}.results .primary{width:100%;margin-top:10px}.show-results #welcome,.show-results .hud,.show-results #scene,.show-results #status,.show-results #playActions{display:none}.show-results .support{margin-bottom:20px}.show-results #results{display:block}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #83947b38;padding-top:17px;margin-top:28px;font-size:10px;letter-spacing:.03em;color:#93ae9c}dialog{width:min(92vw,620px);max-height:85dvh;overflow:auto;border:1px solid #c4b981;border-radius:18px;padding:24px;background:#193c38;color:#f4eedb;line-height:1.9;overscroll-behavior:contain}dialog::backdrop{background:#061719bd;backdrop-filter:blur(5px)}.dialog-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-heading h2{margin:0;font-size:20px}.dialog-heading button{flex-shrink:0;background:#294b40;border:1px solid #879c7d;color:#fff0c9;border-radius:8px;padding:10px;font-size:12px}dialog p,dialog li{font-size:13px}dialog li{margin:12px 0}dialog ol{padding-left:22px}h3{font-size:15px}h3 small{font-size:10px;color:#b5c6b3;font-weight:400}.history-item{padding:12px 0;border-bottom:1px solid #83947b38}.history-item p{margin:0}.history-item small{font-size:10px;color:#bacab4}.coins-effect{position:absolute;inset:0;z-index:3;pointer-events:none}.coin{position:absolute;left:50%;top:24%;width:clamp(16px,2.2vw,28px);height:clamp(16px,2.2vw,28px);background:url('assets/coin.webp') center/contain no-repeat;animation:coin-fly 1.05s ease-out forwards}@keyframes coin-fly{0%{transform:translate(-50%,-50%) scale(.25);opacity:0}12%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(var(--size));opacity:0}}.normal-win{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:clamp(54px,12vw,150px);font-weight:900;color:#ffe86c;-webkit-text-stroke:2px #a73d20;text-shadow:0 0 10px #fff,0 0 32px #f19820}
@media(max-width:600px){.shell{padding:calc(18px + env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom))}.masthead{gap:8px}.edition{font-size:9px;letter-spacing:.07em}.edition span{display:block;border:0;padding:0;margin:5px 0 0;font-size:9px}h1{font-size:30px}.quiet{font-size:12px;padding:8px 10px}.welcome{display:block;margin:23px 0 16px}.tagline{font-size:21px;margin-bottom:8px}.welcome>p:last-child{font-size:11px;line-height:1.7}.mobile{display:initial}.hud{gap:8px;padding:12px 10px;grid-template-columns:1.35fr .85fr 1fr}.hud strong{font-size:19px}.hud>div>span,.wallet span{font-size:10px}.wallet img{width:28px;height:28px}.hud .wallet{gap:4px}.scene-badge{font-size:8px;padding:4px 7px;bottom:7px;left:8px}.status{font-size:13px;margin-top:14px;min-height:3.2em}.actions{gap:8px}.primary{font-size:17px;min-width:0;flex:1;padding:13px 15px}.secondary{max-width:108px;padding:10px;font-size:12px}.support{margin-top:10px}.results{padding:24px 18px}.results h2{font-size:25px}footer{font-size:9px;gap:8px}dialog{padding:19px}.dialog-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){.coin{animation:none}.normal-win{text-shadow:none}}
.ranking-tabs{display:flex;gap:8px}.ranking-tabs button{padding:9px 14px;color:#f5eac9;background:#294b40;border:1px solid #879c7d;border-radius:8px}#rankList{overflow-x:auto}#rankList table{width:100%;border-collapse:collapse;font-size:13px}#rankList th,#rankList td{padding:11px 5px;border-bottom:1px solid #83947b38;text-align:left}#rankList th:last-child,#rankList td:last-child{text-align:right;white-space:nowrap}#rankList td:nth-child(2){overflow-wrap:anywhere;max-width:160px}#joinForm{margin-top:24px;border-top:1px solid #83947b55;padding-top:18px}#joinForm label{display:block;font-size:13px}#nickname{width:100%;font:inherit;margin:8px 0;padding:11px;border:1px solid #94aa88;border-radius:8px;background:#122d2c;color:#fff}#joinForm .primary{width:100%;min-width:0;font-size:15px}
@media(max-width:600px){.masthead{display:block}.masthead nav{margin-top:14px;justify-content:flex-end}.quiet{flex:1;max-width:130px}.welcome{margin-top:18px}}
