.online-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#174963,#226f95);border:3px solid #8adfee;border-radius:22px;padding:22px 28px;margin:0 0 28px;box-shadow:0 5px #143447;color:#fffbe4}.online-invite h2{color:#fffbe4;font-size:26px;margin:0 0 5px}.online-invite p{font-size:18px;margin:0}.online-invite .game-button{flex-shrink:0;font-size:22px}.online-page{padding:24px!important}.online-lobby,.online-match{max-width:1080px;margin:auto;color:#193e50}.online-intro{text-align:center}.online-intro h2{font-size:clamp(28px,3vw,38px);margin:8px 0}.online-intro p{font-size:21px}.online-link-icon{display:inline-block;color:#148bb8;font-size:34px;letter-spacing:.15em}.online-partner{display:flex;justify-content:center;align-items:center;gap:25px;margin:20px auto 12px}.online-partner .sprite{width:105px;height:118px}.online-partner label{display:block;font-size:18px;font-weight:900;margin-bottom:6px}.online-partner p{font-size:16px}.online-lobby select{font-family:inherit;font-size:20px;font-weight:800;color:#1a4654;border:2px solid #739aab;border-radius:12px;background:#fffef3;padding:12px;min-height:54px;max-width:100%}.online-loadout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 24px}.online-loadout label{display:flex;align-items:center;gap:6px;min-width:0}.online-loadout select{width:100%;min-width:0;font-size:18px}.online-loadout .hand-icon{width:46px;height:46px}.online-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:22px}.online-entry-actions>section,.online-entry-actions>form{display:flex;align-items:center;flex-direction:column;padding:25px;border:3px solid #5797a7;border-radius:24px;background:linear-gradient(#fffef2,#fff8dc);box-shadow:0 6px #226d783d}.online-step{display:grid;place-items:center;width:42px;height:42px;color:white;background:#22526b;border:3px solid #8cd6e7;border-radius:50%;font-weight:900;font-size:24px}.online-entry-actions h3{font-size:29px;margin:10px 0}.online-entry-actions p,.online-entry-actions label{font-size:19px;margin:5px 0 16px}.online-entry-actions .game-button{min-height:60px;font-size:22px;min-width:230px;margin-top:auto}.online-entry-actions input{display:block;border:3px solid #5287a3;border-radius:14px;font-family:inherit;width:250px;text-align:center;font-size:36px;font-weight:900;letter-spacing:.15em;padding:10px 12px;margin-bottom:16px;background:white;color:#203f53}.online-message{min-height:28px;text-align:center;font-size:18px;font-weight:800;color:#9b3e24;margin:14px 0}.online-rules{background:#fffbed;padding:16px 22px;border-radius:16px;font-size:18px;line-height:1.7}.online-rules summary{font-size:20px;font-weight:900;cursor:pointer}.online-rules p{margin:10px 0}.online-wait{text-align:center;padding:25px;border:3px solid #75b1bb;border-radius:24px;background:#fffbea}.online-wait h2{font-size:29px;margin:15px 0}.online-wait-sprite{display:flex;justify-content:center}.online-wait-sprite .sprite{width:145px;height:160px}.online-room-code{display:inline-block;font-size:clamp(44px,8vw,72px);font-weight:900;letter-spacing:.17em;padding:12px 15px 12px 28px;border:3px dashed #dcac45;border-radius:17px;background:#fff2b5;color:#204759;font-variant-numeric:tabular-nums}.online-wait p{font-size:21px;margin:18px 0}.online-wait-pulse{animation:online-pulse 2s ease-in-out infinite}
.online-page,.online-invite,.online-hub-link{font-family:'M PLUS Rounded 1c','Yu Gothic',sans-serif;font-weight:700}
.online-match{max-width:none}.online-match-head{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin:0 4px 10px;color:#173f54}.online-match-head b{letter-spacing:.12em;font-variant-numeric:tabular-nums}.online-message:empty{display:none}.online-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.online-bottom .game-button{font-size:16px;min-height:40px;padding:7px 18px}.online-connection{font-size:16px}.online-hub-link{display:block;text-align:center;margin:20px 0;font-size:23px}
.online-battle .player-actor>.sprite{transform:scaleX(-1)}.online-battle .enemy-actor>.sprite{transform:none}
.online-battle .online-timer{font-size:17px;text-align:center;margin:0 0 15px;color:#fff4bd}.online-timer b{font-size:22px}.online-battle .online-picked{text-align:center}.online-picked .hand-icon{width:86px;height:86px}.online-picked b{display:block;font-size:27px;margin-top:12px}.online-picked p{font-size:18px}.online-standby{text-align:center;padding:24px;font-size:22px}.online-empty{text-align:center;padding:50px 20px}.online-empty h2{font-size:32px}.online-empty p{font-size:22px;line-height:1.8}
.online-quiz{position:relative;width:100%}.online-quiz .duel-equation{margin:0}.online-quiz input{font-family:inherit;font-weight:900;font-size:28px;text-align:center;width:66px;min-width:0;min-height:48px;border:3px solid #78a7ba;border-radius:12px;background:#fffbe7;color:#17485b}.online-quiz .quiz-charge{margin-bottom:10px}.online-quiz .quiz-charge b{font-size:22px}.online-quiz .duel-learning-note{font-size:23px}.online-quiz #online-quiz-feedback{font-size:19px;min-height:26px;text-align:center;margin:7px 0 0}.online-countdown{position:absolute;inset:0;display:grid;place-items:center;z-index:5;border-radius:15px;color:#fff8d5;font-size:30px;background:#153d55f2}.online-countdown[hidden]{display:none}.online-finisher .duel-learning-note{color:#ae4b22;font-size:26px}
.online-battle .ability-events{max-height:190px;overflow:auto}.online-battle .ability-events small{display:block}.online-match .battle-result .result-art>.sprite{width:260px;height:280px}
.online-lobby button:focus-visible,.online-match button:focus-visible,.online-lobby input:focus-visible,.online-lobby select:focus-visible,.online-match input:focus-visible{outline:4px solid #e89521;outline-offset:4px}
@media(min-width:900px){body[data-screen='online']{padding:0}body[data-screen='online'] .game-shell{max-width:1440px;border-radius:0}body[data-screen='online'] .topbar{min-height:46px;height:46px;padding:5px 18px}body[data-screen='online'] .brand{font-size:25px}body[data-screen='online'] .brand small,body[data-screen='online'] .save-status,body[data-screen='online'] .game-shell>footer{display:none}body[data-screen='online'] .main-nav{padding:4px 12px 0;height:43px}body[data-screen='online'] .main-nav a{min-height:36px;padding:4px 12px;font-size:13px}body[data-screen='online'] .main-nav a span{font-size:18px}.online-page{padding:12px 14px!important}.online-battle{--play-height:calc(100dvh - 199px);min-height:500px}.online-match .battle-result{min-height:500px;height:calc(100dvh - 199px)}}
@media(max-width:899px){.online-page{padding:14px!important}.online-entry-actions{grid-template-columns:1fr}.online-loadout{grid-template-columns:1fr}.online-invite{flex-direction:column;text-align:center}.online-bottom{flex-wrap:wrap}.online-match-head{font-size:16px;gap:10px}.online-battle .duel-actor>.sprite{width:100%;height:100%}.online-wait h2{font-size:24px}.online-wait p{font-size:18px}.online-quiz{max-width:420px;margin:auto}}
@media(prefers-reduced-motion:reduce){.online-wait-pulse{animation:none}}
@keyframes online-pulse{50%{opacity:.65}}
