*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:Hiragino Sans,Yu Gothic,Meiryo,system-ui,sans-serif;background:radial-gradient(circle at 18% 15%,rgba(255,205,130,.07) 0%,transparent 38%),radial-gradient(circle at 82% 80%,rgba(255,205,130,.05) 0%,transparent 42%),radial-gradient(ellipse at 50% 35%,#241a10,#150e08 55%,#0a0603);color:#f0f0f0}button{font-family:inherit}.stage{width:calc(var(--app-vw, 1vw) * 100);height:calc(var(--app-vh, 1vh) * 100);display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 18% 15%,rgba(255,205,130,.07) 0%,transparent 38%),radial-gradient(circle at 82% 80%,rgba(255,205,130,.05) 0%,transparent 42%),radial-gradient(ellipse at 50% 35%,#241a10,#150e08 55%,#0a0603)}.stage__canvas{position:relative;flex-shrink:0}.stage--menu .stage__canvas{overflow:hidden}.title-screen{width:calc(var(--app-vw, 1vw) * 100);height:calc(var(--app-vh, 1vh) * 100);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#05030180}.title-screen__canvas{position:relative;flex-shrink:0}.title-screen__bg{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.title-screen__menu-btn{position:absolute;background:transparent;border:none;border-radius:8px;cursor:pointer;padding:0}.title-screen__menu-btn:hover{background:#ffdd9c24;box-shadow:inset 0 0 0 2px #f1c4538c}.title-screen__menu-btn:active{background:#ffdd9c38}.title-screen__menu{position:absolute;top:0;right:0;bottom:0;left:0}.title-screen__pv-btn{position:absolute;left:48px;bottom:44px;display:inline-flex;align-items:center;gap:10px;padding:10px 26px 10px 18px;font-size:22px;font-weight:700;letter-spacing:.2em;color:#f3d58a;background:#0a08129e;border:1px solid rgba(233,196,111,.7);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.title-screen__pv-btn:hover{background:#e9c46f38}.title-screen__pv-btn__icon{font-size:16px}.pv-modal{position:relative;width:min(92vw,calc(88vh * 16 / 9));aspect-ratio:16 / 9;background:#000;border:1px solid rgba(233,196,111,.6);box-shadow:0 20px 80px #000000b3}.pv-modal__video{display:block;width:100%;height:100%;background:#000}.pv-modal__close{position:absolute;top:-40px;right:0;font-size:28px;line-height:1;color:#fff;background:none;border:none;cursor:pointer}.title-screen__menu .title-screen__menu-btn{--bevel: 29px;border-radius:0;clip-path:polygon(var(--bevel) 0,calc(100% - var(--bevel)) 0,100% 50%,calc(100% - var(--bevel)) 100%,var(--bevel) 100%,0 50%)}.title-screen__menu .title-screen__menu-btn:hover{box-shadow:none;background:#ffdd9c2e}.title-screen__menu .title-screen__menu-btn:nth-child(1){left:1196px;top:221px;width:394px;height:96px;--bevel: 30px}.title-screen__menu .title-screen__menu-btn:nth-child(2){left:1208px;top:342px;width:376px;height:89px;--bevel: 28px}.title-screen__menu .title-screen__menu-btn:nth-child(3){left:1209px;top:455px;width:375px;height:88px;--bevel: 28px}.title-screen__menu .title-screen__menu-btn:nth-child(4){left:1208px;top:570px;width:376px;height:88px;--bevel: 28px}.title-modal{display:flex;flex-direction:column;gap:12px;background:#10281d;border:1px solid #52b788;border-radius:12px;padding:20px;width:min(560px,calc(var(--app-vw, 1vw) * 90));max-height:calc(var(--app-vh, 1vh) * 80);overflow-y:auto;text-align:left}.title-modal__body{display:flex;flex-direction:column;gap:14px;font-size:14px;line-height:1.7;opacity:.9}.setup-lead{margin:0;font-size:13px;opacity:.8}.setup-character-select{display:flex;flex-direction:column;gap:8px;max-width:640px}.setup-character-select__label{font-size:14px;opacity:.75}.setup-character-select__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.character-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:120px;background:#ffffff0f;border:2px solid transparent;border-radius:10px;padding:10px 8px;color:inherit;cursor:pointer;text-align:center}.character-card:hover{background:#ffffff1a}.character-card--selected{border-color:#f1c453;background:#f1c45326}.character-card__avatar{width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.character-card__avatar--random{display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;background:#ffffff14;color:#fff9}.character-card__name{display:flex;flex-direction:column;align-items:center;line-height:1.25}.character-card__title{font-size:10px;font-weight:500;opacity:.7}.character-card__shortname{font-size:14px;font-weight:700}.character-card__desc{font-size:11px;opacity:.65;line-height:1.3}.setup-picker-modal{display:flex;flex-direction:column;gap:12px;background:#10281d;border:1px solid #52b788;border-radius:12px;padding:20px;max-width:720px;max-height:calc(var(--app-vh, 1vh) * 80);overflow-y:auto}.setup-picker-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-picker-modal__close{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:inherit;font-size:18px;line-height:1;width:32px;height:32px;cursor:pointer;flex-shrink:0}.setup-picker-modal__close:hover{background:#ffffff1a}.setup-card-select{display:flex;flex-direction:column;gap:8px;max-width:640px}.card-card{width:150px}.card-card__kind{font-size:13px}.card-card__desc{font-size:11px;opacity:.65;line-height:1.35}.card-card__stars{font-size:12px;color:#e9c46a;letter-spacing:1px}.card-picker-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0}.card-picker-filters__chip{background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:inherit;font-size:12px;padding:3px 12px;cursor:pointer}.card-picker-filters__chip.is-active{background:#e9c46a40;border-color:#e9c46a}.card-picker-filters__gap{width:10px}.card-picker-filters__count{margin-left:auto;font-size:12px;opacity:.65}.character-confirm{display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(180deg,#1c1730,#0f0c1c);border:2px solid #f1c453;border-radius:16px;padding:24px 32px;max-width:420px;box-shadow:0 0 40px 8px #f1c45340}.character-confirm__art{max-width:100%;max-height:calc(var(--app-vh, 1vh) * 45);border-radius:10px;object-fit:contain;box-shadow:0 8px 24px #0009}.character-confirm__name{font-size:22px;font-weight:700}.character-confirm__skill{font-size:13px;opacity:.8;line-height:1.5}.character-confirm__prompt{font-size:16px;font-weight:600;color:#ffe4a3;margin-top:4px}.character-confirm__buttons{display:flex;gap:12px;margin-top:4px}.skill-info-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:linear-gradient(180deg,#1c1730,#0f0c1c);border:2px solid #f1c453;border-radius:16px;padding:20px 28px;max-width:380px;box-shadow:0 0 40px 8px #f1c45340}.skill-info-card__avatar{width:64px;height:64px;border-radius:50%;border:2px solid #f1c453}.skill-info-card__name{font-size:18px;font-weight:700}.skill-info-card__skill{font-size:13px;opacity:.85;line-height:1.5;text-align:center}.setup-cpu-difficulty{display:flex;flex-direction:column;gap:6px;background:#ffffff14;border-radius:8px;padding:8px 14px}.setup-cpu-difficulty__row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.setup-cpu-difficulty__name{min-width:6em;text-align:left}.setup-cpu-difficulty__selects{display:flex;align-items:center;gap:8px}.setup-cpu-difficulty__row select{background:#14281f;color:inherit;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:4px 8px;font-size:14px}.setup-buttons{display:flex;gap:16px}.setup-debug-toggle{display:flex;align-items:center;gap:6px;font-size:14px;opacity:.85;cursor:pointer}.setup-gallery-links{display:flex;gap:8px}.setup-gallery-links .btn{font-size:13px;text-decoration:none}.btn{background:#1b4332;color:#fff;border:1px solid #52b788;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:15px}.btn:hover{filter:brightness(1.12)}.btn--primary{background:#d4a017;border-color:#f1c453;color:#1a1a1a;font-weight:700}.btn--secondary{background:#333;border-color:#666}.btn--large{font-size:20px;padding:14px 28px}.btn--ron,.btn--call,.btn--riichi,.btn--skip,.btn--skill{padding:8px 18px 8px 14px;font-weight:700;font-size:15px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}.btn--ron{background:linear-gradient(180deg,#ea5d4e,#ad2020);border-color:#ffb3a6;color:#fff}.btn--call{background:linear-gradient(180deg,#4bbd6b,#1f7a3b);border-color:#a5edb6;color:#fff}.btn--riichi{background:linear-gradient(180deg,#f6d375,#c9931b);border-color:#ffedb0;color:#241a00}.btn--skip{background:linear-gradient(180deg,#5a5a5a,#2b2b2b);border-color:#888;color:#eee}.btn--skill{background:linear-gradient(180deg,#c584f0,#7a2fb8);border-color:#e8bfff;color:#fff;animation:skill-gauge-ready-pulse .9s ease-in-out infinite}.btn--skill:disabled{background:linear-gradient(180deg,#6d6475,#413a48);border-color:#8a8192;color:#cfc8d6;animation:none;cursor:not-allowed}.borrow-group{display:flex;flex-direction:column;align-items:stretch;align-self:flex-end;gap:6px}.borrow-group__list{display:flex;flex-direction:column;gap:6px}.borrow-group__list .btn{text-align:left}.btn--skill-open{filter:brightness(1.15)}.btn__block-reason{display:block;font-size:11px;font-weight:400;color:#f0d8a8}.btn--call-tiles{display:inline-flex;align-items:center;gap:6px}.btn--call-tiles__tiles{display:flex;gap:1px}.game-screen{position:relative;width:100%;height:100%;overflow:hidden}.game-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:var(--game-background-image, none);background-size:cover;background-position:center;background-color:#150e08;background-blend-mode:normal}.game-background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 15%,rgba(255,205,130,.07) 0%,transparent 38%),radial-gradient(circle at 82% 80%,rgba(255,205,130,.05) 0%,transparent 42%),radial-gradient(ellipse at 50% 40%,transparent 0%,transparent 40%,rgba(5,3,1,.55) 100%),radial-gradient(ellipse at 50% 35%,#241a10,#150e08 55%,#0a0603)}.table{position:absolute;top:52.9%;left:50%;transform:translate(-50%,-50%);zoom:1.46;z-index:1;display:grid;grid-template-columns:260px 1fr 260px;grid-template-rows:minmax(0,auto) minmax(0,1fr) minmax(0,auto);grid-template-areas:"content content content" "content content content" "content content content";gap:8px;width:1392px;height:748px;padding:8px;overflow:hidden;background:transparent}.table-surface{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:var(--table-bg-image, url(/table/table-surface-bg-sakura.webp));background-repeat:no-repeat;background-size:var(--bg-scale, 100%) var(--bg-scale, 100%);background-position:calc(50% + var(--bg-pos-x, 0px)) calc(50% + var(--bg-pos-y, 0px))}.table-surface__frame{display:none;position:absolute;top:250px;right:50px;bottom:50px;left:50px;border-radius:36px;background:linear-gradient(155deg,#a06d3a,#8a5a2e,#6b3d1a 60%,#3a2010);box-shadow:0 50px 100px #000000a6,inset 0 0 0 4px #ffe2aa4d,inset 0 0 0 8px #00000059,inset 0 0 50px #00000073}.table-surface__felt{display:none;position:absolute;top:80px;right:80px;bottom:80px;left:80px;border-radius:22px;background:radial-gradient(ellipse 70% 55% at 50% 30%,rgba(255,250,230,.09) 0%,transparent 55%),radial-gradient(ellipse at center,#216036,#163f24 40%,#0a2013 72%,#030d07);box-shadow:inset 0 0 70px #000000a6}.table__frame-light{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;border:20px solid transparent;border-image:linear-gradient(180deg,#ffe2aa66,#ffe2aa00 28%,#0000 68%,#00000080) 35% / 20px}.table__felt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 70% 55% at 50% 32%,rgba(255,250,230,.08) 0%,transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0px,rgba(255,255,255,.018) 1px,transparent 1px,transparent 3px),radial-gradient(ellipse at center,#216036,#163f24 40%,#0a2013 72%,#030d07);box-shadow:inset 0 0 70px #000000a6}.table__ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 20%,rgba(255,244,214,.16) 0%,transparent 58%),linear-gradient(180deg,rgba(255,244,214,.05) 0%,transparent 22%,transparent 68%,rgba(0,0,0,.28) 100%)}.table__corner{position:absolute;z-index:-1;width:22px;height:22px;pointer-events:none;background:radial-gradient(circle at 35% 30%,#f8e3a0,#d4af6a 42%,#7a5a1e);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);box-shadow:0 2px 4px #0009}.table__corner--tl{top:4px;left:4px}.table__corner--tr{top:4px;right:4px}.table__corner--bl{bottom:4px;left:4px}.table__corner--br{bottom:4px;right:4px}.game-content-plane{grid-area:content;position:relative;perspective:4000px;perspective-origin:50% 22%}.game-content-plane__inner{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateX(35deg);display:grid;grid-template-columns:260px 1fr 260px;grid-template-rows:64.9682px minmax(0,1fr) 97.9579px;grid-template-areas:". top ." ". center ." ". human ."}.table__center{grid-area:center;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:visible}.table-cluster{position:relative;z-index:1;width:380px;height:380px;flex-shrink:0;margin-top:-15px}.table-cluster .river--top{position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(var(--river-rotate, 0deg))}.table-cluster .river--human{position:absolute;bottom:-8px;left:50%;transform:translate(-50%) rotate(var(--river-rotate, 0deg))}.table-cluster .river--left{position:absolute;left:-70px;top:44%;transform:translateY(-50%) rotateX(-35deg) rotateY(0) rotate(var(--river-rotate, 0deg))}.table-cluster .river--right{position:absolute;right:-70px;top:50%;transform:translateY(-50%) rotateX(-35deg) rotateY(0) rotate(var(--river-rotate, 0deg))}.river{display:flex;align-items:center;justify-content:center;overflow:visible}.river--top,.river--human{width:204px;height:136px}.river--left,.river--right{width:136px;height:204px}.river--top{align-items:flex-end}.river--human{align-items:flex-start}.river--top .discard-pile{transform:rotate(180deg) scale(var(--river-scale, 1));will-change:transform;backface-visibility:hidden}.river--left .discard-pile,.river--right .discard-pile{height:133px}.river--left .discard-pile{transform:rotate(90deg) scale(var(--river-scale, 1));will-change:transform;backface-visibility:hidden}.river--right .discard-pile{transform:rotate(-90deg) scale(var(--river-scale, 1));will-change:transform;backface-visibility:hidden}.river--human .discard-pile{transform:scale(var(--river-scale, 1))}.discard-pile{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:2px;width:214px;flex-shrink:0}.riichi-stick{position:absolute;z-index:201;width:46px;height:8px;border-radius:2px;background:linear-gradient(180deg,#fdf8ea,#e4d9b8);box-shadow:0 1px 2px #00000080,inset 0 0 0 1px #00000026}.riichi-stick:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:#c0392b;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000040}.riichi-stick--top{top:161px;left:50%;transform:translate(-50%,-50%) translate(var(--riichi-offset-x, 0px),var(--riichi-offset-y, 0px)) rotate(var(--riichi-rotate, 0deg))}.riichi-stick--human{top:219px;left:50%;transform:translate(-50%,-50%) translate(var(--riichi-offset-x, 0px),var(--riichi-offset-y, 0px)) rotate(var(--riichi-rotate, 0deg))}.riichi-stick--left{top:50%;left:147px;transform:translate(-50%,-50%) translate(var(--riichi-offset-x, 0px),var(--riichi-offset-y, 0px)) rotate(90deg) rotate(var(--riichi-rotate, 0deg))}.riichi-stick--right{top:50%;left:230px;transform:translate(-50%,-50%) translate(var(--riichi-offset-x, 0px),var(--riichi-offset-y, 0px)) rotate(90deg) rotate(var(--riichi-rotate, 0deg))}.center-board{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translate(var(--center-board-offset-x, 0px),var(--center-board-offset-y, -40px)) scale(var(--center-board-scale, 1)) translateZ(80px) rotateX(-35deg);z-index:200;width:174px;height:143px;background:url(/table/center-cluster.png) center / 100% 100% no-repeat}.center-board{cursor:pointer}.score-standings__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#00000073}.score-standings{display:flex;flex-direction:column;gap:10px;min-width:340px;padding:16px 20px;border:1px solid rgba(230,195,106,.6);border-radius:14px;background:linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff0f;color:#f4ead2}.score-standings__title{padding-bottom:8px;border-bottom:1px solid rgba(230,195,106,.38);font-size:18px;font-weight:700;letter-spacing:.1em;color:#fff3d2}.score-standings__table{width:100%;border-collapse:collapse;font-size:14px}.score-standings__table td{padding:5px 6px}.score-standings__rank{color:#e6c36a;white-space:nowrap}.score-standings__score,.score-standings__diff{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.score-standings__diff{min-width:4.5em;opacity:.85}.score-standings__row--me{background:#e6c36a29;font-weight:700}.score-standings__notes{display:flex;flex-direction:column;gap:2px;font-size:12px;opacity:.8}.score-standings__close{align-self:center;padding:4px 20px;border:1px solid rgba(230,195,106,.45);border-radius:8px;background:linear-gradient(180deg,#3a2b19f2,#1c140cf2);color:inherit;font:inherit;cursor:pointer}.center-board__seat{position:absolute;backface-visibility:hidden;will-change:transform}.center-board__seat--top{left:50%;top:13%;transform:translate(-50%,-50%)}.center-board__seat--bottom{left:50%;top:89%;transform:translate(-50%,-50%)}.center-board__seat--left{left:13%;top:50%;transform:translate(-50%,-50%) rotate(90deg)}.center-board__seat--right{left:87%;top:50%;transform:translate(-50%,-50%) rotate(-90deg)}.center-board__wind{position:absolute;min-width:16px;padding:1px 4px;border-radius:4px;background:#140f0aa6;color:#ffe4a3;font-size:16px;font-weight:700;line-height:1.2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.center-board__wind--top-left{left:17%;top:17%;transform:translate(-50%,-50%) rotate(90deg)}.center-board__wind--top-right{left:83%;top:17%;transform:translate(-50%,-50%) rotate(180deg)}.center-board__wind--bottom-left{left:17%;top:85%;transform:translate(-50%,-50%)}.center-board__wind--bottom-right{left:83%;top:85%;transform:translate(-50%,-50%) rotate(-90deg)}.center-board__wind--dealer{color:#ff5a4a}.center-board__absorb-banner{position:absolute;top:50%;left:50%;z-index:6;font-size:22px;font-weight:900;color:#2a1a00;background:linear-gradient(180deg,#ffe066,#f1a93c);padding:6px 18px;border-radius:10px;border:2px solid #fff3c4;box-shadow:0 4px 16px #0009,0 0 18px #ffe066b3;pointer-events:none;white-space:nowrap;animation:call-announce-pop 1s ease-out forwards}.score-delta-pop{position:absolute;bottom:100%;left:50%;z-index:6;margin-bottom:4px;font-size:15px;font-weight:900;white-space:nowrap;pointer-events:none;text-shadow:0 2px 4px rgba(0,0,0,.7);animation:score-delta-pop-rise 1.8s ease-out forwards}.score-delta-pop--gain{color:#8af0ab}.score-delta-pop--loss{color:#ff8a80}@keyframes score-delta-pop-rise{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.15)}25%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-14px) scale(1)}to{opacity:0;transform:translate(-50%,-22px) scale(1)}}.center-board__round{position:absolute;left:50%;top:36.5%;transform:translate(-50%,-50%);font-size:17px;font-weight:700;color:#ffe4a3;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6)}.center-board__wall-group{position:absolute;left:50%;top:63%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;color:#f0f0f0;font-size:13px}.center-board__wall{color:#ffe4a3;font-weight:700;font-size:14px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.6)}.seat-badge{display:flex;align-items:center;gap:3px;padding:1px 4px;font-size:12px;color:#f0f0f0;white-space:nowrap;flex-shrink:0}.seat-badge--active{outline:1px solid #f1c453}.seat-badge__score{font-weight:700}.wind-badge{background:linear-gradient(160deg,#3a2f22,#201a12);border:1px solid rgba(212,175,55,.3);padding:1px 6px;border-radius:4px}.debug-panel{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:8px;background:#781414bf;border:1px solid #ff8787;border-radius:8px;padding:4px 10px;font-size:14px;pointer-events:none}.debug-panel__label{white-space:nowrap;font-weight:600}.debug-panel .btn{font-size:14px;padding:3px 8px;pointer-events:auto}.debug-panel .btn:disabled{opacity:.4;cursor:not-allowed}.debug-panel__quit{background:#b33939;border-color:#ff8787}.debug-panel__quit:hover{background:#d24545}.hud{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-direction:column;gap:4px;background:linear-gradient(160deg,#181008d9,#0a0704cc);border:1px solid rgba(212,175,55,.32);border-radius:10px;padding:6px 10px;box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff0d;pointer-events:none}.settings-panel{position:absolute;top:44px;right:8px;z-index:2;display:flex;flex-direction:column;gap:6px;background:linear-gradient(160deg,#181008d9,#0a0704cc);border:1px solid rgba(212,175,55,.32);border-radius:10px;padding:3px 5px;box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff0d;pointer-events:none}.settings-panel .hud__toggle-btn{font-size:11px;line-height:1.1;padding:1px 6px}.settings-panel .hud__toggle-btn,.settings-panel input[type=range]{pointer-events:auto}.hud__row{display:flex;align-items:center;gap:8px}.hud__dora-label{font-size:13px;opacity:.75;white-space:nowrap}.hud__dora{display:flex;gap:2px}.hud__dora .tile{box-shadow:none}.hud__sticks{gap:4px}.hud__sticks-label{font-size:12px;opacity:.75;white-space:nowrap}.hud__sticks-count{font-size:13px;font-weight:700;color:#ffe4a3;margin-right:6px;white-space:nowrap}.hud__label{font-size:14px;font-weight:700;color:#ffe4a3;letter-spacing:.03em}.hud__bgm-volume input[type=range]{width:70px;height:12px}.hud__bgm-volume__value{font-size:12px;opacity:.75;min-width:2.5em}.volume-gear-wrap{position:fixed;top:8px;right:8px;z-index:60}.volume-gear{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(160deg,#181008d9,#0a0704cc);border:1px solid rgba(212,175,55,.45);box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff0d;color:#ffe4a3;cursor:pointer;pointer-events:auto}.volume-gear:hover{border-color:#f1c453}.volume-popover{position:absolute;top:42px;right:0;display:flex;flex-direction:column;gap:6px;pointer-events:auto;background:linear-gradient(160deg,#181008eb,#0a0704e0);border:1px solid rgba(212,175,55,.32);border-radius:10px;padding:8px 12px;box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff0d;white-space:nowrap;max-height:calc(calc(var(--app-vh, 1vh) * 100) - 58px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.hud__auto-toggles{flex-direction:column;align-items:stretch;gap:2px}.hud__toggle-btn{background:linear-gradient(160deg,#ffffff1a,#ffffff08);border:1px solid rgba(212,175,55,.3);border-radius:6px;color:inherit;font:inherit;font-size:12px;padding:3px 8px;cursor:pointer;white-space:nowrap}.hud__toggle-btn--on{background:#52d17c40;border-color:#52d17c;color:#8af0ab;font-weight:600}.hud__toggle-btn:disabled{opacity:.4;cursor:not-allowed}.volume-popover__tile3d-row{margin-top:2px;padding-top:8px;border-top:1px solid rgba(212,175,55,.25)}.volume-popover__tile3d-row .hud__toggle-btn{flex:1}.volume-popover__bg-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:0;min-width:100%}.opponent-area{position:relative;padding:4px;display:flex;flex-direction:column;gap:4px;font-size:15px;min-height:0;overflow:visible}.opponent-area--2{position:absolute;left:50%;top:12%;transform:translate(-50%,calc(-50% - 3.4px));width:872px}.opponent-area--1,.opponent-area--3{position:absolute;width:260px;bottom:8px}.opponent-area--1{top:8px;right:185px;transform:rotateX(-35deg) rotate(2deg)}.opponent-area--3{top:92px;left:185px;transform:rotateX(-35deg) rotate(-2deg)}.opponent-area--active{outline:2px dashed rgba(241,196,83,.7);outline-offset:4px}.table__frozen,.opponent-area--frozen,.hand-area--frozen,.tile3d-hand-portal-inner--frozen{filter:grayscale(1) brightness(.55);transition:filter .6s ease var(--freeze-delay, 0s);will-change:filter}@keyframes character-panel-fake-turn-pulse{0%,to{box-shadow:none}35%{box-shadow:0 0 16px 5px #ffe066d9}70%{box-shadow:0 0 16px 5px #ffe06666}}.character-panel__portrait--fake-turn{animation:character-panel-fake-turn-pulse .65s ease-in-out 1 both;border-radius:50%}.call-announce{position:absolute;top:50%;left:50%;z-index:5;font-size:28px;font-weight:900;color:#fff;background:linear-gradient(180deg,#ff6b4a,#c62828);padding:6px 22px;border-radius:10px;border:2px solid #ffd54f;box-shadow:0 4px 14px #00000080;pointer-events:none;white-space:nowrap;animation:call-announce-pop 1s ease-out forwards}.opponent-area--3 .call-announce{left:calc(50% + 82px);top:calc(50% - 103px)}.opponent-area--1 .call-announce{left:calc(50% - 81px);top:calc(50% - 25px)}@keyframes call-announce-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}25%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.92)}}.character-panel{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;max-width:190px;padding:6px 14px 6px 6px;background:linear-gradient(150deg,#181008e6,#090603d6);border:1px solid rgba(212,175,55,.45);border-radius:18px;box-shadow:0 4px 16px #0000008c,inset 0 1px #ffffff0d;pointer-events:none}.character-panel--active{outline:2px dashed rgba(241,196,83,.7);outline-offset:3px}.character-panel--riichi{background:linear-gradient(150deg,#781212f0,#340808e6);border-color:#ffd36b;border-width:2px;padding:5px 13px 5px 5px;animation:character-panel-riichi-glow 1.4s ease-in-out infinite}.character-panel--riichi .character-panel__name,.character-panel--riichi .character-panel__score{text-shadow:0 0 6px rgba(255,120,90,.8)}@keyframes character-panel-riichi-glow{0%,to{box-shadow:0 4px 16px #0000008c,0 0 8px 1px #ff5a3c8c,inset 0 1px #ffffff14}50%{box-shadow:0 4px 16px #0000008c,0 0 22px 5px #ff6e46f2,inset 0 1px #ffffff14}}:root[data-freeze-thaw] .table__frozen,:root[data-freeze-thaw] .opponent-area--frozen,:root[data-freeze-thaw] .hand-area--frozen,:root[data-freeze-thaw] .tile3d-hand-portal-inner--frozen,:root[data-freeze-thaw] .character-panel--frozen{filter:none;transition:filter .6s ease var(--thaw-delay, 0s)}.character-panel--frozen{filter:grayscale(1) brightness(.55);transition:filter .6s ease var(--freeze-delay, 0s)}.character-panel--top{top:8px;right:230px;transform:rotate(var(--nameplate-rotate, 0deg))}.character-panel--left,.character-panel--right,.character-panel--top{flex-direction:column;align-items:center;text-align:center;width:110px;gap:4px}.character-panel--left .character-panel__body,.character-panel--right .character-panel__body,.character-panel--top .character-panel__body{align-items:center;width:100%}.character-panel--left .character-panel__name,.character-panel--right .character-panel__name,.character-panel--top .character-panel__name{text-align:center}.character-panel--left .character-panel__meta,.character-panel--right .character-panel__meta,.character-panel--top .character-panel__meta{flex-direction:column;gap:2px}.character-panel--left .skill-gauge,.character-panel--right .skill-gauge,.character-panel--top .skill-gauge{align-self:center}.character-panel--right{top:28%;right:8px;transform:translateY(-50%) rotate(var(--nameplate-rotate, 0deg))}.character-panel--left{top:28%;left:8px;right:auto;transform:translateY(-50%) rotate(var(--nameplate-rotate, 0deg))}.character-panel--bottom{top:478px;left:240px;right:auto;bottom:auto;max-width:268px;padding:8px 18px 8px 8px;gap:10px;transform:rotate(var(--nameplate-rotate, 0deg))}.character-panel__portrait{position:relative;flex-shrink:0}.character-panel__avatar{display:block;width:52px;height:52px;border-radius:50%;border:2px solid #d4af37;box-shadow:0 0 0 2px #1a1208,0 0 0 3px #d4af378c,0 3px 8px #0000008c;object-fit:cover}.character-panel--bottom .character-panel__avatar{width:72px;height:72px;border-width:3px}.character-panel__body{display:flex;flex-direction:column;gap:2px;min-width:0}.character-panel__name{font-size:13px;font-weight:700;line-height:1.25;min-width:0;white-space:normal;overflow-wrap:break-word}.character-panel__name--split{display:flex;flex-direction:column;gap:2px}.character-panel__name-line{white-space:normal;overflow-wrap:break-word}.character-panel__name-line--long{font-size:11px;white-space:nowrap}.character-panel--top .character-panel__name-line--long,.character-panel--left .character-panel__name-line--long,.character-panel--right .character-panel__name-line--long{font-size:min(11px,calc(90px / var(--name-chars, 8)))}.character-panel__portrait-btn{display:block;background:none;border:none;padding:0;margin:0;cursor:pointer;border-radius:50%;pointer-events:auto}.character-panel__portrait-btn:hover .character-panel__avatar,.character-panel__portrait-btn:focus-visible .character-panel__avatar{filter:brightness(1.15);box-shadow:0 0 0 2px #1a1208,0 0 0 3px #d4af37e6,0 0 12px #d4af37b3}.character-panel__meta{display:flex;align-items:center;gap:6px;font-size:13px;border-top:1px solid rgba(212,175,55,.25);padding-top:2px;margin-top:1px}.character-panel__score{font-weight:700;color:#ffe4a3}.character-panel .skill-gauge{width:100%;max-width:110px;margin-top:2px}.character-panel__side-status{position:absolute;top:50%;right:100%;margin-right:8px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.character-panel__side-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 6px;border-radius:8px;background:#090603b3}.character-panel__side-item .wait-row__label{font-size:12px}.skill-gauge{position:relative;align-self:flex-start;width:96px;margin-top:2px}.skill-gauge__label{font-size:10px;line-height:1.2;opacity:.7;white-space:nowrap}.skill-gauge--ready .skill-gauge__label{color:#ffe066;opacity:1;font-weight:700;text-shadow:0 0 6px rgba(255,200,60,.9);animation:skill-gauge-label-pop .9s ease-in-out infinite}.skill-gauge__bar{position:relative;width:100%;height:10px;border-radius:5px;background:#00000080;border:1px solid rgba(255,255,255,.25);overflow:hidden}.skill-gauge__fill{position:relative;height:100%;background:linear-gradient(180deg,#a8dcff,#4a7fe0 60%,#2f5bc0);box-shadow:0 0 6px #7ec8ffcc;transition:width .3s ease-out}.skill-gauge__fill:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:skill-gauge-shine 1.8s linear infinite}.skill-gauge__ticks{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(0,0,0,.45) calc(25% - 1px),rgba(0,0,0,.45) 25%);pointer-events:none}.skill-gauge--ready .skill-gauge__bar{border-color:#fff3b0;animation:skill-gauge-ready-pulse .7s ease-in-out infinite}.skill-gauge--ready .skill-gauge__fill{background:linear-gradient(180deg,#fff6c0,#ffd03a 45%,#ff8a2a);box-shadow:0 0 10px #ffbe3c}.skill-gauge--ready .skill-gauge__fill:after{animation-duration:.8s}@keyframes skill-gauge-shine{0%{left:-45%}to{left:105%}}@keyframes skill-gauge-label-pop{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes skill-gauge-ready-pulse{0%,to{box-shadow:0 0 3px #ffe066b3}50%{box-shadow:0 0 14px 4px #ffd250}}.skill-gauge__burst{position:absolute;left:100%;top:60%;width:0;height:0;pointer-events:none}.skill-gauge--burst .skill-gauge__bar{animation:skill-gauge-burst-flash 1.2s ease-out,skill-gauge-ready-pulse .7s ease-in-out 1.2s infinite}.skill-gauge__ring{position:absolute;left:-40px;top:-40px;width:80px;height:80px;border-radius:50%;border:3px solid #fff3b0;box-shadow:0 0 16px 4px #ffc83ce6;animation:skill-gauge-ring .9s ease-out forwards}.skill-gauge__spark{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff6c0;box-shadow:0 0 8px 2px #ffb938;animation:skill-gauge-spark .9s ease-out forwards}@keyframes skill-gauge-ring{0%{transform:scale(.1);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes skill-gauge-spark{0%{transform:rotate(var(--a)) translate(4px);opacity:1}to{transform:rotate(var(--a)) translate(62px) scale(.3);opacity:0}}@keyframes skill-gauge-burst-flash{0%{filter:brightness(3);transform:scaleY(2.2)}to{filter:brightness(1);transform:scaleY(1)}}.skill-activation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:hidden}.skill-activation-overlay__flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0a0a1926,#04040ec7);animation:skill-overlay-flash-fade 1.7s ease-out forwards}@keyframes skill-overlay-flash-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.skill-activation-overlay__burst{position:absolute;top:50%;left:50%;width:900px;height:900px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,224,102,.4) 0deg 4deg,transparent 4deg 12deg);mix-blend-mode:screen;animation:skill-overlay-burst-spin 1.7s ease-out forwards}@keyframes skill-overlay-burst-spin{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.4) rotate(50deg)}}.skill-activation-overlay__cutin-wrap{position:absolute;right:0;bottom:0;height:100%;width:48%;display:flex;align-items:flex-end;justify-content:center;animation:skill-overlay-cutin-slide 1.7s cubic-bezier(.16,1,.3,1) forwards}@keyframes skill-overlay-cutin-slide{0%{opacity:0;transform:translate(55%) scale(.92) rotate(3deg)}14%{opacity:1}32%{transform:translate(0) scale(1.04) rotate(-1deg)}42%{transform:translate(0) scale(1) rotate(0)}82%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(6%) scale(1.02) rotate(1deg)}}.skill-activation-overlay__panel{position:absolute;top:-10%;right:-20%;bottom:-10%;left:-20%;background:linear-gradient(115deg,transparent 30%,rgba(255,224,102,.22) 45%,rgba(122,47,184,.35) 70%,transparent 88%)}.skill-activation-overlay__cutin{position:relative;max-height:96%;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.65));mask-image:radial-gradient(ellipse 48% 60% at 50% 36%,black 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 48% 60% at 50% 36%,black 55%,transparent 100%)}.skill-activation-overlay__text{position:absolute;left:6%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;animation:skill-overlay-text-pop 1.7s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes skill-overlay-text-pop{0%{opacity:0;transform:translateY(-50%) scale(.7) translate(-20px)}20%{opacity:1;transform:translateY(-50%) scale(1) translate(0)}80%{opacity:1}to{opacity:0}}.skill-activation-overlay__name{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.85)}.skill-activation-overlay__skill{font-size:42px;font-weight:900;color:#ffe066;letter-spacing:2px;text-shadow:0 0 18px rgba(255,224,102,.9),0 2px 6px rgba(0,0,0,.85)}.tile3d-hand-layer{transition:filter .25s}body:has(.modal-overlay) .tile3d-hand-layer{--hole-l: calc((var(--modal-l, 0px) - var(--layer-x, 0px)) / var(--tile3d-hand-zoom, 1));--hole-t: calc((var(--modal-t, 0px) - var(--layer-y, 0px)) / var(--tile3d-hand-zoom, 1));--hole-r: calc((var(--modal-r, 0px) - var(--layer-x, 0px)) / var(--tile3d-hand-zoom, 1));--hole-b: calc((var(--modal-b, 0px) - var(--layer-y, 0px)) / var(--tile3d-hand-zoom, 1));filter:brightness(.4);clip-path:polygon(evenodd,-9999px -9999px,9999px -9999px,9999px 9999px,-9999px 9999px,-9999px -9999px,var(--hole-l) var(--hole-t),var(--hole-l) var(--hole-b),var(--hole-r) var(--hole-b),var(--hole-r) var(--hole-t),var(--hole-l) var(--hole-t))}.declaration-cutin{--dur: 2.2s;--accent: #a866ff;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;overflow:hidden}.declaration-cutin--riichi{--dur: 1.6s}.declaration-cutin--skill{--dur: 1.7s}.declaration-cutin__flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 35%,transparent),#060210d1 70%);animation:declaration-cutin-flash var(--dur) ease-out forwards}@keyframes declaration-cutin-flash{0%{opacity:0;background-color:color-mix(in srgb,var(--accent) 60%,rgba(255,255,255,.9))}6%{opacity:1;background-color:color-mix(in srgb,var(--accent) 45%,rgba(255,255,255,.35))}18%{background-color:transparent}85%{opacity:1}to{opacity:0;background-color:transparent}}.declaration-cutin__band{position:absolute;top:50%;left:50%;width:min(calc(var(--app-vw, 1vw) * 100),calc(calc(var(--app-vh, 1vh) * 92) * var(--band-aspect, 16 / 9)));aspect-ratio:var(--band-aspect, 16 / 9);overflow:hidden;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);animation:declaration-cutin-slam var(--dur) cubic-bezier(.16,1,.3,1) forwards}.declaration-cutin--keep-top-left .declaration-cutin__band{clip-path:polygon(0 0,94% 0,100% 100%,6% 100%)}.declaration-cutin--keep-right .declaration-cutin__band{clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.declaration-cutin--keep-left .declaration-cutin__band{clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}@keyframes declaration-cutin-slam{0%{opacity:0;transform:translate(-50%,-50%) scale(1.35) skew(-8deg);filter:brightness(2.2)}10%{opacity:1;transform:translate(-50%,-50%) scale(.98) skew(0);filter:brightness(1.3)}14%{transform:translate(calc(-50% + 6px),calc(-50% - 4px)) scale(1)}18%{transform:translate(calc(-50% - 5px),calc(-50% + 3px)) scale(1)}22%{transform:translate(-50%,-50%) scale(1);filter:brightness(1)}82%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}to{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}.declaration-cutin__art{display:block;width:100%;height:100%;object-fit:cover}.declaration-cutin__sweep{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 48%,color-mix(in srgb,var(--accent) 35%,transparent) 52%,transparent 65%);mix-blend-mode:screen;transform:translate(-100%);animation:declaration-cutin-sweep var(--dur) ease-out forwards}@keyframes declaration-cutin-sweep{0%,12%{transform:translate(-100%)}40%,to{transform:translate(100%)}}.declaration-cutin--skill .declaration-cutin__band{animation:skill-cutin-dash var(--dur) linear forwards}@keyframes skill-cutin-dash{0%{opacity:1;transform:translate(calc(-50% + var(--app-vw, 1vw) * 110),-50%) skew(-14deg);filter:brightness(1.8);animation-timing-function:cubic-bezier(.3,.55,.35,1)}28%{transform:translate(calc(-50% - 14px),-50%) skew(1deg);filter:brightness(1.2);animation-timing-function:ease-out}34%{transform:translate(-50%,-50%) skew(0);filter:brightness(1);animation-timing-function:linear}80%{opacity:1;transform:translate(calc(-50% - 10px),-50%) scale(1.03);animation-timing-function:cubic-bezier(.5,0,.9,.6)}to{opacity:1;transform:translate(calc(-50% - var(--app-vw, 1vw) * 110),-50%) skew(10deg)}}.declaration-cutin--skill .declaration-cutin__sweep{animation:skill-cutin-sweep var(--dur) ease-out forwards}@keyframes skill-cutin-sweep{0%,30%{transform:translate(-100%)}50%{transform:translate(100%)}56%,to{transform:translate(-100%)}}.declaration-cutin__rays{position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 55%,transparent) 0deg 5deg,transparent 5deg 15deg);-webkit-mask-image:radial-gradient(circle,transparent 8%,#000 22%,transparent 60%);mask-image:radial-gradient(circle,transparent 8%,#000 22%,transparent 60%);mix-blend-mode:screen;opacity:0;animation:skill-cutin-rays var(--dur) ease-out forwards}@keyframes skill-cutin-rays{0%{opacity:0;transform:rotate(0) scale(.5)}20%{opacity:.9}80%{opacity:.7}to{opacity:0;transform:rotate(24deg) scale(1.15)}}.declaration-cutin__speed{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 22px,rgba(255,255,255,.5) 22px 24px,transparent 24px 61px),repeating-linear-gradient(0deg,transparent 0 41px,color-mix(in srgb,var(--accent) 70%,white) 41px 44px,transparent 44px 97px);-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 140px,transparent 140px 230px,#000 230px 300px,transparent 300px 470px);mask-image:repeating-linear-gradient(90deg,#000 0 140px,transparent 140px 230px,#000 230px 300px,transparent 300px 470px);-webkit-mask-size:470px 100%;mask-size:470px 100%;mix-blend-mode:screen;opacity:0;animation:skill-cutin-speed-fade var(--dur) ease-out forwards,skill-cutin-speed-flow .35s linear infinite}@keyframes skill-cutin-speed-fade{0%,4%{opacity:0}16%{opacity:.85}78%{opacity:.5}to{opacity:0}}@keyframes skill-cutin-speed-flow{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:-470px 0;mask-position:-470px 0}}.declaration-cutin__word{position:absolute;top:27%;left:9%;font-size:min(calc(var(--app-vw, 1vw) * 16),calc(var(--app-vh, 1vh) * 22));font-weight:900;font-style:italic;letter-spacing:.04em;color:color-mix(in srgb,var(--accent) 12%,white);-webkit-text-stroke:2px color-mix(in srgb,var(--accent) 80%,black);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 95%,transparent),0 0 48px color-mix(in srgb,var(--accent) 85%,transparent),0 6px 14px rgba(0,0,0,.8);white-space:nowrap;animation:declaration-cutin-word var(--dur) cubic-bezier(.2,1.6,.4,1) forwards}@keyframes declaration-cutin-word{0%,8%{opacity:0;transform:translateY(-50%) scale(1.8) rotate(-8deg)}22%{opacity:1;transform:translateY(-50%) scale(1) rotate(-6deg)}82%{opacity:1;transform:translateY(-50%) scale(1.03) rotate(-6deg)}to{opacity:0;transform:translateY(-50%) scale(1.06) rotate(-6deg)}}.opponent-hand-row{display:flex;gap:6px;align-items:flex-start;overflow:visible}.opponent-area--2 .opponent-hand-row{flex-direction:row;justify-content:flex-start;order:-1;margin-top:14px}.opponent-area--2 .opponent-melds{order:-1;position:relative;left:110px}.opponent-area--2 .opponent-hand-back{margin-left:auto;margin-right:auto}.opponent-area--3 .opponent-hand-row,.opponent-area--1 .opponent-hand-row{align-items:center;flex:1;min-height:0;overflow:visible}.opponent-area--3 .opponent-hand-row{flex-direction:column;gap:40px;justify-content:center}.opponent-area--1 .opponent-hand-row{flex-direction:column-reverse}.opponent-area--1 .opponent-hand-row,.opponent-area--3 .opponent-hand-row{position:relative}.opponent-hand-back,.opponent-melds{display:flex;align-items:center;justify-content:center}.opponent-hand-back__inner,.opponent-melds__inner{display:flex;gap:2px;flex-wrap:nowrap;flex-shrink:0}.opponent-area--3 .opponent-melds__inner{flex-direction:row-reverse}.opponent-area--1 .opponent-hand-back,.opponent-area--3 .opponent-hand-back{width:45px;height:var(--hand-back-track, 474px);flex-shrink:0}.opponent-area--1 .opponent-hand-back{transform:translate(-27px)}.opponent-area--3 .opponent-hand-back{transform:translate(27px)}.opponent-area--1 .opponent-melds,.opponent-area--3 .opponent-melds{width:49px;height:var(--melds-track, 0px);flex-shrink:0}.opponent-area--1 .opponent-melds{transform:translateY(-60px)}.opponent-melds--floating{position:absolute;left:50%}.opponent-area--1 .opponent-melds--floating,.opponent-area--3 .opponent-melds--floating{height:480px}.opponent-melds--floating .opponent-melds__inner{position:relative;transform-origin:0 0}.opponent-area--editing-melds{z-index:3}.opponent-area--3 .opponent-hand-back__inner,.opponent-area--3 .opponent-melds__inner{transform:rotate(90deg);will-change:transform;backface-visibility:hidden}.opponent-area--1 .opponent-hand-back__inner,.opponent-area--1 .opponent-melds__inner{transform:rotate(-90deg);will-change:transform;backface-visibility:hidden}.opponent-area--1 .opponent-hand-row{justify-content:center;transform:translateY(-50px)}.human-area{position:absolute;left:50%;top:82%;transform:translate(-50%,calc(-50% + 4.9px));z-index:2;width:872px;padding:8px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:0;overflow:visible;background:linear-gradient(0deg,rgba(0,0,0,.35) 0%,transparent 100%)}.hand-area{display:flex;flex-direction:column;gap:6px;position:relative}.hand-row{position:relative;display:flex;gap:12px;align-items:flex-end;justify-content:center;flex-wrap:nowrap;overflow:visible}.hand-tiles{width:800px;flex-shrink:0;padding-left:122px}.hand-tiles__real{display:flex;gap:3px;flex-wrap:nowrap;zoom:.85}.action-stack{position:absolute;right:100px;bottom:100%;margin-bottom:20px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.action-stack__card{align-self:flex-start;margin-bottom:4px}.action-row{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:0}.meld{display:flex;align-items:center;gap:1px;background:#ffffff14;border-radius:4px;padding:2px}.hand-top-status{position:absolute;left:100px;right:auto;max-width:900px;bottom:100%;margin-bottom:10px;z-index:5;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;row-gap:4px;column-gap:14px}body:has(.character-panel--bottom .character-panel__player-name) .hand-top-status{margin-bottom:0}.wait-row{display:flex;align-items:center;gap:6px;min-height:0}.wait-row__label{display:flex;align-items:center;gap:3px;font-size:14px;color:#ffe4a3;white-space:nowrap}.wait-row__furiten{flex-shrink:0;padding:1px 6px;border-radius:4px;border:1px solid #ff5a5a;background:#ff3c3c2e;color:#ff8a8a;font-size:11px;font-weight:700;white-space:nowrap}.wait-row__wallread{flex-shrink:0;padding:1px 6px;border-radius:4px;border:1px solid #52d17c;background:#52d17c2e;color:#8af0ab;font-size:11px;font-weight:700;white-space:nowrap}.wait-row__shield{flex-shrink:0;padding:1px 6px;border-radius:4px;border:1px solid #6b6b6b;background:#7878782e;color:#b8b8b8;font-size:11px;font-weight:700;white-space:nowrap}.wait-row__shield--up{border-color:#52d17c;background:#52d17c2e;color:#8af0ab}.wait-row__shield--clickable{font:inherit;cursor:pointer}.wait-row__shield--clickable:hover{border-color:#8af0ab;background:#52d17c52}.wait-row__tiles{display:flex;gap:4px}.wait-row__tile{position:relative}.wait-row__count{position:absolute;right:-4px;bottom:-5px;min-width:16px;padding:0 2px;border-radius:8px;background:#000000bf;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:11px;line-height:16px;text-align:center}.melds-row{position:absolute;right:calc(50% - 384px);bottom:24px;display:flex;gap:2px}.tile{--tile-w: 54px;--tile-h: 72px;width:var(--tile-w);height:var(--tile-h);position:relative;isolation:isolate;background:transparent;border:none;border-radius:13.3%/10%;box-shadow:0 34px 0 0 var(--tile-side, #f2f2ec),0 40px 0 0 var(--tile-band, #3f7a4f),0 10px 4px #0006,0 42px 24px #0009;display:block;cursor:default;padding:0;flex-shrink:0;overflow:visible}.tile--small{--tile-w: 32px;--tile-h: 43px;width:var(--tile-w);height:var(--tile-h);box-shadow:0 15px 0 0 var(--tile-side, #f2f2ec),0 18px 0 0 var(--tile-band, #3f7a4f),0 4px 2px #0006,0 20px 10px #00000080}.tile--tiny{--tile-w: 21px;--tile-h: 28px;width:var(--tile-w);height:var(--tile-h);box-shadow:0 9px 0 0 var(--tile-side, #f2f2ec),0 11px 0 0 var(--tile-band, #3f7a4f),0 12px 6px #00000080}.human-area .hand-tiles .tile{--tile-w: 44px;box-shadow:0 -19px 0 0 var(--tile-side, #f2f2ec),0 -22px 0 0 var(--tile-band, #3f7a4f),0 -6px 2px #0006,0 -24px 14px #0009}.human-area .hand-tiles .tile__face:before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:#f2f2ec;border-radius:6px 6px 0 0;z-index:1;pointer-events:none}.opponent-area--3 .tile{box-shadow:15px 0 0 0 var(--tile-side, #f2f2ec),18px 0 0 0 var(--tile-band, #3f7a4f),4px 0 2px #0006,20px 0 10px #00000080}.opponent-area--1 .tile{box-shadow:-15px 0 0 0 var(--tile-side, #f2f2ec),-18px 0 0 0 var(--tile-band, #3f7a4f),-4px 0 2px #0006,-20px 0 10px #00000080}.opponent-area--1 .opponent-hand-back .tile--face-down,.opponent-area--2 .opponent-hand-back .tile--face-down,.opponent-area--3 .opponent-hand-back .tile--face-down{box-shadow:0 -6px 0 0 var(--tile-band, #3f7a4f),0 -22px 0 0 var(--tile-side, #f2f2ec),0 -4px 2px #0006,0 -24px 10px #00000080}.opponent-area--1 .opponent-hand-back .tile--face-down,.opponent-area--3 .opponent-hand-back .tile--face-down{transform:rotate(180deg)}.opponent-area--1 .opponent-hand-back .tile--face-down .tile__face,.opponent-area--3 .opponent-hand-back .tile--face-down .tile__face{display:none}.opponent-area--1 .opponent-hand-back .tile--face-down,.opponent-area--3 .opponent-hand-back .tile--face-down{box-shadow:0 -6px 0 0 var(--tile-band, #3f7a4f),0 -22px 0 0 var(--tile-side, #f2f2ec)}.opponent-area--1 .opponent-hand-back .tile--face-down,.opponent-area--3 .opponent-hand-back .tile--face-down{clip-path:inset(-22px 0 100% 0)}.river--top .tile--small{box-shadow:0 -15px 0 0 var(--tile-side, #f2f2ec),0 -18px 0 0 var(--tile-band, #3f7a4f),0 -4px 2px #0006,0 -20px 10px #00000080}.river--human .tile--small{box-shadow:0 9px 0 0 var(--tile-side, #f2f2ec),0 11px 0 0 var(--tile-band, #3f7a4f),0 3px 1px #0006,0 13px 6px #00000080}.river--left .tile--small{box-shadow:15px 0 0 0 var(--tile-side, #f2f2ec),18px 0 0 0 var(--tile-band, #3f7a4f),4px 0 2px #0006,20px 0 10px #00000080}.river--right .tile--small{box-shadow:-15px 0 0 0 var(--tile-side, #f2f2ec),-18px 0 0 0 var(--tile-band, #3f7a4f),-4px 0 2px #0006,-20px 0 10px #00000080}.tile__face{position:absolute;top:0;right:0;bottom:0;left:0}.tile__img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.tile__img--base{width:100%;height:100%}.tile__img--face{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform:scale(.72)}.human-area .hand-tiles .tile__img--face{transform:scale(.72) translateY(-3px)}.tile__face:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:13.3%/10%;background:linear-gradient(160deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.14) 22%,transparent 46%);mix-blend-mode:soft-light;pointer-events:none}.opponent-area--1 .tile__face:after{background:linear-gradient(250deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.14) 22%,transparent 46%)}.opponent-area--3 .tile__face:after{background:linear-gradient(70deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.14) 22%,transparent 46%)}.tile__img--back{filter:hue-rotate(112deg) saturate(.78) brightness(.88)}.tile--clickable{cursor:pointer}.tile--clickable:hover{transform:translateY(-4px)}.tile--selected{outline:2px solid #d4a017}.tile--dimmed{opacity:.45}.tile--highlighted{outline:2px solid rgba(255,255,255,.75);outline-offset:1px;--tile-side: #737371;--tile-band: #3d4f42}.tile--highlighted:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:13.3%/10%;background:#3c3c3cb3;pointer-events:none}.tile--sanshoku-hint:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:13.3%/10%;pointer-events:none;z-index:-1;animation:tile-sanshoku-glow 5s ease-in-out forwards}@keyframes tile-sanshoku-outline{0%{outline:3px solid rgba(255,92,92,.95);outline-offset:1px}30%{outline:3px solid rgba(92,214,122,.95);outline-offset:1px}60%{outline:3px solid rgba(92,150,255,.95);outline-offset:1px}to{outline:3px solid rgba(92,150,255,0);outline-offset:1px}}@keyframes tile-sanshoku-glow{0%{box-shadow:0 0 9px 3px #ff5c5ccc}30%{box-shadow:0 0 9px 3px #5cd67acc}60%{box-shadow:0 0 9px 3px #5c96ffcc}to{box-shadow:0 0 9px 3px #5c96ff00}}.tile--sanshoku-hint{animation:tile-sanshoku-outline 5s ease-in-out forwards}.tile--dora:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:13.3%/10%;box-shadow:0 0 8px 3px #ffcd28e6;pointer-events:none;z-index:-1;animation:tile-dora-blink 1.1s ease-in-out infinite}@keyframes tile-dora-blink{0%,to{opacity:.3}50%{opacity:1}}.tile--call-target{outline:3px solid #ff4d4d;outline-offset:2px;animation:tile-call-target-pulse .8s ease-in-out infinite}@keyframes tile-call-target-pulse{0%,to{outline-color:#ff4d4d8c;outline-offset:1px}50%{outline-color:#ff4d4d;outline-offset:4px}}.tile--rotated{width:var(--tile-h);height:var(--tile-w)}.tile--rotated .tile__face{position:absolute;top:50%;left:50%;width:var(--tile-w);height:var(--tile-h);margin-top:calc(var(--tile-h) / -2);margin-left:calc(var(--tile-w) / -2);rotate:90deg}.tile--drawn{margin-left:10px}.tile-swap-flip{position:relative;width:64px;height:72px;flex-shrink:0;perspective:320px}.tile-swap-flip__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:tile-swap-flip-spin .7s cubic-bezier(.4,.1,.2,1) forwards}@keyframes tile-swap-flip-spin{0%{transform:rotateY(0) scale(1)}45%{transform:rotateY(90deg) scale(1.18)}55%{transform:rotateY(90deg) scale(1.18)}to{transform:rotateY(180deg) scale(1)}}.tile-swap-flip__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden}.tile-swap-flip__face--front{transform:rotateY(0)}.tile-swap-flip__face--back{transform:rotateY(180deg)}.tile-swap-flip__flash{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;background:radial-gradient(circle,#ffe066f2,#ffe06600 70%);opacity:0;pointer-events:none;animation:tile-swap-flash-pulse .7s ease-out forwards}@keyframes tile-swap-flash-pulse{0%,38%{opacity:0}48%{opacity:1}62%{opacity:0}to{opacity:0}}.tile--slide-in{animation:tile-slide-in .3s ease-out}@keyframes tile-slide-in{0%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:.6}to{translate:0 0;opacity:1}}.tile--slide-in-tsumogiri{animation:tile-slide-in-tsumogiri .46s ease-in-out}@keyframes tile-slide-in-tsumogiri{0%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:1}38%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:1}to{translate:0 0;opacity:1}}.hand-split-open{animation:hand-split-open .52s ease-in-out}@keyframes hand-split-open{0%{translate:0 0}30%{translate:var(--split-x, 0) var(--split-y, 0)}60%{translate:var(--split-x, 0) var(--split-y, 0)}to{translate:0 0}}.tile--slide-in-tegiri{animation:tile-slide-in-tegiri .52s linear}@keyframes tile-slide-in-tegiri{0%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:0}22%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:0}32%{translate:var(--enter-x, 0) var(--enter-y, 0);opacity:1;animation-timing-function:ease-in-out}to{translate:0 0;opacity:1}}.call-actions{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;flex-shrink:0}.call-actions__blocked{flex-shrink:0;padding:4px 10px;border-radius:6px;border:1px solid #ff5a5a;background:#ff3c3c33;color:#ffb0b0;font-size:.85em;font-weight:700;white-space:nowrap}.call-actions__hint{color:#eee;font-size:.85em;white-space:nowrap}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:#10281d;border:1px solid #52b788;border-radius:12px;padding:24px;min-width:320px;max-width:560px;max-height:calc(var(--app-vh, 1vh) * 80);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.win-detail{background:#ffffff0f;border-radius:8px;padding:8px}.tenpai-list .win-detail{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:9px;align-items:center;padding:12px}.tenpai-list .win-detail__player{grid-column:1;grid-row:1}.tenpai-list .win-detail .wait-row{grid-column:2;grid-row:1}.tenpai-list .win-detail__hand{grid-column:1 / -1;grid-row:2}.tenpai-list{display:flex;flex-direction:column;gap:10px}.tenpai-list__label{font-weight:700}.win-detail .wait-row{margin-top:6px}.win-detail__player{font-weight:700;margin-bottom:4px}.win-detail__hand{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:24px}.win-detail__dora{display:flex;align-items:center;gap:6px;margin-bottom:4px}.yaku-list{margin:0;padding-left:18px}.win-detail__score{margin-top:4px;font-weight:700;color:#f1c453}.match-victory-overlay{background:#000000c7}.match-victory-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(calc(var(--app-vw, 1vw) * 90),640px);padding:28px 32px 24px;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#1c1710,#0f0c08);border:2px solid #f1c453;box-shadow:0 0 60px 10px #f1c45340,0 20px 60px #0009;animation:match-victory-pop .6s cubic-bezier(.16,1,.3,1)}.match-victory-card__panel{position:absolute;top:-30%;right:-20%;bottom:-30%;left:-20%;background:radial-gradient(ellipse at center,rgba(255,224,102,.28),transparent 70%);pointer-events:none}.match-victory-card__title{position:relative;font-size:16px;letter-spacing:8px;color:#ffe066;font-weight:800;text-shadow:0 0 16px rgba(255,224,102,.8)}.match-victory-card__art{position:relative;max-width:100%;max-height:calc(var(--app-vh, 1vh) * 55);border-radius:12px;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(0,0,0,.7))}.match-victory-card__name{position:relative;font-size:24px;font-weight:800}.match-victory-card__quote{position:relative;max-width:480px;font-size:15px;line-height:1.6;opacity:.92;font-style:italic;text-align:center}@keyframes match-victory-pop{0%{opacity:0;transform:scale(.85) translateY(10px)}60%{opacity:1;transform:scale(1.03) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.rank-cards{display:flex;flex-direction:column;gap:8px}.rank-card{display:flex;align-items:center;gap:10px;background:#ffffff0f;border-radius:10px;padding:8px 12px;border-left:6px solid #666}.rank-card--1{border-left-color:#f1c453;background:#f1c45324}.rank-card--2{border-left-color:#c9d2e0}.rank-card--3{border-left-color:#d08a4d}.rank-card--4{border-left-color:#666}.rank-card__avatar{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.3);flex-shrink:0}.rank-card__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.rank-card__name{font-weight:600;font-size:14px}.rank-card__score-row{display:flex;align-items:center;gap:10px;font-size:14px}.rank-card__rank{font-weight:700;color:#f1c453;width:32px;flex-shrink:0}.rank-card__score{font-weight:600}.rank-card__mpt{font-size:12px;opacity:.85;margin-top:2px}.delta-positive{color:#74c69d}.delta-negative{color:#ff8787}.tile3d-hand-layer{position:fixed;top:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;transform-origin:0 0;transform:scale(var(--tile3d-hand-zoom, 1));pointer-events:none}.tile3d-hand-portal-inner{display:flex;align-items:center;justify-content:center}.tile3d-hand-portal-inner--editable{cursor:grab;outline:2px dashed rgba(224,169,74,.7);outline-offset:6px;pointer-events:auto}.tile3d-hand-portal-inner--editable:active{cursor:grabbing;outline-color:#52d17c}.tile3d-hand-back-inner{display:flex;flex-direction:column;gap:0;transform:scaleY(.819)}.tile3d-outer{--tile3d-face: #f4f2ea;--tile3d-face-shade: #d9d5c6;--tile3d-side: #f2f2ec;--tile3d-edge: #3f7a4f;--tile3d-edge-deep: #234730;--tile3d-rear: #4c9463;--tile3d-rear-deep: #1f5a3c;--tile3d-white-w: 4.4px;--tile3d-w: 32px;--tile3d-h: 43px;--tile3d-aspect-x: 1;--tile3d-aspect-y: 1;position:relative;display:inline-block;flex-shrink:0;transform:scaleX(var(--tile3d-aspect-x)) scaleY(var(--tile3d-aspect-y))}.tile3d-scene{position:absolute;top:50%;left:50%;width:var(--tile3d-w);height:var(--tile3d-h);transform:translate(-50%,-50%);perspective:480px}.tile3d{width:var(--tile3d-w);height:var(--tile3d-h);position:relative;transform:scale(var(--tile3d-scale)) rotateX(var(--tile3d-rx)) rotateY(var(--tile3d-ry));transform-style:preserve-3d}.tile3d__panel{position:absolute;top:0;left:0;backface-visibility:visible}.tile3d__front{width:var(--tile3d-w);height:var(--tile3d-h);transform:translateZ(calc(var(--tile3d-thick) / 2));box-shadow:0 0 1.5px #00000059,0 0 .12px var(--tile3d-face)}.tile3d__img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.tile3d__img--face{position:absolute;top:0;right:0;bottom:0;left:0;object-fit:contain;transform:scale(.72)}.tile3d__rear{width:var(--tile3d-w);height:var(--tile3d-h);background:linear-gradient(155deg,var(--tile3d-rear) 0%,var(--tile3d-rear-deep) 100%);clip-path:polygon(3px 0,calc(var(--tile3d-w) - 3px) 0,var(--tile3d-w) 3px,var(--tile3d-w) calc(var(--tile3d-h) - 3px),calc(var(--tile3d-w) - 3px) var(--tile3d-h),3px var(--tile3d-h),0 calc(var(--tile3d-h) - 3px),0 3px);box-shadow:0 0 .12px var(--tile3d-rear-deep);transform:rotateY(180deg) translateZ(calc(var(--tile3d-thick) / 2))}.tile3d__rear-fillet{width:var(--tile3d-w);height:var(--tile3d-h);background:linear-gradient(155deg,var(--tile3d-rear) 0%,var(--tile3d-rear-deep) 100%);transform:rotateY(180deg) translateZ(calc(var(--tile3d-thick) / 2))}.tile3d__rear-fillet--tl{clip-path:polygon(0 0,3.6px 0,0 3.6px)}.tile3d__rear-fillet--tr{clip-path:polygon(var(--tile3d-w) 0,var(--tile3d-w) 3.6px,calc(var(--tile3d-w) - 3.6px) 0)}.tile3d__rear-fillet--br{clip-path:polygon(var(--tile3d-w) var(--tile3d-h),calc(var(--tile3d-w) - 3.6px) var(--tile3d-h),var(--tile3d-w) calc(var(--tile3d-h) - 3.6px))}.tile3d__rear-fillet--bl{clip-path:polygon(0 var(--tile3d-h),0 calc(var(--tile3d-h) - 3.6px),3.6px var(--tile3d-h))}.tile3d__edge-bottom,.tile3d__edge-top{width:var(--tile3d-w);height:var(--tile3d-thick)}.tile3d__edge-left,.tile3d__edge-right{width:var(--tile3d-thick);height:var(--tile3d-h)}.tile3d__edge-bottom{top:var(--tile3d-h);background:linear-gradient(180deg,var(--tile3d-side) 0,var(--tile3d-side) var(--tile3d-white-w),var(--tile3d-edge) var(--tile3d-white-w),var(--tile3d-edge) 100%);box-shadow:0 0 .12px var(--tile3d-side),0 0 .12px var(--tile3d-edge);transform-origin:top;transform:translateZ(calc(var(--tile3d-thick) / 2)) rotateX(-90deg)}.tile3d__edge-top{top:0;background:linear-gradient(0deg,var(--tile3d-side) 0,var(--tile3d-side) var(--tile3d-white-w),var(--tile3d-edge) var(--tile3d-white-w),var(--tile3d-edge) 100%);box-shadow:0 0 .12px var(--tile3d-side),0 0 .12px var(--tile3d-edge);transform-origin:top;transform:translateZ(calc(var(--tile3d-thick) / -2)) rotateX(90deg)}.tile3d__edge-right{left:var(--tile3d-w);background:linear-gradient(90deg,var(--tile3d-side) 0,var(--tile3d-side) var(--tile3d-white-w),var(--tile3d-edge-deep) var(--tile3d-white-w),var(--tile3d-edge-deep) 100%);box-shadow:0 0 .12px var(--tile3d-side),0 0 .12px var(--tile3d-edge-deep);transform-origin:left;transform:translateZ(calc(var(--tile3d-thick) / 2)) rotateY(90deg)}.tile3d__edge-left{left:0;background:linear-gradient(270deg,var(--tile3d-side) 0,var(--tile3d-side) var(--tile3d-white-w),var(--tile3d-edge-deep) var(--tile3d-white-w),var(--tile3d-edge-deep) 100%);box-shadow:0 0 .12px var(--tile3d-side),0 0 .12px var(--tile3d-edge-deep);transform-origin:left;transform:translateZ(calc(var(--tile3d-thick) / -2)) rotateY(-90deg)}.tile3d-debug-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:auto}.tile3d-debug-panel{display:flex;flex-direction:column;gap:2px;background:#0f2118f5;border:1px solid rgba(230,225,210,.3);border-radius:10px;padding:10px 14px;font-size:12.5px;width:300px;max-height:calc(calc(var(--app-vh, 1vh) * 100) - 32px);overflow-y:auto}.tile3d-debug-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.tile3d-debug-panel__title{font-weight:600;color:#e0a94a}.tile3d-debug-panel__close{flex-shrink:0;width:22px;height:22px;line-height:1;font-size:16px;color:#f4f1e8;background:#f4f1e814;border:1px solid rgba(230,225,210,.25);border-radius:50%;cursor:pointer}.tile3d-debug-panel__close:hover{background:#e0a94a29;border-color:#e0a94a;color:#e0a94a}.tile3d-debug-panel__preview{display:flex;align-items:center;justify-content:center;height:110px;overflow:hidden;padding:4px 0 6px;border-bottom:1px solid rgba(230,225,210,.2);margin-bottom:2px}.tile3d-debug-panel__preview-fit{display:flex;align-items:center;justify-content:center}.tile3d-debug-panel__row{display:grid;grid-template-columns:56px 1fr 44px;align-items:center;gap:8px}.tile3d-debug-panel__row input[type=range]{width:100%;min-width:0}.tile3d-debug-panel__row output{text-align:right;font-variant-numeric:tabular-nums}.tile3d-debug-panel__row--group-offset{margin-top:1px;padding-top:2px;border-top:1px solid rgba(230,225,210,.15)}.tile3d-debug-panel__row--group-offset span{color:#e0a94a}.tile3d-debug-panel__row--drawn-offset{margin-top:1px;padding-top:2px;border-top:1px solid rgba(230,225,210,.15)}.tile3d-debug-panel__row--drawn-offset span{color:#74c69d}.tile3d-debug-panel__group{display:flex;gap:6px;padding-top:4px;border-top:1px solid rgba(230,225,210,.15)}.tile3d-debug-panel__group--wrap{flex-wrap:wrap}.tile3d-debug-panel__btn{font:inherit;font-size:11.5px;color:#f4f1e8;background:#f4f1e80f;border:1px solid rgba(230,225,210,.25);border-radius:999px;padding:5px 10px;cursor:pointer;flex:1;white-space:nowrap}.tile3d-debug-panel__group--wrap .tile3d-debug-panel__btn{flex:none}.tile3d-debug-panel__btn:hover{background:#e0a94a29;border-color:#e0a94a}.tile3d-debug-panel__btn--active{background:#e0a94a29;border-color:#e0a94a;color:#e0a94a}.tile3d-debug-panel__backup-status{font-size:11px;color:#74c69d;text-align:center;padding-top:2px}.meld-edit-toolbar{position:fixed;left:50%;top:16px;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:6px;background:#0f2118f5;border:1px solid rgba(230,225,210,.3);border-radius:10px;padding:8px 12px;font-size:12.5px;color:#f4f1e8;width:min(calc(var(--app-vw, 1vw) * 90),460px)}.hand-edit-toolbar{top:auto;bottom:16px}.ankan-preview-panel{left:auto;right:16px;top:16px;transform:none}.river-edit-toolbar{left:16px;top:16px;transform:none}.nameplate-edit-toolbar{left:auto;right:16px;top:auto;bottom:16px;transform:none}.toimen-edit-toolbar{left:16px;top:auto;bottom:16px;transform:none}.reveal-hand-edit-toolbar{top:50%;transform:translate(-50%,-50%);width:420px}.reveal-hand-edit-toolbar .meld-edit-toolbar__row--rotate{grid-template-columns:32px 1fr 52px}.reveal-hand-edit-toolbar__seat{display:flex;flex-direction:column;gap:2px;padding-top:6px;border-top:1px solid rgba(230,225,210,.15)}.riichi-stick-edit-toolbar{left:16px;top:50%;transform:translateY(-50%)}.meld-edit-toolbar__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.meld-edit-toolbar__title{font-weight:600;color:#e0a94a}.meld-edit-toolbar__hint{font-size:11px;color:#cfd8d2;text-align:center}.meld-edit-toolbar__row{display:flex;align-items:center;gap:8px}.meld-edit-toolbar__row--rotate{display:grid;grid-template-columns:auto 1fr 44px}.meld-edit-toolbar__row--rotate input[type=range]{width:100%;min-width:0}.meld-edit-toolbar__row--rotate output{text-align:right;font-variant-numeric:tabular-nums}.meld--editable{cursor:grab;outline:1px dashed rgba(224,169,74,.6);outline-offset:2px}.meld--editable-active{cursor:grabbing;outline:2px solid #52d17c}.river--editable{cursor:grab;outline:2px dashed rgba(224,169,74,.7);outline-offset:4px}.river--editable-active{cursor:grabbing;outline:2px solid #52d17c}.riichi-stick--editable{cursor:grab;outline:2px dashed rgba(224,169,74,.7);outline-offset:4px}.riichi-stick--editable-active{cursor:grabbing;outline:2px solid #52d17c}.riichi-stick--mock{opacity:.5}.character-panel--editable{cursor:grab;outline:2px dashed rgba(224,169,74,.7);outline-offset:4px}.character-panel--edit-active{cursor:grabbing;outline:2px solid #52d17c}.character-panel--editable{pointer-events:auto}.opponent-hand-back--reveal-editing{position:relative;z-index:5}.opponent-hand-back--editable,.opponent-hand-back__inner--editable,.opponent-melds--editable{cursor:grab;outline:2px dashed rgba(224,169,74,.7);outline-offset:4px}.meld--mock{opacity:.5;outline:1px dashed rgba(244,241,232,.8);outline-offset:3px;position:relative}.meld--mock:before{content:"仮";position:absolute;top:-9px;left:-9px;width:16px;height:16px;border-radius:50%;background:#e0a94ae6;color:#1a1a1a;font-size:10px;font-weight:700;line-height:16px;text-align:center;z-index:10}.cutin-gallery{height:calc(var(--app-vh, 1vh) * 100);box-sizing:border-box;padding:16px;background:#120a1e;color:#eee;font-family:sans-serif;overflow:auto}.cutin-gallery__header{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:12px}.cutin-gallery__header h1{margin:0;font-size:20px}.cutin-gallery__hint{color:#aaa;font-size:13px}.cutin-gallery__table{border-collapse:separate;border-spacing:8px}.cutin-gallery__table th{font-weight:400;color:#ccc}.cutin-gallery__name{text-align:right;white-space:nowrap;font-size:13px}.cutin-gallery__thumb{position:relative;overflow:hidden;background:#000;cursor:pointer}.cutin-gallery__thumb iframe{border:0;transform-origin:0 0;pointer-events:none}.cutin-gallery__missing{display:grid;place-items:center;background:#222;color:#777;font-size:13px}.cutin-frame{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a2036}.cutin-frame--still *,.cutin-frame--still *:before,.cutin-frame--still *:after{animation-delay:-1s!important;animation-play-state:paused!important}.quote-gallery{height:calc(var(--app-vh, 1vh) * 100);box-sizing:border-box;padding:16px 24px 40px;background:#120a1e;color:#eee;font-family:sans-serif;overflow:auto}.quote-gallery__header{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:16px}.quote-gallery__header h1{margin:0;font-size:20px}.quote-gallery__search{width:280px;padding:6px 10px;border:1px solid #4a3d5e;border-radius:6px;background:#1d1428;color:#eee;font-size:14px}.quote-gallery__count{color:#aaa;font-size:13px}.quote-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.quote-gallery__card{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid #33284a;border-radius:10px;background:#1d1428}.quote-gallery__avatar{width:64px;height:64px;flex:none;border-radius:50%;object-fit:cover}.quote-gallery__name{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-weight:700;font-size:15px}.quote-gallery__skill{color:#c9a0ff;font-weight:400;font-size:12px}.quote-gallery__quote{margin:6px 0 0;line-height:1.8;font-size:14px}.quote-gallery__empty{color:#999}.setup-online-btn{font-size:14px}.online-lobby__form{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.online-lobby__field{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px}.online-lobby__field input,.online-lobby__field select{min-width:200px;padding:6px 8px;font-size:15px;border-radius:6px;border:1px solid #52b788;background:#0000008c;color:#fff}.online-lobby__error{margin:0;color:#ff8a8a;font-size:14px}.character-panel__player-name{font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-turn-timer{position:fixed;right:16px;bottom:16px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;padding:6px 12px;border-radius:8px;background:#0009;color:#fff;pointer-events:none}.online-turn-timer__who{font-size:12px;opacity:.85}.online-turn-timer__time{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.online-turn-timer--mine .online-turn-timer__time{font-size:32px;color:#ffe066}.online-turn-timer--urgent .online-turn-timer__time{color:#ff6b6b}.online-turn-timer__bank{font-size:.6em;opacity:.8}.online-connection-overlay{z-index:1000}.online-lobby__rename{font-size:12px;font-weight:400;padding:4px 10px}.online-lobby__section{display:flex;flex-direction:column;align-items:center;gap:8px}.online-lobby__section-title{font-size:15px;font-weight:700;margin-top:6px}.character-panel__rank{margin-left:4px;color:#ffe08a}.score-rank-result{margin:8px auto;padding:8px 14px;border-radius:8px;background:#00000059;border:1px solid #d4af37;font-size:15px}.score-rank-result__delta--up{color:#7ee08a}.score-rank-result__delta--down{color:#ff8a8a}.first-gacha{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:900px}.first-gacha__title{margin:0;font-size:24px;color:#ffe08a}.first-gacha__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%}.gacha-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;background:#0000008c;border:2px solid #8a8a8a;animation:gacha-card-in .35s ease-out both}.gacha-card--r2{border-color:#6fb7ff;box-shadow:0 0 10px #6fb7ff73}.gacha-card--r3{border-color:#ffd34d;box-shadow:0 0 16px #ffd34dcc;background:linear-gradient(180deg,#5a3c00bf,#0009)}.gacha-card__stars{font-size:12px;color:#ffd34d;letter-spacing:1px}.gacha-card__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover}.gacha-card__name{font-size:14px;font-weight:700}.gacha-card__skill{font-size:11px;opacity:.8}.first-gacha__confirm{display:flex;flex-direction:column;align-items:center;gap:6px}@keyframes gacha-card-in{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.gacha-card{animation:none}}.online-lobby__gacha-btn{padding:4px 12px;font-size:13px;white-space:nowrap}.online-lobby__notice{padding:6px 14px;border-radius:8px;background:#1e5a3cd9;border:1px solid #52b788;font-size:14px;cursor:pointer}.gacha-screen{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(900px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));max-height:calc(calc(var(--app-vh, 1vh) * 100) - 32px);overflow-y:auto;padding:14px 16px;border-radius:12px;background:#100c08f5;border:1px solid #d4af37;color:#fff}.gacha-screen__jade{font-size:16px}.gacha-screen__jade strong{font-size:22px;color:#b8f0ff;font-variant-numeric:tabular-nums}.gacha-screen__jade-detail{font-size:12px;opacity:.8}.gacha-screen__rates-toggle{font-size:12px;padding:4px 12px}.gacha-screen__rates{width:100%;text-align:left;font-size:13px;display:flex;flex-direction:column;gap:8px}.gacha-screen__rate-head{font-weight:700;color:#ffd34d}.gacha-screen__rate-names{opacity:.85;line-height:1.6}.gacha-screen__rate-note{margin:0;font-size:12px;opacity:.75}.gacha-card{position:relative}.gacha-card__new{position:absolute;top:4px;left:4px;padding:0 5px;border-radius:4px;background:#e5484d;font-size:10px;font-weight:700}.gacha-screen__exchange{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font-size:13px}.gacha-screen__exchange strong{font-size:16px;color:#ffd34d;font-variant-numeric:tabular-nums}.gacha-screen__exchange-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;width:100%}.gacha-screen__exchange-list .first-gacha__confirm{grid-column:1 / -1}.gacha-screen__exchange-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:8px;border:1px solid #8a6d1f;background:#00000080;color:#fff;font-size:12px;cursor:pointer}.gacha-screen__exchange-item img{width:44px;height:44px;border-radius:50%;object-fit:cover}.gacha-screen__exchange-item--selected{border-color:#ffd34d;box-shadow:0 0 10px #ffd34db3}.gacha-screen__exchange-owned{font-size:11px;opacity:.75}.gacha-card__card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:10px;background:linear-gradient(160deg,#3a2a60,#1b1430);border:1px solid rgba(255,255,255,.35);font-size:13px;font-weight:700}.gacha-screen__exchange-item .gacha-card__card-icon{width:44px;height:44px;font-size:11px}.units-screen__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;width:100%}.units-screen__unit{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border-radius:8px;border:1px solid #555;background:#00000080;color:#fff;cursor:pointer}.units-screen__unit:disabled{cursor:default;opacity:.85}.units-screen__unit img{width:48px;height:48px;border-radius:50%;object-fit:cover}.units-screen__unit--selected{border-color:#ffd34d;box-shadow:0 0 10px #ffd34db3}.units-screen__stars{font-size:11px;color:#ffd34d}.units-screen__name{font-size:13px;font-weight:700}.units-screen__card{font-size:11px;color:#c9b8ff;text-align:center}.units-screen__card--none{color:#999}.units-screen__equip{width:100%;display:flex;flex-direction:column;gap:6px}.units-screen__cards{display:flex;flex-direction:column;gap:4px}.units-screen__card-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;border-radius:8px;border:1px solid #5a4a8a;background:#140c28b3;color:#fff;text-align:left;cursor:pointer}.units-screen__card-choice--selected{border-color:#ffd34d}.units-screen__card-desc{font-size:11px;opacity:.75}.units-screen__detail{width:min(720px,calc(calc(var(--app-vw, 1vw) * 100) - 32px))}.unit-detail{display:flex;gap:16px;width:100%;align-items:flex-start}.unit-detail__art{flex:none;width:180px;height:300px;object-fit:cover;object-position:top;border-radius:10px;border:1px solid rgba(230,195,106,.5);box-shadow:0 8px 24px #0009}.unit-detail__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.unit-detail__name{font-size:20px;font-weight:700}.unit-detail__stars{color:#ffd34d;margin-right:6px;font-size:.8em}.unit-detail__box{padding:10px 12px;border-radius:8px;border:1px solid rgba(230,195,106,.35);background:#00000073}.unit-detail__box--card{border-color:#c9b8ff66}.unit-detail__label{font-size:14px;font-weight:700;color:#ffe4a3}.unit-detail__box--card .unit-detail__label{color:#c9b8ff}.unit-detail__label--none{color:#999;font-weight:400}.unit-detail__text{margin:6px 0 0;font-size:13px;line-height:1.6;opacity:.9}.transfer-screen{width:min(560px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));align-items:stretch}.transfer-screen__section{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0}.transfer-screen__section+.transfer-screen__section{border-top:1px solid rgba(212,175,55,.4)}.transfer-screen__code{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;border-radius:8px;background:#d4af371f;border:1px solid #d4af37}.transfer-screen__code span{font-size:12px;opacity:.8}.transfer-screen__code strong{font-family:ui-monospace,Consolas,monospace;font-size:22px;letter-spacing:.08em;-webkit-user-select:all;user-select:all}.transfer-screen__note{margin:0;font-size:13px;color:#ffd27a;text-align:center}.dev-account-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:6px 10px;border:1px dashed rgba(255,255,255,.35);border-radius:8px;font-size:12px}.dev-account-tools--float{position:absolute;right:10px;bottom:10px;z-index:50;margin-top:0;background:#0a0a0ae6}.dev-account-tools--open{flex-direction:column;align-items:flex-end;max-width:460px}.dev-account-tools__toggle{background:transparent;border:0;color:inherit;font:inherit;font-size:12px;opacity:.7;cursor:pointer}button.dev-account-tools__toggle.dev-account-tools{border:1px dashed rgba(255,255,255,.35)}.dev-account-tools__warn{color:#ffd27a;max-width:420px}.history-screen{width:min(720px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));align-items:stretch}.history-screen__stats{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.history-screen__stats th,.history-screen__stats td{padding:4px 6px;text-align:center;border-bottom:1px solid rgba(212,175,55,.25)}.history-screen__stats thead th{font-size:11px;font-weight:400;opacity:.75}.history-screen__stats tbody th{color:#ffe08a;text-align:left;white-space:nowrap}.gacha-screen__price{display:inline-block;white-space:nowrap}.history-screen__places{opacity:.8}.history-screen__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-screen__match{padding:8px 10px;border-radius:8px;background:#ffffff0d;border-left:4px solid #888}.history-screen__match--place1{border-left-color:#ffd34d}.history-screen__match--place2{border-left-color:#b8f0ff}.history-screen__match--place3{border-left-color:#c58b52}.history-screen__match-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14px}.history-screen__place{font-size:18px;font-weight:700}.history-screen__score{font-variant-numeric:tabular-nums}.history-screen__delta--up{color:#7ee2a8}.history-screen__delta--down{color:#ff8a8a}.history-screen__rank{color:#ffe08a}.history-screen__date{margin-left:auto;font-size:12px;opacity:.7}.history-screen__seats{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;font-size:12px}.history-screen__seats li{display:flex;gap:6px;opacity:.8;min-width:0}.history-screen__seats li.history-screen__seat--you{opacity:1;color:#ffe08a}.history-screen__seat-place{width:1em;font-weight:700}.history-screen__seat-name,.history-screen__seat-character{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-screen__seat-character{flex:1;text-align:left;opacity:.85}.history-screen__report{padding:0 6px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:transparent;color:inherit;font-size:11px;opacity:.6;cursor:pointer}.history-screen__report:hover{opacity:1}.history-screen__report-form{margin-top:8px}.history-screen__report-form select{padding:4px 8px;border-radius:6px;font-size:14px}.online-lobby__gacha-btn{position:relative}.online-lobby__badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.online-lobby__badge--dot{min-width:10px;width:10px;height:10px;padding:0;top:-3px;right:-3px}.inbox-screen{width:min(640px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));align-items:stretch}.inbox-screen__tabs{display:flex;gap:4px}.inbox-screen__tab{padding:6px 14px;border:1px solid rgba(212,175,55,.5);border-radius:8px 8px 0 0;background:transparent;color:#fff;opacity:.65;cursor:pointer;font-size:14px}.inbox-screen__tab.is-active{opacity:1;background:#d4af372e;color:#ffe08a;font-weight:700}.inbox-screen__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.inbox-screen__news,.inbox-screen__gift{border-radius:8px;background:#ffffff0d}.inbox-screen__news-head{display:flex;align-items:baseline;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.inbox-screen__news-title{flex:1;font-weight:700}.inbox-screen__new{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;background:#e5484d}.inbox-screen__date{font-size:12px;opacity:.7;white-space:nowrap}.inbox-screen__body{margin:0;padding:0 12px 12px;font-size:14px;line-height:1.7;white-space:pre-wrap;text-align:left}.inbox-screen__gift{display:flex;align-items:center;gap:12px;padding:10px 12px}.inbox-screen__gift-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-align:left}.inbox-screen__gift .inbox-screen__body{padding:0;font-size:13px;opacity:.85}.inbox-screen__contents{color:#b8f0ff;font-size:14px}.records-screen__table td{font-size:13px}.records-screen__date{white-space:nowrap;opacity:.75}.records-screen__gacha-head{display:flex;align-items:baseline;gap:8px}.records-screen__items{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}.records-screen__item{opacity:.8}.records-screen__item--r2{opacity:1;color:#b8f0ff}.records-screen__item--r3{opacity:1;color:#ffd34d;font-weight:700}.transfer-screen__delete-open{font-size:12px;opacity:.7}.transfer-screen__delete{background:#9b2c2c;border-color:#e5484d;color:#fff}.ranking-screen__table td{font-size:14px}.ranking-screen__position{width:3em;font-weight:700;color:#ffe08a}.ranking-screen__name{text-align:left!important;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-screen__you td{background:#d4af372e;font-weight:700}.ranking-screen__gap td{opacity:.5;border-bottom:none}.missions-screen__bar{height:6px;border-radius:3px;background:#ffffff1f;overflow:hidden}.missions-screen__bar-fill{height:100%;background:linear-gradient(90deg,#d4af37,#ffe08a)}.missions-screen__mission.is-claimed{opacity:.55}.missions-screen__claimed{font-size:12px;white-space:nowrap;opacity:.8}.friends-screen__mine{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding:8px 12px;border-radius:8px;background:#d4af371f;border:1px solid #d4af37}.friends-screen__mine span{font-size:12px;opacity:.8}.friends-screen__mine strong{font-size:20px;letter-spacing:.08em;color:#ffe08a;font-variant-numeric:tabular-nums}.friends-screen__waiting{border:1px solid #52b788;background:#1e5a3c59}.friends-screen__remove{padding:4px 10px}.replay-controls{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:3000;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;max-width:calc(calc(var(--app-vw, 1vw) * 100) - 24px);padding:8px 14px;border-radius:12px;background:#100c08eb;border:1px solid #d4af37;color:#fff;font-size:13px}.replay-controls__info{display:flex;flex-direction:column;align-items:center;line-height:1.3;font-variant-numeric:tabular-nums}.replay-controls__info strong{color:#ffe08a;font-size:15px}.replay-controls__buttons{display:flex;align-items:center;gap:6px}.replay-controls__buttons .btn{padding:4px 10px;font-size:13px;white-space:nowrap}.replay-controls__viewer{display:flex;align-items:center;gap:4px}.replay-controls__viewer select{max-width:9em}.spectator-banner{top:12px;bottom:auto}.admin-page{min-height:calc(var(--app-vh, 1vh) * 100);box-sizing:border-box;padding:16px clamp(16px,calc(var(--app-vw, 1vw) * 4),40px) 48px;background:#f6f4ef;color:#222;font-size:14px;overflow-y:auto;height:calc(var(--app-vh, 1vh) * 100)}.admin-page h1{font-size:20px;margin:0 0 8px}.admin-page h2{font-size:16px;margin:20px 0 8px}.admin-page button{padding:6px 12px;border:1px solid #8a6d1f;border-radius:6px;background:#fff;color:#222;cursor:pointer;font:inherit}.admin-page button:disabled{opacity:.45;cursor:default}.admin-page input,.admin-page textarea{padding:6px 8px;border:1px solid #bbb;border-radius:6px;font:inherit;background:#fff;color:#222}.admin-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-row input{flex:1;min-width:200px}.admin-header{justify-content:space-between}.admin-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 12px;border-bottom:2px solid #d4af37}.admin-tabs button{border-radius:6px 6px 0 0;border-bottom:none}.admin-tabs button.is-active{background:#d4af37;font-weight:700}.admin-form{display:flex;flex-direction:column;gap:8px;max-width:640px;padding:12px;border-radius:8px;background:#fff;border:1px solid #ddd}.admin-form label{display:flex;flex-direction:column;gap:4px}.admin-form .admin-inline,.admin-checks label{flex-direction:row;align-items:center;gap:6px}.admin-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px;padding:8px 0}.admin-confirm{padding:8px 12px;border-radius:6px;background:#fff5d6;border:1px solid #d4af37}.admin-confirm button{margin-right:8px}.admin-table{border-collapse:collapse;width:100%;background:#fff}.admin-table th,.admin-table td{padding:6px 8px;border-bottom:1px solid #e5e5e5;text-align:left;vertical-align:top}.admin-table th{white-space:nowrap;font-weight:400;color:#555}.admin-pre{white-space:pre-wrap;color:#555}.admin-mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.admin-deleted{color:#999;text-decoration:line-through}.admin-error{color:#b42318}.admin-notice{color:#1e6b3c}.admin-note{color:#666;font-size:12px}.shop-screen__test{margin:0;padding:6px 10px;border-radius:6px;background:#e5484d33;font-size:13px}.shop-screen__age{display:flex;flex-direction:column;gap:10px}.shop-screen__age-inputs{display:flex;justify-content:center;gap:8px}.shop-screen__age-inputs select{padding:6px 10px;border-radius:6px;font-size:15px}.shop-screen__products{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.shop-screen__product{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border:1px solid rgba(212,175,55,.5);border-radius:10px;background:#ffffff0d;color:#fff;cursor:pointer;font:inherit}.shop-screen__product:disabled{opacity:.4;cursor:not-allowed}.shop-screen__product.is-selected{background:#d4af3738;border-color:#ffe08a}.shop-screen__product-jade{font-size:17px;font-weight:700;color:#ffe08a}.shop-screen__product-bonus{font-size:12px;opacity:.85}.shop-screen__product-price{margin-top:4px;font-size:15px}.shop-screen__status{font-size:12px;white-space:nowrap;opacity:.8}.shop-screen__status--refunded{color:#ff9a9d}.shop-screen__legal{display:flex;flex-direction:column;gap:8px;text-align:left}.shop-screen__legal-table{width:100%;border-collapse:collapse;font-size:13px}.shop-screen__legal-table th,.shop-screen__legal-table td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:top}.shop-screen__legal-table th{width:9em;font-weight:400;opacity:.75}.online-stamps{position:fixed;right:16px;bottom:92px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.online-stamps__toggle{padding:5px 12px;border:1px solid rgba(212,175,55,.6);border-radius:14px;background:#0009;color:#ffe08a;font-size:13px;cursor:pointer}.online-stamps__panel{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid rgba(212,175,55,.6);border-radius:10px;background:#0a0804eb}.online-stamps__choice{padding:6px 12px;border:none;border-radius:6px;background:#ffffff14;color:#fff;font-size:14px;text-align:left;cursor:pointer}.online-stamps__choice:hover:not(:disabled){background:#d4af374d}.online-stamps__choice:disabled{opacity:.4;cursor:default}.online-stamps__grid{display:grid;grid-template-columns:repeat(2,auto);gap:4px}.online-stamps__grid--art{grid-template-columns:repeat(4,auto)}.online-stamps__choice--art{padding:2px;background:none}.online-stamps__choice--art img{display:block;height:104px}.online-stamps__mute{display:flex;align-items:center;gap:6px;margin-top:4px;color:#fff;font-size:12px;opacity:.8}.online-stamp{position:absolute;z-index:890;display:flex;align-items:center;gap:8px;max-width:340px;pointer-events:none;animation:online-stamp-pop 3.5s ease forwards}.online-stamp--seat0{left:520px;top:468px}.online-stamp--seat1{right:128px;top:150px;flex-direction:row-reverse}.online-stamp--seat2{right:430px;top:110px;flex-direction:row-reverse}.online-stamp--seat3{left:128px;top:130px}.online-stamp__avatar{width:48px;height:48px;border:2px solid #ffe08a;border-radius:50%;object-fit:cover;object-position:top;background:#222}.online-stamp__bubble{display:flex;flex-direction:column;padding:6px 12px;border-radius:12px;background:#fffffff2;color:#222;box-shadow:0 2px 8px #00000080}.online-stamp__name{font-size:11px;opacity:.65}.online-stamp__text{font-size:16px;font-weight:700}.online-stamp__art{height:120px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.55))}@keyframes online-stamp-pop{0%{opacity:0;scale:.7}6%{opacity:1;scale:1.06}10%{scale:1}88%{opacity:1}to{opacity:0}}.online-lobby__agree{display:flex;align-items:center;gap:8px;font-size:14px}.online-lobby__link{padding:0;border:none;background:none;color:#ffe08a;font:inherit;text-decoration:underline;cursor:pointer}.legal-screen__body{max-height:min(calc(var(--app-vh, 1vh) * 56),520px);overflow-y:auto;padding-right:6px;text-align:left}.legal-screen__body h3{margin:14px 0 4px;font-size:15px;color:#ffe08a}.legal-screen__body p{margin:0;font-size:13px;line-height:1.8}.legal-screen__version{font-size:12px;opacity:.6}.gacha-screen__pickup{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #ffe08a;border-radius:10px;background:linear-gradient(135deg,#d4af3740,#e5484d26)}.gacha-screen__pickup-title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-weight:700;color:#ffe08a}.gacha-screen__pickup-until{font-size:12px;font-weight:400;color:#fff;opacity:.8}.gacha-screen__pickup-items{display:flex;flex-wrap:wrap;gap:10px 18px}.gacha-screen__pickup-item{display:flex;align-items:center;gap:8px;font-size:14px;text-align:left}.gacha-screen__pickup-item img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top}.gacha-screen__pickup-item small{display:block;font-size:11px;opacity:.8}.online-home{--oh-gold: #e6c36a;--oh-gold-deep: #a9812c;--oh-ink: rgba(14, 10, 7, .82);--oh-line: rgba(230, 195, 106, .38);--oh-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;position:relative;height:calc(var(--app-vh, 1vh) * 100);height:calc(var(--app-vh, 1dvh) * 100);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;color:#f4efe6;background:radial-gradient(ellipse at 28% 62%,rgba(230,170,80,.2) 0%,transparent 46%),linear-gradient(90deg,#08060340,#0806039e 55%,#080603db),linear-gradient(180deg,#080603b3,#0806031a 22%,#0806031a 70%,#080603d9),url(/title/setup-bg.webp) center / cover no-repeat}.oh-top{display:flex;align-items:center;gap:14px;padding:10px 18px;background:linear-gradient(180deg,#0a0704eb,#0a07048c);border-bottom:1px solid var(--oh-line);box-shadow:0 6px 18px #00000059}.oh-top__spacer{flex:1}.oh-top__title{font-family:var(--oh-serif);font-size:18px;letter-spacing:.4em;color:var(--oh-gold)}.oh-back{flex-shrink:0;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#ffffff0f;color:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.oh-back:hover{background:#ffffff24}.oh-player{display:flex;align-items:center;gap:10px;min-width:0}.oh-player__avatar{width:46px;height:46px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--oh-gold);box-shadow:0 0 0 2px #0009,0 0 12px #e6c36a59;background:#1a130c}.oh-player__text{min-width:0;text-align:left}.oh-player__name{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.oh-player__rank{display:flex;align-items:center;gap:8px;margin-top:3px}button.oh-player__rank{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.oh-player__rank-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid rgba(230,195,106,.7);border-radius:50%;font-size:11px;line-height:1;color:var(--oh-gold)}button.oh-player__rank:hover .oh-player__rank-help{background:#e6c36a40}.oh-link{margin-left:8px;padding:0;border:0;background:none;color:var(--oh-gold);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.oh-player__rank-label{font-family:var(--oh-serif);font-size:14px;font-weight:700;color:var(--oh-gold);white-space:nowrap}.oh-player__rank-bar{width:110px;height:6px;border-radius:3px;background:#ffffff24;overflow:hidden}.oh-player__rank-bar>span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--oh-gold-deep),#ffe9a8)}.oh-player__rank-points{font-size:11px;opacity:.8;font-variant-numeric:tabular-nums;white-space:nowrap}.oh-jade{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:5px 6px 5px 12px;border-radius:999px;border:1px solid rgba(140,220,240,.5);background:#06141acc;color:#d6f6ff;font-size:15px;cursor:pointer}.oh-jade:disabled{cursor:default;padding-right:12px}.oh-jade__gem{width:13px;height:13px;transform:rotate(45deg);border-radius:2px;background:linear-gradient(135deg,#e8fdff,#5fd3ee 45%,#1b7fa3);box-shadow:0 0 8px #5fd3eeb3}.oh-jade__amount{font-weight:700;font-variant-numeric:tabular-nums}.oh-jade__plus{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#7fe3f7,#2b9fc4);color:#04222c;font-size:13px;font-weight:700;line-height:1}.oh-jade:disabled .oh-jade__plus{display:none}.oh-top__icons{display:flex;align-items:center;gap:4px}.oh-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.oh-iconbtn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:58px;padding:5px 6px;border:none;border-radius:8px;background:transparent;color:#e9dfc9;font-size:10px;cursor:pointer;white-space:nowrap}.oh-iconbtn:hover:not(:disabled){background:#e6c36a24;color:#fff}.oh-iconbtn:disabled,.oh-dock__btn:disabled{opacity:.35;cursor:default}.oh-iconbtn .online-lobby__badge{top:0;right:6px}.oh-iconbtn .online-lobby__badge--dot{top:3px;right:14px}.oh-menu{position:relative}.oh-menu__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4}.oh-menu__list{position:absolute;top:calc(100% + 6px);right:0;z-index:5;display:flex;flex-direction:column;min-width:170px;padding:6px;border-radius:10px;border:1px solid var(--oh-line);background:#100c08f7;box-shadow:0 12px 28px #0000008c}.oh-menu__list button,.oh-menu__list a{padding:9px 12px;border:none;border-radius:6px;background:transparent;color:inherit;font-size:14px;text-align:left;cursor:pointer;text-decoration:none}.oh-menu__list button:hover,.oh-menu__list a:hover{background:#e6c36a29}.oh-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:18px;min-height:0;padding:0 24px 0 0}.oh-stage{position:relative;min-height:0;overflow:hidden}.oh-stage__art{position:absolute;left:50%;bottom:0;height:104%;max-width:none;transform:translate(-50%);object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 28px rgba(0,0,0,.65));animation:oh-art-in .45s ease-out;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,#000 74%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,#000 74%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.oh-stage__art--random{filter:grayscale(.85) brightness(.55) drop-shadow(0 0 28px rgba(0,0,0,.65))}.oh-stage__art--top{left:0;top:0;width:100%;height:100%;transform:none;object-fit:cover;object-position:center 35%;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 82%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.oh-stage__art--top.oh-stage__art--random{filter:grayscale(.85) brightness(.55)}.oh-stage__art--avatar{bottom:50%;height:min(46%,300px);aspect-ratio:1;transform:translate(-50%,40%);border-radius:50%;border:3px solid var(--oh-gold);object-fit:cover;background:#1a130c;animation:none;-webkit-mask-image:none;mask-image:none}@keyframes oh-art-in{0%{opacity:0;transform:translate(calc(-50% - 24px))}to{opacity:1;transform:translate(-50%)}}.oh-plate{position:absolute;left:24px;bottom:18px;width:min(430px,calc(100% - 48px));padding:12px 16px 14px;text-align:left;border-left:3px solid var(--oh-gold);background:linear-gradient(90deg,#0a0704eb,#0a070499);border-radius:0 10px 10px 0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.oh-plate__label{font-size:10px;letter-spacing:.2em;color:var(--oh-gold)}.oh-plate__name{margin-top:2px;font-family:var(--oh-serif);font-size:21px;font-weight:700;line-height:1.3}.oh-plate__stars{margin-right:6px;font-size:13px;color:#ffd75e;vertical-align:middle}.oh-plate__sub{margin-top:2px;font-size:12px;opacity:.8}.oh-panel{display:flex;flex-direction:column;gap:10px;min-height:0;padding:10px 4px 10px 0;overflow-y:auto}.oh-panel>:first-child{margin-top:auto}.oh-panel>:last-child{margin-bottom:auto}.oh-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;text-align:left;border:1px solid var(--oh-line);border-radius:14px;background:linear-gradient(160deg,rgba(34,25,16,.92),var(--oh-ink));box-shadow:0 10px 26px #00000073,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.oh-card--ranked{border-color:#e6c36ab3;background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.22),transparent 55%),linear-gradient(160deg,rgba(48,33,16,.94),var(--oh-ink))}.oh-resume{align-self:flex-start;padding:10px 28px;font-size:16px}.oh-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(230,195,106,.22)}.oh-card__title{font-family:var(--oh-serif);font-size:22px;font-weight:700;letter-spacing:.08em;color:#fff3d2}.oh-card__en{font-size:10px;letter-spacing:.28em;color:var(--oh-gold);white-space:nowrap}.oh-card__lead,.oh-note{margin:0;font-size:12.5px;line-height:1.7;opacity:.82}.oh-card__actions{display:flex;flex-wrap:wrap;gap:10px}.oh-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.oh-mode{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 14px 12px;overflow:hidden;border:1px solid #f3d684;border-radius:10px;background:linear-gradient(170deg,#f0cf78,#c99a34 55%,#9a7220);color:#23170a;cursor:pointer;text-align:left;box-shadow:0 4px #6d4f14,0 8px 16px #0006;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.oh-mode:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 6px #6d4f14,0 12px 20px #00000073}.oh-mode:active{transform:translateY(3px);box-shadow:0 1px #6d4f14,0 3px 8px #0006}.oh-mode__kanji{position:absolute;right:-4px;bottom:-22px;font-family:var(--oh-serif);font-size:84px;font-weight:700;line-height:1;color:#3c260829;pointer-events:none}.oh-mode__name{position:relative;font-family:var(--oh-serif);font-size:21px;font-weight:700;letter-spacing:.06em}.oh-mode__sub{position:relative;font-size:11px;opacity:.8}.oh-room-join{display:flex;gap:10px}.oh-room-join input{flex:1;min-width:0;padding:10px 12px;border-radius:8px;border:1px solid var(--oh-line);background:#0000008c;color:#fff;font-size:16px}.oh-room-join input:focus,.oh-card .online-lobby__field input:focus{outline:none;border-color:var(--oh-gold);box-shadow:0 0 0 2px #e6c36a40}.oh-cta{flex-shrink:0;padding:10px 20px;border-radius:8px;border:1px solid #f3d684;background:linear-gradient(180deg,#f0cf78,#b98a2a);color:#23170a;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}.oh-cta:hover:not(:disabled){filter:brightness(1.1)}.oh-cta:disabled{filter:grayscale(.7);opacity:.5;cursor:default}.oh-ghost{align-self:flex-start;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff0f;color:inherit;font-size:13px;cursor:pointer}.oh-ghost:hover{background:#ffffff24}.oh-card .online-lobby__field{align-self:stretch}.oh-card .online-lobby__field input{width:100%;border-color:var(--oh-line)}.oh-queue{position:relative;display:grid;place-items:center;height:120px}.oh-queue__ring{width:96px;height:96px;border-radius:50%;border:3px solid rgba(230,195,106,.18);border-top-color:var(--oh-gold);animation:oh-spin 1.1s linear infinite}.oh-queue__time{position:absolute;font-family:var(--oh-serif);font-size:22px;font-variant-numeric:tabular-nums;color:#fff3d2}@keyframes oh-spin{to{transform:rotate(360deg)}}.oh-card--room .oh-mode__name{font-size:18px;white-space:nowrap}.oh-seats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.oh-seat{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0006}.oh-seat--you{border-color:var(--oh-gold);background:#e6c36a1a}.oh-seat--cpu{opacity:.55;border-style:dashed}.oh-seat__avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#1a130c;border:1px solid var(--oh-line)}.oh-seat__avatar--none{display:grid;place-items:center;font-size:11px;color:var(--oh-gold)}.oh-seat__text{display:flex;flex-direction:column;min-width:0}.oh-seat__name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oh-seat__loadout{font-size:10.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oh-dock{display:flex;justify-content:center;gap:10px;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,#0a0704f0,#0a070499);border-top:1px solid var(--oh-line)}.oh-dock__btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 1 190px;padding:10px 12px;border-radius:10px;border:1px solid rgba(230,195,106,.35);background:linear-gradient(180deg,#342616f2,#18110af2);color:#f1e6cd;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .12s ease,border-color .12s ease}.oh-dock__btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--oh-gold);color:#fff}.oh-dock__btn--gacha{border-color:#f3d684;background:linear-gradient(180deg,#7a2f3c,#401520);color:#ffe9b0}.oh-gate{display:flex;flex-direction:column;align-items:center;gap:14px;min-height:0;padding:24px 16px;overflow-y:auto;text-align:center}.oh-gate>:first-child{margin-top:auto}.oh-gate>:last-child{margin-bottom:auto}.oh-card--form{width:min(440px,100%)}.online-home .modal-overlay{background:#050302bd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:oh-fade-in .16s ease-out}@keyframes oh-fade-in{0%{opacity:0}}.online-home .gacha-screen{gap:12px;padding:0 18px 18px;border:1px solid rgba(230,195,106,.6);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.1),transparent 45%),linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff0f;scrollbar-width:thin;scrollbar-color:rgba(230,195,106,.45) transparent;animation:oh-panel-in .2s ease-out}@keyframes oh-panel-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.online-home .gacha-screen>.setup-picker-modal__header{position:sticky;top:0;z-index:2;align-self:stretch;margin:0 -18px;padding:12px 18px 10px;border-bottom:1px solid var(--oh-line);background:linear-gradient(180deg,#1e150cfc,#18110af5)}.online-home .setup-picker-modal__header>.setup-character-select__label{font-family:var(--oh-serif);font-size:21px;font-weight:700;letter-spacing:.08em;color:#fff3d2;opacity:1}.online-home .setup-picker-modal__close{width:34px;height:34px;border-radius:50%;border-color:var(--oh-line);background:#ffffff0d;transition:background .12s ease,transform .12s ease}.online-home .setup-picker-modal__close:hover{background:#e6c36a33;transform:rotate(90deg)}.online-home .btn{border:1px solid rgba(230,195,106,.45);border-radius:8px;background:linear-gradient(180deg,#3a2b19f2,#1c140cf2);color:#f4ead2;transition:filter .12s ease,transform .12s ease}.online-home .btn:hover:not(:disabled){filter:brightness(1.18)}.online-home .btn:active:not(:disabled){transform:translateY(1px)}.online-home .btn:disabled{opacity:.45;cursor:default}.online-home .btn--primary{border-color:#f3d684;background:linear-gradient(180deg,#f0cf78,#b98a2a);color:#23170a;box-shadow:0 3px #6d4f14}.online-home .btn--primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #6d4f14}.online-home .btn--secondary{border-color:#ffffff47;background:#ffffff0f;color:#f0f0f0}.online-home .btn--large{font-family:var(--oh-serif);letter-spacing:.06em;border-radius:10px}.online-home .inbox-screen__tabs{gap:6px}.online-home .inbox-screen__tab{padding:7px 16px;border:1px solid transparent;border-radius:999px;color:#e9dfc9;opacity:.7;transition:background .12s ease,opacity .12s ease}.online-home .inbox-screen__tab:hover{opacity:1;background:#e6c36a1a}.online-home .inbox-screen__tab.is-active{opacity:1;border-color:var(--oh-gold);background:linear-gradient(180deg,#e6c36a4d,#e6c36a1f);color:#fff3d2}.online-home .gacha-screen .online-lobby__section-title{align-self:stretch;margin-top:8px;padding:0 0 6px 10px;border-left:3px solid var(--oh-gold);border-bottom:1px solid rgba(230,195,106,.2);font-family:var(--oh-serif);font-size:16px;letter-spacing:.06em;color:#fff3d2;text-align:left}.online-home .setup-lead{line-height:1.7}.online-home .first-gacha__title{font-family:var(--oh-serif);font-size:28px;letter-spacing:.12em;color:var(--oh-gold);text-shadow:0 2px 12px rgba(0,0,0,.8)}.online-home .first-gacha__confirm{padding:12px 16px;border:1px solid var(--oh-line);border-radius:12px;background:#00000073}.online-home .gacha-screen input:not([type=checkbox]):not([type=radio]),.online-home .gacha-screen select,.online-home .gacha-screen textarea{border:1px solid var(--oh-line);border-radius:8px;background:#0000008c;color:#fff}.online-home .gacha-screen input:focus,.online-home .gacha-screen select:focus,.online-home .gacha-screen textarea:focus{outline:none;border-color:var(--oh-gold);box-shadow:0 0 0 2px #e6c36a40}.online-home .inbox-screen__news,.online-home .inbox-screen__gift,.online-home .history-screen__match{border:1px solid rgba(255,255,255,.09);border-radius:10px;background:linear-gradient(180deg,#ffffff12,#ffffff08)}.online-home .history-screen__match{border-left-width:4px}.online-home .missions-screen__bar-fill{background:linear-gradient(90deg,var(--oh-gold-deep),#ffe9a8)}.online-home .gacha-card{padding:10px 4px;border-width:1px;border-color:#ffffff47;border-radius:12px;background:linear-gradient(180deg,#28221ce6,#0a0806e6)}.online-home .gacha-card--r2{border-color:#6fb7ff;background:linear-gradient(180deg,#162c48eb,#080a10eb)}.online-home .gacha-card--r3{border-color:#ffd34d;background:radial-gradient(circle at 50% 0%,rgba(255,211,77,.35),transparent 65%),linear-gradient(180deg,#5c3e06eb,#0e0a04eb)}.online-home .gacha-card__avatar,.online-home .units-screen__unit img{border:1px solid var(--oh-line);background:#1a130c}.online-home .gacha-card__name{font-family:var(--oh-serif)}.online-home .units-screen__unit{padding:8px 6px;border-color:#ffffff29;border-radius:10px;background:linear-gradient(180deg,#28221cd9,#0a0806d9);transition:transform .12s ease,border-color .12s ease}.online-home .units-screen__unit:hover:not(:disabled){transform:translateY(-2px);border-color:var(--oh-gold)}.online-home .units-screen__unit--selected{border-color:#ffd34d;background:linear-gradient(180deg,#5c3e0699,#0e0a04d9)}.online-home .shop-screen__product{padding:14px 8px;border-color:var(--oh-line);border-radius:12px;background:linear-gradient(180deg,#0e283299,#0a0806d9);transition:transform .12s ease,border-color .12s ease}.online-home .shop-screen__product:hover:not(:disabled){transform:translateY(-2px);border-color:#7fe3f7}.online-home .shop-screen__product.is-selected{border-color:#7fe3f7;background:linear-gradient(180deg,#1e6e878c,#0a0806d9);box-shadow:0 0 14px #5fd3ee59}.online-home .online-lobby__notice{border-color:#78dcaa99;border-radius:10px;background:linear-gradient(90deg,#144e36e6,#0e3226cc)}.online-home .online-lobby__error{padding:8px 12px;border:1px solid rgba(255,120,120,.4);border-radius:8px;background:#5a141473}.match-setup .setup-gallery-links{gap:8px}.online-home a.oh-ghost{align-self:center;padding:6px 12px;font-size:12px;text-decoration:none;white-space:nowrap}.oh-plate__buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.oh-plate__buttons .oh-ghost{border-color:var(--oh-line);background:#e6c36a1a}.oh-plate__buttons .oh-ghost:hover{background:#e6c36a3d}.oh-card--online{width:100%;padding-right:52px;border-color:#8cdcf099;background:radial-gradient(circle at 100% 0%,rgba(95,211,238,.24),transparent 55%),linear-gradient(160deg,rgba(16,40,52,.94),var(--oh-ink));color:inherit;font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,filter .12s ease}.oh-card--online:hover{transform:translateY(-2px);border-color:#7fe3f7;filter:brightness(1.1)}.oh-card--online .oh-card__head{border-bottom-color:#8cdcf040}.oh-card--online .oh-card__en{color:#9be8f8}.oh-card__arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:34px;line-height:1;color:#9be8f8}.online-home .setup-cpu-difficulty{align-self:stretch;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#00000059}.online-home .setup-cpu-difficulty__row{gap:8px}.online-home .setup-cpu-difficulty__name{flex-shrink:0;font-size:13px;color:var(--oh-gold);white-space:nowrap}.online-home .setup-cpu-difficulty__selects{flex:1;min-width:0;justify-content:flex-end}.online-home .setup-cpu-difficulty__row select{min-width:0;border:1px solid var(--oh-line);border-radius:6px;background:#0009;color:#fff}.online-home .setup-cpu-difficulty__selects select:first-child{flex:1}.online-home .oh-card .setup-debug-toggle{font-size:12px;text-align:left}.online-home .setup-picker-modal,.online-home .character-confirm{border:1px solid rgba(230,195,106,.6);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.1),transparent 45%),linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff0f;scrollbar-width:thin;scrollbar-color:rgba(230,195,106,.45) transparent;animation:oh-panel-in .2s ease-out}.online-home .setup-picker-modal{max-width:min(760px,calc(calc(var(--app-vw, 1vw) * 100) - 24px));max-height:calc(calc(var(--app-vh, 1dvh) * 100) - 32px)}.online-home .setup-picker-modal>.setup-picker-modal__header{padding-bottom:10px;border-bottom:1px solid var(--oh-line)}.online-home .character-card{border-width:1px;border-color:#ffffff24;background:linear-gradient(180deg,#28221cd9,#0a0806d9);transition:transform .12s ease,border-color .12s ease}.online-home .character-card:hover{transform:translateY(-2px);border-color:var(--oh-gold);background:linear-gradient(180deg,#3c2e1ce6,#0a0806d9)}.online-home .character-card--selected{border-color:#ffd34d;background:linear-gradient(180deg,#5c3e0699,#0e0a04d9);box-shadow:0 0 12px #ffd34d73}.online-home .character-card__avatar{border:1px solid var(--oh-line);background-color:#1a130c}.online-home .character-card__shortname,.online-home .character-confirm__name{font-family:var(--oh-serif)}.online-home .character-confirm__name{color:#fff3d2}.modal,.match-victory-card,.online-connection-overlay,.skill-info-card{--oh-gold: #e6c36a;--oh-gold-deep: #a9812c;--oh-line: rgba(230, 195, 106, .38);--oh-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif}.modal{padding:0 20px 20px;border:1px solid rgba(230,195,106,.6);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.1),transparent 45%),linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff0f;scrollbar-width:thin;scrollbar-color:rgba(230,195,106,.45) transparent;animation:oh-panel-in .2s ease-out}.modal>h2{position:sticky;top:0;z-index:2;margin:0 -20px;padding:14px 20px 11px;border-bottom:1px solid var(--oh-line);background:linear-gradient(180deg,#1e150cfc,#18110af7);font-family:var(--oh-serif);font-size:24px;letter-spacing:.14em;color:#fff3d2;text-align:center}.modal h3{margin:4px 0 8px;padding-left:10px;border-left:3px solid var(--oh-gold);font-family:var(--oh-serif);font-size:17px;letter-spacing:.08em;color:#fff3d2}.modal .win-detail{padding:10px 8px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:linear-gradient(180deg,#ffffff12,#ffffff08)}.modal .win-detail__player{font-family:var(--oh-serif);font-size:16px;color:var(--oh-gold)}.modal .win-detail__score{margin-top:6px;padding-top:6px;border-top:1px solid rgba(230,195,106,.22);font-family:var(--oh-serif);font-size:18px;color:#ffe9a8}.modal .rank-card{border:1px solid rgba(255,255,255,.09);border-left-width:5px;background:linear-gradient(90deg,#ffffff14,#ffffff05)}.modal .rank-card--1{border-color:#f1c4538c;border-left-color:#f1c453;background:linear-gradient(90deg,#f1c4533d,#f1c4530a)}.modal .rank-card--2{border-left-color:#c9d2e0}.modal .rank-card--3{border-left-color:#d08a4d}.modal .rank-card__avatar{border:1px solid var(--oh-line);background:#1a130c}.modal .rank-card__rank{font-family:var(--oh-serif);font-size:16px;color:var(--oh-gold)}.modal .rank-card__score{font-variant-numeric:tabular-nums}.modal .score-rank-result{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:12px 14px;border:1px solid rgba(230,195,106,.6);border-radius:12px;background:radial-gradient(circle at 0% 50%,rgba(230,195,106,.2),transparent 55%),#0006}.score-rank-result__place{flex-shrink:0;font-family:var(--oh-serif);font-size:16px;color:var(--oh-gold)}.score-rank-result__place strong{font-size:40px;line-height:1;color:#ffe9a8}.score-rank-result__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.score-rank-result__ranks{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-family:var(--oh-serif);font-size:19px;color:#fff3d2}.score-rank-result__before,.score-rank-result__arrow{font-size:14px;opacity:.65}.score-rank-result__change{padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700}.score-rank-result__change--up{background:linear-gradient(180deg,#f0cf78,#b98a2a);color:#23170a}.score-rank-result__change--down{background:#ff8a8a33;color:#ffb3b3}.score-rank-result__bar{height:7px;border-radius:4px;background:#ffffff24;overflow:hidden}.score-rank-result__bar>span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--oh-gold-deep),#ffe9a8)}.score-rank-result__points{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;font-variant-numeric:tabular-nums}.score-rank-result__points .score-rank-result__delta--up,.score-rank-result__points .score-rank-result__delta--down{font-weight:700}.score-rank-result__jade{margin-left:auto;padding:1px 10px;border:1px solid rgba(140,220,240,.5);border-radius:999px;background:#06141acc;color:#d6f6ff}.modal .btn,.match-victory-card .btn,.online-connection-overlay .btn,.skill-info-card .btn{border:1px solid rgba(230,195,106,.45);border-radius:8px;background:linear-gradient(180deg,#3a2b19f2,#1c140cf2);color:#f4ead2;transition:filter .12s ease,transform .12s ease}.modal .btn--primary,.match-victory-card .btn--primary,.online-connection-overlay .btn--primary,.skill-info-card .btn--primary{border-color:#f3d684;background:linear-gradient(180deg,#f0cf78,#b98a2a);color:#23170a;box-shadow:0 3px #6d4f14}.modal .btn--primary:active:not(:disabled),.match-victory-card .btn--primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #6d4f14}.modal .btn:disabled{filter:grayscale(.6);opacity:.55;cursor:default}.online-connection-overlay .btn--secondary{border-color:#ffffff47;background:#ffffff0f;color:#f0f0f0}.modal>.btn--primary,.modal>div>.btn--primary{display:block;width:100%;padding:11px 14px;font-family:var(--oh-serif);font-size:17px;letter-spacing:.1em}.match-victory-card{border:1px solid #f3d684;background:radial-gradient(circle at 50% 0%,rgba(230,195,106,.2),transparent 60%),linear-gradient(170deg,#241a10fc,#0c0906fc)}.match-victory-card__title{font-family:var(--oh-serif);font-size:18px;letter-spacing:.6em;text-indent:.6em;color:#ffe9a8}.match-victory-card__name{font-family:var(--oh-serif);letter-spacing:.06em;color:#fff3d2}.match-victory-card__quote{padding:10px 16px;border-top:1px solid var(--oh-line);border-bottom:1px solid var(--oh-line);font-family:var(--oh-serif);font-style:normal}.match-victory-card .btn--large{font-family:var(--oh-serif);letter-spacing:.1em;border-radius:10px}.skill-info-card{border:1px solid rgba(230,195,106,.6);background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.12),transparent 50%),linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3}.title-modal,.replay-controls{--oh-gold: #e6c36a;--oh-line: rgba(230, 195, 106, .38);--oh-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif}.title-modal{border:1px solid rgba(230,195,106,.6);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(230,195,106,.1),transparent 45%),linear-gradient(170deg,#241a10fa,#0e0a07fa);box-shadow:0 24px 60px #000000b3,inset 0 1px #ffffff0f;scrollbar-width:thin;scrollbar-color:rgba(230,195,106,.45) transparent}.title-modal h2,.title-modal h3{font-family:var(--oh-serif);letter-spacing:.08em;color:#fff3d2}.title-modal .setup-picker-modal__header{padding-bottom:10px;border-bottom:1px solid var(--oh-line)}.title-modal .setup-picker-modal__header>.setup-character-select__label{font-family:var(--oh-serif);font-size:20px;font-weight:700;letter-spacing:.08em;color:#fff3d2;opacity:1}.replay-controls{border:1px solid var(--oh-line)}.replay-controls .btn{border:1px solid rgba(230,195,106,.45);border-radius:8px;background:linear-gradient(180deg,#3a2b19f2,#1c140cf2);color:#f4ead2}.replay-controls .btn:disabled{opacity:.4;cursor:default}.replay-controls .btn--primary{border-color:#f3d684;background:linear-gradient(180deg,#f0cf78,#b98a2a);color:#23170a}.replay-controls .btn--secondary{border-color:#ffffff47;background:#ffffff0f;color:#f0f0f0}.replay-controls__seek{flex:1 1 100%;order:-1;width:100%;margin:0;accent-color:var(--oh-gold);cursor:pointer}.replay-controls--folded{left:auto;right:12px;transform:none;flex-wrap:nowrap;gap:10px;padding:6px 10px;opacity:.92}.replay-controls--folded .replay-controls__info span{display:none}.replay-controls--folded .replay-controls__buttons .btn{padding:4px 8px}.replay-controls--folded .replay-controls__info strong{font-size:13px}.replay-controls select{padding:3px 6px;border:1px solid var(--oh-line);border-radius:6px;background:#0009;color:#fff}.oh-unit-random{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--oh-line);background:#ffffff0f;font-size:20px;font-weight:700;color:var(--oh-gold)}.oh-ghost:disabled{opacity:.4;cursor:default}.oh-top{animation:oh-drop-in .3s ease-out backwards}.oh-panel>*,.oh-gate>*{animation:oh-rise-in .34s ease-out backwards}.oh-panel>:nth-child(2){animation-delay:.06s}.oh-panel>:nth-child(3){animation-delay:.12s}.oh-panel>:nth-child(n+4){animation-delay:.18s}.oh-plate{animation:oh-rise-in .34s ease-out .1s backwards}.oh-dock{animation:oh-rise-in .3s ease-out backwards}@keyframes oh-drop-in{0%{opacity:0;transform:translateY(-12px)}}@keyframes oh-rise-in{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion: reduce){.oh-top,.oh-panel>*,.oh-gate>*,.oh-plate,.oh-dock,.oh-stage__art,.online-home .gacha-screen,.online-home .modal-overlay{animation:none}}.gacha-reveal{--gr-color: #e9f1ff;--gr-glow: rgba(210, 228, 255, .75);--gr-deep: #1a2233;position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,var(--gr-deep),#05060a 70%);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;animation:gr-fade-in .25s ease-out}.gacha-reveal--tier2{--gr-color: #7cc4ff;--gr-glow: rgba(90, 170, 255, .85);--gr-deep: #0d2a52}.gacha-reveal--tier3{--gr-color: #ffd866;--gr-glow: rgba(255, 200, 70, .9);--gr-deep: #4a3206}.gacha-reveal__stage{position:relative;width:min(70vmin,520px);aspect-ratio:1;display:grid;place-items:center}.gacha-reveal__stage>*{position:absolute}.gacha-reveal__rays{top:-60%;right:-60%;bottom:-60%;left:-60%;background:repeating-conic-gradient(from 0deg,var(--gr-glow) 0deg 4deg,transparent 4deg 18deg);mask-image:radial-gradient(circle,transparent 12%,#000 22%,transparent 68%);-webkit-mask-image:radial-gradient(circle,transparent 12%,#000 22%,transparent 68%);opacity:.35;animation:gr-spin 9s linear infinite,gr-rays-grow 1.4s ease-out both}.gacha-reveal--tier2 .gacha-reveal__rays{opacity:.5;animation-duration:6s,1.4s}.gacha-reveal--tier3 .gacha-reveal__rays{opacity:.75;animation-duration:3.5s,1.4s}.gacha-reveal__ring{width:46%;aspect-ratio:1;border-radius:50%;border:2px solid var(--gr-color);border-left-color:transparent;border-right-color:transparent;box-shadow:0 0 18px var(--gr-glow),inset 0 0 18px var(--gr-glow);animation:gr-spin 1.6s linear infinite}.gacha-reveal__ring--outer{width:62%;border-width:1px;border-color:transparent var(--gr-color);opacity:.7;animation:gr-spin 2.6s linear infinite reverse}.gacha-reveal__orb{width:24%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff 0%,var(--gr-color) 38%,transparent 72%);box-shadow:0 0 40px 10px var(--gr-glow),0 0 120px 40px var(--gr-glow);animation:gr-orb-pulse .5s ease-in-out infinite alternate,gr-orb-grow 2.6s ease-in both}.gacha-reveal--tier2 .gacha-reveal__stage:after,.gacha-reveal--tier3 .gacha-reveal__stage:before{content:"";position:absolute;width:24%;aspect-ratio:1;border-radius:50%;border:3px solid var(--gr-color);animation:gr-shock .7s ease-out both}.gacha-reveal--burst .gacha-reveal__orb{animation:gr-orb-burst .52s ease-out both}.gacha-reveal--burst .gacha-reveal__ring{animation:gr-shock .5s ease-out both}.gacha-reveal__spark{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px var(--gr-glow);transform:rotate(var(--angle)) translate(0);animation:gr-spark .52s ease-out both}.gacha-reveal__flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,#fff 0%,var(--gr-color) 45%,transparent 85%);animation:gr-flash .52s ease-out both;pointer-events:none}.gacha-reveal--spot{background:radial-gradient(circle at 50% 40%,#6b4a08,#120b02 75%)}.gacha-reveal__spot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.gacha-reveal__spot-rays{position:absolute;width:200vmax;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,rgba(255,214,102,.3) 0deg 6deg,transparent 6deg 20deg);mask-image:radial-gradient(circle,#000 0%,transparent 55%);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 55%);animation:gr-spin 24s linear infinite}.gacha-reveal__art{position:absolute;top:0;left:50%;height:112%;max-width:calc(var(--app-vw, 1vw) * 96);object-fit:contain;object-position:bottom;transform:translate(-50%);filter:drop-shadow(0 0 28px rgba(255,214,102,.75));mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 60%,transparent 76%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 60%,transparent 76%);mask-composite:intersect;-webkit-mask-composite:source-in;animation:gr-art-in .7s cubic-bezier(.2,.9,.2,1) both}.gacha-reveal__card{position:relative;display:grid;place-items:center;width:min(34vmin,220px);aspect-ratio:3 / 4;margin-bottom:calc(var(--app-vh, 1vh) * 18);border-radius:14px;border:2px solid #ffd866;background:radial-gradient(circle at 50% 0%,rgba(255,216,102,.5),transparent 65%),linear-gradient(180deg,#5c3e06,#140e04);box-shadow:0 0 40px #ffc846cc;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,"Noto Serif JP",serif;font-size:min(9vmin,56px);font-weight:700;color:#ffe9a8;animation:gr-card-in .7s cubic-bezier(.2,.9,.2,1) both}.gacha-reveal__plate{position:absolute;left:0;right:0;bottom:9%;padding:14px 16px 16px;text-align:center;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,"Noto Serif JP",serif;background:linear-gradient(90deg,transparent,rgba(8,5,2,.88) 22%,rgba(8,5,2,.88) 78%,transparent);border-top:1px solid rgba(255,214,102,.7);border-bottom:1px solid rgba(255,214,102,.7);animation:gr-plate-in .5s ease-out .35s both}.gacha-reveal__stars{font-size:clamp(20px,4vmin,34px);letter-spacing:.3em;color:#ffd866;text-shadow:0 0 14px rgba(255,200,70,.9)}.gacha-reveal__title{font-size:clamp(13px,2.2vmin,18px);letter-spacing:.2em;color:#e6c36a}.gacha-reveal__name{font-size:clamp(30px,7vmin,60px);font-weight:700;letter-spacing:.12em;line-height:1.15;color:#fff6dc;text-shadow:0 0 20px rgba(255,200,70,.8),0 2px 0 #000}.gacha-reveal__skill{margin-top:2px;font-size:clamp(12px,2vmin,16px);letter-spacing:.1em;opacity:.9}.gacha-reveal__count{position:absolute;top:18px;left:20px;font-size:14px;letter-spacing:.1em;color:#ffe9a8}.gacha-reveal__skip{position:absolute;top:14px;right:16px;padding:7px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#00000080;color:#fff;font-size:13px;cursor:pointer}.gacha-reveal__skip:hover{background:#ffffff29}.gacha-reveal__hint{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.2em;opacity:.7;animation:gr-blink 1.4s ease-in-out infinite;pointer-events:none}@keyframes gr-fade-in{0%{opacity:0}}@keyframes gr-spin{to{rotate:360deg}}@keyframes gr-rays-grow{0%{scale:.3}}@keyframes gr-orb-pulse{to{filter:brightness(1.35)}}@keyframes gr-orb-grow{0%{scale:.35}to{scale:1.5}}@keyframes gr-orb-burst{0%{scale:1.5;opacity:1}to{scale:9;opacity:0}}@keyframes gr-shock{0%{scale:1;opacity:1}to{scale:6;opacity:0}}@keyframes gr-spark{to{transform:rotate(var(--angle)) translate(var(--reach));opacity:0}}@keyframes gr-flash{0%{opacity:0}35%{opacity:1}to{opacity:0}}@keyframes gr-art-in{0%{opacity:0;scale:1.25;filter:brightness(4) drop-shadow(0 0 28px rgba(255,214,102,.75))}}@keyframes gr-card-in{0%{opacity:0;transform:rotateY(180deg) scale(.6);filter:brightness(4)}}@keyframes gr-plate-in{0%{opacity:0;transform:scaleX(.4)}}@keyframes gr-blink{50%{opacity:.25}}.gacha-card{position:relative;overflow:hidden;animation:gacha-card-flip .5s cubic-bezier(.2,.9,.3,1.2) both}.gacha-card--r2{box-shadow:0 0 14px #6fb7ff8c}.gacha-card--r3{animation:gacha-card-flip .5s cubic-bezier(.2,.9,.3,1.2) both,gacha-card-glow 1.6s ease-in-out infinite alternate}.gacha-card--r3:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translate(-120%);animation:gacha-card-shine 2.4s ease-in-out .8s infinite;pointer-events:none}@keyframes gacha-card-flip{0%{opacity:0;transform:perspective(600px) rotateY(90deg) scale(.8);filter:brightness(3)}}@keyframes gacha-card-glow{0%{box-shadow:0 0 12px #ffd34d99}to{box-shadow:0 0 28px 4px #ffd34df2}}@keyframes gacha-card-shine{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}@media (prefers-reduced-motion: reduce){.gacha-card,.gacha-card--r3,.gacha-card--r3:after{animation:none}}.rank-guide{width:min(720px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));font-size:13.5px;line-height:1.7;text-align:left}.rank-guide>*{flex-shrink:0}.rank-guide__mine{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 14px;border:1px solid rgba(230,195,106,.7);border-radius:10px;background:linear-gradient(90deg,#e6c36a33,#e6c36a0a)}.rank-guide__mine-label{font-size:11px;letter-spacing:.1em;opacity:.75}.rank-guide__mine-rank{font-family:var(--oh-serif);font-size:22px;font-weight:700;color:var(--oh-gold)}.rank-guide__mine-points{font-variant-numeric:tabular-nums}.rank-guide__ladder{display:flex;align-items:stretch;justify-content:space-between;gap:4px}.rank-guide__step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 2px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff0a}.rank-guide__step.is-mine{border-color:var(--oh-gold);background:#e6c36a33;box-shadow:0 0 12px #e6c36a59}.rank-guide__step-name{font-family:var(--oh-serif);font-size:17px;font-weight:700;white-space:nowrap}.rank-guide__step.is-mine .rank-guide__step-name{color:var(--oh-gold)}.rank-guide__step-levels{font-size:10.5px;opacity:.75;white-space:nowrap}.rank-guide__arrow{align-self:center;font-size:10px;color:var(--oh-gold);opacity:.7}.rank-guide__rules{margin:0;padding-left:22px}.rank-guide__rules b,.rank-guide__score b{color:#ffe9a8}.rank-guide__tabs{display:flex;align-items:center;gap:6px;margin-top:4px}.rank-guide__tabs-label{flex:1;padding-left:10px;border-left:3px solid var(--oh-gold);font-family:var(--oh-serif);font-size:16px;font-weight:700}.rank-guide__tab{padding:5px 14px;border:1px solid rgba(230,195,106,.5);border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}.rank-guide__tab.is-active{border-color:var(--oh-gold);background:var(--oh-gold);color:#1c140a;font-weight:700}.rank-guide__table-wrap{overflow-x:auto;border:1px solid var(--oh-line);border-radius:10px}.rank-guide__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-guide__table th,.rank-guide__table td{padding:5px 8px;text-align:center;border-bottom:1px solid rgba(255,255,255,.07)}.rank-guide__table thead th{font-size:12px;font-weight:400;color:var(--oh-gold);background:#e6c36a1f;border-bottom:1px solid var(--oh-line)}.rank-guide__table tbody th{text-align:left;font-family:var(--oh-serif);font-size:15px}.rank-guide__table tbody tr.is-tier-start>*{border-top:1px solid rgba(230,195,106,.35)}.rank-guide__table tbody tr:last-child>*{border-bottom:0}.rank-guide__table tbody tr.is-mine>*{background:#e6c36a33}.rank-guide__table tbody tr.is-mine th{color:var(--oh-gold)}.rank-guide__here,.rank-guide__safe{margin-left:6px;padding:1px 6px;border-radius:999px;font-family:inherit;font-size:10px;font-weight:400;vertical-align:middle}.rank-guide__here{background:var(--oh-gold);color:#1c140a;font-weight:700}.rank-guide__safe{border:1px solid rgba(140,220,170,.6);color:#9be0b8}.rank-guide__delta.is-plus{color:#8fe3a8}.rank-guide__delta.is-minus{color:#ff9a8c}.rank-guide__score{padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#ffffff0a}.rank-guide__score p{margin:0}.rank-guide__score-title{font-family:var(--oh-serif);font-size:15px;font-weight:700;color:var(--oh-gold)}.rank-guide__example{margin-top:4px!important;opacity:.92}.rank-guide__notes{margin:0;padding-left:20px;font-size:12px;opacity:.8}.stage--menu{background:linear-gradient(#080603db,#080603db),url(/title/setup-bg.webp) center / cover no-repeat}.gacha-screen.rank-guide{width:min(1180px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));font-size:12.5px;line-height:1.45;gap:8px}.rank-guide__cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:16px;width:100%;align-items:start}.rank-guide__left,.rank-guide__right{display:flex;flex-direction:column;gap:8px;min-width:0}.gacha-screen.rank-guide .rank-guide__mine{padding:6px 12px}.gacha-screen.rank-guide .rank-guide__mine-rank{font-size:19px}.gacha-screen.rank-guide .rank-guide__step{padding:4px 2px}.gacha-screen.rank-guide .rank-guide__step-name{font-size:14px}.gacha-screen.rank-guide .rank-guide__rules{padding-left:18px}.gacha-screen.rank-guide .rank-guide__tabs-label{font-size:14px}.gacha-screen.rank-guide .rank-guide__tab{padding:2px 12px}.gacha-screen.rank-guide .rank-guide__table th,.gacha-screen.rank-guide .rank-guide__table td{padding:1px 6px;line-height:1.2;font-size:12px}.gacha-screen.rank-guide .rank-guide__table tbody th{font-size:13px}.gacha-screen.rank-guide .rank-guide__score,.gacha-screen.rank-guide .rank-guide__notes{padding-top:6px;padding-bottom:6px}.gacha-screen.rank-guide .rank-guide__score p,.gacha-screen.rank-guide .rank-guide__notes{margin:2px 0}.gacha-screen.gacha-rates-modal{width:min(1240px,calc(calc(var(--app-vw, 1vw) * 100) - 32px))}.gacha-rates-modal .gacha-screen__rates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.6fr);gap:10px 16px;font-size:11.5px;line-height:1.4}.gacha-rates-modal .gacha-screen__rate-note{grid-column:1 / -1;margin:0}.card-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.card-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px;padding:4px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(180deg,#28221cd9,#0a0806d9);color:inherit;font:inherit;cursor:pointer}.card-tile.is-focused{border-color:#e9c46a;box-shadow:0 0 0 1px #e9c46a inset}.card-tile.is-selected .card-tile__name:before{content:"✔ ";color:#e9c46a}.card-tile__top{display:flex;align-items:center;gap:6px;font-size:10px}.card-tile__stars{color:#e9c46a;letter-spacing:1px}.card-tile__kind{padding:0 5px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:10px;opacity:.8}.card-tile__name{font-size:12px;line-height:1.25;text-align:center;word-break:keep-all;overflow-wrap:anywhere}.card-picker-pager{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px}.card-picker-pager button:disabled{opacity:.35;cursor:default}.card-picker-detail{flex:none;min-height:84px;padding:8px 12px;border:1px solid rgba(233,196,106,.35);border-radius:8px;background:#ffffff0a}.card-picker-detail__head{display:flex;align-items:center;gap:8px}.card-picker-detail__name{font-size:16px;font-weight:700}.card-picker-detail__pick{margin-left:auto}.card-picker-detail__desc{margin:4px 0 0;font-size:12px;line-height:1.5;opacity:.85}.setup-picker-modal__grid .character-card:not(.card-card){width:88px;padding:6px 3px;gap:2px}.setup-picker-modal__grid .character-card:not(.card-card) .character-card__avatar{width:40px;height:40px}.setup-picker-modal__grid .character-card:not(.card-card) .character-card__desc{font-size:10px}.setup-picker-modal__grid{gap:6px}.history-stats{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}.history-stats__total{margin:0;font-size:13px;opacity:.85}.history-stats__cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:start}.history-stats__left,.history-stats__right{display:flex;flex-direction:column;gap:10px;min-width:0}.history-stats__block{padding:8px 12px 10px;border:1px solid rgba(233,196,106,.3);border-radius:10px;background:#ffffff0a}.history-stats__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.history-stats__head h3{margin:0;padding-left:8px;border-left:3px solid #e9c46a;font-size:14px}.history-stats__note{font-size:12px;opacity:.7}.history-stats__window{display:inline-flex;align-items:center;gap:6px;font-size:12px}.history-stats__window button{width:22px;height:22px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:inherit;line-height:1;cursor:pointer}.history-stats__window button:disabled{opacity:.3;cursor:default}.history-stats__line{display:block;width:100%;height:auto}.history-stats__grid{stroke:#ffffff29;stroke-width:1}.history-stats__axis{fill:#ffffffbf;font-size:13px}.history-stats__path{fill:none;stroke:#e9892f;stroke-width:2;stroke-linejoin:round}.history-stats__dot{fill:#f7c948;stroke:#1a130c;stroke-width:.8}.history-stats__bars{display:flex;flex-direction:column;gap:5px}.history-stats__bar-row{display:grid;grid-template-columns:34px minmax(0,1fr) 64px;align-items:center;gap:8px;font-size:12px}.history-stats__bar-track{height:12px;border-radius:6px;background:#ffffff14;overflow:hidden}.history-stats__bar{display:block;height:100%;border-radius:6px}.history-stats__bar--place1{background:#f9d56e}.history-stats__bar--place2{background:#f2a03d}.history-stats__bar--place3{background:#e0673a}.history-stats__bar--place4{background:#b5263a}.history-stats__bar-value{text-align:right;font-variant-numeric:tabular-nums;color:#ffd27a}.history-stats__grid-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 10px}.history-stats__stat{display:flex;flex-direction:column;align-items:flex-start;font-size:11px;opacity:.95}.history-stats__stat strong{font-size:15px;font-variant-numeric:tabular-nums;color:#ffd27a}.history-screen__pager{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px}.history-screen__pager .btn{padding:3px 12px;font-size:12px}.history-stats__pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px}.history-stats__donut-wrap{display:flex;align-items:center;gap:10px}.history-stats__donut{width:78px;height:78px;flex-shrink:0}.history-stats__donut-bg{fill:none;stroke:#ffffff14;stroke-width:16}.history-stats__donut-seg{fill:none;stroke-width:16}.history-stats__donut--riichi{stroke:#54c0ea;background:#54c0ea}.history-stats__donut--open{stroke:#4f6fe0;background:#4f6fe0}.history-stats__donut--dama{stroke:#b573d9;background:#b573d9}.history-stats__legend{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:12px}.history-stats__swatch{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:50%}.history-stats__legend strong{margin-left:4px;color:#ffd27a;font-variant-numeric:tabular-nums}.history-stats__formats{display:flex;gap:8px}.history-stats__format{flex:1;display:flex;align-items:baseline;justify-content:center;gap:8px;padding:5px 10px;border:1px solid rgba(233,196,106,.4);border-radius:8px;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.history-stats__format small{font-weight:400;opacity:.7}.history-stats__format.is-active{border-color:#e9c46a;background:#e9c46a38}.history-stats__footnote{margin:0}.gacha-screen.rules-guide{width:min(980px,calc(calc(var(--app-vw, 1vw) * 100) - 32px));text-align:left}.rules-guide__guide{display:flex;flex-direction:column;gap:8px;width:100%;min-height:300px}.rules-guide__page-title{margin:4px 0 0;padding-left:10px;border-left:3px solid #e9c46a;font-size:18px}.rules-guide__lines{display:flex;flex-direction:column;gap:10px;margin:6px 0 0;padding-left:22px;font-size:14px;line-height:1.7}.rules-guide__pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:auto;font-size:13px}.rules-guide__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.rules-guide__chips-gap{width:12px}.rules-guide__chip{padding:3px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.rules-guide__chip.is-active{border-color:#e9c46a;background:#e9c46a40}.rules-guide__yaku,.rules-guide__points{width:100%}.rules-guide__table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.rules-guide__table th,.rules-guide__table td{padding:4px 8px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center;line-height:1.35}.rules-guide__table thead th{color:#e9c46a;font-weight:400;font-size:12px;background:#e9c46a1a}.rules-guide__table tbody th{text-align:left;white-space:nowrap}.rules-guide__table td.rules-guide__desc{text-align:left;font-size:12px;opacity:.9}.rules-guide__note{margin:6px 0 0;font-size:11.5px;opacity:.75;line-height:1.5}.rules-guide__points-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}.rules-guide__table--points tbody th{text-align:center}.rules-guide__limits{display:flex;flex-direction:column}.tutorial-panel{position:absolute;left:50%;bottom:175px;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:min(720px,92%);padding:10px 16px 12px;border:1px solid #e9c46a;border-radius:12px;background:#100c08ed;box-shadow:0 10px 30px #0009;color:#fff;text-align:left}.tutorial-panel--top{bottom:auto;top:34px}.tutorial-panel--nudge{animation:tutorial-nudge .35s ease-out}.tutorial-panel__head{font-size:11px;letter-spacing:.08em;color:#e9c46a}.tutorial-panel__text{margin:0;font-size:15px;line-height:1.6}.tutorial-panel__next{align-self:flex-end}.tutorial-panel__wait{align-self:flex-end;font-size:12px;opacity:.7}.tutorial-quit{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:81;padding:3px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#0000008c;color:inherit;font:inherit;font-size:11px;cursor:pointer}@keyframes tutorial-pulse{0%,to{filter:none;box-shadow:0 0 #ffdd7800}50%{filter:brightness(1.25);box-shadow:0 0 14px 4px #ffdd78f2}}@keyframes tutorial-pulse-tile{0%,to{outline:3px solid rgba(255,221,120,0);outline-offset:2px}50%{outline:3px solid rgba(255,221,120,1);outline-offset:4px}}@keyframes tutorial-nudge{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 8px))}75%{transform:translate(calc(-50% + 8px))}}.setup-tutorial-btn{border-color:#e9c46a;color:#ffe9a8}.modal.modal--result{width:min(960px,96%);max-width:960px;max-height:calc(var(--app-vh, 1vh) * 96)}.result-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.result-cols__left,.result-cols__right{display:flex;flex-direction:column;gap:10px;min-width:0}.tile--kyushu-open{transform-origin:50% 100%;animation:tile-kyushu-open .45s cubic-bezier(.2,.8,.3,1) backwards}@keyframes tile-kyushu-open{0%{scale:1 .08;opacity:.2;filter:brightness(1.6)}60%{scale:1 1.08;opacity:1}to{scale:1 1;filter:none}}.cf{--cf-gold: #d9b45a;--cf-gold-deep: #8a6a24;--cf-silver: #c3cbd5;--cf-silver-deep: #6d7885;--cf-bronze: #c98757;--cf-bronze-deep: #6e4326;--cf-vermilion: #c8402f;--cf-pine: #2f7a5b;--cf-font: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;container-type:inline-size;width:100%;position:relative;color:#f2eee2;text-align:left}.cf *,.cf *:before,.cf *:after{box-sizing:border-box}.cf h3,.cf p{margin:0}.cf-a,.cf-b{aspect-ratio:5 / 7;width:100%;position:relative}.cf svg{display:block}.cf--btn{cursor:pointer;border-radius:5cqw;outline-offset:2px}.cf--btn:focus-visible{outline:2px solid #e9c46a}.cf--selected:after{content:"✔";position:absolute;top:3cqw;right:4cqw;z-index:3;width:11cqw;height:11cqw;display:grid;place-items:center;border-radius:50%;background:#e9c46a;color:#231a05;font-size:7.4cqw;font-weight:900;box-shadow:0 0 0 .8cqw #00000073}.cf--focused .cf-a,.cf--focused .cf-b{outline:.9cqw solid #fff;outline-offset:.6cqw;border-radius:5cqw}.cf--compact .cf-b__text,.cf--compact .cf-a p{display:none}.cf--compact .cf-b h3{font-size:11.4cqw;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;text-wrap:balance}.cf--compact .cf-a h3{font-size:11.6cqw}.cf--compact .cf-b__type{font-size:7.4cqw}.cf--compact .cf-b__stars{font-size:8.4cqw}.cf--compact .cf-a__stars{font-size:9cqw}.cf--compact .cf-seal{font-size:8cqw}.cf--compact .cf-b__window svg,.cf--compact .cf-a__art svg{width:40cqw;height:40cqw}.cf-a{--f1: var(--cf-gold);--f2: var(--cf-gold-deep);background:linear-gradient(165deg,#211c13,#0f0e0b 62%);border-radius:4.5cqw;padding:5cqw;display:flex;flex-direction:column;gap:3cqw;box-shadow:0 0 0 .7cqw var(--f2),0 0 0 1.4cqw #0b0b0a,0 0 0 1.9cqw var(--f1),0 3cqw 6cqw #0000008c;overflow:hidden}.cf-a[data-r="2"]{--f1: var(--cf-silver);--f2: var(--cf-silver-deep)}.cf-a[data-r="1"]{--f1: var(--cf-bronze);--f2: var(--cf-bronze-deep)}.cf-a:before{content:"";position:absolute;top:2.6cqw;right:2.6cqw;bottom:2.6cqw;left:2.6cqw;border:.4cqw solid color-mix(in srgb,var(--f1) 55%,transparent);border-radius:3cqw;pointer-events:none}.cf-a__top{display:flex;justify-content:space-between;align-items:center;padding:0 1.5cqw}.cf-a__stars{color:var(--f1);font-size:7.2cqw;letter-spacing:.1em}.cf-seal{font-family:var(--cf-font);font-weight:800;font-size:6.6cqw;line-height:1;padding:1.4cqw 2cqw;border-radius:1cqw;color:#fff4e0;background:var(--cf-vermilion);box-shadow:inset 0 0 0 .35cqw #ffffff59;transform:rotate(-3deg)}.cf-seal--passive{background:var(--cf-pine)}.cf-a__art{flex:1 1 auto;min-height:0;display:grid;place-items:center;border-radius:2.4cqw;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--f1) 38%,transparent),transparent 62%),linear-gradient(180deg,#17140e,#0a0907);box-shadow:inset 0 0 0 .35cqw color-mix(in srgb,var(--f1) 40%,transparent)}.cf-a__art svg{width:34cqw;height:34cqw;stroke:var(--f1);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2.4cqw color-mix(in srgb,var(--f1) 70%,transparent))}.cf-a h3{font-family:var(--cf-font);font-weight:800;font-size:9.6cqw;text-align:center;color:#f2eee2;letter-spacing:.06em}.cf-a p{font-size:6.2cqw;line-height:1.5;text-align:center;color:#a8a396;padding:0 1.5cqw 1.5cqw;text-wrap:balance}.cf-a[data-r="3"]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 30%,rgba(255,220,140,.55) 42%,rgba(255,252,235,.95) 50%,rgba(255,220,140,.55) 58%,transparent 70%);transform:translate(-120%);animation:cf-foil 2.4s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}@keyframes cf-foil{0%,35%{transform:translate(-120%)}to{transform:translate(120%)}}.cf-a[data-r="3"]{animation:cf-gold-glow 2.2s ease-in-out infinite}@keyframes cf-gold-glow{0%,to{box-shadow:0 0 0 .7cqw var(--f2),0 0 0 1.4cqw #0b0b0a,0 0 0 1.9cqw var(--f1),0 3cqw 6cqw #0000008c,0 0 3cqw .5cqw #d9b45a59}50%{box-shadow:0 0 0 .7cqw var(--f2),0 0 0 1.4cqw #0b0b0a,0 0 0 1.9cqw #ffe9a8,0 3cqw 6cqw #0000008c,0 0 8cqw 2.4cqw #ffd264b3}}.cf-b{--tone-a: #1d7a70;--tone-b: #0e2f35;--rim1: var(--cf-gold);--rim2: var(--cf-gold-deep);border-radius:5cqw;padding:2.6cqw;background:linear-gradient(135deg,var(--rim1),var(--rim2) 45%,var(--rim1));box-shadow:0 3cqw 6cqw #0000008c;overflow:hidden}.cf-b[data-k=active]{--tone-a: #6b34a8;--tone-b: #27123f}.cf-b[data-r="2"]{--rim1: var(--cf-silver);--rim2: var(--cf-silver-deep)}.cf-b[data-r="1"]{--rim1: var(--cf-bronze);--rim2: var(--cf-bronze-deep)}.cf-b__face{height:100%;border-radius:3.4cqw;padding:3.6cqw;display:flex;flex-direction:column;gap:2.6cqw;background:radial-gradient(circle at 50% 18%,var(--tone-a),var(--tone-b) 78%);position:relative}.cf-b__name{display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding:1.8cqw 3cqw;border-radius:2cqw;background:linear-gradient(180deg,#ffffff38,#ffffff0f);box-shadow:inset 0 0 0 .35cqw #ffffff47}.cf-b h3{font-family:var(--cf-font);font-weight:800;font-size:8.4cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-b__gem{flex:none;width:6.4cqw;height:6.4cqw;rotate:45deg;background:linear-gradient(135deg,#fff,var(--rim1));box-shadow:0 0 2cqw var(--rim1)}.cf-b__window{flex:1 1 auto;min-height:0;display:grid;place-items:center;border-radius:2.4cqw;background:radial-gradient(circle at 50% 50%,#ffffff4d,#fff0 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 1.4cqw,transparent 1.4cqw 2.8cqw);box-shadow:inset 0 0 0 .5cqw var(--rim1),inset 0 1cqw 3cqw #0006}.cf-b__window svg{width:32cqw;height:32cqw;stroke:#fff;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1cqw 1.6cqw rgba(0,0,0,.5))}.cf-b__type{display:flex;justify-content:space-between;align-items:center;font-size:5.6cqw;font-weight:700;padding:0 1.5cqw}.cf-b__stars{color:var(--rim1);letter-spacing:.08em;font-size:6.4cqw}.cf-b__text{border-radius:2cqw;padding:3cqw;background:#08080e8c;box-shadow:inset 0 0 0 .35cqw #ffffff29}.cf-b p{font-size:6cqw;line-height:1.5}@property --cf-ang{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.cf-b[data-r="3"]{background:conic-gradient(from var(--cf-ang),#ffd36b,#ff5fa2,#b05fff,#5fc8ff,#5fffb4,#ffd36b);animation:cf-rim-spin 4s linear infinite,cf-rim-glow 2.4s ease-in-out infinite;transform:perspective(700px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .12s ease-out}@keyframes cf-rim-spin{to{--cf-ang: 360deg}}@keyframes cf-rim-glow{0%,to{box-shadow:0 3cqw 6cqw #0000008c,0 0 4cqw .5cqw #ff78c873}50%{box-shadow:0 3cqw 6cqw #0000008c,0 0 9cqw 2.2cqw #78c8ffbf}}.cf-b__fx{display:none}.cf-b[data-r="3"] .cf-b__fx{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.22) 0,rgba(0,0,0,.22) 13%,#000 19%,#000 62%,rgba(0,0,0,.2) 69%,rgba(0,0,0,.2) 100%);mask-image:linear-gradient(180deg,#00000038 0,#00000038 13%,#000 19%,#000 62%,#0003 69%,#0003)}.cf-b[data-r="3"] .cf-b__fx:before{content:"";position:absolute;top:-10%;right:-40%;bottom:-10%;left:-40%;background:linear-gradient(105deg,transparent 38%,rgba(255,95,162,.55) 43%,rgba(255,211,107,.6) 47%,rgba(95,255,180,.55) 51%,rgba(95,200,255,.55) 55%,rgba(176,95,255,.5) 59%,transparent 64%);mix-blend-mode:screen;opacity:.85;transform:translate(-100%);animation:cf-holo-pass 3.2s ease-in-out infinite}@keyframes cf-holo-pass{0%,30%{transform:translate(-100%)}70%,to{transform:translate(100%)}}.cf-b[data-r="3"] .cf-b__spot{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx, 50%) var(--my, 30%),rgba(255,255,255,.35),transparent 45%);mix-blend-mode:overlay}.cf-b[data-r="3"] .cf-b__gem{animation:cf-gem 1.2s ease-in-out infinite}@keyframes cf-gem{50%{box-shadow:0 0 5cqw 1.2cqw #fff;filter:brightness(1.5)}}.cf-chip{--chip-rim: #d9b45a;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border:0;border-radius:10px;color:#f2eee2;font:inherit;background:linear-gradient(135deg,#1d7a70,#0e2f35);box-shadow:0 0 0 2px var(--chip-rim),0 2px 8px #00000080}.cf-chip[data-k=active]{background:linear-gradient(135deg,#6b34a8,#27123f)}.cf-chip[data-r="2"]{--chip-rim: #c3cbd5}.cf-chip[data-r="1"]{--chip-rim: #c98757}.cf-chip svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.cf-chip b{font-size:14px}.cf-chip small{font-size:11px;opacity:.8}.cf-chip .cf-seal{font-size:11px;padding:2px 5px;border-radius:4px;transform:none}.cf-chip--btn{cursor:pointer}.cf-chip--idle{gap:5px;padding:2px 8px 2px 5px;opacity:.45;transition:opacity .15s}.cf-chip--idle svg{width:16px;height:16px}.cf-chip--idle b{font-size:12px}.cf-chip--idle small,.cf-chip--idle .cf-seal{display:none}.cf-chip--idle:hover{opacity:1}.cf-chip--idle:hover small{display:inline}.cf-chip--ready{animation:cf-chip-ready 1.6s ease-in-out infinite}@keyframes cf-chip-ready{50%{box-shadow:0 0 0 2px var(--chip-rim),0 0 14px 3px color-mix(in srgb,var(--chip-rim) 75%,transparent),0 2px 8px #00000080}}@media (prefers-reduced-motion: reduce){.cf-chip--ready{animation:none}}.gacha-cardface{position:relative;width:100%;animation:gacha-card-flip .5s cubic-bezier(.2,.9,.3,1.2) both}@media (prefers-reduced-motion: reduce){.gacha-cardface{animation:none}}.card-picker-grid{gap:10px}.units-screen__cards{flex-direction:row;flex-wrap:wrap;gap:12px}.units-screen__card-pick{display:flex;flex-direction:column;align-items:center;gap:4px;width:104px}.units-screen__card-count{font-size:12px;opacity:.8}.unit-detail__card{display:flex;gap:10px;align-items:flex-start}.unit-detail__card-face{flex:none;width:84px}.unit-detail__card-body{min-width:0}.action-stack__card{display:flex}.cf-caption{margin:6px 0 0!important;font-size:12px;line-height:1.45;text-align:center;color:#e6dfcc;text-wrap:balance}.units-screen__card-pick{width:124px}.gacha-cardface .gacha-card__new{top:-6px;left:-6px;z-index:4;box-shadow:0 1px 4px #0009}.cs-slot{--cs-tone: #1d7a70;display:flex;flex-direction:column;align-items:center;gap:6px;width:112px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:center}.cs-slot[data-k=consumable]{--cs-tone: #8a4bd0}.cs-slot--btn{cursor:pointer}.cs-slot__label{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--cs-tone) 40%,#fff)}.cs-slot__face,.cs-slot__empty{display:block;width:100%}.cs-slot__empty{aspect-ratio:5 / 7;display:grid;place-items:center;border:2px dashed color-mix(in srgb,var(--cs-tone) 75%,#fff);border-radius:10px;background:color-mix(in srgb,var(--cs-tone) 18%,transparent)}.cs-slot--btn:hover .cs-slot__empty,.cs-slot--btn:focus-visible .cs-slot__empty{background:color-mix(in srgb,var(--cs-tone) 34%,transparent)}.cs-slot__plus{font-size:34px;line-height:1;color:color-mix(in srgb,var(--cs-tone) 45%,#fff)}.cs-slot__hint{font-size:12px;opacity:.85}.cs-slot__name{font-size:12px;font-weight:700;line-height:1.3}.cs-slot__edit{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.4);opacity:.9}.oh-plate__slots{display:flex;gap:14px;margin-top:10px}.unit-detail__slots{display:flex;gap:14px;flex-wrap:wrap}.cs-picker{display:flex;flex-direction:column;gap:10px;width:min(900px,calc(calc(var(--app-vw, 1vw) * 100) - 24px));max-height:calc(calc(var(--app-vh, 1vh) * 100) - 24px);overflow-y:auto;padding:18px 20px;border-radius:12px;border:1px solid rgba(233,196,106,.55);background:#15110c;color:#f2eee2}.cs-picker__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cs-picker__title{font-size:18px;font-weight:700;color:#ffe4a3}.cs-picker__note{margin:0;font-size:13px;color:#ffb4a8}.cs-picker__empty{margin:12px 0;font-size:14px;line-height:1.6;opacity:.85}.cs-picker__filters{display:flex;align-items:center;gap:8px}.cs-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-height:300px;overflow-y:auto;padding:4px 4px 8px}.cs-pick{display:flex;flex-direction:column;align-items:center;gap:2px}.cs-pick__count{font-size:12px;opacity:.85}.cs-picker__detail{flex:none}.cs-picker__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.unit-detail__box--slot{display:flex;align-items:center;gap:14px}.cardloadout{display:grid;place-items:center}.cardloadout__body{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px 28px;max-width:640px;border-radius:14px;background:#0a0806c7;border:1px solid rgba(233,196,106,.35)}.cardloadout__who{display:flex;align-items:center;gap:14px}.cardloadout__who img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(233,196,106,.6)}.cardloadout__lead{margin:0;font-size:14px;line-height:1.7;text-align:center;color:#e6dfcc}.cardloadout__slots{display:flex;gap:28px}.cardloadout__slots .cs-slot{width:176px}.online-home .oh-main.cardloadout{display:flex;align-items:center;justify-content:center}.cardloadout__body{align-self:center;width:min(640px,calc(calc(var(--app-vw, 1vw) * 100) - 48px))}.cardloadout__slots .cs-slot{width:140px}.cardloadout__done{align-self:center}.skill-activation-overlay--nullified .skill-activation-overlay__cutin-wrap{filter:grayscale(1) brightness(.7)}.skill-activation-overlay--nullified .skill-activation-overlay__skill{color:#ff6b6b}.card-trigger-toast{position:fixed;left:50%;top:30%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 22px;border-radius:10px;color:#f2eee2;background:#141820e0;box-shadow:0 0 0 2px #d9b45a,0 4px 14px #0000008c;pointer-events:none;animation:card-trigger-toast 2.2s ease both}.card-trigger-toast b{font-size:18px;color:#ffd86b}.card-trigger-toast span{font-size:13px}@keyframes card-trigger-toast{0%{opacity:0;transform:translate(-50%) translateY(-8px)}12%,80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0}}@media (prefers-reduced-motion: reduce){.card-trigger-toast{animation:none}}.card-use-stage{--from-x: 0px;--from-y: 0px;position:fixed;left:50%;top:47%;z-index:62;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;animation:card-use-stage 2.8s cubic-bezier(.2,.8,.25,1) both}.card-use-stage--seat0{--from-y: 260px}.card-use-stage--seat1{--from-x: 340px}.card-use-stage--seat2{--from-y: -260px}.card-use-stage--seat3{--from-x: -340px}.card-use-stage:before{content:"";position:absolute;left:50%;top:50%;width:760px;height:460px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,#0000008c,#00000059 45%,#0000 72%);z-index:-1}.card-use-stage__label{font-size:30px;font-weight:900;letter-spacing:.2em;padding-left:.2em;color:#ffe08a;text-shadow:0 0 14px rgba(255,200,80,.85),0 2px 4px rgba(0,0,0,.8)}.card-use-stage--auto .card-use-stage__label{color:#a8e6ff;text-shadow:0 0 14px rgba(110,200,255,.85),0 2px 4px rgba(0,0,0,.8)}.card-use-stage__who{font-size:15px;font-weight:700;color:#f2eee2;text-shadow:0 1px 3px rgba(0,0,0,.9)}.card-use-stage__card{width:168px;border-radius:12px;filter:drop-shadow(0 0 18px rgba(255,210,100,.8)) drop-shadow(0 8px 14px rgba(0,0,0,.6))}.card-use-stage--auto .card-use-stage__card{filter:drop-shadow(0 0 18px rgba(110,200,255,.8)) drop-shadow(0 8px 14px rgba(0,0,0,.6))}.card-use-stage__detail{max-width:420px;text-align:center;font-size:17px;font-weight:700;color:#fffbe8;padding:7px 18px;border-radius:10px;background:linear-gradient(180deg,#5c461af0,#3a2a0ef0);box-shadow:0 0 0 1.5px #e8c46a,0 4px 12px #00000080;text-shadow:0 1px 2px rgba(0,0,0,.7)}.card-use-stage--auto .card-use-stage__detail{background:linear-gradient(180deg,#184260f0,#0e283ef0);box-shadow:0 0 0 1.5px #7fd0ff,0 4px 12px #00000080}@keyframes card-use-stage{0%{opacity:0;transform:perspective(900px) translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(.45) rotateY(100deg)}20%{opacity:1;transform:perspective(900px) translate(-50%,-50%) scale(1.08) rotateY(0)}28%{transform:perspective(900px) translate(-50%,-50%) scale(1) rotateY(0)}82%{opacity:1;transform:perspective(900px) translate(-50%,-50%) scale(1) rotateY(0)}to{opacity:0;transform:perspective(900px) translate(-50%,-50%) scale(1.06) rotateY(0)}}@media (prefers-reduced-motion: reduce){.card-use-stage{animation:card-use-fade 2.8s ease both;transform:translate(-50%,-50%)}@keyframes card-use-fade{0%,to{opacity:0}15%,80%{opacity:1}}}.score-card-notes{margin:4px 0 8px;padding:0;list-style:none;font-size:13px;color:#ffd86b}
