:root{color:#25362d;background:#f4ebd8;font-family:ui-rounded,PingFang SC,Hiragino Sans GB,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(#f6efde42,#f6efde42),url(/assets/ink-landscape-paper.png) center top / cover fixed,#f4ebd8}button,input{font:inherit}button{min-height:42px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{width:min(100%,540px);min-height:100vh;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom))}.home-shell,.setup-shell,.list-shell{background:linear-gradient(170deg,#ffffff6b,#f4ebd840)}.home-header,.compact-header,.game-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-header{margin-bottom:18px}.eyebrow{margin:0 0 4px;color:#52715a;font-size:11px;font-weight:800;letter-spacing:.11em}.home-header h1,.setup-intro h1{margin:0;color:#213529;font-family:Songti SC,STSong,serif;font-size:32px;letter-spacing:.04em}.home-subtitle{margin:5px 0 0;color:#708073;font-size:14px}.round-icon-button{display:grid;width:43px;min-height:43px;place-items:center;border:1px solid #cfc09d;border-radius:50%;background:#fffcf4bf;color:#3e6047;box-shadow:0 3px 10px #48361c17}.campaign-hero{position:relative;display:grid;width:100%;gap:2px;overflow:hidden;border:1px solid #4f7255;border-radius:18px;padding:20px;background:linear-gradient(135deg,#244b38,#3c704b);color:#fff7e8;text-align:left;box-shadow:0 12px 24px #21482e33}.campaign-hero:after{position:absolute;right:-35px;bottom:-75px;width:190px;height:170px;border:1px solid rgba(255,255,255,.22);border-radius:52% 48% 0 0;content:"";transform:rotate(-25deg)}.campaign-hero-kicker{color:#d7c486;font-size:12px;font-weight:800;letter-spacing:.15em}.campaign-hero strong{position:relative;z-index:1;font-family:Songti SC,serif;font-size:28px}.campaign-hero>span:not(.campaign-hero-kicker){color:#dce8d9;font-size:13px}.campaign-hero i{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:2px;color:#fff6df;font-size:13px;font-style:normal;font-weight:800}.home-section{margin-top:26px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.section-heading h2{margin:0;color:#283e30;font-family:Songti SC,serif;font-size:21px}.section-heading button{display:inline-flex;min-height:28px;align-items:center;border:0;background:transparent;color:#54745b;font-size:12px;font-weight:800}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.entry-card{display:grid;min-height:112px;gap:3px;border:1px solid #dfd2b8;border-radius:14px;padding:14px;background:#fffcf5bf;color:#314637;text-align:left;box-shadow:0 5px 12px #624c280d}.entry-card i{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#e1eadc;color:#396347;font-style:normal}.entry-card strong{margin-top:3px;font-size:16px}.entry-card small{color:#788579;font-size:11px}.recent-panel{margin-top:26px;border-top:1px solid #dfd2b8;padding-top:18px}.result-mini-list{display:grid;gap:8px}.result-mini-list div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border-bottom:1px dashed #d6c7aa;padding:8px 2px;font-size:13px}.result-mini-list strong{color:#40684a;font-size:12px}.result-mini-list small{color:#849086}.empty-copy{margin:12px 0;color:#879186;font-size:13px}.compact-header{min-height:46px}.compact-header h1{margin:0;color:#304535;font-family:Songti SC,serif;font-size:21px}.compact-header>span{width:43px}.setup-intro{margin:26px 0 18px}.setup-intro h1{font-size:27px}.category-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 -3px 14px;border-bottom:1px solid #d8caad}.category-tabs button{min-height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:#778476;font-size:13px;font-weight:700}.category-tabs button.active{border-color:#396a49;color:#2f5f40}.setup-panel{display:grid;gap:18px;border:1px solid #dfd2b8;border-radius:15px;padding:16px;background:#fffcf5c7}.field-group{display:grid;gap:8px}.field-group>span{color:#647468;font-size:12px;font-weight:800}.field-group>small{color:#7b877c;font-size:12px}.level-label{color:#314b38;font-family:Songti SC,serif;font-size:19px}.field-group input[type=range]{width:100%;accent-color:#397047}.mode-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mode-choice-grid button,.segmented button{border:1px solid #d9ccb4;border-radius:10px;background:#fffdf7;color:#45584b;font-size:13px}.mode-choice-grid button{min-height:45px}.mode-choice-grid button.active,.segmented button.active{border-color:#3e744e;background:#e3ecdf;color:#275d3b;font-weight:800}.segmented,.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.role-option{display:flex;min-height:42px;align-items:center;gap:8px;border:1px solid #d8ccb6;border-radius:10px;padding:7px 8px;font-size:13px}.role-option input{accent-color:#3b7148}.setup-summary{display:grid;gap:4px;margin:15px 2px}.setup-summary span{color:#55735c;font-size:12px;font-weight:800}.setup-summary strong{color:#334a39;font-size:15px}.setup-summary small{color:#758176;font-size:12px;line-height:1.45}.primary-wide-button{display:flex;width:100%;align-items:center;justify-content:center;gap:5px;border:1px solid #2e633f;border-radius:13px;background:#2f6741;color:#fff9ec;font-weight:800;box-shadow:0 5px 12px #2b5b3733}.rules-link{display:inline-flex;width:max-content;min-height:28px;align-items:center;gap:1px;margin-top:3px;border:0;padding:0;background:transparent;color:#3c704a;font-size:12px;font-weight:800}.history-hero{display:grid;gap:3px;margin:24px 0 15px;border-radius:15px;padding:18px;background:#315f41;color:#fff6e4}.history-hero .eyebrow{color:#d7e4ce}.history-hero strong{font-family:Songti SC,serif;font-size:36px}.history-hero strong small{font-family:inherit;font-size:16px}.history-hero>span{color:#d7e4d3;font-size:12px}.history-list,.settings-list{display:grid;gap:8px}.history-list article{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #dfd2b8;padding:12px 3px}.history-list article i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#e5edde;color:#477354}.history-list article div{display:grid;gap:3px}.history-list article strong{font-size:14px}.history-list article span,.history-list time{color:#758176;font-size:11px}.setting-toggle,.settings-range{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #dfd2b8;padding:15px 3px}.setting-toggle>span,.settings-range>span{display:grid;gap:4px}.setting-toggle strong,.settings-range strong{font-size:14px}.setting-toggle small,.settings-range small,.settings-range em{color:#778379;font-size:11px;font-style:normal}.setting-toggle{position:relative}.setting-toggle input{position:absolute;width:1px;height:1px;opacity:0}.setting-toggle i{width:44px;height:25px;border-radius:15px;background:#c7c6b9;transition:.2s}.setting-toggle i:after{display:block;width:19px;height:19px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;content:"";transition:.2s}.setting-toggle input:checked+i{background:#397046}.setting-toggle input:checked+i:after{transform:translate(19px)}.settings-range{display:grid}.settings-range input{width:100%;accent-color:#397046}.game-shell{padding:max(12px,env(safe-area-inset-top)) 12px calc(132px + env(safe-area-inset-bottom))}.game-topbar{min-height:45px}.game-topbar>div{display:grid;justify-items:center}.game-topbar p{margin:0;color:#5b785f;font-size:11px;font-weight:800;letter-spacing:.1em}.game-topbar h1{margin:1px 0 0;color:#314836;font-family:Songti SC,serif;font-size:19px}.progress-pill{position:relative;width:110px;height:24px;overflow:hidden;margin:6px auto 8px;border:1px solid #b5b692;border-radius:15px;background:#fbf4e5;color:#3d6146;font-size:12px;font-weight:900;line-height:22px;text-align:center}.progress-pill span{position:absolute;inset:0 auto 0 0;z-index:0;background:#cbdcab}.progress-pill{isolation:isolate}.progress-pill:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:""}.player-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 1px 9px;scrollbar-width:none}.player-token{display:grid;min-width:57px;justify-items:center;gap:2px;color:#6e796f;font-size:11px}.player-token .stone{width:29px;box-shadow:inset 0 -2px 3px #00000047,0 1px 2px #0000002e}.player-token.active .stone{box-shadow:0 0 0 3px #d7cf86,inset 0 -2px 3px #00000047}.player-token.active span{color:#275b3a;font-weight:900}.player-token small{color:#9aa296;font-size:9px}.board-zone{display:grid;place-items:center}.board{display:grid;grid-template-columns:repeat(var(--board-size),1fr);grid-template-rows:repeat(var(--board-size),1fr);width:min(calc(100vw - 24px),512px);aspect-ratio:1;border:7px solid #a97c46;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 12px),#d8ad6e;box-shadow:0 10px 20px #412d1333,inset 0 0 0 2px #d6bc8a}.intersection{position:relative;display:grid;min-width:0;min-height:0;place-items:center;border:1px solid rgba(83,54,18,.42);border-radius:0;padding:0;background:transparent}.intersection:active{background:#ffffff38}.stone,.ghost-stone{display:grid;width:76%;aspect-ratio:1;place-items:center;border-radius:50%}.stone{background:var(--player-color);color:#fff;font-size:clamp(9px,2.4vw,13px);font-weight:800;box-shadow:inset 0 -2px 4px #00000042,0 1px 2px #00000040}.ghost-stone{border:2px dashed #397047;background:#ffffff4d;box-shadow:0 0 0 4px #4b7f4d2e}.disabled-stone .stone{opacity:.35;box-shadow:inset 0 0 0 3px #3b4651}.skill-target:after{position:absolute;top:8%;right:8%;bottom:8%;left:8%;z-index:2;border:2px solid #f6d45c;border-radius:50%;box-shadow:0 0 0 2px #6d371d99;content:"";animation:target-pulse .85s ease-in-out infinite alternate;pointer-events:none}.skill-target-create:after{border-color:#60d6c1;box-shadow:0 0 0 2px #0f766e8c}.skill-create-marker,.skill-cross{position:absolute;z-index:3;display:grid;width:76%;aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;font-size:clamp(12px,4.4vw,24px);font-weight:900;pointer-events:none}.skill-create-marker{background:#0f766ee0}.skill-cross{text-shadow:0 1px 3px rgba(0,0,0,.8)}.turn-guidance{display:grid;justify-items:center;gap:3px;margin:10px 0 4px;text-align:center}.turn-guidance strong{color:#315a3d;font-family:Songti SC,serif;font-size:23px}.turn-guidance span{color:#788277;font-size:12px}.turn-guidance em{display:inline-flex;align-items:center;gap:3px;margin-top:2px;border:1px solid #cdd7c3;border-radius:14px;padding:4px 8px;color:#3d6b49;font-size:11px;font-style:normal;font-weight:800}.control-dock{position:fixed;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:.9fr 1.55fr .9fr;gap:9px;width:min(100%,540px);margin:0 auto;border-top:1px solid #d8c9ab;padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:#f8f1e2f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-dock button{display:grid;min-height:54px;place-items:center;border:1px solid #a8b297;border-radius:14px;background:#fffaf0;color:#456048;font-size:12px;font-weight:800}.control-dock button:not(.confirm-button){gap:1px}.control-dock .confirm-button{border-color:#2d633f;background:linear-gradient(135deg,#2b623d,#41794d);color:#fff9ed;font-family:Songti SC,serif;font-size:20px;box-shadow:0 4px 10px #22563238}.control-dock .skill-active{border-color:#e0b94d;background:#f8e9ae;color:#765a18}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:end center;padding:16px;background:#1f291e75}.rules-dialog{width:min(100%,500px);border:1px solid #dfd0b2;border-radius:20px;padding:21px;background:#fffaf0;box-shadow:0 18px 44px #0000003b}.rules-dialog h2{margin:0 0 9px;color:#314b38;font-family:Songti SC,serif;font-size:24px}.rules-dialog p{margin:0 0 16px;color:#5e6e60;font-size:14px;line-height:1.65}.rules-dialog>button{width:100%;border:1px solid #2e633f;border-radius:11px;background:#326b43;color:#fff9e8;font-weight:800}.guide-dialog,.result-dialog{text-align:center}.guide-dialog>svg,.result-dialog>svg{margin-bottom:7px;color:#4e7954}.guide-dialog .eyebrow,.result-dialog .eyebrow{margin-bottom:3px}.dialog-actions{display:grid;gap:8px}.dialog-actions button{width:100%;min-height:43px;border:1px solid #2e633f;border-radius:11px;background:#326b43;color:#fff9e8;font-weight:800}.dialog-actions .text-button{border-color:#d6c8ad;background:transparent;color:#617165}.skill-prompt,.skill-notice{position:fixed;z-index:24;top:max(10px,env(safe-area-inset-top));left:50%;width:min(calc(100vw - 28px),512px);transform:translate(-50%);border:1px solid #bacba9;border-radius:14px;padding:10px 12px;background:#fffcf3fa;box-shadow:0 9px 20px #172f1f2e;text-align:center}.skill-prompt p,.skill-notice{margin:0;color:#315f3d;font-size:13px;font-weight:800}.skill-prompt strong{display:block;margin-top:3px;color:#728074;font-size:12px}.skill-prompt-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.skill-prompt-actions button{min-height:34px;border:1px solid #aebaa3;border-radius:8px;background:#fffaf0;font-size:12px}.skill-prompt-actions button:first-child{border-color:#326b43;background:#326b43;color:#fff}.skill-notice{display:grid;gap:2px}.skill-notice span{color:#788477;font-size:10px;font-weight:500}.choice-shell{display:grid;grid-template-rows:auto 1fr}.skill-choice-card{align-self:center;border:1px solid #d9c9ab;border-radius:20px;padding:20px;background:#fffbf2c7}.skill-choice-card h1{margin:0;color:#304a38;font-family:Songti SC,serif;font-size:27px}.skill-choice-card>p:not(.eyebrow){color:#718073;font-size:13px}.skill-choice-grid{display:grid;gap:8px;margin:18px 0}.skill-choice-grid button{display:grid;grid-template-columns:28px 1fr;min-height:70px;align-items:center;gap:0 8px;border:1px solid #d2c6ae;border-radius:12px;padding:10px;background:#fffdf8;color:#365b3e;text-align:left}.skill-choice-grid button svg{grid-row:1 / 3}.skill-choice-grid small{color:#788277;font-size:11px}.skill-choice-card>span{color:#7b887c;font-size:11px}@keyframes target-pulse{0%{opacity:.45;transform:scale(.84)}to{opacity:1;transform:scale(1.08)}}.rules-hero{display:grid;gap:5px;margin:24px 0 16px;border:1px solid rgba(91,124,85,.25);border-radius:17px;padding:18px;background:#fffaf0ad}.rules-hero h1{margin:0;color:#314d3a;font-family:Songti SC,serif;font-size:25px}.rules-hero span{color:#718074;font-size:12px}.mode-rule-list{display:grid;gap:9px}.mode-rule-list article{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(209,194,165,.75);border-radius:14px;padding:12px;background:#fffcf4c2}.mode-rule-list i{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#e5eddf;color:#396849;font-family:Songti SC,serif;font-style:normal;font-weight:900}.mode-rule-list div{display:grid;gap:3px}.mode-rule-list strong{color:#334d3a;font-size:14px}.mode-rule-list p{margin:0;color:#778178;font-size:11px;line-height:1.45}.mode-rule-list>article>span{color:#55705b;font-size:11px;font-weight:800}@media(max-width:390px){.app-shell,.game-shell{padding-inline:10px}.board{width:min(calc(100vw - 20px),512px);border-width:5px}.control-dock{padding-inline:10px}.turn-guidance strong{font-size:21px}.campaign-hero{padding:17px}.home-header h1{font-size:29px}}.app-shell{position:relative;isolation:isolate}.app-shell:before{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(94,114,77,.08),transparent 19%,transparent 81%,rgba(94,114,77,.08));content:"";pointer-events:none}.eyebrow{color:#496e50;text-shadow:0 1px rgba(255,255,255,.7)}.home-header h1,.setup-intro h1{color:#284a36;text-shadow:0 1px #fff8e9,0 3px 10px rgba(44,77,48,.12)}.round-icon-button{position:relative;overflow:hidden;border:1px solid #9b7a40;background:radial-gradient(circle at 35% 28%,#fffde9 0,#fffde9 12%,#e8dbb8 48%,#c0a470);color:#315b3e;box-shadow:inset 0 0 0 3px #fffbe4a6,0 4px 10px #48341a2b}.round-icon-button:after{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(73,101,61,.32);border-radius:50%;content:"";pointer-events:none}.campaign-hero{border:1px solid #bda460;background:linear-gradient(120deg,#153e2d,#286246 48%,#193c2c);box-shadow:inset 0 0 0 3px #edd79038,0 13px 24px #1e462b40}.campaign-hero:before{position:absolute;top:-70px;right:-16px;width:205px;height:205px;border:1px solid rgba(235,213,144,.34);border-radius:50%;box-shadow:0 0 0 15px #ebd59012,0 0 0 31px #ebd5900a;content:""}.campaign-hero strong{color:#fff2c9;text-shadow:0 2px #153d2c}.campaign-hero i{border:1px solid rgba(240,222,161,.45);border-radius:99px;padding:5px 8px;background:#0d302357}.section-heading{position:relative;padding-left:12px}.section-heading:before{position:absolute;top:4px;bottom:3px;left:0;width:4px;border-radius:4px;background:linear-gradient(#d6bd6f,#3e7148);content:""}.section-heading h2{color:#2a5038}.entry-card{position:relative;overflow:hidden;border:1px solid #b69a65;border-radius:15px;background:linear-gradient(145deg,#fffef4f0,#efe2bfe0);box-shadow:inset 0 0 0 3px #fffff49e,0 7px 14px #4c391d1c;transition:transform .16s ease,box-shadow .16s ease}.entry-card:after{position:absolute;right:-18px;bottom:-22px;width:72px;height:72px;border:1px solid rgba(75,112,76,.14);border-radius:50%;box-shadow:0 0 0 12px #4b704c0f;content:""}.entry-card:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 0 0 3px #fffff49e,0 2px 6px #4c391d29}.entry-card i{position:relative;z-index:1;width:32px;height:32px;border:1px solid #b8a265;background:radial-gradient(circle at 30% 25%,#f8f1c8,#65906a 57%,#315e42);color:#fff9e6;box-shadow:inset 0 0 0 3px #ffffff40,0 2px 5px #39513340;text-shadow:0 1px #315e42}.entry-card strong{position:relative;z-index:1;color:#2c5139;font-family:Songti SC,serif;font-size:17px}.entry-card small{position:relative;z-index:1;color:#68776b}.category-tabs{gap:7px;border:0;padding:4px;border-radius:14px;background:#62775221}.category-tabs button{border:1px solid transparent;border-radius:10px;color:#526457}.category-tabs button.active{border-color:#8fa07a;background:linear-gradient(145deg,#41774b,#24543a);color:#fff9e7;box-shadow:inset 0 0 0 1px #ffedad3d,0 2px 5px #1d4b2b2e}.setup-panel{border-color:#bba26f;background:linear-gradient(145deg,#fffdf4eb,#eedfb9d1);box-shadow:inset 0 0 0 3px #fffcecb8,0 10px 20px #5a411e12}.mode-choice-grid button,.segmented button{position:relative;overflow:hidden;border-color:#c2aa76;background:linear-gradient(145deg,#fffdf4,#e8dab9);color:#405841;box-shadow:inset 0 0 0 2px #ffffff6e}.mode-choice-grid button.active,.segmented button.active{border-color:#285c3b;background:linear-gradient(145deg,#4f8656,#275b3b);color:#fff9e7;box-shadow:inset 0 0 0 2px #ffeba040,0 3px 6px #23502c2b}.role-option{border-color:#c2aa76;background:#fffcf1b8}.role-option:has(input:checked){border-color:#477b4e;background:#e3eddc;box-shadow:inset 0 0 0 2px #ffffff85}.rules-link{border-bottom:1px solid rgba(54,102,62,.36)}.primary-wide-button{position:relative;overflow:hidden;min-height:52px;border-color:#b99c4f;background:linear-gradient(135deg,#1d4b33,#3c7c4d 51%,#1e4b34);color:#fff2c9;font-family:Songti SC,serif;font-size:18px;letter-spacing:.08em;text-shadow:0 1px #183c2b;box-shadow:inset 0 0 0 3px #fce19138,0 6px 12px #204b2d40}.primary-wide-button:before,.confirm-button:before{position:absolute;top:5px;right:8px;bottom:5px;left:8px;border-top:1px solid rgba(255,235,166,.5);border-bottom:1px solid rgba(255,235,166,.3);border-radius:8px;content:"";pointer-events:none}.history-hero{position:relative;overflow:hidden;border:1px solid #bda461;background:linear-gradient(135deg,#214d35,#3f7850);box-shadow:inset 0 0 0 3px #fae59930,0 10px 18px #234b2d33}.history-hero:after{position:absolute;right:-25px;bottom:-45px;width:130px;height:130px;border:1px solid rgba(255,238,184,.27);border-radius:50%;content:""}.history-list article,.setting-toggle,.settings-range{border-color:#ae94638c}.history-list article i{border:1px solid #c0a774;background:linear-gradient(145deg,#fff8d9,#d2dfbc);box-shadow:inset 0 0 0 2px #ffffff85}.setting-toggle i{border:1px solid #ae9563;background:#cdbb91;box-shadow:inset 0 1px 2px #4f371740}.setting-toggle input:checked+i{background:linear-gradient(90deg,#2b5b3b,#4f8b55)}.rules-hero{border-color:#bca36e;background:linear-gradient(135deg,#fffdf5e6,#e8dab5b8);box-shadow:inset 0 0 0 3px #fffceeb3}.mode-rule-list article{border-color:#bfa773;background:linear-gradient(145deg,#fffef6eb,#eee0bec7);box-shadow:inset 0 0 0 2px #ffffff73}.mode-rule-list i{border:1px solid #bca263;background:radial-gradient(circle at 30% 25%,#fff2bd,#779a6e 57%,#396846);color:#fff9e2;box-shadow:inset 0 0 0 3px #ffffff3d}.player-token{position:relative;padding-top:2px}.player-token .stone{width:34px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.78),var(--player-color) 30%,color-mix(in srgb,var(--player-color),#102617 25%) 100%);border:1px solid rgba(255,245,204,.62);box-shadow:inset 0 0 0 3px #ffffff26,inset 0 -3px 5px #00000047,0 2px 5px #00000038}.player-token.active .stone{box-shadow:0 0 0 2px #fff6c3,0 0 0 4px #b99d51,inset 0 0 0 3px #ffffff2b,inset 0 -3px 5px #00000047}.player-token.active:after{position:absolute;top:40px;width:22px;height:2px;border-radius:2px;background:#bb9a43;content:""}.board{border-color:#88612f;border-radius:8px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 14px),repeating-linear-gradient(0deg,rgba(92,52,12,.045) 0 1px,transparent 1px 11px),#d6ad6d;box-shadow:inset 0 0 0 3px #efd298,inset 0 0 0 8px #9f7136,0 12px 22px #412d1340}.intersection{border-color:#4e300d85}.stone{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.72),var(--player-color) 30%,color-mix(in srgb,var(--player-color),#102617 25%) 100%);border:1px solid rgba(255,245,204,.5);box-shadow:inset 0 0 0 3px #ffffff21,inset 0 -3px 5px #00000042,0 2px 3px #00000040}.ghost-stone{border-color:#e5c052;background:#306d416b;box-shadow:0 0 0 4px #faeba36b}.turn-guidance{position:relative;margin:13px 0 5px}.turn-guidance strong{color:#315b3b;text-shadow:0 1px #fffbe9}.turn-guidance em{border-color:#bba16a;background:linear-gradient(145deg,#fff8e6,#e4d8b7);color:#345f3c;box-shadow:inset 0 0 0 2px #ffffff85}.control-dock{border-top-color:#bfa873;background:linear-gradient(180deg,#faf2e0fa,#e8d8b1f5);box-shadow:0 -5px 16px #523b1b1a}.control-dock button{position:relative;overflow:hidden;border-color:#b49b64;background:linear-gradient(145deg,#fffef3,#e8dab8);color:#3d5e42;box-shadow:inset 0 0 0 2px #ffffff8c}.control-dock .confirm-button{border-color:#bca14e;background:linear-gradient(135deg,#1e4a32,#397a4c 52%,#1b4931);color:#fff1c6;font-size:21px;box-shadow:inset 0 0 0 3px #fbdf8738,0 5px 9px #1e462a40}.control-dock .skill-active{border-color:#b88731;background:linear-gradient(145deg,#f8e7a5,#ddbd55);color:#68470e}.rules-dialog{border-color:#bda267;background:linear-gradient(145deg,#fffdf2,#ebdcb9);box-shadow:inset 0 0 0 3px #fff9,0 18px 44px #00000040}.rules-dialog>button,.dialog-actions button{border-color:#b99c4f;background:linear-gradient(135deg,#1f4c33,#3b794c);color:#fff0c4;box-shadow:inset 0 0 0 2px #ffe58f38}.dialog-actions .text-button{border-color:#bdab82;background:#fffdf499;color:#536751;box-shadow:none}.skill-choice-card{border-color:#bca16a;background:linear-gradient(145deg,#fffdf4f2,#ebdcb7d4);box-shadow:inset 0 0 0 3px #ffffffa1,0 14px 25px #4c37191a}.skill-choice-grid button{border-color:#bda570;background:linear-gradient(145deg,#fffef5,#e8d9b8);box-shadow:inset 0 0 0 2px #ffffff85}.skill-choice-grid button:hover{border-color:#4f7d50;background:linear-gradient(145deg,#eff4df,#dbe8d2)}.category-tabs{grid-template-columns:repeat(3,1fr)}.rogue-intro p:last-child{margin:8px 0 0;color:#718074;font-size:13px}.resume-run-card{display:grid;grid-template-columns:auto 1fr auto;width:100%;align-items:center;gap:12px;margin-bottom:13px;border:1px solid #b99d5e;border-radius:14px;padding:13px;background:linear-gradient(145deg,#1f5137,#3f7b4d);color:#fff3ca;text-align:left;box-shadow:inset 0 0 0 2px #ffe6932e}.resume-run-card span{display:grid;gap:3px}.resume-run-card strong{font-family:Songti SC,serif;font-size:17px}.resume-run-card small{color:#dbe7d7;font-size:11px}.rogue-skill-grid{display:grid;gap:8px}.rogue-skill-grid button{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:1px 8px;border:1px solid #c2aa76;border-radius:11px;padding:10px;background:linear-gradient(145deg,#fffef5,#e8d9b8);color:#405841;text-align:left}.rogue-skill-grid button svg{grid-row:1 / 3}.rogue-skill-grid button small{color:#718074;font-size:10px}.rogue-skill-grid button.active{border-color:#285c3b;background:linear-gradient(145deg,#4f8656,#275b3b);color:#fff9e7}.rogue-skill-grid button.active small{color:#e1eadc}.run-meta-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.run-meta-summary span{display:grid;min-height:62px;place-items:center;gap:3px;border:1px solid #c8b588;border-radius:11px;padding:7px;background:#fffcf1bd;color:#49624d;font-size:10px;text-align:center}.rogue-shell{padding-bottom:32px}.run-hud{position:sticky;z-index:4;top:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 14px;border:1px solid #b89d61;border-radius:13px;padding:8px;background:#f8f0d7f0;box-shadow:0 5px 12px #4533181a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.run-hud span{display:flex;align-items:center;justify-content:center;gap:4px;color:#3d6045;font-size:11px;font-weight:800}.rogue-map{display:grid;gap:7px}.map-layer{display:grid;grid-template-columns:22px 1fr;align-items:stretch;gap:6px}.map-layer>b{display:grid;place-items:center;color:#9a855a;font-size:10px}.map-layer>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.map-node{position:relative;display:grid;min-height:93px;justify-items:start;gap:2px;overflow:hidden;border:1px solid #c7b58c;border-radius:12px;padding:9px;background:linear-gradient(145deg,#fffdf4eb,#e9dcbbd4);color:#536453;text-align:left}.map-node i{display:grid;width:24px;height:24px;place-items:center;border:1px solid #bca363;border-radius:50%;background:#e1e9d5;color:#356344;font-family:Songti SC,serif;font-style:normal;font-weight:900}.map-node strong{font-size:11px}.map-node small{color:#788176;font-size:8px;line-height:1.25}.map-node em{position:absolute;top:7px;right:7px;color:#988357;font-size:8px;font-style:normal}.map-node.reachable{border-color:#3e794b;box-shadow:inset 0 0 0 2px #467d4e2e,0 4px 9px #315b391f}.map-node.completed{opacity:.62;filter:saturate(.65)}.map-node.completed:after{position:absolute;right:6px;bottom:5px;color:#347044;content:"✓";font-weight:900}.relic-strip{margin-top:15px;border-top:1px solid #d2c19b;padding-top:12px}.relic-strip>strong{color:#385743;font-size:12px}.relic-strip>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.relic-strip span{border:1px solid #a89461;border-radius:99px;padding:4px 8px;background:#f2e7c8;color:#486049;font-size:10px}.relic-strip small{color:#7d887e}.text-danger-button{display:block;min-height:34px;margin:18px auto 0;border:0;background:transparent;color:#9b5145;font-size:11px;text-decoration:underline}.reward-hero{margin:27px 0 16px;text-align:center}.reward-hero svg{color:#987c35}.reward-hero h1{margin:0;color:#2d5038;font-family:Songti SC,serif;font-size:27px}.reward-grid{display:grid;gap:9px}.reward-grid button{position:relative;display:grid;min-height:116px;gap:5px;border:1px solid #bba266;border-radius:14px;padding:15px;background:linear-gradient(145deg,#fffdf2,#e9d9b5);color:#35563f;text-align:left;box-shadow:inset 0 0 0 3px #ffffff8c}.reward-grid button>span{color:#a27c2d;font-size:9px;font-weight:900;letter-spacing:.12em}.reward-grid button>strong{font-family:Songti SC,serif;font-size:20px}.reward-grid button p{margin:0;color:#68776a;font-size:12px;line-height:1.5}.secondary-wide-button{width:100%;margin-top:12px;border:1px solid #9e8e67;border-radius:12px;background:#fffbedbf;color:#47614a;font-weight:800}.event-shell{display:grid;grid-template-rows:auto 1fr}.event-card{align-self:center;border:1px solid #bda36a;border-radius:20px;padding:22px;background:linear-gradient(145deg,#fffdf3,#e9dab9);text-align:center;box-shadow:inset 0 0 0 3px #ffffff94,0 14px 25px #46341a1a}.event-card>svg{color:#3f7350}.event-card h1{margin:4px 0 9px;color:#2c5039;font-family:Songti SC,serif;font-size:27px}.event-card>p:not(.eyebrow){color:#69786b;font-size:13px;line-height:1.6}.event-card>div{display:grid;gap:8px;margin-top:18px}.event-card button{border:1px solid #446f4c;border-radius:11px;background:#326b43;color:#fff7e3;font-weight:800}.event-card button+button{border-color:#b9a579;background:#fff9e8;color:#4f644f}.result-shell{display:grid;place-items:center}.run-result-card{width:100%;border:1px solid #b79c59;border-radius:22px;padding:25px;background:linear-gradient(145deg,#fffdf0,#e9d6aa);text-align:center;box-shadow:inset 0 0 0 4px #ffffff8c,0 18px 30px #48341824}.run-result-card>svg{color:#a17d27}.run-result-card h1{margin:5px 0;color:#294e36;font-family:Songti SC,serif;font-size:29px}.run-result-card>p:not(.eyebrow){color:#69786b;font-size:13px}.run-result-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.run-result-card span{display:grid;gap:2px;border:1px solid #c9b78d;border-radius:10px;padding:9px;color:#6c776c;font-size:9px}.run-result-card span strong{color:#365c3e;font-size:20px}.run-result-card>button{width:100%;border:1px solid #315f3f;border-radius:11px;background:#326b43;color:#fff5db;font-weight:800}.run-result-card>.text-button{margin-top:8px;border-color:#baa980;background:transparent;color:#526753}.seed-shell>section{margin-top:38px;text-align:center}.seed-shell h1{margin:4px 0;color:#2c5139;font-family:Songti SC,serif}.seed-shell p:not(.eyebrow){color:#718074;font-size:12px}.seed-grid{display:grid;grid-template-columns:repeat(5,1fr);width:min(82vw,350px);aspect-ratio:1;margin:20px auto;border:6px solid #956b35;background:#d6ad6d}.seed-grid button{position:relative;min-height:0;border:1px solid rgba(78,48,13,.5);background:transparent}.seed-grid button:after{position:absolute;top:27%;right:27%;bottom:27%;left:27%;border:1px dashed #3a7147;border-radius:50%;content:""}.seed-grid button:active:after{background:#3a7147}.campaign-battle-hud{display:flex;justify-content:center;gap:12px;margin:6px 0;color:#53705a;font-size:10px;font-weight:800}.campaign-battle-hud span{display:flex;align-items:center;gap:3px}.last-move:before{position:absolute;z-index:4;width:16%;aspect-ratio:1;border-radius:50%;background:#f6d45c;box-shadow:0 0 0 1px #6e4822;content:"";pointer-events:none}.winning-cell{background:#f7dd6057;box-shadow:inset 0 0 0 2px #95681994}.hint-cell{background:#41824e33}.hint-dot{width:30%;aspect-ratio:1;border:2px solid #3e7849;border-radius:50%;background:#fff8d0bf;box-shadow:0 0 0 3px #3e784921}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:-5px 0 15px}.result-stats span{border:1px solid #c9b88d;border-radius:8px;padding:6px;color:#627064;font-size:10px}.loading-shell{display:grid;place-content:center;justify-items:center;gap:10px;color:#3f6748}.loading-shell strong{font-family:Songti SC,serif;font-size:20px}@media(max-width:390px){.map-node{min-height:86px;padding:7px}.map-node strong{font-size:10px}.map-node small{font-size:7px}.run-hud span,.run-meta-summary span{font-size:9px}}.access-shell{display:grid;min-height:100vh;place-items:center;padding:max(20px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));background:linear-gradient(#f4ebd833,#f4ebd859)}.access-card{width:min(100%,460px);border:1px solid #b79c61;border-radius:24px;padding:28px 22px;background:linear-gradient(145deg,#fffef4f5,#ebdcb5eb);box-shadow:inset 0 0 0 4px #ffffff80,0 20px 50px #4531162e;text-align:center}.access-seal,.online-mark{display:grid;width:64px;height:64px;place-items:center;margin:0 auto 14px;border:1px solid #b99b50;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff6bf,#62916a 56%,#28583a);color:#fff8dc;box-shadow:inset 0 0 0 4px #ffffff3d,0 6px 13px #2d533333}.access-card h1,.online-intro h1{margin:3px 0 9px;color:#294e36;font-family:Songti SC,serif;font-size:29px}.access-card>p:not(.eyebrow),.online-intro>p:not(.eyebrow){margin:0 auto;color:#68776b;font-size:13px;line-height:1.65}.access-card form,.online-form{display:grid;gap:10px;margin-top:22px;text-align:left}.access-card label,.online-form label{display:grid;gap:7px;color:#49614c;font-size:12px;font-weight:800}.access-card label span{display:flex;align-items:center;gap:5px}.access-card input,.online-form input,.online-create-panel select{width:100%;min-height:50px;border:1px solid #baa573;border-radius:12px;padding:0 13px;outline:none;background:#fffdf5e6;color:#284b35;font-size:16px}.access-card input:focus,.online-form input:focus,.online-create-panel select:focus{border-color:#3b7047;box-shadow:0 0 0 3px #3b704721}.access-card form>button:not(.text-button){display:flex;min-height:50px;align-items:center;justify-content:center;gap:7px;border:1px solid #b99c4f;border-radius:12px;background:linear-gradient(135deg,#1f4c33,#3b794c);color:#fff1c6;font-weight:900}.access-card .text-button,.online-form .text-button,.online-create-panel .text-button,.rename-link{border:0;background:transparent;color:#51705a;font-size:11px;text-decoration:underline}.access-card>small{display:block;margin-top:18px;color:#849086;font-size:10px;line-height:1.5}.form-error,.online-error{margin:0;border:1px solid rgba(165,79,64,.25);border-radius:9px;padding:8px 10px;background:#ffebe1ad;color:#9a4c3f;font-size:12px;line-height:1.45}.access-loading{display:grid;justify-items:center;gap:10px;color:#426a4a}.access-loading strong{font-family:Songti SC,serif;font-size:18px}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.online-start-shell,.lobby-shell{background:linear-gradient(170deg,#ffffff6b,#f4ebd840)}.online-header .connection-icon{display:grid;width:43px;height:43px;place-items:center;border:1px solid #bda877;border-radius:50%;background:#fffcf2b8;color:#9b6b36}.connection-icon.online{color:#377249}.connection-icon.offline{color:#a25547}.online-intro{margin:28px 0 20px;text-align:center}.online-intro .online-mark{width:58px;height:58px}.online-intro h1{font-size:27px}.rename-link{min-height:28px;margin-top:8px}.connection-banner{display:flex;align-items:center;gap:7px;margin:9px 0;border:1px solid #c8ad72;border-radius:10px;padding:9px 11px;background:#fff8e0d9;color:#775d27;font-size:11px;font-weight:800}.connection-banner.compact{margin:2px 0 6px;padding-block:5px}.online-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.online-action-grid button{display:grid;min-height:142px;justify-items:start;gap:4px;border:1px solid #b99f68;border-radius:16px;padding:17px;background:linear-gradient(145deg,#fffdf3,#e8d9b7);color:#35583f;text-align:left;box-shadow:inset 0 0 0 3px #ffffff7a,0 7px 15px #4d3a1c14}.online-action-grid svg{margin-bottom:5px;color:#397049}.online-action-grid strong{font-family:Songti SC,serif;font-size:19px}.online-action-grid span{color:#748075;font-size:11px;line-height:1.45}.online-create-panel{margin-top:12px}.online-mode-rule{margin:0;border-left:3px solid #5b855c;padding-left:9px;color:#68776a;font-size:12px;line-height:1.55}.join-form{margin-top:14px;border:1px solid #bda775;border-radius:15px;padding:16px;background:#fffcf2c2}.room-invite-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:18px 0 10px;border:1px solid #b99c55;border-radius:18px;padding:17px;background:linear-gradient(135deg,#1d4c33,#3d7a4c);color:#fff2ca;box-shadow:inset 0 0 0 3px #ffe5932e,0 10px 19px #204a2c33}.room-invite-card>div{display:grid;gap:2px}.room-invite-card .eyebrow{color:#dfd6ac}.room-invite-card strong{font-family:ui-monospace,monospace;font-size:31px;letter-spacing:.14em}.room-invite-card span{color:#dce7d8;font-size:11px}.room-invite-card button{display:grid;min-width:55px;place-items:center;border:1px solid rgba(255,239,178,.45);border-radius:13px;background:#0f34235c;color:#fff3cc}.room-invite-card button small{font-size:9px}.lobby-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.lobby-meta span{border:1px solid #c5b183;border-radius:9px;padding:7px 4px;background:#fffcf2ad;color:#58705b;font-size:10px;font-weight:800;text-align:center}.seat-list{display:grid;gap:7px}.seat-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;border:1px solid #c7b58b;border-radius:13px;padding:10px;background:#fffdf5c7}.seat-card.self{border-color:#4d7c52;box-shadow:inset 0 0 0 2px #43784c26}.seat-card>.stone{width:34px}.seat-card>div{display:grid;gap:2px}.seat-card strong{color:#35543e;font-size:13px}.seat-card div span{color:#788378;font-size:10px}.seat-card em{border-radius:99px;padding:3px 7px;background:#dfead7;color:#376442;font-size:10px;font-style:normal;font-weight:900}.seat-card button{min-height:31px;border:1px solid #9e956f;border-radius:8px;background:#fff9e9;color:#49664d;font-size:10px;font-weight:800}.seat-card>small{color:#9a6c39;font-size:9px}.lobby-skill-panel{margin:14px 0;border:1px solid #bda673;border-radius:16px;padding:14px;background:linear-gradient(145deg,#fffef5e6,#ecdebccc)}.lobby-skill-panel h2{margin:1px 0 3px;color:#31523a;font-family:Songti SC,serif;font-size:20px}.lobby-skill-panel>div>span{color:#768176;font-size:10px}.online-skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}.online-skill-grid button{display:grid;min-height:84px;justify-items:center;gap:2px;border:1px solid #c3ad79;border-radius:10px;padding:8px 4px;background:#fffcf1c7;color:#456048}.online-skill-grid button.active{border-color:#2e6740;background:linear-gradient(145deg,#447e50,#275a3b);color:#fff6da;box-shadow:inset 0 0 0 2px #ffe89933}.online-skill-grid strong{font-size:11px}.online-skill-grid small{color:#7c867b;font-size:8px;line-height:1.25}.online-skill-grid button.active small{color:#dfe9da}.lobby-actions{display:grid;gap:8px;padding-bottom:20px}.secondary-ready{width:100%;border:1px solid #a9925f;border-radius:12px;background:#fffbedcc;color:#526853;font-weight:800}.online-game-shell{position:relative}.online-game-shell .game-topbar>.connection-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:50%;color:#39704a}.online-control-dock{grid-template-columns:.85fr 1.6fr .85fr}@media(max-width:390px){.access-card{padding:24px 17px}.online-action-grid{grid-template-columns:1fr}.online-action-grid button{min-height:105px}.room-invite-card strong{font-size:27px}.online-skill-grid strong{font-size:10px}.seat-card{grid-template-columns:34px 1fr auto;padding:8px}}.mode-rule-summary{display:grid;gap:10px;border:1px solid #bea774;border-radius:14px;padding:13px;background:linear-gradient(145deg,#fffef6f0,#ede0bfc7);box-shadow:inset 0 0 0 2px #ffffff7a;text-align:left}.setup-summary .mode-rule-summary{margin-top:4px}.rule-meta-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.rule-meta-row>span{display:grid;min-height:48px;align-content:center;gap:2px;border:1px solid rgba(175,151,99,.6);border-radius:9px;padding:6px;background:#fffcf0b8;color:#7a806f;font-size:9px;text-align:center}.rule-meta-row strong{overflow-wrap:anywhere;color:#365a3e;font-size:12px;line-height:1.25}.mode-rule-summary>p{margin:0;color:#3e5d46;font-size:12px;font-weight:800;line-height:1.55}.mode-rule-summary ul,.rule-section ul{margin:0;padding-left:18px;color:#6b776d;font-size:11px;line-height:1.55}.mode-rule-summary li+li,.rule-section li+li{margin-top:4px}.mode-rule-list{gap:12px;padding-bottom:20px}.mode-rule-list article.mode-rule-card{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch;padding:14px}.mode-rule-card>header{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px}.mode-rule-card>header i{width:40px;height:40px}.mode-rule-card>header div{display:grid;gap:2px}.mode-rule-card>header h2{margin:0;color:#2f5038;font-family:Songti SC,serif;font-size:18px}.mode-rule-card>header span{color:#7a806f;font-size:10px;font-weight:800}.mode-rule-sections{display:grid;gap:9px}.rule-section{display:grid;gap:5px;border-left:3px solid #b59b57;padding:2px 0 2px 10px;text-align:left}.rule-section h3{display:flex;align-items:center;gap:6px;margin:0;color:#365d40;font-size:12px}.rule-section h3 svg{color:#9b7b32}.rule-section p{margin:0;color:#657369;font-size:11px;line-height:1.6}.common-rule-section{border-left-color:#4d7b51}.rule-dialog-backdrop{padding-bottom:max(12px,env(safe-area-inset-bottom))}.mode-rules-dialog{display:grid;max-height:min(88vh,760px);grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:18px;text-align:left}.rule-dialog-header{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px}.rule-dialog-header>span{display:grid;width:40px;height:40px;place-items:center;border:1px solid #b79b56;border-radius:50%;background:linear-gradient(145deg,#fff4c8,#d7dfbd);color:#386444}.mode-rules-dialog .rule-dialog-header h2{margin:0;font-size:24px}.mode-rules-dialog .rule-dialog-header .eyebrow{margin:0 0 2px}.rule-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid rgba(173,149,97,.45);border-bottom:1px solid rgba(173,149,97,.45);padding:12px 3px 12px 0;scrollbar-color:#a8915d transparent}.mode-rules-dialog>button{min-height:48px}.guide-dialog.mode-rules-dialog{text-align:left}.nickname-setting{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #dcd0b8;padding:13px 8px}.nickname-setting-icon{display:grid;width:36px;height:36px;place-items:center;border:1px solid #bca36c;border-radius:50%;background:#e5eddd;color:#3c6948}.nickname-setting label{display:grid;min-width:0;gap:2px}.nickname-setting label strong{color:#3b5542;font-size:13px}.nickname-setting label small{color:#899087;font-size:9px;line-height:1.35}.nickname-setting input{width:100%;min-height:38px;margin-top:5px;border:1px solid #baa573;border-radius:9px;padding:0 9px;outline:none;background:#fffdf5e6;color:#284b35}.nickname-setting input:focus{border-color:#3b7047;box-shadow:0 0 0 3px #3b704721}.nickname-setting button{min-height:36px;border:1px solid #9d8754;border-radius:8px;background:#fff8e7;color:#456249;font-size:11px;font-weight:800}.online-create-panel .mode-rule-summary,.lobby-shell>.mode-rule-summary{margin:2px 0 12px}.online-game-header-actions{display:flex;align-items:center;gap:5px}.online-game-header-actions .round-icon-button{width:38px;min-height:38px}.online-game-header-actions .connection-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#39704a}@media(max-width:390px){.mode-rules-dialog{max-height:92vh;padding:15px}.rule-meta-row>span{min-height:45px;padding-inline:3px}.rule-meta-row strong{font-size:10px}.mode-rule-summary{padding:11px}.nickname-setting{grid-template-columns:34px minmax(0,1fr)}.nickname-setting button{grid-column:2;width:72px;justify-self:end}.online-game-shell .game-topbar>div:nth-child(2) h1{font-size:17px}}:root{--ink-950: #071914;--ink-900: #0b241b;--ink-800: #12362a;--ink-700: #23513b;--paper-100: #fff8df;--paper-200: #efe0b9;--paper-300: #d8bf88;--gold-300: #efd888;--gold-500: #c69a3d;--gold-700: #7b5420;--cinnabar-500: #a83828;--cinnabar-700: #6e211d;--jade-400: #68bd98;--night-blue: #111d29;color:#182c22;background:var(--ink-950)}body{background:radial-gradient(circle at 50% -20%,rgba(199,158,68,.22),transparent 42%),linear-gradient(#0b1e172e,#04130e61),url(/assets/ink-landscape-paper.png) center top / cover fixed,#cbb986}button{-webkit-tap-highlight-color:transparent}.app-shell{overflow:hidden;animation:scene-enter .42s cubic-bezier(.2,.8,.2,1) backwards}.app-shell:after{position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 16% 24%,rgba(229,199,111,.12) 0 1px,transparent 2px),radial-gradient(circle at 82% 68%,rgba(229,199,111,.09) 0 1px,transparent 2px);background-size:87px 93px,121px 114px;content:"";opacity:.7;pointer-events:none;animation:gold-dust-drift 14s linear infinite alternate}.home-shell,.setup-shell,.list-shell,.choice-shell,.rogue-shell,.reward-shell,.event-shell,.seed-shell,.lobby-shell,.online-start-shell{background:linear-gradient(170deg,#fffae5c7,#dcc6917a),radial-gradient(circle at 80% 5%,rgba(185,53,38,.08),transparent 26%);box-shadow:0 0 70px #020d0957}.home-header h1,.setup-intro h1,.compact-header h1,.game-topbar h1,.section-heading h2{letter-spacing:.08em}.round-icon-button,.entry-card,.campaign-hero,.primary-wide-button,.mode-choice-grid button,.role-option,.skill-choice-grid button,.reward-grid button,.map-node,.seat-card,.online-action-grid button{transform:translateZ(0);transition:transform .18s ease,filter .2s ease,box-shadow .22s ease,border-color .22s ease}.round-icon-button:active,.entry-card:active,.campaign-hero:active,.primary-wide-button:active,.mode-choice-grid button:active,.role-option:active,.skill-choice-grid button:active,.reward-grid button:active,.map-node:active,.seat-card button:active,.online-action-grid button:active{transform:translateY(2px) scale(.975);filter:brightness(.96)}.home-header{animation:rise-in .46s .04s both}.campaign-hero{isolation:isolate;animation:rise-in .5s .1s both}.campaign-hero:after{animation:hero-orbit 8s linear infinite}.campaign-hero>i:after{width:6px;height:6px;border-radius:50%;background:var(--gold-300);box-shadow:0 0 14px var(--gold-300);content:"";animation:ember-pulse 1.6s ease-in-out infinite}.entry-card{animation:card-deal .48s cubic-bezier(.18,.88,.24,1.18) both}.entry-card:nth-child(1){animation-delay:.14s}.entry-card:nth-child(2){animation-delay:.19s}.entry-card:nth-child(3){animation-delay:.24s}.entry-card:nth-child(4){animation-delay:.29s}.entry-card:nth-child(5){animation-delay:.34s}.entry-card:hover i,.entry-card:focus-visible i{animation:seal-awaken .7s ease both}.recent-panel,.history-list article,.settings-list>*{animation:scroll-unfurl .44s ease both}.history-list article:nth-child(2),.settings-list>*:nth-child(2){animation-delay:.06s}.history-list article:nth-child(3),.settings-list>*:nth-child(3){animation-delay:.12s}.history-list article:nth-child(4),.settings-list>*:nth-child(4){animation-delay:.18s}.setup-intro{animation:rise-in .42s .05s both}.setup-panel{position:relative;overflow:hidden;animation:scroll-unfurl .46s .1s both}.setup-panel:before{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(239,216,136,.42);border-radius:inherit;content:"";pointer-events:none}.mode-choice-grid button.active,.segmented button.active{animation:choice-seal .34s cubic-bezier(.2,.8,.2,1) both}.mode-choice-grid button.active:after{position:absolute;right:7px;bottom:5px;width:18px;height:18px;border:1px solid rgba(255,223,134,.65);border-radius:4px;color:#ffecb0eb;content:"定";font-family:Songti SC,serif;font-size:10px;line-height:16px;transform:rotate(-8deg)}.role-option{position:relative;overflow:hidden}.role-option:has(input:checked){animation:role-claim .42s cubic-bezier(.17,.9,.27,1.2) both}.role-option:has(input:checked) .stone{animation:stone-claim .5s cubic-bezier(.17,.89,.3,1.35) both}.role-option:has(input:checked):after{position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:conic-gradient(transparent,rgba(232,205,119,.5),transparent 28%);content:"";animation:selected-sweep 1.2s ease both;pointer-events:none}.skill-choice-card{position:relative;overflow:hidden;animation:scroll-unfurl .5s .06s both}.skill-card{isolation:isolate}.skill-card:after,.online-skill-grid button:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 12% 50%,var(--skill-glow, rgba(195, 161, 75, .2)),transparent 52%);content:"";opacity:0;transition:opacity .2s ease}.skill-card:hover:after,.skill-card:focus-visible:after,.online-skill-grid button:hover:after,.online-skill-grid button.active:after{opacity:1}.skill-card-vanish{--skill-glow: rgba(88, 57, 126, .42)}.skill-card-create{--skill-glow: rgba(40, 166, 142, .38)}.skill-card-stun{--skill-glow: rgba(178, 55, 38, .36)}.skill-card.selected{z-index:3;animation:skill-seal-card .48s cubic-bezier(.2,.8,.2,1) both}.skill-card-vanish.selected{animation-name:skill-seal-vanish}.skill-card-create.selected{animation-name:skill-seal-create}.skill-card-stun.selected{animation-name:skill-seal-stun}.privacy-seal{position:absolute;z-index:8;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:4px;background:radial-gradient(circle,#1f4632eb,#061610fa 65%),var(--ink-950);color:var(--paper-100);text-align:center;animation:privacy-curtain .48s ease both}.privacy-seal i{display:grid;width:66px;height:66px;place-items:center;margin-bottom:8px;border:2px solid var(--gold-300);border-radius:13px;color:var(--gold-300);font-family:Songti SC,serif;font-size:40px;font-style:normal;box-shadow:inset 0 0 0 5px #efd88821,0 0 32px #efd8883d;transform:rotate(-6deg);animation:seal-strike .42s cubic-bezier(.16,.9,.22,1.2) both}.privacy-seal strong{font-family:Songti SC,serif;font-size:23px;letter-spacing:.15em}.privacy-seal small{color:#cfcaaf}.game-shell{isolation:auto;color:#f5e9c4;background:radial-gradient(circle at 50% 40%,rgba(70,112,76,.3),transparent 38%),linear-gradient(180deg,#0e3124fa,#04130ffc);box-shadow:0 0 80px #020d09}.game-shell:before{z-index:0;background:linear-gradient(90deg,rgba(224,192,105,.08),transparent 18%,transparent 82%,rgba(224,192,105,.08)),radial-gradient(circle at 50% -10%,rgba(211,169,72,.16),transparent 40%)}.game-shell>*{position:relative;z-index:1}.game-shell>.control-dock{position:fixed;z-index:5}.game-shell>.skill-prompt,.game-shell>.skill-notice{position:fixed;z-index:44}.game-shell>.dialog-backdrop{position:fixed;z-index:34}.game-shell .game-topbar p,.game-shell .campaign-battle-hud,.game-shell .player-token small{color:#b7bea8}.game-shell .game-topbar h1,.game-shell .turn-guidance strong,.game-shell .player-token.active span{color:#ffe6a1;text-shadow:0 0 18px rgba(228,190,91,.22)}.game-shell .round-icon-button{border-color:#80642d;background:radial-gradient(circle at 35% 28%,#d8c790 0,#d8c790 8%,#4b5f43 48%,#182b20);color:#ffe7a4;box-shadow:inset 0 0 0 2px #f5dc8d29,0 4px 16px #00000059}.player-rail{position:relative}.player-token{transition:opacity .28s ease,transform .3s ease,filter .3s ease}.player-token.active{animation:active-seat-rise .45s cubic-bezier(.2,.85,.2,1) both}.player-token.active .stone{animation:active-stone-breathe 1.7s ease-in-out infinite}.player-token.active:after{box-shadow:0 0 13px #e9c761;animation:turn-line 1.4s ease-in-out infinite}.player-token.eliminated{opacity:.42;filter:grayscale(.8);transform:scale(.9)}.player-token.eliminated:before{position:absolute;z-index:3;top:4px;display:grid;width:34px;height:34px;place-items:center;border:1px solid #a54837;border-radius:7px;background:#5e1915d1;color:#f1c09b;content:"落";font-family:Songti SC,serif;transform:rotate(-11deg);animation:seal-strike .45s ease both}.board{position:relative;isolation:isolate;border-color:#573718;background:repeating-linear-gradient(90deg,rgba(255,245,194,.045) 0 1px,transparent 1px 12px),linear-gradient(135deg,#c08b45,#9d682f 52%,#bd8842);box-shadow:0 14px 34px #00000080,0 0 0 2px #d4ad60,0 0 0 6px #3f2814,inset 0 0 30px #3e1c0740;animation:board-reveal .72s cubic-bezier(.16,.82,.24,1) both}.board:before{position:absolute;z-index:8;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px solid rgba(241,210,121,.28);content:"";opacity:.75;pointer-events:none}.board-targeting{box-shadow:0 0 0 2px #d3a94d,0 0 0 7px #531f19,0 0 42px #aa35247a,inset 0 0 42px #580e0c4d;animation:targeting-board 1.1s ease-in-out infinite}.intersection{transition:background .14s ease,box-shadow .18s ease}.intersection.preview{background:radial-gradient(circle,rgba(255,225,125,.34),transparent 72%)}.ghost-stone{border-color:#ffe596;background:#235b407a;box-shadow:0 0 0 4px #f5cf6647,0 0 20px #f5cf6666;animation:ghost-breathe .72s ease-in-out infinite alternate}.last-move .stone{animation:stone-drop .38s cubic-bezier(.15,.86,.23,1.35) both}.last-move:after{position:absolute;z-index:3;width:18%;aspect-ratio:1;border:1px solid #fff0a4;border-radius:50%;box-shadow:0 0 10px #f6d45c;content:"";pointer-events:none;animation:move-ripple .65s ease-out both}.last-move:before{animation:last-dot-pulse 1.2s ease-in-out infinite}.winning-cell{z-index:2;animation:winning-ignite .55s calc(var(--win-index) * 90ms) ease both}.winning-cell .stone{box-shadow:0 0 0 2px #fff1a8,0 0 18px #f0c858,inset 0 0 0 3px #ffffff2e,inset 0 -3px 6px #0000004d}.winning-cell:after{position:absolute;z-index:-1;width:150%;height:18%;border-radius:99px;background:linear-gradient(90deg,transparent,#fff0a3,transparent);box-shadow:0 0 15px #e1b742;content:"";animation:sword-line .7s calc(var(--win-index) * 90ms) ease both}.hint-dot{animation:hint-ripple 1.15s ease-in-out infinite}.skill-target:after{border-width:2px;box-shadow:0 0 0 2px #681612b8,0 0 20px #db462ab8}.skill-target-vanish .stone{animation:vanish-threat .62s ease-in-out infinite alternate}.skill-target-create{background:radial-gradient(circle,rgba(66,224,187,.46),transparent 68%)}.skill-target-stun .stone{animation:stun-threat .24s linear infinite alternate}.is-skill-pending .board-zone{position:relative}.is-skill-pending .board-zone:after{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,transparent 25%,rgba(3,13,10,.48) 86%);content:"";pointer-events:none;animation:skill-vignette-in .38s ease both}.pending-vanish .board-zone:after{background:radial-gradient(circle,transparent 18%,rgba(28,10,38,.65) 88%)}.pending-create .board-zone:after{background:radial-gradient(circle,#3cc4a51a,#0316118c 88%)}.pending-stun .board-zone:after{background:radial-gradient(circle,transparent 18%,rgba(87,18,14,.55) 88%)}.turn-guidance span{color:#aeb8a8}.turn-guidance em{border-color:#846b35;background:linear-gradient(145deg,#2b4732f2,#11271df2);color:#f4d987;box-shadow:inset 0 0 0 1px #f8db8029}.control-dock{border-top-color:#765a28;background:linear-gradient(180deg,#0f2c20f5,#051812fc);box-shadow:0 -8px 26px #00000057}.control-dock button{border-color:#6f5a2d;background:linear-gradient(145deg,#304c3a,#152d22);color:#decf9f;box-shadow:inset 0 0 0 1px #efd58524}.control-dock .confirm-button{border-color:#d0ad52;background:linear-gradient(135deg,#82531c,#c0983b 52%,#745018);color:#fff4c3;text-shadow:0 1px #3c230e;box-shadow:inset 0 0 0 3px #ffeba333,0 5px 18px #b8842538}.control-dock .confirm-button.charged{animation:confirm-charge .95s ease-in-out infinite}.control-dock .skill-ready{border-color:#d8b757;color:#ffe58b;animation:skill-ready 1.4s ease-in-out infinite}.control-dock .skill-active{border-color:#c94d36;background:linear-gradient(145deg,#7f281e,#431b18);color:#ffe1a8;animation:target-command .8s ease-in-out infinite alternate}.skill-prompt,.skill-notice{z-index:44;border-color:#bd9340;background:linear-gradient(145deg,#fff8dbfa,#dbc287fa);box-shadow:0 12px 40px #0006,inset 0 0 0 2px #ffffff80;animation:prompt-drop .38s cubic-bezier(.18,.88,.22,1.12) both}.skill-prompt:before,.skill-notice:before{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(92,66,24,.18);border-radius:10px;content:"";pointer-events:none}.dialog-backdrop{z-index:34;background:radial-gradient(circle at 50% 70%,rgba(172,128,43,.18),transparent 38%),#020f0ac7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:backdrop-in .3s ease both}.rules-dialog{animation:dialog-rise .48s cubic-bezier(.16,.88,.22,1.12) both}.result-dialog{position:relative;overflow:hidden;border-color:#d1ae55;background:radial-gradient(circle at 50% 0,rgba(233,200,107,.25),transparent 38%),linear-gradient(145deg,#fff5d3,#d8bb78)}.result-dialog:before{position:absolute;top:-70%;right:-70%;bottom:-70%;left:-70%;background:conic-gradient(transparent,rgba(255,241,172,.45),transparent 20%);content:"";animation:result-rays 8s linear infinite;pointer-events:none}.result-dialog>*{position:relative;z-index:1}.result-emblem{position:relative;display:grid;width:78px;height:78px;place-items:center;margin:0 auto 10px;border:2px solid #94651f;border-radius:18px;background:radial-gradient(circle,#fff2b2,#bd8730);color:#533113;box-shadow:inset 0 0 0 5px #fffad061,0 8px 24px #6841103d;transform:rotate(-5deg);animation:seal-strike .52s .12s cubic-bezier(.12,.9,.2,1.2) both}.result-emblem svg{opacity:.18}.result-emblem i{position:absolute;font-family:Songti SC,serif;font-size:42px;font-style:normal;font-weight:900}.result-defeat{border-color:#6d7180;background:radial-gradient(circle at 50% 0,rgba(103,118,146,.22),transparent 38%),linear-gradient(145deg,#e5e1d2,#9ba1ab)}.result-defeat .result-emblem{border-color:#5a3440;background:radial-gradient(circle,#c5c1bd,#57404c);color:#f0d7c4;filter:saturate(.7)}.result-draw .result-emblem,.result-reveal .result-emblem{background:radial-gradient(circle,#dce1c5,#668166);color:#183d2a}.result-stats span{animation:stat-count-in .42s cubic-bezier(.2,.8,.2,1) both}.result-stats span:nth-child(2){animation-delay:.1s}.result-stats span:nth-child(3){animation-delay:.2s}.result-stats span strong{display:block;color:#5b3a14;font-size:18px}.dialog-actions button{animation:action-rise .34s .18s ease both}.dialog-actions button:nth-child(2){animation-delay:.25s}.dialog-actions button:nth-child(3){animation-delay:.32s}.rogue-map{position:relative}.rogue-map:before{position:absolute;top:12px;bottom:12px;left:10px;width:2px;background:linear-gradient(transparent,#d0aa4e 12%,#356547 88%,transparent);box-shadow:0 0 9px #cfab4e73;content:"";animation:route-flow 2.4s linear infinite}.map-layer{animation:layer-arrive .4s both}.map-layer:nth-child(2){animation-delay:.04s}.map-layer:nth-child(3){animation-delay:.08s}.map-layer:nth-child(4){animation-delay:.12s}.map-layer:nth-child(5){animation-delay:.16s}.map-layer:nth-child(6){animation-delay:.2s}.map-layer:nth-child(7){animation-delay:.24s}.map-layer:nth-child(8){animation-delay:.28s}.map-node.reachable{animation:node-reachable 1.7s ease-in-out infinite}.map-node.completed:after{display:grid;width:23px;height:23px;place-items:center;border:1px solid #3c7449;border-radius:5px;background:#e2edd1e6;transform:rotate(-8deg);animation:seal-strike .38s ease both}.map-node.node-boss.reachable{border-color:#a43828;box-shadow:inset 0 0 0 2px #a438282e,0 0 20px #972f2240}.reward-hero{animation:rise-in .48s both}.reward-grid{perspective:900px}.reward-grid button{animation:reward-flip .62s calc(var(--reward-index) * .12s) cubic-bezier(.18,.78,.2,1) both;transform-origin:center bottom}.reward-grid button.rarity-rare{border-color:#477a68;box-shadow:inset 0 0 0 3px #81c9b02e,0 8px 18px #1a5d481f}.reward-grid button.rarity-legendary{border-color:#b88724;background:linear-gradient(145deg,#fff5c4,#d5a949);box-shadow:inset 0 0 0 3px #fffad366,0 0 24px #c6973147;animation-name:reward-flip,legendary-shimmer;animation-duration:.62s,2.2s;animation-delay:calc(var(--reward-index) * .12s),.8s;animation-fill-mode:both;animation-iteration-count:1,infinite}.event-card{position:relative;overflow:hidden;animation:scroll-unfurl .58s cubic-bezier(.2,.8,.2,1) both}.event-card:before{position:absolute;top:0;right:0;bottom:0;left:0;border:8px solid rgba(130,91,37,.06);border-radius:inherit;content:"";pointer-events:none}.camp-shell .event-card{box-shadow:inset 0 0 0 3px #ffffff94,0 0 38px #cc80263d;animation:camp-warmth 2.4s ease-in-out infinite alternate}.run-hud span{transition:transform .2s ease,color .2s ease}.run-hud span:hover{color:#9b7122;transform:translateY(-1px)}.run-result-card{animation:dialog-rise .6s cubic-bezier(.16,.88,.22,1.12) both}.run-result-completed .run-result-card{box-shadow:inset 0 0 0 4px #ffffff8c,0 0 55px #dbac3a52}.run-result-failed .run-result-card{filter:saturate(.65);box-shadow:inset 0 0 0 4px #ffffff59,0 18px 45px #1d232d52}.access-seal,.online-mark{animation:online-seal 2s ease-in-out infinite}.connection-icon.online{animation:connection-breathe 2.4s ease-in-out infinite}.connection-icon.connecting,.connection-banner{animation:connection-search 1.2s ease-in-out infinite}.online-action-grid button{animation:card-deal .45s both}.online-action-grid button:nth-child(2){animation-delay:.08s}.room-invite-card{overflow:hidden;animation:invite-reveal .55s cubic-bezier(.2,.8,.2,1) both}.room-invite-card:after{position:absolute;top:-100%;right:-30%;bottom:-100%;left:-30%;background:linear-gradient(110deg,transparent 42%,rgba(255,238,171,.25) 50%,transparent 58%);content:"";animation:invite-shine 4.5s 1s ease-in-out infinite;pointer-events:none}.seat-card{animation:seat-slide .42s both}.seat-card:nth-child(2){animation-delay:.05s}.seat-card:nth-child(3){animation-delay:.1s}.seat-card:nth-child(4){animation-delay:.15s}.seat-card.self{animation-name:seat-slide,self-seat-glow;animation-duration:.42s,2.2s;animation-delay:0s,.5s;animation-iteration-count:1,infinite}.secondary-ready.is-ready{border-color:#3b784c;background:linear-gradient(135deg,#dfeccf,#afca9f);color:#244d32;animation:ready-breathe 1.8s ease-in-out infinite}.effect-live-region{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.cinematic-effect{--effect-color: #e6c563;--effect-deep: rgba(7, 25, 18, .9);position:fixed;z-index:38;top:0;right:0;bottom:0;left:0;display:grid;width:100%;min-height:0;place-items:center;overflow:hidden;border:0;padding:0;background:transparent;color:#fff3bf;text-align:center;cursor:pointer;isolation:isolate;animation:effect-stage-in .24s ease both}.cinematic-effect.effect-minor{pointer-events:none}.effect-vignette{position:absolute;z-index:-3;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 48%,transparent 5%,var(--effect-deep) 75%),#020d0959;animation:vignette-breathe 1s ease-in-out both}.effect-brush{position:absolute;z-index:-2;top:50%;width:66vw;max-width:530px;height:12px;background:linear-gradient(90deg,transparent,var(--effect-color),transparent);filter:blur(1px) drop-shadow(0 0 10px var(--effect-color));transform-origin:center}.effect-brush-left{left:-12vw;transform:rotate(13deg) scaleX(0);animation:brush-cut-left .56s .08s cubic-bezier(.12,.8,.2,1) both}.effect-brush-right{right:-12vw;transform:rotate(-13deg) scaleX(0);animation:brush-cut-right .56s .13s cubic-bezier(.12,.8,.2,1) both}.effect-seal{display:grid;width:104px;height:104px;place-items:center;border:2px solid var(--effect-color);border-radius:22px;background:radial-gradient(circle,color-mix(in srgb,var(--effect-color),transparent 75%),#05150fe0);color:var(--effect-color);font-family:Songti SC,serif;font-size:60px;font-weight:900;line-height:1;box-shadow:inset 0 0 0 7px #fff5c814,0 0 42px color-mix(in srgb,var(--effect-color),transparent 50%);transform:rotate(-7deg);animation:cinematic-seal .58s cubic-bezier(.12,.9,.2,1.2) both}.effect-copy{position:absolute;top:calc(50% - 156px);display:grid;gap:7px;animation:effect-copy-in .42s .2s ease both}.effect-copy strong{font-family:Songti SC,serif;font-size:clamp(30px,9vw,52px);letter-spacing:.22em;text-indent:.22em;text-shadow:0 2px 18px rgba(0,0,0,.8),0 0 25px color-mix(in srgb,var(--effect-color),transparent 55%)}.effect-copy small{color:#d5d0b4;font-size:12px;letter-spacing:.12em}.effect-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.effect-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.effect-particles i{--angle: calc(var(--particle-index) * 20deg);position:absolute;top:50%;left:50%;width:4px;height:14px;border-radius:99px;background:var(--effect-color);box-shadow:0 0 11px var(--effect-color);transform:rotate(var(--angle)) translateY(-45px) scaleY(.2);transform-origin:50% 0;animation:particle-flight .82s calc(var(--particle-index) * 17ms) ease-out both}.effect-skill-vanish{--effect-color: #a883df;--effect-deep: rgba(24, 7, 36, .94)}.effect-skill-create{--effect-color: #69e0bd;--effect-deep: rgba(2, 36, 28, .93)}.effect-skill-stun{--effect-color: #e45b3e;--effect-deep: rgba(54, 8, 8, .94)}.effect-counter{--effect-color: #f9efc1;--effect-deep: rgba(20, 39, 45, .88)}.effect-defeat{--effect-color: #92a1b8;--effect-deep: rgba(8, 15, 28, .96)}.effect-victory{--effect-color: #f3cf62;--effect-deep: rgba(23, 31, 13, .92)}.effect-draw,.effect-reveal{--effect-color: #b8cfad;--effect-deep: rgba(12, 31, 25, .92)}.effect-eliminated,.effect-error{--effect-color: #dc6a4e;--effect-deep: rgba(49, 11, 9, .9)}.effect-reward{--effect-color: #ffe08a;--effect-deep: rgba(36, 29, 8, .88)}.effect-move{z-index:12}.effect-move .effect-vignette,.effect-move .effect-brush,.effect-move .effect-copy{display:none}.effect-move .effect-seal{width:46px;height:46px;border-width:1px;border-radius:50%;font-size:23px;opacity:.38;animation:move-impact-seal .34s ease-out both}.effect-move .effect-particles i{height:6px;opacity:.55}.effect-undo,.effect-hint,.effect-ready,.effect-route,.effect-event,.effect-camp{z-index:20}.effect-undo .effect-vignette,.effect-hint .effect-vignette,.effect-ready .effect-vignette,.effect-route .effect-vignette,.effect-event .effect-vignette,.effect-camp .effect-vignette{opacity:.48}html[data-motion=reduced] .app-shell,html[data-motion=reduced] .home-header,html[data-motion=reduced] .campaign-hero,html[data-motion=reduced] .entry-card,html[data-motion=reduced] .recent-panel,html[data-motion=reduced] .setup-intro,html[data-motion=reduced] .setup-panel,html[data-motion=reduced] .board,html[data-motion=reduced] .reward-grid button,html[data-motion=reduced] .event-card,html[data-motion=reduced] .map-layer,html[data-motion=reduced] .seat-card,html[data-motion=reduced] .rules-dialog,html[data-motion=reduced] .run-result-card{animation-duration:.14s!important;animation-delay:0s!important;animation-iteration-count:1!important}html[data-motion=reduced] .app-shell:after,html[data-motion=reduced] .campaign-hero:after,html[data-motion=reduced] .player-token.active .stone,html[data-motion=reduced] .map-node.reachable,html[data-motion=reduced] .connection-icon,html[data-motion=reduced] .secondary-ready,html[data-motion=reduced] .result-dialog:before,html[data-motion=reduced] .reward-grid button.rarity-legendary{animation:none!important}html[data-motion=reduced] .effect-brush,html[data-motion=reduced] .effect-particles,html[data-motion=reduced] .effect-vignette{display:none}html[data-motion=reduced] .cinematic-effect{background:#04140eb8;animation:none}html[data-motion=reduced] .effect-seal,html[data-motion=reduced] .effect-copy{animation:reduced-fade .14s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}@media(max-width:390px){.effect-seal{width:88px;height:88px;font-size:50px}.effect-copy{top:calc(50% - 142px)}.effect-copy strong{font-size:30px}.privacy-seal i{width:58px;height:58px;font-size:34px}}@keyframes scene-enter{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes scroll-unfurl{0%{opacity:0;clip-path:inset(0 50% 0 50% round 16px);transform:scaleX(.92)}to{opacity:1;clip-path:inset(0 round 16px);transform:none}}@keyframes card-deal{0%{opacity:0;transform:translateY(18px) rotateX(8deg) scale(.96)}to{opacity:1;transform:none}}@keyframes gold-dust-drift{to{background-position:42px 28px,-35px 46px}}@keyframes hero-orbit{to{transform:rotate(335deg)}}@keyframes ember-pulse{50%{opacity:.4;transform:scale(.65)}}@keyframes seal-awaken{35%{transform:rotate(-10deg) scale(1.12);filter:brightness(1.22)}}@keyframes choice-seal{0%{transform:scale(.96)}55%{transform:scale(1.025)}}@keyframes role-claim{0%{transform:scale(.96)}55%{transform:scale(1.025)}}@keyframes stone-claim{0%{opacity:.25;transform:translateY(-12px) scale(.65) rotate(-35deg)}}@keyframes selected-sweep{0%{transform:rotate(-35deg)}to{transform:rotate(180deg);opacity:0}}@keyframes skill-seal-card{50%{transform:scale(1.035);filter:brightness(1.2)}}@keyframes skill-seal-vanish{35%{transform:scale(1.04);filter:hue-rotate(12deg) brightness(1.25)}to{opacity:.18;filter:blur(5px);transform:scale(.88)}}@keyframes skill-seal-create{50%{transform:scale(1.055);box-shadow:0 0 30px #63d5b5}}@keyframes skill-seal-stun{25%,55%{transform:translate(-3px)}40%,70%{transform:translate(3px)}}@keyframes privacy-curtain{0%{opacity:0;clip-path:circle(0 at 50% 50%)}to{opacity:1;clip-path:circle(75% at 50% 50%)}}@keyframes seal-strike{0%{opacity:0;transform:scale(1.8) rotate(12deg);filter:blur(5px)}60%{opacity:1;transform:scale(.92) rotate(-8deg);filter:none}}@keyframes active-seat-rise{50%{transform:translateY(-3px)}}@keyframes active-stone-breathe{50%{box-shadow:0 0 0 2px #fff6c3,0 0 0 5px #c59b3b,0 0 20px #f0cb63a6,inset 0 -3px 5px #00000047}}@keyframes turn-line{50%{width:34px;opacity:.45}}@keyframes board-reveal{0%{opacity:0;transform:perspective(800px) rotateX(10deg) scale(.92);filter:brightness(.65)}to{opacity:1;transform:none;filter:none}}@keyframes targeting-board{50%{filter:brightness(.9) saturate(1.25)}}@keyframes ghost-breathe{to{transform:scale(.84);opacity:.58}}@keyframes stone-drop{0%{opacity:.2;transform:translateY(-20px) scale(1.45);filter:brightness(1.5)}70%{transform:translateY(1px) scale(.92)}}@keyframes move-ripple{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(4.8)}}@keyframes last-dot-pulse{50%{transform:scale(.65);opacity:.55;box-shadow:0 0 8px #ffe678}}@keyframes winning-ignite{0%{filter:brightness(.55);transform:scale(.9)}60%{filter:brightness(1.55);transform:scale(1.08)}}@keyframes sword-line{0%{opacity:0;transform:scaleX(0) rotate(-8deg)}to{opacity:.8;transform:scaleX(1) rotate(-8deg)}}@keyframes hint-ripple{50%{transform:scale(.7);opacity:.45;box-shadow:0 0 0 8px #59b47614}}@keyframes vanish-threat{to{opacity:.25;filter:blur(2px) saturate(.4);transform:scale(.82)}}@keyframes stun-threat{to{transform:translate(1px) rotate(2deg);filter:saturate(.25)}}@keyframes skill-vignette-in{0%{opacity:0}}@keyframes confirm-charge{50%{filter:brightness(1.16);box-shadow:inset 0 0 0 3px #ffeba347,0 0 22px #e1b3467a}}@keyframes skill-ready{50%{box-shadow:inset 0 0 0 1px #ffe8954d,0 0 19px #e3be547a;transform:translateY(-1px)}}@keyframes target-command{to{box-shadow:inset 0 0 0 2px #ffba8438,0 0 17px #ca412b80}}@keyframes prompt-drop{0%{opacity:0;transform:translate(-50%,-18px) scale(.95)}to{opacity:1;transform:translate(-50%)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes dialog-rise{0%{opacity:0;transform:translateY(34px) scale(.94)}}@keyframes result-rays{to{transform:rotate(360deg)}}@keyframes stat-count-in{0%{opacity:0;transform:translateY(9px) scale(.9)}}@keyframes action-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes route-flow{50%{filter:brightness(1.5);background-position-y:80px}}@keyframes layer-arrive{0%{opacity:0;transform:translate(-10px)}}@keyframes node-reachable{50%{transform:translateY(-2px);box-shadow:inset 0 0 0 2px #467d4e33,0 6px 18px #315b3933}}@keyframes reward-flip{0%{opacity:0;transform:rotateX(-72deg) translateY(20px)}}@keyframes legendary-shimmer{50%{filter:brightness(1.12);box-shadow:inset 0 0 0 3px #fffad380,0 0 32px #d4a5366b}}@keyframes camp-warmth{to{filter:brightness(1.04);box-shadow:inset 0 0 0 3px #ffffff94,0 0 46px #cc802661}}@keyframes online-seal{50%{transform:translateY(-2px);box-shadow:inset 0 0 0 4px #ffffff3d,0 0 22px #cea84261}}@keyframes connection-breathe{50%{filter:brightness(1.3);box-shadow:0 0 16px #46975b59}}@keyframes connection-search{50%{opacity:.65}}@keyframes invite-reveal{0%{opacity:0;clip-path:inset(0 50% round 18px)}}@keyframes invite-shine{40%,to{transform:translate(160%)}}@keyframes seat-slide{0%{opacity:0;transform:translate(-14px)}}@keyframes self-seat-glow{50%{box-shadow:inset 0 0 0 2px #43784c3b,0 0 17px #3d7c482e}}@keyframes ready-breathe{50%{filter:brightness(1.08);box-shadow:0 0 18px #43844c3d}}@keyframes effect-stage-in{0%{opacity:0}}@keyframes vignette-breathe{0%{opacity:0}45%{opacity:1}}@keyframes brush-cut-left{to{transform:rotate(13deg) scaleX(1.4)}}@keyframes brush-cut-right{to{transform:rotate(-13deg) scaleX(1.4)}}@keyframes cinematic-seal{0%{opacity:0;transform:scale(2.2) rotate(18deg);filter:blur(7px)}68%{opacity:1;transform:scale(.9) rotate(-9deg);filter:none}}@keyframes effect-copy-in{0%{opacity:0;transform:translateY(12px);letter-spacing:.4em}}@keyframes particle-flight{0%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-180px) scaleY(1.8)}}@keyframes move-impact-seal{0%{opacity:.6;transform:scale(.2)}to{opacity:0;transform:scale(2.8)}}@keyframes reduced-fade{0%{opacity:0}}
