:root{font-family:system-ui,'Yu Gothic',sans-serif;color:#eef4e9;background:#101f24}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit;color:inherit;background:#263e43;border:1px solid #68817d;border-radius:7px;min-height:44px;padding:8px 13px;cursor:pointer}button:hover{background:#3c5551}button:focus-visible,select:focus-visible{outline:3px solid #f7c85b}button:disabled{opacity:.4;cursor:default}.primary{background:#e7bb50;color:#192a2d;border-color:#e7bb50;font-weight:800}.primary:hover{background:#ffdb79}#app{height:100dvh;width:100%;overflow:hidden;display:flex;flex-direction:column;max-width:1920px;margin:auto}header{height:64px;flex-shrink:0;display:flex;align-items:center;gap:18px;padding:8px 20px;border-bottom:1px solid #425854}header>b{font-size:25px;color:#f2c45d}header>b span{font-size:13px;letter-spacing:2px}#hud{display:flex;gap:24px;align-items:center;flex:1;font-size:14px}#hud b{font-size:21px;display:block}meter{width:100px;height:9px;display:block}#field{position:relative;flex:1;min-height:0;background:#263c39;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none}footer{min-height:66px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:9px 18px;overflow-x:auto}footer>button{flex-shrink:0}footer .hint{font-size:13px;min-width:170px;color:#b9c9bd}#caption{position:absolute;bottom:12px;left:20px;background:#14272ae8;padding:7px 13px;border-radius:6px;font-size:14px;pointer-events:none}#overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b1c22b8;padding:16px;overflow:auto}#overlay:empty{display:none}.panel{width:min(740px,95%);background:#172c31;border:1px solid #66776b;border-radius:16px;padding:30px;box-shadow:0 14px 0 #0c1d2150}.eyebrow{color:#f0c55d;letter-spacing:4px;font-size:13px}h1{font-size:clamp(32px,5vw,58px);margin:8px 0}h2{margin:6px 0 12px}p{color:#c0d0c6;line-height:1.6}.steps{display:flex;gap:12px;margin:20px 0}.steps span{flex:1;border-top:2px solid #698575;padding-top:10px;font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.cards button{text-align:left;min-height:118px}.cards strong{display:block;color:#f2cd71;margin-bottom:10px}.cards small{font-size:13px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.stats div{background:#233b3d;padding:12px;border-radius:7px;font-size:13px}.stats b{display:block;font-size:25px;color:#f2cb69}.rank{float:right;font-size:64px;color:#f2cb69}#detail{position:absolute;right:12px;top:12px;max-height:90%;overflow:auto;width:290px;background:#172c31f5;border:1px solid #809081;border-radius:10px;padding:15px;font-size:14px}#detail:empty{display:none}#detail button,#detail select{margin-top:8px;max-width:100%}#detail p{margin:8px 0}#rotate{display:none}label{display:block}.chips{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:#c7d5c8;min-width:120px}.chips span{border:1px solid #657c69;padding:4px;border-radius:4px}@media(max-height:520px){header{height:48px;padding:2px 10px;gap:10px}header>b span{display:none}#hud{gap:14px;font-size:12px}#hud b{display:inline;font-size:16px}meter{width:75px}footer{min-height:55px;padding:4px 8px}footer button{font-size:12px;padding:5px 9px}.panel{padding:16px}h1{font-size:34px}.steps{margin:10px 0}.panel p{margin:8px 0}.cards{margin:8px 0}.cards button{min-height:92px}#caption{font-size:12px;bottom:6px}}@media(orientation:portrait) and (max-width:600px){#rotate{display:flex;position:fixed;inset:0;z-index:20;background:#152b30;align-items:center;justify-content:center;flex-direction:column;padding:28px;text-align:center;font-size:34px}#rotate strong{font-size:20px;margin-top:18px}#rotate p{font-size:15px}}
footer .primary{position:sticky;right:0;z-index:2;box-shadow:-8px 0 10px #101f24}footer .chips{flex-shrink:0}
