@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700;900&display=swap";:root{font-family:DM Sans,"Noto Serif SC",sans-serif;color:#eee9e1;background:#110f16;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:radial-gradient(circle at 80% 0,#312343 0,#110f16 40%),#110f16}body.game-active,body:has(.rule-dialog-backdrop){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:2px solid #e0a470;outline-offset:3px}.app-shell{display:flex;min-height:100vh}.sidebar{width:256px;flex:0 0 256px;padding:27px 16px 18px;background:#17151c;border-right:1px solid #302b37;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 11px 28px}.brand-mark{color:#d49a67;font-size:30px}.brand strong,.brand small,.sidebar-footer strong,.sidebar-footer small{display:block}.brand strong{font:700 17px "Noto Serif SC"}.brand small{color:#77717d;font-size:8px;letter-spacing:1.8px}.environment{padding:10px 12px;border:1px solid #332e3b;border-radius:6px;color:#938b98;font-size:10px;margin-bottom:23px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b47a70;margin-right:7px}.status-dot.online{background:#6bd1ac;box-shadow:0 0 8px #6bd1ac}nav{display:grid;gap:5px}.nav-link{background:transparent;border-radius:7px;padding:11px 12px;display:flex;gap:11px;text-align:left;color:#958d9a}.nav-link>span{width:19px;text-align:center;font-size:18px}.nav-link em{font-style:normal}.nav-link strong,.nav-link small{display:block}.nav-link strong{font-size:12px}.nav-link small{font-size:9px;color:#746e79;margin-top:4px}.nav-link.active,.nav-link:hover{background:#2c2538;color:#e1ad77}.nav-link.active small{color:#b99880}.sidebar-footer{display:flex;align-items:center;gap:9px;margin-top:auto;padding:16px 8px 0;border-top:1px solid #302b37}.sidebar-footer strong{font-size:11px}.sidebar-footer small{font-size:9px;color:#77717d;margin-top:4px}.avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#8a6858;color:#f5dcb9}.main-content{max-width:1500px;width:100%;padding:35px 6vw 70px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#918996}.eyebrow.gold{color:#d19b68}.page-header h1{font:600 32px "Noto Serif SC";margin:8px 0}.page-header p,.hero-card p{color:#948c97;font-size:13px;line-height:1.8;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:11px 17px;font-size:12px;font-weight:600}.button.primary{background:#d89d68;color:#1c1310}.button.primary:hover{background:#e7b37d}.button.secondary{background:#24202a;border:1px solid #3c3545;color:#b9afbc}.hero-card{min-height:330px;padding:42px 48px;display:flex;justify-content:space-between;align-items:center;border:1px solid #3a3044;border-radius:9px;background:linear-gradient(110deg,#211a2d,#18151f 68%);overflow:hidden}.hero-card h2{font:700 clamp(27px,3vw,43px)/1.2 "Noto Serif SC";letter-spacing:-1px;margin:12px 0 18px}.hero-card h2 em{color:#dda872;font-style:normal}.hero-card p{max-width:500px;margin-bottom:23px}.hero-card .button span{font-size:17px;margin-left:11px}.hero-orbit{width:35%;height:230px;display:grid;place-items:center;position:relative}.orbit-symbol{font-size:85px;color:#d49b68;filter:drop-shadow(0 0 35px #bc7c4b80);z-index:2}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px solid #a36e7650;border-radius:50%;width:280px;height:130px;transform:rotate(-25deg)}.hero-orbit:after{width:160px;height:260px;transform:rotate(45deg)}.hero-orbit i,.hero-orbit b{position:absolute;font-style:normal;color:#cd9970;font-size:20px}.hero-orbit i{top:22%;left:12%}.hero-orbit b{right:13%;bottom:25%}.section-block{margin-top:38px}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font:600 19px "Noto Serif SC";margin:6px 0 16px}.muted,.data-source{color:#77717c;font-size:11px}.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.module-card{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:19px 15px;background:#1b1821;border:1px solid #332d3a;border-radius:7px}.module-card:hover{border-color:#8d644f;transform:translateY(-2px)}.module-icon{color:#d19a69;font-size:22px}.module-card span:nth-child(2){flex:1}.module-card strong,.module-card small{display:block}.module-card strong{font:600 14px "Noto Serif SC"}.module-card small{color:#817986;font-size:10px;line-height:1.6;margin-top:7px}.module-card>b{color:#b98661;font-size:17px}.notice{display:flex;gap:13px;align-items:center;margin-top:20px;padding:15px 18px;background:#211c29;border:1px solid #342b3f;border-radius:7px}.notice>span{color:#d69c69;font-size:21px}.notice strong{font-size:12px}.notice p{color:#817986;font-size:10px;margin:4px 0 0}.game-layout{display:grid;grid-template-columns:minmax(520px,1fr) 280px;gap:21px}.board-panel,.panel,.match-panel,.empty-panel{background:#1a1720;border:1px solid #332d3a;border-radius:8px;padding:21px}.board-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.board-heading h2,.match-panel h2,.empty-panel h2{font:600 20px "Noto Serif SC";margin:7px 0}.turn-badge{color:#6ccaa4;background:#20372f;border-radius:12px;font-size:10px;padding:5px 9px}.board{display:grid;gap:2px;aspect-ratio:1;background:#574039;padding:6px;max-width:680px;margin:auto}.board-cell{min-width:0;background:#9c7457;position:relative;display:grid;place-items:center}.board-cell:nth-child(odd){background:#916b51}.board-cell.cave{background:#544547}.board-cell.selected{box-shadow:inset 0 0 0 3px #e2ac75}.node-label{position:absolute;top:5px;right:7px;color:#d7b0a1;font-size:10px}.chess-piece{width:56%;height:56%;border:3px solid #e4c296;border-radius:50%;display:grid;place-items:center;font:700 clamp(13px,2.5vw,23px) "Noto Serif SC";box-shadow:0 4px 8px #1c0f0baa}.chess-piece.positive{background:#9c4b43;color:#f8ddbb}.chess-piece.negative{background:#345e79;color:#d4e6e9}.interaction-hint,.server-note{color:#8f8793;font-size:11px;line-height:1.7}.interaction-hint{margin:15px 0 0}.error-message{color:#e6a39b;background:#3a252b;border-radius:5px;padding:9px;font-size:11px}.match-panel{align-self:start}.match-panel h2{margin-bottom:21px}.state-line{display:flex;justify-content:space-between;border-top:1px solid #302a37;padding:13px 0;font-size:11px;color:#877f8a}.state-line strong{color:#ded5d0}.server-note{padding:12px;background:#26202d;border-radius:5px;margin-top:14px}.record-grid,.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-heading h2{font:600 17px "Noto Serif SC";margin:0}.panel-heading>span{color:#8b7e8e;font-size:10px}.record-row{display:flex;align-items:center;gap:12px;border-top:1px solid #2d2833;padding:14px 0;margin-top:14px}.record-icon{color:#cd9567;font-size:21px}.record-row>div{flex:1}.record-row strong,.record-row small{display:block}.record-row strong{font-size:12px}.record-row small{color:#7f7782;font-size:10px;margin-top:4px}.text-button{background:none;color:#d29b6b;font-size:11px}.empty-small{text-align:center;padding:55px 15px;color:#7b7480;font-size:11px}.empty-small span{display:block;color:#c28d68;font-size:35px;margin-bottom:11px}.studio-intro{background:linear-gradient(145deg,#241b30,#1a1720)}.large-symbol{font-size:42px;color:#d09a69}.studio-intro h2{font:600 25px "Noto Serif SC";margin:17px 0 12px}.studio-intro p{color:#908894;font-size:12px;line-height:1.8}.studio-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px}.studio-tags span{padding:5px 7px;border:1px solid #584051;border-radius:4px;color:#af8c9b;font-size:8px;letter-spacing:1px}.empty-panel{text-align:center;padding:85px 20px}.empty-mark{color:#d19b68;font-size:45px}.empty-panel p{color:#8b8390;font-size:12px}.active-label{color:#6dc7a2;font-size:10px}.route-state{min-height:100dvh;padding:2rem;display:grid;place-content:center;justify-items:center;text-align:center;background:radial-gradient(circle at 50% 35%,#26382f 0,#0d1512 32%,#090b0d 72%);color:#edf5ef}.route-state-mark{display:grid;place-items:center;width:4rem;height:4rem;border:1px solid #d7a15d;border-radius:50%;color:#e5b66e;font-size:2rem;box-shadow:0 0 2rem #d7a15d24}.route-state h1{margin:1.1rem 0 .45rem;font:700 clamp(1.55rem,3vw,2.4rem) "Noto Serif SC"}.route-state p{max-width:34rem;margin:.2rem 0 1.4rem;color:#91a49b;line-height:1.7}.route-state-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}.route-error .route-state-mark{border-color:#e17b72;color:#efaaa1}@media(max-width:1000px){.module-grid{grid-template-columns:repeat(2,1fr)}.game-layout,.record-grid,.studio-layout{grid-template-columns:1fr}}@media(max-width:650px){.sidebar{width:70px;flex-basis:70px;padding:20px 9px}.brand span:not(.brand-mark),.environment,.nav-link em,.sidebar-footer span{display:none}.brand{padding:0 7px 28px}.nav-link{justify-content:center;padding:12px 0}.sidebar-footer{justify-content:center}.main-content{padding:24px 16px 50px}.page-header{align-items:flex-start}.page-header h1{font-size:25px}.hero-card{padding:27px 22px}.hero-orbit{display:none}.module-grid{grid-template-columns:1fr}.game-layout{display:flex;flex-direction:column}.board-panel{padding:12px}.record-grid,.studio-layout{display:flex;flex-direction:column}}.mode-selector{display:flex;gap:12px;margin-bottom:20px}.mode-option{flex:1;padding:14px 18px;background:#1b1821;border:2px solid #332d3a;border-radius:8px;text-align:center;font:600 14px "Noto Serif SC";color:#b9afbc;transition:border-color .2s,background .2s}.mode-option.is-active{background:#2c2538;border-color:#d89d68;color:#e1ad77}.mode-option.is-disabled-future{opacity:.5;cursor:not-allowed}.mode-badge{display:block;font-size:9px;color:#d49a67;margin-top:5px;letter-spacing:1px}.difficulty-selector{display:flex;align-items:center;gap:8px;margin-bottom:20px}.difficulty-label{font-size:11px;color:#918996;letter-spacing:1px;margin-right:4px}.difficulty-option{padding:7px 14px;background:#1b1821;border:1px solid #332d3a;border-radius:5px;font-size:11px;color:#b9afbc}.difficulty-option.is-active{background:#2c2538;border-color:#d89d68;color:#e1ad77}.ai-badge{display:inline-block;padding:2px 8px;background:#2c2538;border:1px solid #d89d68;border-radius:4px;color:#e1ad77;font-size:10px;margin-right:6px;vertical-align:middle}.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(22rem,.65fr);color:#eef4ef;background:#07100d}.login-atmosphere{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(1.5rem,4vw,4.2rem);border-right:1px solid #32463c;background-image:linear-gradient(90deg,#07110de6,#081510b8 55%,#0a130fd9),linear-gradient(0deg,#06100de8,transparent 55%),url(/image/board-celestial-mist.webp);background-position:center;background-size:cover}.login-atmosphere:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(#9fc0ad0d 1px,transparent 1px),linear-gradient(90deg,#9fc0ad0d 1px,transparent 1px);background-size:clamp(3rem,6vw,5.5rem) clamp(3rem,6vw,5.5rem);-webkit-mask-image:linear-gradient(90deg,#000,transparent 82%);mask-image:linear-gradient(90deg,#000,transparent 82%)}.login-brand,.login-manifesto,.login-orbit{position:relative;z-index:1}.login-brand{display:flex;align-items:center;gap:.8rem}.login-brand>span{width:clamp(2.7rem,4vw,3.5rem);aspect-ratio:1;display:grid;place-items:center;border:1px solid #5c886f;border-radius:.75rem;color:#8de1b8;background:#163428b8;box-shadow:0 0 2rem #68cf9a1f;font-size:clamp(1.45rem,2.5vw,2rem)}.login-brand strong,.login-brand small{display:block}.login-brand strong{font:700 clamp(1.05rem,1.5vw,1.35rem) "Noto Serif SC"}.login-brand small{margin-top:.25rem;color:#84968d;font-size:.58rem;letter-spacing:.2em}.login-manifesto{max-width:min(46rem,88%);margin-block:auto;padding-block:clamp(3rem,9vh,7rem)}.login-manifesto h1{margin:clamp(.8rem,2vh,1.4rem) 0 clamp(1rem,2.4vh,1.8rem);font:800 clamp(2.6rem,4.8vw,5.6rem)/1.08 "Noto Serif SC";letter-spacing:-.045em}.login-manifesto h1 em{color:#d8aa72;font-style:normal}.login-manifesto p{max-width:38rem;margin:0;color:#a4b3ab;font-size:clamp(.82rem,1.1vw,1rem);line-height:1.9}.login-orbit{position:absolute;right:clamp(2rem,8vw,8rem);bottom:clamp(2rem,7vh,5rem);width:clamp(8rem,15vw,14rem);aspect-ratio:1;display:grid;place-items:center;border:1px solid #b78b5f3d;border-radius:50%;transform:rotate(-18deg)}.login-orbit:before,.login-orbit:after{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:1px solid #b78b5f42;border-radius:50%;transform:rotate(56deg) scaleX(1.8)}.login-orbit:after{top:30%;right:30%;bottom:30%;left:30%;transform:rotate(-38deg) scaleY(2.2)}.login-orbit span{color:#d9aa70;font-size:clamp(2.8rem,5vw,5rem);filter:drop-shadow(0 0 1.5rem #d9aa7066)}.login-orbit i,.login-orbit b{position:absolute;color:#8bcca8;font-style:normal}.login-orbit i{left:-8%;top:40%}.login-orbit b{right:5%;top:10%}.login-panel{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem);background:radial-gradient(circle at 20% 15%,#183126 0,#0d1713 32%,#090d0b 78%)}.login-panel-copy h2{margin:.75rem 0 .45rem;font:700 clamp(2rem,3vw,2.9rem) "Noto Serif SC"}.login-panel-copy p{margin:0;color:#819188;font-size:.82rem;line-height:1.7}.login-form{display:grid;gap:1rem;margin-top:clamp(2rem,5vh,3.5rem)}.login-form label{display:grid;gap:.55rem}.login-form label>span{color:#b9c6bf;font-size:.76rem;font-weight:600}.login-form input{width:100%;min-height:3.2rem;padding:.8rem 1rem;border:1px solid #30483c;border-radius:.55rem;outline:none;color:#edf5f0;background:#07100dc9;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.login-form input:focus{border-color:#74c99e;background:#091510;box-shadow:0 0 0 .2rem #65c6961a}.login-form input:disabled{opacity:.65}.login-submit{width:100%;min-height:3.2rem;margin-top:.35rem;gap:.8rem}.login-error{padding:.8rem .9rem;border:1px solid #8e504c;border-radius:.5rem;color:#f1aaa3;background:#351c1cb5;font-size:.76rem;line-height:1.6}.login-success{padding:.8rem .9rem;border:1px solid #35634d;border-radius:.5rem;color:#8fe0b4;background:#14291fb8;font-size:.76rem;line-height:1.6}.auth-switch-link{margin-left:.45rem;color:#85d7ac;text-decoration:none}.auth-switch-link:hover{color:#b1f0cf;text-decoration:underline;text-underline-offset:.2rem}.register-panel{padding-block:clamp(1.5rem,3.5vw,3.5rem)}.registration-form{margin-top:clamp(1.35rem,3vh,2.4rem)}.registration-passwords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.registration-policy{margin:-.25rem 0 0;color:#718178;font-size:.68rem;line-height:1.6}.login-boundary-note{display:flex;gap:.75rem;align-items:flex-start;margin-top:clamp(2rem,5vh,3.2rem);padding-top:1.4rem;border-top:1px solid #26382f;color:#6fa98d}.login-boundary-note p,.login-boundary-note strong,.login-boundary-note small{display:block;margin:0}.login-boundary-note strong{color:#a9bbb1;font-size:.75rem}.login-boundary-note small{margin-top:.35rem;color:#718178;font-size:.68rem;line-height:1.6}.workspace-column{min-width:0;flex:1}.workspace-toolbar{position:relative;min-height:clamp(4.1rem,7vh,5rem);display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.65rem clamp(1.25rem,5vw,5.5rem);border-bottom:1px solid #292b2c;background:#111317c9;-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem)}.session-state{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .7rem;border:1px solid #514733;border-radius:999px;color:#cfb47a;background:#292416;font-size:.67rem;white-space:nowrap}.session-state i{width:.42rem;aspect-ratio:1;border-radius:50%;background:currentColor;box-shadow:0 0 .65rem currentColor}.session-state.is-formal{border-color:#315644;color:#7bd8a8;background:#162a21}.toolbar-account{display:flex;align-items:stretch;gap:.55rem}.account-chip{min-width:clamp(10rem,16vw,14rem);display:flex;align-items:center;gap:.65rem;padding:.45rem .7rem;border:1px solid #33363b;border-radius:.65rem;background:#191a20}.account-chip:hover,.account-chip.active{border-color:#557061;background:#1b2420}.account-chip>span:last-child,.account-chip strong,.account-chip small{min-width:0;display:block}.account-chip strong,.account-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-chip strong{font-size:.73rem}.account-chip small{margin-top:.15rem;color:#7d8781;font-size:.61rem}.toolbar-logout{padding-inline:.9rem;border:1px solid #3a3541;border-radius:.55rem;color:#aaa1af;background:#24202a;font-size:.7rem}.toolbar-logout:hover{border-color:#925c58;color:#e0aaa4}.toolbar-logout:disabled{cursor:wait;opacity:.65}.local-session-label{display:inline-flex;align-items:center;padding:.55rem .75rem;border:1px solid #4e4631;border-radius:.55rem;color:#bca66f;background:#242116;font-size:.65rem;white-space:nowrap}.toolbar-error{position:absolute;right:clamp(1.25rem,5vw,5.5rem);top:calc(100% + .4rem);z-index:8;max-width:min(28rem,calc(100vw - 2rem));padding:.65rem .8rem;border:1px solid #814a48;border-radius:.45rem;color:#efaaa3;background:#311d20;box-shadow:0 .8rem 2rem #0008;font-size:.7rem}.account-layout{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);gap:clamp(1rem,2vw,1.5rem);align-items:start}.account-page-heading{align-items:center}.account-identity-column,.account-management-column{min-width:0;display:grid;gap:clamp(1rem,2vw,1.5rem)}.account-profile-card{display:flex;align-items:center;gap:clamp(1rem,2vw,1.5rem);min-height:13rem;background:linear-gradient(145deg,#263128,#191820 65%)}.account-avatar{width:clamp(4.5rem,8vw,6.5rem);aspect-ratio:1;flex:0 0 auto;display:grid;place-items:center;border:1px solid #7cad91;border-radius:1.15rem;color:#17261e;background:linear-gradient(145deg,#a9e3c3,#d4b078);box-shadow:0 1rem 2.5rem #77c99b20;font:700 clamp(1.8rem,3vw,2.8rem) "Noto Serif SC"}.account-profile-card h2{margin:.65rem 0 .35rem;font:700 clamp(1.45rem,2.2vw,2.1rem) "Noto Serif SC"}.account-profile-card p{margin:0;color:#879289;font-size:.78rem}.account-details dl{margin:1rem 0 0}.account-details dl>div{display:grid;grid-template-columns:minmax(7rem,.45fr) minmax(0,1fr);gap:1rem;padding:.85rem 0;border-top:1px solid #302d35}.account-details dt{color:#817a85;font-size:.72rem}.account-details dd{margin:0;overflow-wrap:anywhere;color:#d8d2d6;font-size:.76rem}.account-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #302d35}.account-actions p{max-width:34rem;margin:0;color:#7f7883;font-size:.7rem;line-height:1.7}.danger-action{border-color:#694542!important;color:#e2aaa4!important}.account-form-card{background:linear-gradient(145deg,#1d241f,#17171d 62%),#19191f}.account-form-card .panel-heading{align-items:flex-start}.account-form-card .panel-heading h2{margin:.35rem 0 0}.account-form{display:grid;gap:.9rem;margin-top:1.1rem}.account-form label{display:grid;gap:.5rem;min-width:0}.account-form label>span{color:#b9c6bf;font-size:.72rem;font-weight:650}.account-form input{width:100%;min-height:3rem;padding:.72rem .9rem;border:1px solid #39483f;border-radius:.55rem;outline:none;color:#edf5f0;background:#0b100ee6;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.account-form input:focus{border-color:#70c497;background:#0c1511;box-shadow:0 0 0 .2rem #65c69617}.account-form input:disabled{cursor:wait;opacity:.65}.password-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.field-help{margin:-.2rem 0 0;color:#757f79;font-size:.66rem;line-height:1.65}.form-feedback{margin:0;padding:.7rem .8rem;border:1px solid;border-radius:.5rem;font-size:.7rem;line-height:1.55}.form-feedback.is-error{border-color:#784b48;color:#eca6a0;background:#311d20b8}.form-feedback.is-success{border-color:#35634d;color:#8fe0b4;background:#14291fa8}.account-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.3rem;padding-top:1rem;border-top:1px solid #303831}.account-form-actions>span{max-width:31rem;color:#7f8983;font-size:.66rem;line-height:1.65}.account-form-actions .button{flex:0 0 auto}.security-card{border-color:#3d4037}.local-password-card h2{margin:.55rem 0 .45rem;font:700 1.2rem "Noto Serif SC"}.local-password-card p{margin:0;color:#7f8983;font-size:.72rem;line-height:1.7}@media(max-width:62.5rem){.login-page{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr)}.login-atmosphere{padding:2rem}.login-manifesto h1{font-size:clamp(2.4rem,6vw,4rem)}.login-orbit{opacity:.55}.workspace-toolbar{padding-inline:clamp(1rem,3vw,2rem)}.account-layout{grid-template-columns:1fr}}@media(max-width:47.5rem){.login-page{display:block;background-image:linear-gradient(#06100de8,#09110edf),url(/image/board-celestial-mist.webp);background-size:cover;background-position:center}.login-atmosphere{min-height:auto;padding:1.25rem;border:0;background:transparent}.login-manifesto{margin:0;padding:clamp(2.5rem,8vh,4.5rem) 0 1.5rem}.login-manifesto h1{font-size:clamp(2.15rem,10vw,3.4rem)}.login-manifesto p{max-width:34rem}.login-orbit{display:none}.login-panel{min-height:auto;margin:0 .75rem 1rem;padding:clamp(1.3rem,5vw,2rem);border:1px solid #344a3e;border-radius:1rem;background:#0a120fef;box-shadow:0 1rem 3rem #0009}.login-form{margin-top:1.75rem}.workspace-toolbar{justify-content:space-between;gap:.55rem}.account-chip{min-width:0;padding:.4rem}.account-chip>span:last-child{display:none}.toolbar-logout{padding-inline:.65rem}.account-actions,.account-form-actions{align-items:stretch;flex-direction:column}.account-form-actions .button{width:100%}}@media(max-width:30rem){.workspace-toolbar>.session-state{display:none}.workspace-toolbar{justify-content:flex-end}.account-details dl>div{grid-template-columns:1fr;gap:.3rem}.account-profile-card{align-items:flex-start;flex-direction:column}.password-fields,.registration-passwords{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.login-form input,.account-chip,.account-form input{transition:none}}.game-screen{--screen-space: clamp(.5rem, 1.25vmin, 1.25rem);--screen-gap: clamp(.45rem, 1vmin, .8rem);position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--screen-gap);width:100%;height:100dvh;overflow:hidden;padding:var(--screen-space);background:#04100c}.game-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.6rem,1.4vw,1.5rem);min-height:clamp(3.25rem,7vmin,4.5rem)}.game-toast{display:flex;flex-direction:column;gap:clamp(.2rem,.5vmin,.4rem);width:min(42rem,48vw);min-width:0;padding:clamp(.55rem,1vmin,.75rem) clamp(.8rem,1.5vw,1.25rem);overflow:hidden;border:1px solid #6fd1ab66;border-radius:clamp(.7rem,1.1vmin,1rem);background:#081a13e8;box-shadow:0 .9rem 2.2rem #050a0888}.game-toast strong{overflow:hidden;color:#92e7c0;font-size:clamp(.76rem,.68rem + .2vmin,.95rem);white-space:nowrap;text-overflow:ellipsis}.game-toast span{overflow:hidden;color:#a7bdb1;font-size:clamp(.64rem,.58rem + .14vmin,.75rem);white-space:nowrap;text-overflow:ellipsis}.game-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.4rem,.75vmin,.7rem);min-width:0}.game-screen .button{padding:clamp(.5rem,.85vmin,.7rem) clamp(.7rem,1vw,1.1rem);font-size:clamp(.68rem,.63rem + .12vmin,.8rem);white-space:nowrap}.game-screen .turn-badge{padding:clamp(.3rem,.55vmin,.45rem) clamp(.5rem,.7vw,.75rem);font-size:clamp(.62rem,.56rem + .12vmin,.72rem);white-space:nowrap}.game-screen .legacy-layout{--info-drawer-width: clamp(17.5rem, 23vw, 22rem);--info-drawer-gap: clamp(.5rem, 1vmin, .8rem);position:relative;display:grid;grid-template-columns:minmax(0,1fr) 0;gap:0;min-width:0;min-height:0;height:100%;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1),gap .28s cubic-bezier(.22,1,.36,1)}.game-screen .legacy-layout.has-info-drawer{grid-template-columns:minmax(0,1fr) var(--info-drawer-width);gap:var(--info-drawer-gap)}.game-screen .legacy-board-panel{position:relative;grid-column:1;width:auto;height:100%;min-height:0;padding:0;overflow:hidden;border-color:#31483e;border-radius:clamp(.75rem,1.5vmin,1.35rem);background:#07140f}.game-screen .board-heading{display:none}.map-scene{--map-safe-inline: clamp(.45rem, 1.4vmin, 1.25rem);--map-safe-block: clamp(.8rem, 2.3vmin, 2rem);position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid #d7c89055;border-radius:inherit;background:linear-gradient(#07140d80,#06100da0),url(/image/board-celestial-mist.webp) center / cover;box-shadow:inset 0 0 4.5rem #020805bb,0 1.25rem 3.75rem #02060599}.map-viewport{position:absolute;inset:var(--map-safe-block) var(--map-safe-inline);min-width:0;min-height:0}.map-grid{--map-scale: 1;position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%) scale(var(--map-scale));transform-origin:center;isolation:isolate}.map-routes,.map-nodes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-routes{z-index:1}.map-routes path{fill:none;stroke-linecap:round;stroke-linejoin:round}.route-shadow{stroke:#010604e6;stroke-width:13;filter:blur(1.2px) drop-shadow(0 3px 4px #0009)}.route-trail{stroke:#cbd8c5c7;stroke-width:5;stroke-dasharray:13 2.5 5 2 2 3.5;filter:drop-shadow(0 2px 2px #020604)}.route-spirit{stroke:#e7c7789c;stroke-width:1.1;stroke-dasharray:7 18 1 21}.map-route.diagonal{opacity:.76}.map-route.diagonal .route-trail{stroke-width:4}.map-nodes{z-index:2}.map-node{position:absolute;display:grid;place-items:center;aspect-ratio:1;padding:0;border:0;background:transparent;color:#f9e9b8;transform:translate(-50%,-50%);transition:filter .15s}.map-node:hover{filter:brightness(1.3)}.node-platform{position:relative;display:grid;place-items:center;width:88%;height:68%;border:1px solid #e2efdaaa;border-radius:46% 48% 42% 44%;background:#102019e8;box-shadow:0 6px 8px #020604dd,inset 0 0 0 2px #0c1711}.node-platform:after{content:"";position:absolute;z-index:-1;right:8%;bottom:-12%;left:8%;height:22%;border-radius:50%;background:#010805b8;filter:blur(2px)}.map-node.selected .node-platform{box-shadow:0 0 0 2px #f5d57a,0 0 20px #f5d57a99}.map-node.legal .node-platform{box-shadow:0 0 0 2px #62e6b7,0 0 22px #62e6b799}.map-node-cave .node-platform{width:88%;height:82%;border-color:#dfaf5e;border-radius:50% 50% 18% 18%;background:linear-gradient(135deg,#4f4228,#211a10)}.cave-mouth{position:absolute;top:20%;right:20%;bottom:7%;left:20%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;border:1px solid #e8b96680;border-radius:50% 50% 8% 8%;background:#010504;color:#f1bd69;font-size:9px;text-shadow:0 1px 4px #000}.hidden-flag{display:grid;place-items:center;width:58%;height:72%;border:2px solid #e7c58e99;border-radius:50%;background:#1d2730cc;box-shadow:0 0 18px #e3a86c55;color:#f2c77d;font-size:25px}.legal-label{position:absolute;bottom:-18px;color:#72e5ba;font-size:9px;white-space:nowrap;text-shadow:0 1px 4px #000}.game-screen .match-panel{position:relative;z-index:20;grid-column:2;width:var(--info-drawer-width);min-width:0;height:100%;max-height:none;overflow:hidden;padding:0;border-color:#53685e;border-radius:clamp(.75rem,1.5vmin,1.35rem);background:radial-gradient(circle at 100% 0,#27453a55,transparent 38%),linear-gradient(160deg,#101e19f8,#08130ff8 66%);box-shadow:-1.25rem 0 3.75rem #0005,inset 1px 0 #d6e5dd0c;opacity:0;visibility:hidden;pointer-events:none;transform:translate(calc(100% + var(--info-drawer-gap)));transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .18s ease,visibility 0s linear .28s}.game-screen .match-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0);transition-delay:0s}.game-info-scrim{display:none}.game-info-toggle{display:inline-flex;align-items:center;gap:.45rem;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.game-info-toggle.is-active{border-color:#65d6ae73;background:#183128;color:#83dfba}.game-info-toggle-icon{display:inline-grid;place-items:center;width:1.1em;color:#74d9b2;font-size:1.05em;line-height:1}.game-info-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1rem,2vmin,1.35rem) clamp(1rem,1.6vw,1.35rem) .85rem;border-bottom:1px solid #9ab0a523}.game-info-heading h2{margin:.35rem 0 .15rem;color:#edf5ef;font:700 clamp(1.15rem,1rem + .4vmin,1.45rem) "Noto Serif SC"}.game-info-heading p{margin:0;overflow:hidden;color:#80968b;font-size:.68rem;white-space:nowrap;text-overflow:ellipsis}.game-info-close{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #8fa69a38;border-radius:.55rem;background:#17231fa8;color:#9fb0a8;font-size:1.1rem;line-height:1;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.game-info-close:hover{border-color:#6bd7af73;background:#1d352c;color:#8ce6c1}.game-info-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin:.75rem clamp(.75rem,1.3vw,1rem) 0;padding:.25rem;border:1px solid #91a49c25;border-radius:.65rem;background:#06100d99}.game-info-tabs button{min-width:0;padding:.55rem .25rem;border-radius:.45rem;background:transparent;color:#82978d;font-size:.7rem;font-weight:700;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.game-info-tabs button:hover{color:#d9e7df}.game-info-tabs button.is-active{background:#183128;color:#7ee0b9;box-shadow:inset 0 0 0 1px #65d6ae4d}.game-info-body{height:calc(100% - clamp(8.3rem,17vmin,9.5rem));min-height:0;overflow:auto;padding:clamp(.8rem,1.5vmin,1.1rem) clamp(.8rem,1.3vw,1rem) 1.1rem;overscroll-behavior:contain;scrollbar-color:#587267 #09130f}.game-info-section{display:grid;gap:.8rem;animation:game-info-content-in .2s ease-out both}@keyframes game-info-content-in{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}.game-info-status-card{display:grid;gap:.3rem;padding:.9rem;border:1px solid color-mix(in srgb,var(--side-color) 36%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--side-color) 8%,#0a1712);box-shadow:inset .18rem 0 var(--side-color)}.game-info-status-card strong{display:flex;align-items:center;gap:.45rem;color:#eaf4ed;font:700 .9rem "Noto Serif SC"}.game-info-status-card p{margin:0;color:#91a69b;font-size:.68rem}.game-info-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0}.game-info-metric{position:relative;min-width:0;padding:.7rem .75rem;overflow:hidden;border:1px solid #8da09626;border-radius:.65rem;background:#091511bf}.game-info-metric:after{content:"";position:absolute;right:-.75rem;bottom:-.75rem;width:2.6rem;height:2.6rem;border:1px solid color-mix(in srgb,var(--metric-tone, #6bd7af) 25%,transparent);border-radius:50%}.game-info-metric dt{color:#7e9188;font-size:.62rem}.game-info-metric dd{margin:.28rem 0 0;color:var(--metric-tone, #e1ebe5);font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}.game-info-list{display:grid;border-top:1px solid #8da09625}.game-info-list .state-line{margin:0;padding:.65rem 0;border-top:0;border-bottom:1px solid #8da0961d}.game-info-list dt{color:#7e9188}.game-info-list dd{max-width:65%;margin:0;overflow:hidden;color:#dce8e1;font-weight:700;text-align:right;white-space:nowrap;text-overflow:ellipsis}.game-result-card,.game-screen .game-info-drawer .server-note{padding:.8rem;border:1px solid #91a49c25;border-radius:.65rem;background:#14211cba}.game-result-card strong{color:#e3bc7d;font-size:.78rem}.game-result-card p,.game-screen .game-info-drawer .server-note{margin:.3rem 0 0;color:#879b91;font-size:.66rem;line-height:1.65}.game-screen .game-info-drawer .server-note{margin-top:0}.game-info-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;padding-bottom:.65rem;border-bottom:1px solid #8da09625}.game-info-section-heading h3{margin:.25rem 0 0;color:#e3ece6;font:700 .95rem "Noto Serif SC"}.game-info-count{padding:.25rem .5rem;border:1px solid #65d6ae38;border-radius:1rem;background:#18312887;color:#72d8b0;font-size:.62rem;white-space:nowrap}.game-info-subheading{margin-top:.3rem}.game-info-empty{display:grid;justify-items:center;gap:.4rem;padding:1.5rem .9rem;border:1px dashed #91a49c31;border-radius:.75rem;background:#07110e88;text-align:center}.game-info-empty>span{color:#d5ad70;font-size:1.6rem}.game-info-empty strong{color:#dce7e0;font-size:.78rem}.game-info-empty p{margin:0;color:#789087;font-size:.65rem;line-height:1.6}.game-record-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.game-record-list li{display:grid;gap:.3rem;padding:.7rem .75rem;border:1px solid #91a49c24;border-radius:.6rem;background:#091511b3}.game-record-list span{color:#d2a76c;font-size:.58rem;letter-spacing:.05em}.game-record-list strong{color:#cedbd3;font-size:.68rem;font-weight:600;line-height:1.55}.active-rule-list{display:grid;gap:.5rem}.active-rule-card{display:flex;gap:.65rem;padding:.7rem .75rem;border:1px solid #65d6ae32;border-radius:.65rem;background:#12251da8}.active-rule-card.is-warning{border-color:#e4ae5f73;background:linear-gradient(135deg,#342615c7,#18241da8)}.active-rule-card.is-active{border-color:#e1776f7d;background:linear-gradient(135deg,#38201fc9,#19231da8)}.active-rule-card>i{flex:0 0 auto;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#65d6ae1f;color:#72dfb7;font-style:normal;font-size:.65rem}.active-rule-card.is-warning>i{background:#e8af4f24;color:#f2c478}.active-rule-card.is-active>i{background:#e16f6726;color:#ff938a}.active-rule-content{display:grid;flex:1;min-width:0}.active-rule-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.active-rule-heading>span{flex:0 0 auto;padding:.18rem .4rem;border:1px solid #6bd7af2e;border-radius:999px;color:#74d9b2;font-size:.55rem;font-weight:700}.active-rule-card.is-warning .active-rule-heading>span{border-color:#e4ae5f52;color:#f2c478}.active-rule-card.is-active .active-rule-heading>span{border-color:#e1776f59;color:#ff938a}.active-rule-card strong{color:#deebe3;font-size:.72rem}.active-rule-card p{margin:.28rem 0 0;color:#81978c;font-size:.63rem;line-height:1.5}.active-rule-card small{margin-top:.32rem;overflow:hidden;color:#aebdb5;font-size:.59rem;line-height:1.45;text-overflow:ellipsis}.active-rule-meter{display:block;height:.2rem;margin-top:.55rem;overflow:hidden;border-radius:999px;background:#020806c7}.active-rule-meter>i{display:block;height:100%;border-radius:inherit;background:#68d8af;transition:width .2s ease}.active-rule-card.is-warning .active-rule-meter>i{background:#e9b258}.active-rule-card.is-active .active-rule-meter>i{background:#ed7b72}.game-exit-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:grid;place-items:center;padding:clamp(.75rem,2.2vmin,1.5rem);background:#020705d4;-webkit-backdrop-filter:blur(.55rem) saturate(.72);backdrop-filter:blur(.55rem) saturate(.72);animation:game-exit-backdrop-in .18s ease-out both}.game-exit-dismiss-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;background:transparent;cursor:default}.game-exit-dialog{position:relative;z-index:1;display:grid;gap:clamp(1rem,2vmin,1.35rem);width:min(34rem,100%);padding:clamp(1.15rem,2.5vmin,1.65rem);border:1px solid #6f8f8061;border-radius:clamp(.8rem,1.5vmin,1.1rem);background:radial-gradient(circle at 100% 0,#37604e38,transparent 42%),linear-gradient(155deg,#12231df7,#09130ffb);box-shadow:0 2rem 5rem #000b,inset 0 1px #d5e7dd0b;animation:game-exit-dialog-in .24s cubic-bezier(.22,1,.36,1) both}.game-exit-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem}.game-exit-symbol{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid #62dfaf5e;border-radius:.75rem;background:#1b3a2d;color:#8ce8c1;font:700 1rem "Noto Serif SC"}.game-exit-heading h2{margin:.35rem 0;color:#edf5ef;font:700 clamp(1.25rem,1.05rem + .45vmin,1.55rem) "Noto Serif SC"}.game-exit-heading p{margin:0;color:#91a49b;font-size:clamp(.68rem,.64rem + .1vmin,.78rem);line-height:1.7}.game-exit-title-field{display:grid;gap:.45rem}.game-exit-title-field>span{color:#aabbb2;font-size:.68rem;font-weight:700}.game-exit-title-field input{width:100%;min-height:2.75rem;padding:.65rem .8rem;border:1px solid #6581745c;border-radius:.55rem;outline:none;background:#040b08d6;color:#e7f1eb;font:inherit}.game-exit-title-field input:focus{border-color:#66dcaf;box-shadow:0 0 0 .18rem #65d6ae1e}.game-exit-error{padding:.65rem .75rem;border:1px solid #d67f7566;border-radius:.55rem;background:#3a252be8;color:#efaaa1;font-size:.7rem}.game-exit-actions{display:flex;justify-content:flex-end;gap:.55rem;padding-top:.9rem;border-top:1px solid #91a49c24}.game-exit-actions .primary{background:#62e6b7;color:#052119}.game-exit-discard{border:1px solid #b9615c61;background:#2d1c1d;color:#e89a92}.game-exit-discard:hover:not(:disabled){border-color:#e17b72;background:#3a2222}@keyframes game-exit-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes game-exit-dialog-in{0%{opacity:0;transform:translateY(.75rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:32rem){.game-exit-actions{display:grid;grid-template-columns:1fr 1fr}.game-exit-actions .primary{grid-column:1 / -1;grid-row:1}}.basic-rule-list{display:grid;gap:.55rem;margin:0;padding:0 0 0 1rem;color:#899d93;font-size:.65rem;line-height:1.6}.rule-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:clamp(.75rem,2.2vmin,1.5rem);background:radial-gradient(circle at 50% 45%,#1b2d2540,transparent 44%),#030706d1;-webkit-backdrop-filter:blur(.45rem) saturate(.72);backdrop-filter:blur(.45rem) saturate(.72)}.rule-dialog-dismiss-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;background:transparent;cursor:default}.rule-dialog{color-scheme:dark;position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(.75rem,1.5vmin,1rem);width:min(67.5rem,100%);max-height:calc(100dvh - (2*clamp(.75rem,2.2vmin,1.5rem)));overflow:hidden;margin:0;padding:clamp(1rem,2.25vmin,1.55rem);border:1px solid #91a49c4d;border-radius:clamp(.85rem,1.5vmin,1.25rem);background:linear-gradient(145deg,#13221d,#0d1915 70%),#101d19;box-shadow:0 2rem 6rem #000c,inset 0 1px #dbe8e20a}.rule-dialog:before{content:"";position:absolute;inset:0 auto 0 0;width:.18rem;background:linear-gradient(transparent 8%,#62e6b7b3 35%,#d7aa6b99 72%,transparent 94%);opacity:.68;pointer-events:none}.rule-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,2.4vw,2rem);min-width:0;padding-bottom:clamp(.65rem,1.2vmin,.85rem);border-bottom:1px solid #91a49c24}.rule-dialog-copy{min-width:0}.rule-dialog .eyebrow.gold{color:#62e6b7}.rule-dialog h2{margin:.35rem 0 .3rem;color:#f2f5ef;font:700 clamp(1.35rem,1.05rem + .8vmin,1.8rem) "Noto Serif SC";letter-spacing:-.02em;text-wrap:balance}.rule-dialog-copy p{margin:0;color:#8fa198;font-size:clamp(.7rem,.65rem + .1vmin,.8rem);line-height:1.6;text-wrap:pretty}.rule-bulk-actions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:.45rem;padding:.28rem;border:1px solid #91a49c2e;border-radius:.65rem;background:#08120f99}.rule-bulk-button{min-height:2.15rem;padding:.45rem .75rem;border:1px solid transparent;border-radius:.45rem;background:transparent;color:#91a49c;font-size:clamp(.67rem,.63rem + .08vmin,.74rem);font-weight:700;white-space:nowrap;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.rule-bulk-button:hover,.rule-bulk-button:focus-visible{border-color:#91a49c4f;background:#91a49c12;color:#e8eee9}.rule-bulk-button.is-active{border-color:#d7aa6b70;background:#d7aa6b16;color:#e3b87d}.rule-bulk-button.is-active.is-positive{border-color:#62e6b770;background:#62e6b716;color:#72e1b5}.rule-options-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:clamp(.5rem,1.05vmin,.75rem);min-height:0;overflow-y:auto;padding:.12rem .25rem .12rem .12rem;scrollbar-color:#5d796d #08120f}.rule-option{position:relative;display:grid;grid-template-rows:auto minmax(2.8em,auto) 1fr;align-content:start;min-width:0;padding:clamp(.75rem,1.25vmin,.95rem);overflow:hidden;border:1px solid #91a49c2b;border-radius:clamp(.6rem,1vmin,.85rem);background:linear-gradient(145deg,#07120fba,#09151099);box-shadow:inset 0 1px #dbe8e208;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.rule-option:after{content:"";position:absolute;right:-.6rem;bottom:-.8rem;width:3.8rem;height:3.8rem;border:1px solid #d7aa6b13;border-radius:50%;pointer-events:none}.rule-option.is-enabled{border-color:#62e6b76e;background:linear-gradient(145deg,#163027b8,#0c1e18c7);box-shadow:inset .16rem 0 #62e6b7b3,inset 0 1px #c8f7e41a}.rule-option-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.rule-option-toggle{display:flex;align-items:center;min-width:0;gap:.55rem;color:#e7f0e9;font-size:clamp(.74rem,.69rem + .1vmin,.84rem);cursor:pointer}.rule-option-toggle strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rule-option-toggle input{width:1rem;height:1rem;margin:0;accent-color:#62e6b7}.rule-option-index{color:#d7aa6b66;font-size:.58rem;font-variant-numeric:tabular-nums;letter-spacing:.1em}.rule-option p{margin:.55rem 0 .65rem;color:#9aada3;font-size:clamp(.68rem,.63rem + .1vmin,.76rem);line-height:1.55;text-wrap:pretty}.rule-option-parameters{display:grid;align-content:end;gap:.4rem;min-height:2.1rem}.rule-number-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.45rem;color:#8fa198;font-size:clamp(.62rem,.57rem + .1vmin,.7rem)}.rule-number-field input{width:clamp(3.15rem,4vw,3.8rem);min-height:1.9rem;padding:.25rem .35rem;border:1px solid #91a49c55;border-radius:.4rem;background:#07120f;color:#e7f0e9;font-variant-numeric:tabular-nums;text-align:center}.rule-number-field input:disabled{opacity:.38}.rule-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:clamp(.75rem,2vw,1.5rem);min-width:0;padding-top:clamp(.65rem,1.2vmin,.85rem);border-top:1px solid #91a49c24}.rule-selection-summary{display:grid;gap:.16rem;min-width:0}.rule-selection-summary strong{color:#72e1b5;font-size:clamp(.7rem,.65rem + .1vmin,.8rem);font-variant-numeric:tabular-nums}.rule-selection-summary span{overflow:hidden;color:#768b81;font-size:clamp(.62rem,.58rem + .08vmin,.7rem);white-space:nowrap;text-overflow:ellipsis}.rule-dialog-buttons{display:flex;flex:0 0 auto;gap:.55rem}.rule-dialog-buttons .button{min-height:2.55rem}.rule-dialog-buttons .primary{min-width:8.5rem;background:#62e6b7;color:#052119;box-shadow:0 .7rem 1.8rem #62e6b726}.rule-dialog-buttons .primary:hover{background:#79edc2}@media(max-width:64rem){.rule-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:56.25rem){.game-screen{--screen-space: clamp(.4rem, 1.2vmin, .75rem)}.game-toast{width:min(34rem,52vw)}.game-screen .legacy-layout,.game-screen .legacy-layout.has-info-drawer{display:block}.game-screen .match-panel{position:absolute;top:0;right:0;bottom:0;width:min(22rem,calc(100% - 2rem));height:100%;transform:translate(calc(100% + var(--screen-space)))}.game-screen .match-panel.is-open{transform:translate(0)}.game-info-scrim{position:absolute;z-index:19;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;background:#0108058f;opacity:0;visibility:hidden;pointer-events:none;cursor:default;-webkit-backdrop-filter:blur(.14rem);backdrop-filter:blur(.14rem);transition:opacity .22s ease,visibility 0s linear .28s}.legacy-layout.has-info-drawer .game-info-scrim{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}}@media(max-width:40.625rem){.game-screen{--screen-space: .5rem;--screen-gap: .45rem}.game-topbar{grid-template-columns:1fr;justify-items:end;min-height:auto}.game-toast{display:none}.game-top-actions{width:100%}.map-scene{--map-safe-inline: .35rem;--map-safe-block: .65rem}.game-screen .match-panel{top:0;right:0;bottom:0;left:0;width:100%;max-width:none;max-height:none;border-radius:.75rem}.game-info-toggle>span:last-child{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rule-options-grid{grid-template-columns:1fr}.rule-dialog-heading,.rule-dialog-actions{align-items:stretch;flex-direction:column}.rule-bulk-actions{align-self:stretch}.rule-bulk-button{flex:1}.rule-dialog-buttons,.rule-dialog-buttons .button{width:100%}.rule-dialog-buttons .button{flex:1}}@media(max-height:43.75rem){.game-screen{--screen-space: .45rem;--screen-gap: .4rem}.game-topbar{min-height:2.75rem}.game-toast{padding-block:.4rem}.game-toast span{display:none}.map-scene{--map-safe-block: .6rem}.rule-dialog{gap:.55rem;padding-block:.8rem}.rule-dialog-heading,.rule-dialog-actions{padding-block:.45rem}.rule-option{padding-block:.6rem}.rule-option p{margin-block:.4rem .5rem}}@media(prefers-reduced-motion:reduce){.map-node,.game-screen *{scroll-behavior:auto}.game-screen .legacy-layout,.game-screen .match-panel,.game-info-scrim,.game-info-section{animation-duration:0s!important;transition-duration:0s!important;transition-delay:0s!important}}.map-flag{--side-color: #9aaba2;position:absolute;top:50%;left:50%;width:100%;height:114%;display:block;transform:translate(-50%,-50%);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.map-flag.positive,.map-flag.negative{border-color:transparent}.map-flag-portrait{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;border:2px solid var(--side-color);border-radius:12px;background:#11161bdd;box-shadow:0 3px 12px #020504dd,0 0 12px color-mix(in srgb,var(--side-color) 28%,transparent)}.map-flag-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.map-flag-name{position:absolute;z-index:5;left:50%;bottom:calc(100% + 5px);display:flex;align-items:center;gap:5px;max-width:150%;padding:4px 8px;border:1px solid var(--side-color);border-radius:999px;background:#07110feb;box-shadow:0 5px 14px #0009;color:#eef7f1;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;transform:translate(-50%)}.side-marker{display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--side-color);box-shadow:0 0 7px var(--side-color)}.game-toast strong,.turn-badge,.side-name{display:flex;align-items:center;gap:7px}.game-screen .turn-badge{--side-color: #9aaba2;border:1px solid color-mix(in srgb,var(--side-color) 25%,transparent)}.game-notice-stack{position:absolute;z-index:10;left:clamp(.65rem,1.5vmin,1.2rem);bottom:clamp(.55rem,1.2vmin,1rem);display:grid;gap:clamp(.4rem,.8vmin,.65rem);width:max-content;max-width:min(34rem,calc(100% - (2*clamp(.65rem,1.5vmin,1.2rem))));pointer-events:none}.game-screen .game-notice-stack .interaction-hint,.game-screen .game-notice-stack .error-message{position:relative;right:auto;bottom:auto;left:auto;display:flex;align-items:center;gap:clamp(.5rem,1vmin,.8rem);width:fit-content;max-width:100%;margin:0;padding:clamp(.45rem,.8vmin,.65rem) clamp(.55rem,1vmin,.85rem);border:1px solid #52685d66;border-radius:clamp(.45rem,.8vmin,.65rem);box-shadow:0 .5rem 1.5rem #0008;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);pointer-events:auto;animation:game-notice-in .18s ease-out}.game-screen .game-notice-stack .interaction-hint{background:#07140ee8;color:#bac9c0}.game-screen .game-notice-stack .error-message{border-color:#d67f7566;background:#3a252be8;color:#efaaa1}.game-notice-close,.game-guide-dismiss{flex:0 0 auto;border-radius:.4rem;background:#ffffff0b;color:inherit}.game-notice-close{width:clamp(1.5rem,2.6vmin,1.8rem);height:clamp(1.5rem,2.6vmin,1.8rem);padding:0;font-size:clamp(1rem,1.8vmin,1.2rem);line-height:1}.game-guide-dismiss{padding:.35rem .55rem;color:#79d9b3;font-size:clamp(.62rem,.58rem + .1vmin,.72rem);white-space:nowrap}.game-notice-close:hover,.game-guide-dismiss:hover{background:#ffffff18}.game-rule-alert{--rule-tone: #e8b35d;position:absolute;z-index:14;top:clamp(.65rem,1.5vmin,1.2rem);left:clamp(.65rem,1.5vmin,1.2rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:clamp(.55rem,1vmin,.8rem);width:min(31rem,calc(100% - (2*clamp(.65rem,1.5vmin,1.2rem))));padding:clamp(.65rem,1.2vmin,.9rem);border:1px solid color-mix(in srgb,var(--rule-tone) 52%,transparent);border-radius:clamp(.65rem,1.2vmin,.85rem);background:linear-gradient(120deg,color-mix(in srgb,var(--rule-tone) 11%,#07110eeb),#07110ef2 68%);box-shadow:0 1rem 2.5rem #000a,inset .2rem 0 var(--rule-tone);-webkit-backdrop-filter:blur(.65rem) saturate(.82);backdrop-filter:blur(.65rem) saturate(.82);animation:game-rule-alert-in .28s cubic-bezier(.22,1,.36,1) both}.game-rule-alert.is-active{--rule-tone: #ef7f75}.game-rule-alert.is-leaving{animation:game-rule-alert-out .4s ease-in both}.game-rule-alert-mark{display:grid;place-items:center;width:clamp(1.75rem,3vmin,2.15rem);height:clamp(1.75rem,3vmin,2.15rem);border:1px solid color-mix(in srgb,var(--rule-tone) 65%,transparent);border-radius:50%;background:color-mix(in srgb,var(--rule-tone) 14%,#07110e);color:var(--rule-tone);font-weight:900;box-shadow:0 0 1.2rem color-mix(in srgb,var(--rule-tone) 22%,transparent)}.game-rule-alert-copy{display:grid;min-width:0}.game-rule-alert-copy>span{color:var(--rule-tone);font-size:clamp(.55rem,.5rem + .1vmin,.65rem);font-weight:800;letter-spacing:.13em}.game-rule-alert-copy strong{margin-top:.2rem;color:#edf5ef;font:700 clamp(.8rem,.72rem + .2vmin,.96rem) "Noto Serif SC"}.game-rule-alert-copy p{margin:.28rem 0 0;color:#aabbb2;font-size:clamp(.63rem,.59rem + .08vmin,.72rem);line-height:1.55}.game-rule-alert-copy button{justify-self:start;margin-top:.42rem;padding:0;background:transparent;color:var(--rule-tone);font-size:.62rem;font-weight:700}.game-rule-alert-copy button:hover{text-decoration:underline}.game-rule-alert-close{display:grid;place-items:center;width:1.6rem;height:1.6rem;padding:0;border-radius:.4rem;background:#ffffff09;color:#93a59b;font-size:1rem;line-height:1}.game-rule-alert-close:hover{background:#ffffff16;color:#eef5f1}@keyframes game-notice-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}@keyframes game-rule-alert-in{0%{opacity:0;transform:translateY(-.65rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes game-rule-alert-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.4rem)}}@media(max-width:40.625rem){.game-notice-stack{right:.6rem;bottom:.6rem;left:.6rem;width:auto;max-width:none}.game-screen .game-notice-stack .interaction-hint,.game-screen .game-notice-stack .error-message{width:100%}.game-rule-alert{right:.6rem;left:.6rem;width:auto}}@media(prefers-reduced-motion:reduce){.game-rule-alert,.game-rule-alert.is-leaving{animation-duration:0s}}html:has(.rule-dialog-backdrop),html:has(.game-exit-backdrop){overflow:hidden}body:has(.rule-dialog-backdrop),body:has(.game-exit-backdrop){position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;overflow:hidden}.rule-dialog-backdrop,.game-exit-backdrop{overscroll-behavior:contain}.app-shell{min-height:100dvh}.sidebar{width:clamp(14rem,16vw,16rem);flex-basis:clamp(14rem,16vw,16rem);padding:clamp(1.1rem,2.2vmin,1.7rem) clamp(.75rem,1.2vw,1rem) clamp(.8rem,1.5vmin,1.15rem)}.main-content{max-width:94rem;padding:clamp(1.5rem,3.5vmin,2.3rem) clamp(1.25rem,5vw,5.5rem) clamp(3rem,7vmin,5rem)}.page-header{gap:clamp(.8rem,2vw,1.5rem);margin-bottom:clamp(1.5rem,3vmin,2.3rem)}.page-header h1{font-size:clamp(1.65rem,1.3rem + 1vw,2.25rem)}.button{padding:clamp(.6rem,.8vmin,.75rem) clamp(.85rem,1.2vw,1.15rem);border-radius:.35rem;font-size:clamp(.7rem,.66rem + .1vw,.82rem)}.hero-card{min-height:clamp(18rem,34vmin,21rem);gap:clamp(1rem,3vw,3rem);padding:clamp(1.7rem,4vmin,3rem) clamp(1.4rem,4vw,3.25rem)}.hero-card h2{font-size:clamp(1.7rem,1.15rem + 2vw,2.8rem)}.hero-orbit{width:clamp(14rem,34%,25rem);height:clamp(12rem,24vmin,15rem)}.hero-orbit:before{width:clamp(12rem,20vw,17.5rem);height:clamp(5.5rem,10vw,8rem)}.hero-orbit:after{width:clamp(7rem,12vw,10rem);height:clamp(11rem,19vw,16rem)}.section-block{margin-top:clamp(1.8rem,3.5vmin,2.5rem)}.module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:clamp(.6rem,1vw,.9rem)}.module-card,.notice,.panel,.match-panel,.empty-panel{padding:clamp(.85rem,1.6vmin,1.35rem)}.record-grid,.studio-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr));gap:clamp(.8rem,1.5vw,1.25rem)}@media(max-width:62.5rem){.sidebar{width:clamp(12rem,21vw,14rem);flex-basis:clamp(12rem,21vw,14rem)}.main-content{padding-inline:clamp(1rem,3vw,2rem)}.hero-orbit{width:30%}}@media(max-width:40.625rem){.sidebar{width:clamp(4rem,18vw,4.5rem);flex-basis:clamp(4rem,18vw,4.5rem);padding:1.1rem .5rem}.main-content{padding:1.4rem 1rem 3rem}.page-header{flex-wrap:wrap;align-items:flex-start}.hero-card{min-height:auto;padding:1.7rem 1.35rem}.hero-orbit{display:none}.module-grid,.record-grid,.studio-layout{grid-template-columns:1fr}}
