:root{font-family:Noto Sans CJK SC,PingFang SC,Microsoft YaHei,Satoshi,Geist,system-ui,sans-serif;color-scheme:dark;--page-bg: radial-gradient(circle at 16% 12%, rgba(93, 117, 100, .2), transparent 30%), radial-gradient(circle at 82% 16%, rgba(126, 58, 45, .16), transparent 34%), linear-gradient(135deg, #181715 0%, #26211d 54%, #141817 100%);--app-text: #efe7da;--strong-text: #fff7ea;--muted-text: rgba(239, 231, 218, .72);--soft-text: rgba(239, 231, 218, .62);--surface: rgba(31, 28, 25, .72);--surface-top: rgba(255, 251, 238, .072);--surface-bottom: rgba(255, 251, 238, .025);--surface-border: rgba(239, 231, 218, .14);--surface-shadow: rgba(19, 16, 12, .32);--inner-line: rgba(255, 255, 255, .08);--accent: #96352d;--accent-border: rgba(150, 53, 45, .58);--teal: #79aa9a;--gold: #d2a15c;--button-bg: rgba(255, 255, 255, .05);--button-border: rgba(239, 231, 218, .16);--button-hover-border: rgba(110, 180, 165, .5);--divider: rgba(239, 231, 218, .13);--panel-item-bg: rgba(255, 255, 255, .035);--board-border: #b8b6aa;--board-bg: #c8c9bd;--board-grid: rgba(55, 48, 41, .12);--board-grid-2: rgba(255, 255, 255, .2);--board-inner: rgba(56, 48, 38, .16);--board-shadow: rgba(0, 0, 0, .34);--board-vignette: rgba(55, 51, 45, .12);--board-line: rgba(42, 37, 32, .9);--route-line: rgba(63, 50, 40, .36);--node-bg: rgba(191, 186, 171, .54);--node-functional-bg: rgba(245, 241, 226, .86);--node-text: rgba(49, 41, 34, .88);--node-dot: rgba(83, 76, 66, .42);--water-bg: radial-gradient(circle, rgba(183, 177, 160, .2), rgba(130, 124, 108, .12) 58%, rgba(255, 255, 255, .04));--water-text: #3e352d;--water-muted: rgba(62, 53, 45, .68);--blue-piece-a: #2c2b27;--blue-piece-b: #11100d;--blue-piece-text: #efe6d2;--white-piece-a: #e7dcc5;--white-piece-b: #b8a78a;--white-piece-text: #1e1b19;color:var(--app-text);background:var(--page-bg);font-synthesis:none;text-rendering:geometricPrecision}:root[data-theme=light]{color-scheme:light;--page-bg: radial-gradient(circle at 15% 12%, rgba(71, 125, 111, .12), transparent 30%), radial-gradient(circle at 84% 16%, rgba(150, 53, 45, .1), transparent 34%), linear-gradient(135deg, #f6f0e4 0%, #e9dfcc 50%, #f8f4ec 100%);--app-text: #24221f;--strong-text: #171512;--muted-text: rgba(36, 34, 31, .68);--soft-text: rgba(36, 34, 31, .58);--surface: rgba(255, 251, 241, .72);--surface-top: rgba(255, 255, 255, .68);--surface-bottom: rgba(255, 255, 255, .3);--surface-border: rgba(64, 52, 38, .18);--surface-shadow: rgba(91, 69, 39, .13);--inner-line: rgba(255, 255, 255, .72);--accent: #96352d;--accent-border: rgba(150, 53, 45, .36);--teal: #39766d;--gold: #9c6d35;--button-bg: rgba(31, 27, 22, .045);--button-border: rgba(64, 52, 38, .18);--button-hover-border: rgba(45, 118, 111, .42);--divider: rgba(64, 52, 38, .15);--panel-item-bg: rgba(255, 255, 255, .46);--board-border: #b8b4a6;--board-bg: #c8c8bb;--board-grid: rgba(83, 61, 38, .09);--board-grid-2: rgba(83, 61, 38, .06);--board-inner: rgba(75, 53, 35, .2);--board-shadow: rgba(70, 52, 31, .18);--board-vignette: rgba(92, 64, 36, .16);--board-line: rgba(47, 42, 36, .84);--route-line: rgba(74, 59, 47, .34);--node-bg: rgba(236, 232, 218, .72);--node-functional-bg: rgba(255, 251, 238, .9);--node-text: rgba(36, 34, 31, .78);--node-dot: rgba(106, 96, 84, .54);--water-bg: radial-gradient(circle, rgba(181, 174, 154, .18), rgba(130, 124, 108, .12) 58%, rgba(255, 255, 255, .12));--water-text: #453c32;--water-muted: rgba(69, 60, 50, .66);--blue-piece-a: #3b3731;--blue-piece-b: #171511;--blue-piece-text: #f5ead5;--white-piece-a: #fffdf2;--white-piece-b: #d8cfbd;--white-piece-text: #1e1b19}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;min-height:100dvh;overflow-x:hidden;background:var(--page-bg);color:var(--app-text);transition:background .22s ease,color .22s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.32;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(44,36,27,.035) 1px,transparent 1px);background-size:38px 38px,38px 38px;-webkit-mask-image:radial-gradient(circle at 50% 30%,black,transparent 76%);mask-image:radial-gradient(circle at 50% 30%,black,transparent 76%)}button{font:inherit}.app-shell{width:min(1720px,calc(100vw - 28px));min-height:100dvh;margin:0 auto;padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}.menu-shell{place-items:center}.game-surface,.side-panel{border:1px solid var(--surface-border);background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)),var(--surface);border-radius:10px;box-shadow:inset 0 1px 0 var(--inner-line),0 28px 80px var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.game-surface{position:relative;height:calc(100dvh - 28px);min-height:720px;padding:12px 16px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden}.side-panel{position:fixed;top:14px;right:14px;z-index:20;width:min(430px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;padding:16px 18px 20px;transform:translate(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .22s ease}.side-panel.open{transform:translate(0);opacity:1;pointer-events:auto}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;border:0;background:#0c0a0857;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:14px}.drawer-head h2{margin-top:5px;font-size:18px}.drawer-head button{min-height:34px;border:1px solid var(--button-border);border-radius:999px;color:var(--muted-text);background:var(--button-bg);padding:0 12px;cursor:pointer}.top-bar,.action-dock,.play-layout{display:grid;gap:16px}.top-bar{grid-template-columns:minmax(220px,1fr) auto;align-items:start;padding-bottom:2px;column-gap:18px}.eyebrow{color:var(--teal);font-size:12px;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{margin-top:5px;font-family:Songti SC,STSong,serif;font-size:clamp(22px,2vw,31px);line-height:1.05;font-weight:700;letter-spacing:0;text-wrap:balance}h2{margin-top:10px;color:var(--strong-text);font-size:22px;line-height:1.25;letter-spacing:0}h3{color:var(--strong-text);font-size:15px;letter-spacing:0}p{color:var(--muted-text);line-height:1.65}.hero-copy{margin-top:7px;max-width:520px;color:color-mix(in srgb,var(--muted-text) 82%,var(--strong-text));font-size:12px;line-height:1.45}.brand-lockup{position:relative;min-width:0;padding-left:2px}.brand-lockup:before{content:"";position:absolute;left:-18px;top:4px;width:3px;height:74px;border-radius:999px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--gold) 72%,#5e3e20),transparent);opacity:.58}.game-title-lockup{display:flex;align-items:baseline;gap:11px;min-width:0}.stone-title{position:relative;display:inline-block;color:color-mix(in srgb,var(--strong-text) 82%,#6f604c);font-family:Songti SC,STSong,Kaiti SC,serif;font-size:clamp(30px,3.1vw,44px);font-weight:900;line-height:.95;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,244,213,.52),0 -1px 0 rgba(53,42,31,.28),1px 2px 0 color-mix(in srgb,var(--surface-shadow) 22%,transparent),0 10px 22px color-mix(in srgb,var(--surface-shadow) 20%,transparent)}.stone-title:after{content:"";position:absolute;left:2px;right:-3px;bottom:-7px;height:7px;border-top:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:50%;opacity:.52;transform:rotate(-1deg)}.stone-subtitle{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid color-mix(in srgb,var(--teal) 18%,var(--button-border));border-radius:4px;color:color-mix(in srgb,var(--teal) 76%,var(--strong-text));background:radial-gradient(ellipse at 14% 20%,rgba(255,255,255,.18),transparent 50%),linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 62%,transparent),color-mix(in srgb,var(--surface) 78%,transparent));box-shadow:inset 0 1px #fff4d533,inset 0 -1px color-mix(in srgb,var(--surface-shadow) 10%,transparent);font-family:Songti SC,STSong,serif;font-size:12px;font-weight:800;letter-spacing:.11em;white-space:nowrap}.rule-inscription{margin-top:11px;display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px}.rule-name{display:inline-flex;align-items:center;min-height:25px;padding:0 10px;border-radius:4px;border:1px solid color-mix(in srgb,var(--gold) 32%,rgba(69,47,28,.14));color:color-mix(in srgb,var(--gold) 78%,var(--strong-text));background:linear-gradient(180deg,rgba(255,244,213,.12),transparent),color-mix(in srgb,var(--button-bg) 72%,transparent);box-shadow:inset 0 1px #fff4d524,0 8px 18px color-mix(in srgb,var(--surface-shadow) 10%,transparent);font-family:Songti SC,STSong,serif;font-size:14px;font-weight:900}.rule-goal{color:color-mix(in srgb,var(--strong-text) 82%,var(--muted-text));font-family:Songti SC,STSong,serif;font-size:clamp(18px,1.55vw,25px);font-weight:800;line-height:1.15;text-wrap:balance}.view-switch,.system-actions{min-height:36px;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid color-mix(in srgb,var(--gold) 22%,var(--button-border));border-radius:8px;background:radial-gradient(ellipse at 18% 0%,rgba(219,176,102,.14),transparent 52%),linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 62%,transparent),transparent),color-mix(in srgb,var(--surface) 76%,#2d2118);box-shadow:inset 0 1px #ffe7ae1f,inset 0 0 0 1px #2418112e,0 14px 28px color-mix(in srgb,var(--surface-shadow) 52%,transparent)}.view-switch button,.system-actions button{min-height:34px;border:1px solid transparent;border-radius:6px;padding:0 10px;color:color-mix(in srgb,var(--strong-text) 72%,var(--soft-text));background:#ffffff06;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.view-switch button:hover,.system-actions button:hover{color:var(--strong-text);border-color:color-mix(in srgb,var(--gold) 24%,transparent);background:linear-gradient(180deg,rgba(255,236,190,.08),transparent),#ffffff0a}.view-switch button.active,.system-actions button.active{color:var(--strong-text);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 20%,transparent),transparent),color-mix(in srgb,var(--surface) 74%,var(--gold));border-color:color-mix(in srgb,var(--gold) 34%,transparent);box-shadow:inset 0 1px #ffedbe29,inset 0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent)}.start-screen{width:min(1380px,calc(100vw - 28px));min-height:calc(100dvh - 28px);display:grid;grid-template-columns:minmax(500px,1fr) minmax(380px,.48fr);gap:clamp(24px,3.6vw,52px);align-items:center;position:relative;isolation:isolate;padding:18px 0}.start-screen:before{content:"";position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:-3;pointer-events:none;opacity:.78;background:radial-gradient(circle at 18% 24%,rgba(212,177,112,.2),transparent 28%),radial-gradient(circle at 76% 22%,rgba(140,38,38,.15),transparent 30%),linear-gradient(135deg,#12100d,#2c261d 42%,#615743);animation:exhibitDust 18s ease-in-out infinite alternate}.start-screen:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.62;background-image:repeating-linear-gradient(0deg,rgba(255,244,214,.07) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(46,35,24,.16) 0 1px,transparent 1px 29px),radial-gradient(circle at 18% 72%,rgba(20,17,13,.44),transparent 34%),radial-gradient(circle at 74% 64%,rgba(235,203,145,.12),transparent 30%);mix-blend-mode:multiply}.han-relief{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:1;color:#1c140ead}.han-relief:before,.han-relief:after{content:"";position:absolute;opacity:.44;border:1.5px solid rgba(20,16,12,.64);filter:blur(.2px)}.han-relief{background:radial-gradient(ellipse at 9% 20%,rgba(26,20,14,.32),transparent 19%),radial-gradient(ellipse at 30% 78%,rgba(26,20,14,.28),transparent 18%),radial-gradient(ellipse at 71% 26%,rgba(26,20,14,.3),transparent 18%),radial-gradient(ellipse at 86% 72%,rgba(26,20,14,.25),transparent 18%)}.han-mural{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.72;color:#16100bd1;filter:drop-shadow(0 1px 0 rgba(223,199,151,.15)) drop-shadow(0 -1px 0 rgba(8,6,4,.18));mix-blend-mode:multiply}.han-mural path,.han-mural circle{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.han-mural circle{fill:currentColor;stroke:none}.mural-duel{opacity:.86}.mural-clouds{opacity:.62}.mural-beast-line,.mural-winged-line{opacity:.68}.han-relief:before{left:-4vw;top:14vh;width:26vw;height:42vh;border-radius:55% 42% 48% 50%;box-shadow:inset 22px 0 #17120e1f,inset -28px 18px #17120e14,4vw 8vh 0 -8vh #17120e66;transform:rotate(-12deg)}.han-relief:after{right:20vw;top:7vh;width:22vw;height:18vh;border-radius:60% 42% 52% 44%;box-shadow:inset 28px -10px #17120e1f,-5vw 10vh 0 -8vh #17120e47;transform:rotate(8deg)}.relief-figure{position:absolute;color:#18130eb8;font-family:Songti SC,STSong,serif;letter-spacing:.18em;writing-mode:vertical-rl;text-shadow:0 1px 0 rgba(238,222,182,.24)}.relief-figure.figure-left{left:7vw;top:8vh;font-size:18px}.relief-figure.figure-top{left:47vw;top:8vh;font-size:15px;writing-mode:horizontal-tb}.relief-figure.figure-bottom{left:16vw;bottom:8vh;font-size:15px;transform:rotate(-10deg)}.relief-carving{position:absolute;display:block;opacity:.58;pointer-events:none;filter:drop-shadow(0 1px 0 rgba(215,195,150,.14)) drop-shadow(0 -1px 0 rgba(10,8,6,.12))}.relief-carving.winged{left:2.8vw;top:8vh;width:160px;height:230px;border-left:2px solid rgba(22,17,12,.5);border-radius:46% 38% 52% 42%;transform:rotate(-8deg)}.relief-carving.winged:before,.relief-carving.winged:after{content:"";position:absolute;border:1.5px solid rgba(22,17,12,.48)}.relief-carving.winged:before{left:35px;top:28px;width:42px;height:54px;border-radius:50% 50% 46% 48%;box-shadow:54px 58px 0 -16px #16110c4d,20px 124px 0 -18px #16110c47}.relief-carving.winged:after{left:76px;top:70px;width:78px;height:96px;border-left:0;border-bottom:0;border-radius:0 80% 0 0;transform:skewY(-18deg);box-shadow:-12px 22px 0 -8px #16110c47,-26px 48px 0 -13px #16110c3d}.relief-carving.beast{right:25vw;top:6vh;width:240px;height:120px;border:1.5px solid rgba(22,17,12,.48);border-left-color:transparent;border-bottom-color:transparent;border-radius:66% 34% 58% 40%;transform:rotate(5deg)}.relief-carving.beast:before,.relief-carving.beast:after{content:"";position:absolute;border:1.4px solid rgba(22,17,12,.46)}.relief-carving.beast:before{right:16px;top:18px;width:54px;height:38px;border-left:0;border-bottom:0;border-radius:70% 48% 0 0;transform:rotate(-18deg)}.relief-carving.beast:after{left:48px;bottom:10px;width:92px;height:44px;border-right:0;border-top:0;border-radius:0 0 0 80%}.relief-carving.duel{width:310px;height:170px;border:1.8px solid rgba(22,17,12,.6);border-top:0;border-radius:0 0 50% 50%}.relief-carving.duel:before,.relief-carving.duel:after{content:"";position:absolute;top:38px;width:58px;height:86px;border:1.8px solid rgba(22,17,12,.62);border-bottom:0;border-radius:50% 50% 18% 18%;box-shadow:0 -22px 0 -18px #16110c80,14px 54px 0 -24px #16110c7a}.relief-carving.duel:before{left:66px;transform:rotate(8deg)}.relief-carving.duel:after{right:66px;transform:rotate(-8deg) scaleX(-1)}.relief-carving.duel-left{left:2.5vw;top:57vh;transform:rotate(-5deg) scale(1.06)}.relief-carving.duel-right{right:31vw;top:38vh;transform:rotate(8deg) scale(.88)}.relief-carving.duel-deep{left:34vw;top:68vh;transform:rotate(3deg) scale(.82);opacity:.42}.relief-carving.duel-low{right:8vw;bottom:7vh;transform:rotate(-7deg) scale(.92);opacity:.46}.relief-carving.game-table{width:220px;height:120px;border:1.8px solid rgba(22,17,12,.58);border-radius:8px;transform:rotate(-7deg)}.relief-carving.game-table:before,.relief-carving.game-table:after{content:"";position:absolute;border:1.3px solid rgba(22,17,12,.44)}.relief-carving.game-table:before{left:66px;top:-44px;width:36px;height:54px;border-bottom:0;border-radius:50% 50% 0 0;box-shadow:72px 0 0 -1px #0000,72px 0 #16110c00}.relief-carving.game-table:after{left:52px;top:42px;width:112px;height:38px;border-radius:2px;box-shadow:-28px -54px 0 -30px #16110c80,112px -54px 0 -30px #16110c80,13px 9px 0 -15px #16110ccc,44px 9px 0 -15px #16110ccc,76px 9px 0 -15px #16110ccc}.relief-carving.table-left{left:22vw;top:15vh;opacity:.27}.relief-carving.table-right{right:22vw;bottom:23vh;transform:rotate(8deg) scale(.78);opacity:.32}.relief-carving.table-deep{left:54vw;top:20vh;transform:rotate(4deg) scale(.74);opacity:.36}.relief-carving.table-low{left:5vw;bottom:18vh;transform:rotate(6deg) scale(.86);opacity:.4}.relief-carving.cloud{width:230px;height:90px;border-top:1.5px solid rgba(22,17,12,.42);border-radius:50%}.relief-carving.cloud:before,.relief-carving.cloud:after{content:"";position:absolute;width:84px;height:36px;border-top:1.5px solid rgba(22,17,12,.42);border-radius:50%}.relief-carving.cloud:before{left:32px;top:22px}.relief-carving.cloud:after{right:24px;top:38px}.relief-carving.cloud-left{left:10vw;bottom:11vh;transform:rotate(-7deg)}.relief-carving.cloud-right{right:4vw;bottom:17vh;transform:rotate(8deg) scale(.86)}.start-board-preview{position:relative;min-height:min(74dvh,760px);border:0;border-radius:12px;background:radial-gradient(circle at 66% 48%,rgba(212,177,112,.12),transparent 22%),linear-gradient(90deg,#07050408,#0705040a 55%,#07050433),url(/assets/liubo-fate-hero-v5.png) center center / cover no-repeat,#181411;box-shadow:inset 0 1px #fff6d81f,inset 0 0 0 1px #d4b1701f,0 44px 96px #0f0b089e;display:grid;place-items:center;overflow:hidden;perspective:1100px;animation:museumReveal .98s cubic-bezier(.16,1,.3,1) both}.start-board-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 66% 48%,transparent 0 13%,rgba(212,177,112,.08) 13.4%,transparent 15%),radial-gradient(circle at 66% 48%,transparent 0 21%,rgba(212,177,112,.04) 21.4%,transparent 23%),linear-gradient(90deg,rgba(7,5,4,.06),transparent 42%,rgba(7,5,4,.14)),linear-gradient(180deg,rgba(7,5,4,.03),transparent 52%,rgba(7,5,4,.18));opacity:1}.start-board-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 46%,transparent 0 57%,rgba(7,5,4,.18) 78%),linear-gradient(180deg,rgba(7,5,4,.02),transparent 42%,rgba(7,5,4,.18));pointer-events:none}.stone-opponent-figure{position:absolute;left:18%;top:4%;z-index:3;width:min(34vmin,350px);height:min(52vmin,470px);pointer-events:none;opacity:0;display:none;mix-blend-mode:screen;animation:stoneOpponentRise 1s .26s cubic-bezier(.16,1,.3,1) both}.stone-opponent-figure:before{content:"";position:absolute;left:6%;right:-10%;top:0;bottom:0;border-radius:48% 45% 20% 22%;background:radial-gradient(circle at 42% 18%,rgba(236,224,196,.3),transparent 15%),radial-gradient(circle at 60% 38%,rgba(20,17,14,.36),transparent 30%),linear-gradient(120deg,#c7beaa6b,#69625547 48%,#24201b0f),repeating-linear-gradient(18deg,rgba(255,255,255,.03) 0 1px,transparent 1px 8px);filter:drop-shadow(0 30px 34px rgba(8,6,4,.44))}.stone-head{position:absolute;left:30%;top:5%;width:32%;height:23%;border-radius:48% 48% 44% 44%;background:radial-gradient(circle at 35% 37%,rgba(42,36,29,.76) 0 2px,transparent 3px),radial-gradient(circle at 62% 37%,rgba(42,36,29,.72) 0 2px,transparent 3px),radial-gradient(ellipse at 48% 56%,rgba(255,255,255,.08),transparent 18%),linear-gradient(145deg,#c1baaa,#766f62 70%,#403a32);box-shadow:inset 8px 10px 14px #ffffff24,inset -12px -14px 20px #19151152,0 10px 22px #08060429}.stone-head:before{content:"";position:absolute;left:42%;top:47%;width:17%;height:25%;border-left:1px solid rgba(43,36,29,.44);border-bottom:1px solid rgba(43,36,29,.3);transform:rotate(8deg)}.stone-head:after{content:"";position:absolute;left:35%;bottom:17%;width:31%;height:1px;background:#2b241d61}.stone-crown{position:absolute;left:40%;top:-2%;width:13%;height:13%;border-radius:999px 999px 18% 18%;background:linear-gradient(145deg,#bdb5a6,#6d665a);box-shadow:inset -5px -6px 8px #17131038}.stone-neck{position:absolute;left:40%;top:25%;width:13%;height:10%;background:linear-gradient(145deg,#9d9688,#655e52)}.stone-body{position:absolute;left:18%;top:31%;width:62%;height:58%;border-radius:42% 38% 12% 10%;background:linear-gradient(135deg,transparent 0 38%,rgba(50,44,37,.32) 39% 41%,transparent 42%),radial-gradient(circle at 42% 30%,rgba(255,255,255,.08),transparent 28%),linear-gradient(160deg,#a79e8e,#5d564b 70%,#302b25);box-shadow:inset 10px 10px 18px #ffffff12,inset -18px -20px 30px #1713103d}.stone-sash{position:absolute;left:33%;top:32%;width:13%;height:58%;transform:rotate(-29deg);border-left:1px solid rgba(42,35,28,.34);border-right:1px solid rgba(255,255,255,.09);background:repeating-linear-gradient(0deg,rgba(55,44,34,.25) 0 1px,transparent 1px 10px),#e1d7be14}.stone-arm{position:absolute;left:4%;top:56%;width:49%;height:13%;border-radius:999px;background:linear-gradient(180deg,#928a7d,#585147);transform:rotate(15deg);box-shadow:inset -8px -7px 12px #18141033}.stone-hand{position:absolute;left:-6%;top:63%;width:23%;height:12%;border-radius:52% 48% 45% 55%;background:linear-gradient(145deg,#9f9688,#61594e);transform:rotate(21deg)}.stone-hand:after{content:"";position:absolute;right:0;top:32%;width:48%;height:1px;background:#2a231c73;box-shadow:0 5px #2a231c4d,0 10px #2a231c38}.stone-dust{position:absolute;border-radius:50%;background:#c4b79a2e;filter:blur(1px)}.stone-dust.dust-a{right:-6%;top:25%;width:56px;height:56px;box-shadow:16px 38px 0 -18px #c4b79a38,-12px 82px 0 -20px #c4b79a33}.stone-dust.dust-b{right:4%;bottom:15%;width:78px;height:78px;background:#c4b79a1f}.museum-caption{position:absolute;left:30px;bottom:30px;z-index:7;display:grid;gap:3px;padding:11px 14px;border-left:2px solid rgba(212,177,112,.82);background:linear-gradient(90deg,rgba(17,12,8,.78),rgba(17,12,8,.3),transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.museum-caption strong{color:#f1e2c0;font-family:Songti SC,STSong,serif;font-size:17px;font-weight:700}.museum-caption span{color:#f1e2c0a8;font-size:11px;letter-spacing:.06em}.fate-scene-label{position:absolute;z-index:7;display:none;gap:3px;padding:7px 10px;border:1px solid rgba(212,177,112,.32);border-radius:999px;background:#120d0885;color:#f1e2c0d1;font-family:Songti SC,STSong,serif;font-size:12px;letter-spacing:.1em;box-shadow:inset 0 1px #ffebb61f,0 10px 24px #0805033d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.fate-scene-label:after{content:"";position:absolute;width:52px;height:1px;top:50%;background:linear-gradient(90deg,rgba(212,177,112,.62),transparent)}.fate-scene-label.stone-opponent{left:clamp(120px,17vw,220px);top:clamp(48px,9vh,90px)}.fate-scene-label.stone-opponent:after{left:100%;transform:translateY(-50%) rotate(12deg)}.fate-scene-label.player-hand{right:clamp(128px,14vw,190px);bottom:clamp(104px,16vh,155px)}.fate-scene-label.player-hand:after{right:100%;transform:translateY(-50%) rotate(-18deg) scaleX(-1)}.floating-die{position:absolute;right:clamp(18px,6vw,88px);top:43.5%;z-index:8;width:0;height:0;display:none;border:0;border-radius:0;background:none;box-shadow:none;transform:rotate(0);animation:dieFloat 4.8s ease-in-out infinite}.fate-orbit{position:absolute;right:clamp(142px,15vw,245px);top:41%;z-index:8;width:clamp(118px,11vw,180px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(212,177,112,.18),transparent 27%),radial-gradient(circle,transparent 43%,rgba(212,177,112,.22) 44%,transparent 45%),conic-gradient(from 38deg,transparent 0 12%,rgba(212,177,112,.72) 18%,transparent 32%,rgba(212,177,112,.36) 42%,transparent 62%);filter:blur(.2px);opacity:.34;mix-blend-mode:screen;animation:goldOrbit 8.6s linear infinite;pointer-events:none}.fate-orbit:before{content:"";position:absolute;left:-52%;top:58%;width:160%;height:24%;border-top:1px solid rgba(212,177,112,.5);border-radius:50%;transform:rotate(-19deg);box-shadow:0 -13px 20px #d4b17024,0 9px 24px #d4b17029}.scene-board-mask{position:absolute;display:none;left:7.8%;bottom:13%;z-index:5;width:min(55vw,670px);max-width:58.4%;aspect-ratio:1.24;border-radius:8px;transform:perspective(900px) rotateX(43deg) rotate(-1.4deg);transform-origin:center bottom;background:radial-gradient(ellipse at 50% 40%,#0d0a07a8,#0d0a07e6 67%,#0d0a0757),linear-gradient(180deg,#100c08c2,#090604f5);box-shadow:0 18px 42px #05040370,inset 0 0 48px #0000008c;pointer-events:none}.casting-sticks{position:absolute;display:none;right:clamp(84px,10.5vw,165px);top:43.8%;z-index:9;width:clamp(190px,16vw,276px);height:clamp(124px,10.5vw,178px);transform:rotate(-15deg);pointer-events:none;animation:sticksDrift 5.8s ease-in-out infinite}.casting-sticks:before{content:"";position:absolute;top:2%;right:-7%;bottom:-8%;left:-6%;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,rgba(12,8,5,.72),transparent 56%),radial-gradient(ellipse at 52% 58%,rgba(145,84,34,.3),transparent 62%);filter:blur(9px);transform:rotate(12deg)}.casting-sticks:after{content:"";position:absolute;left:11%;right:8%;bottom:10%;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(6,4,3,.56),transparent 68%);transform:rotate(9deg)}.casting-sticks span{position:absolute;left:50%;top:50%;z-index:2;width:clamp(96px,8.8vw,150px);height:clamp(12px,.95vw,16px);border-radius:999px;background:radial-gradient(circle at 20% 47%,rgba(255,205,124,.26) 0 2px,transparent 3px),repeating-linear-gradient(96deg,rgba(48,23,8,.18) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,transparent 0 21px,rgba(52,24,7,.3) 21px 22px,transparent 22px 36px),linear-gradient(90deg,rgba(42,18,5,.62),transparent 11% 84%,rgba(42,18,5,.72)),linear-gradient(180deg,#a86528,#7a3f16 52%,#361606);box-shadow:inset 0 2px #eba04d4d,inset 0 -5px 7px #18090294,inset 10px 0 10px #cd702929,0 14px 22px #06040275;transform-origin:center}.casting-sticks span:before,.casting-sticks span:after{content:"";position:absolute;top:50%;width:12%;height:72%;border-radius:999px;transform:translateY(-50%)}.casting-sticks span:before{left:2px;width:13%;background:radial-gradient(circle at 45% 42%,rgba(241,175,93,.8) 0 18%,transparent 19%),radial-gradient(circle,#91521f,#2f1205 74%)}.casting-sticks span:after{right:2px;width:13%;background:linear-gradient(90deg,rgba(70,42,22,.34),transparent),radial-gradient(circle at 55% 43%,rgba(204,122,48,.8) 0 20%,transparent 21%),radial-gradient(circle,#6f3511,#241004 78%)}.casting-sticks span:nth-child(1){transform:translate(-50%,-50%) rotate(10deg) translate(-40px,-8px)}.casting-sticks span:nth-child(2){transform:translate(-50%,-50%) rotate(-12deg) translate(31px,-27px)}.casting-sticks span:nth-child(3){transform:translate(-50%,-50%) rotate(31deg) translate(20px,20px)}.casting-sticks span:nth-child(4){transform:translate(-50%,-50%) rotate(-33deg) translate(-42px,26px)}.casting-sticks span:nth-child(5){transform:translate(-50%,-50%) rotate(4deg) translate(56px,13px)}.casting-sticks span:nth-child(6){transform:translate(-50%,-50%) rotate(-43deg) translate(-58px,-18px)}.auth-liubo-board{position:absolute;display:none;left:7.8%;bottom:13.2%;z-index:6;width:min(56vw,690px);max-width:60%;aspect-ratio:1.24;transform:perspective(900px) rotateX(43deg) rotate(-1.4deg);transform-origin:center bottom;opacity:1;mix-blend-mode:normal;filter:drop-shadow(0 2px 1px rgba(255,244,210,.18)) drop-shadow(0 18px 24px rgba(7,5,4,.34));pointer-events:none}.auth-board-slab{fill:url(#stoneSlabTop);stroke:#31271cc7;stroke-width:3.4;filter:url(#stoneSurface)}.auth-board-side{fill:url(#stoneSlabSide);stroke:#18120ccc;stroke-width:2}.auth-board-inner-stone{fill:#bfbba8f5;stroke:#fff5d42e;stroke-width:1;filter:url(#stoneSurface)}.auth-board-grain{fill:url(#stoneHairline);opacity:.78;mix-blend-mode:multiply}.auth-board-chip{fill:#4d41325c;stroke:#261d1557;stroke-width:1}.auth-board-crack{fill:none;stroke:#342d2638;stroke-width:1.6;stroke-linecap:round}.auth-board-frame,.auth-water-frame,.auth-axis,.auth-corner,.auth-tlv,.auth-route{fill:none;stroke:#14110ee0;stroke-width:4.5;stroke-linecap:square;stroke-linejoin:miter;filter:url(#etchedShadow)}.auth-axis,.auth-route{stroke-width:1.8;opacity:.66}.auth-tlv{stroke-width:4.4}.auth-nodes circle{fill:#15120ec7;stroke:#e8d6ae5c;stroke-width:1.2}.auth-preview-pieces .liubo-piece{opacity:1}.auth-preview-pieces .piece-shadow{fill:#0907059e}.auth-preview-pieces .piece-side,.auth-preview-pieces .piece-top{stroke:#06040394;stroke-width:1.35;filter:url(#pieceLift)}.auth-preview-pieces .dark .piece-side{fill:#0f0b08}.auth-preview-pieces .light .piece-side{fill:#9d7e48}.auth-preview-pieces .liubo-piece.dark .piece-top{fill:url(#darkLiuboPiece)}.auth-preview-pieces .liubo-piece.light .piece-top{fill:url(#lightLiuboPiece)}.auth-preview-pieces .piece-rim{fill:none;stroke-width:1.4}.auth-preview-pieces .dark .piece-rim,.auth-preview-pieces .dark .piece-incision{stroke:#cda55f80}.auth-preview-pieces .light .piece-rim,.auth-preview-pieces .light .piece-incision{stroke:#54371b7a}.auth-preview-pieces .piece-incision{fill:none;stroke-width:1.2;stroke-linecap:round}.auth-preview-pieces .owl>circle:first-of-type{filter:drop-shadow(0 0 4px rgba(212,177,112,.22))}.auth-preview-pieces .fish{fill:#935721e0;stroke:#3a27147a;stroke-width:1.4}.floating-die:before{content:"";position:absolute;right:-34px;top:-34px;width:118px;height:118px;z-index:-1;border-radius:50%;border:1px solid rgba(212,177,112,.38);background:radial-gradient(circle,transparent 52%,rgba(212,177,112,.16) 53%,transparent 58%),conic-gradient(from 70deg,transparent,rgba(212,177,112,.52),transparent 34%,rgba(212,177,112,.24),transparent 72%);filter:blur(.3px);animation:goldOrbit 7.2s linear infinite}.floating-die strong{position:absolute;right:44px;top:50%;width:108px;min-height:32px;transform:translateY(-50%);display:grid;place-items:center;border:1px solid rgba(212,177,112,.48);border-radius:999px;background:linear-gradient(90deg,#140e09e6,#392614b8),#16100be0;color:#ead5a0;font-family:Songti SC,STSong,serif;font-size:14px;font-weight:800;letter-spacing:.14em;text-shadow:0 1px 0 rgba(88,46,18,.72);box-shadow:inset 0 1px #ffebb62e,0 10px 24px #0f090542}.floating-die strong:before,.floating-die strong:after{content:"";position:absolute;top:50%;width:5px;height:5px;border-radius:50%;background:#d4b170b8;transform:translateY(-50%)}.floating-die strong:before{left:9px}.floating-die strong:after{right:9px}.floating-die:after,.floating-die i,.floating-die span,.floating-die b{display:none}.floating-die:after{left:18px;top:17px}.floating-die i{right:17px;top:18px}.floating-die span{left:31px;top:31px}.floating-die b{right:18px;bottom:17px}.preview-plinth{position:absolute;left:5%;right:14%;bottom:8%;z-index:5;width:auto;aspect-ratio:1.18;display:grid;place-items:center;border:clamp(20px,3vmin,34px) solid transparent;border-radius:5px;background:linear-gradient(90deg,rgba(255,220,156,.12),transparent 22%,rgba(7,5,4,.22) 70%),repeating-linear-gradient(4deg,rgba(255,232,176,.045) 0 2px,transparent 2px 11px),linear-gradient(145deg,#473424,#211811 58%,#120d0a);box-shadow:inset 0 0 0 1px #d4b1702e,inset 0 0 0 9px #46301f94,inset 0 -28px 48px #0805038f,0 36px 42px #09060480;opacity:0;display:none;transform:rotateX(57deg) rotate(-2deg) translateY(0);transform-style:preserve-3d;pointer-events:none}.preview-plinth:before{content:"";position:absolute;left:5%;right:5%;bottom:-12%;height:17%;border-radius:0 0 7px 7px;background:linear-gradient(180deg,#221610,#0f0b08);box-shadow:inset 0 1px #d4b17029;transform:translateZ(-18px)}.plinth-carving{position:absolute;left:18%;right:18%;height:15px;z-index:1;opacity:.42;background:radial-gradient(ellipse at 18% 50%,transparent 0 28%,rgba(212,177,112,.46) 30% 33%,transparent 35%),radial-gradient(ellipse at 50% 50%,transparent 0 31%,rgba(212,177,112,.38) 33% 36%,transparent 38%),radial-gradient(ellipse at 82% 50%,transparent 0 28%,rgba(212,177,112,.46) 30% 33%,transparent 35%);transform:translateZ(38px)}.plinth-carving.top{top:7%}.plinth-carving.bottom{bottom:7%}.preview-grid{position:relative;width:min(56vmin,590px);aspect-ratio:1;border:clamp(16px,2.3vmin,24px) solid #a5a99f;background:radial-gradient(circle at 50% 48%,rgba(120,153,140,.1),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.3),transparent 26%,rgba(54,49,39,.14)),repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(75,67,54,.05) 0 1px,transparent 1px 17px),#c6cbc2;box-shadow:inset 0 0 0 1px #2a252070,inset 0 0 0 28px #2a25200f,inset 0 -30px 44px #413a2d2e,0 34px 54px #08060457;transform:translateZ(28px);animation:stoneAwake 1.1s .12s cubic-bezier(.16,1,.3,1) both}.preview-grid:before{box-shadow:0 -40px 0 -18px #1d1812f5,46px -42px 0 -19px #1d1812e6,92px -39px 0 -19px #1d1812d6,138px -42px 0 -19px #1d1812d1,184px -40px 0 -19px #1d1812d1,-42px 40px 0 -18px #ece2ccf0,4px 42px 0 -18px #e2d8c2eb,50px 40px 0 -18px #dacfb8e6,96px 42px 0 -18px #d2c6b0e0}.player-reach-hand{position:absolute;right:14%;bottom:-1%;z-index:8;width:min(24vmin,224px);height:min(33vmin,292px);pointer-events:none;transform:rotate(-23deg);opacity:0;display:none;animation:handEnter 1.05s .52s cubic-bezier(.16,1,.3,1) both}.player-reach-hand:before{content:"";position:absolute;top:19%;right:4%;bottom:-8%;left:6%;border-radius:44% 46% 34% 44%;background:radial-gradient(circle at 45% 22%,rgba(255,217,178,.22),transparent 20%),linear-gradient(145deg,#bb7d5294,#583020c7 72%,#271711e0);filter:blur(.2px);box-shadow:inset 10px 12px 16px #ffe0be1a,inset -18px -20px 28px #27140e38,0 20px 34px #08050357}.hand-wrist{position:absolute;right:-10%;bottom:-6%;width:54%;height:58%;border-radius:28px 28px 16px 16px;background:repeating-linear-gradient(30deg,rgba(212,177,112,.1) 0 2px,transparent 2px 12px),linear-gradient(145deg,#202325,#111416);box-shadow:inset 0 0 0 1px #d4b17029,inset 10px 0 24px #ffffff0a}.hand-palm{position:absolute;right:26%;bottom:30%;width:38%;height:32%;border-radius:48% 44% 38% 48%;background:radial-gradient(circle at 38% 28%,rgba(255,225,190,.18),transparent 28%),linear-gradient(145deg,#ad744e,#75462f 72%,#41261d);box-shadow:inset 7px 8px 14px #ffe6c62e,inset -10px -12px 18px #48261933,0 14px 28px #08050347}.hand-finger,.hand-thumb{position:absolute;border-radius:999px;background:linear-gradient(145deg,#b77a52,#794930 74%,#42281e);box-shadow:inset 4px 5px 8px #ffe6c61a,0 6px 10px #140b0829}.hand-finger:after,.hand-thumb:after{content:"";position:absolute;left:18%;right:18%;top:24%;height:1px;background:#5b332247}.finger-index{right:51%;bottom:53%;width:12%;height:40%;transform:rotate(-17deg)}.finger-middle{right:40%;bottom:55%;width:12%;height:43%;transform:rotate(-7deg)}.finger-ring{right:31%;bottom:52%;width:11%;height:36%;transform:rotate(5deg)}.hand-thumb{right:58%;bottom:32%;width:15%;height:34%;transform:rotate(45deg)}.held-die{position:absolute;right:55%;bottom:59%;width:31px;height:31px;border:1px solid rgba(114,75,40,.38);border-radius:8px;background:radial-gradient(circle at 32% 24%,rgba(255,247,220,.88),transparent 28%),linear-gradient(145deg,#efdcb5,#b98450);transform:rotate(18deg);box-shadow:inset -4px -5px 8px #4d2f1847,0 8px 16px #08050342}.held-die:before,.held-die:after,.held-die i,.held-die b{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#2b1c0fb8}.held-die:before{left:7px;top:7px}.held-die:after{right:7px;bottom:7px}.held-die i{right:7px;top:7px}.held-die b{left:13px;top:13px}.preview-duel-line{position:absolute;left:50%;top:13%;bottom:13%;z-index:3;width:1px;display:block;transform:translate(-50%);background:linear-gradient(180deg,transparent,rgba(92,42,32,.5) 16%,rgba(92,42,32,.3) 50%,rgba(92,42,32,.5) 84%,transparent);opacity:0;animation:incisionReveal .9s .66s ease-out both}.preview-duel-line:before{content:"对";position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid rgba(140,38,38,.46);border-radius:50%;background:radial-gradient(circle,#e2e5ded1,#c6cbc294);color:#5c2a20b8;font-family:Songti SC,STSong,serif;font-size:15px;font-weight:800;box-shadow:0 4px 10px #30211429}.preview-camp{position:absolute;z-index:4;min-width:54px;min-height:24px;display:grid;place-items:center;border:1px solid rgba(62,48,34,.34);border-radius:999px;font-family:Songti SC,STSong,serif;font-size:13px;font-weight:800;letter-spacing:.1em;box-shadow:0 7px 14px #30211424;opacity:0;animation:pieceSettle .76s .72s cubic-bezier(.16,1,.3,1) both}.preview-camp.camp-dark{left:50%;top:6%;transform:translate(-50%);background:linear-gradient(145deg,#31271c,#17120d);color:#ead5a0}.preview-camp.camp-light{left:50%;bottom:6%;transform:translate(-50%);background:linear-gradient(145deg,#f1ead6,#bfb399);color:#241c13}.preview-grid:before,.preview-grid:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:3px solid var(--board-line);opacity:0;animation:incisionReveal .9s .36s ease-out both}.preview-axis{position:absolute;z-index:1;display:block;background:color-mix(in srgb,var(--board-line) 72%,transparent);opacity:0;animation:incisionReveal .9s .42s ease-out both}.preview-axis.horizontal{left:13%;right:13%;top:50%;height:2px;transform:translateY(-50%)}.preview-axis.vertical{top:13%;bottom:13%;left:50%;width:2px;transform:translate(-50%)}.preview-corner{position:absolute;z-index:1;width:18%;height:18%;border-color:color-mix(in srgb,var(--board-line) 76%,transparent);opacity:0;animation:incisionReveal .9s .52s ease-out both}.preview-corner.tl{left:16%;top:16%;border-top:3px solid;border-left:3px solid}.preview-corner.tr{right:16%;top:16%;border-top:3px solid;border-right:3px solid}.preview-corner.br{right:16%;bottom:16%;border-right:3px solid;border-bottom:3px solid}.preview-corner.bl{left:16%;bottom:16%;border-left:3px solid;border-bottom:3px solid}.preview-grid:after{top:40%;right:40%;bottom:40%;left:40%;border-width:3px;box-shadow:inset 0 0 16px #d4b17029,0 0 34px color-mix(in srgb,var(--teal) 24%,transparent)}.preview-water{position:absolute;top:40%;right:40%;bottom:40%;left:40%;z-index:2;display:block;background:radial-gradient(circle,rgba(212,177,112,.17),transparent 26%),radial-gradient(circle,color-mix(in srgb,var(--teal) 25%,transparent),transparent 58%),#ffffff0a;animation:waterBreath 5.8s ease-in-out infinite}.preview-water:before{content:"";position:absolute;top:16%;right:16%;bottom:16%;left:16%;border:1px solid rgba(212,177,112,.38);border-radius:50%;animation:waterRipple 4.6s ease-in-out infinite}.preview-piece{position:absolute;width:42px;height:24px;border-radius:4px;background:linear-gradient(145deg,var(--blue-piece-a),var(--blue-piece-b));box-shadow:0 10px 24px var(--surface-shadow);opacity:0;animation:pieceSettle .76s cubic-bezier(.16,1,.3,1) both}.preview-piece.dark{left:24%;top:15%;box-shadow:0 10px 24px var(--surface-shadow),48px 4px #1a1611eb,96px 8px #1a1611db;animation-delay:.66s}.preview-piece.pale{right:18%;bottom:20%;background:linear-gradient(145deg,var(--white-piece-a),var(--white-piece-b));box-shadow:0 10px 24px var(--surface-shadow),-48px 4px #e6dbc4f0,-96px 8px #d6cab2e6;animation-delay:.78s}.preview-piece.fish{left:48%;top:52%;width:38px;height:17px;background:radial-gradient(circle at 70% 42%,rgba(53,32,18,.58) 0 1px,transparent 2px),linear-gradient(180deg,#c29155,#8e5b34);clip-path:polygon(0 50%,18% 0,100% 0,78% 50%,100% 100%,18% 100%);animation-delay:.9s}.preview-piece.small{left:68%;top:19%;width:34px;height:20px;box-shadow:0 10px 24px var(--surface-shadow),-44px -4px #1a1611d1;animation-delay:1.02s}.start-panel{position:relative;align-self:center;max-height:calc(100dvh - 56px);overflow:visible;border:1px solid rgba(72,67,56,.42);border-radius:8px;padding:clamp(34px,3.6vw,48px) clamp(26px,3.1vw,38px);background:radial-gradient(circle at 22% 12%,rgba(255,252,237,.38),transparent 28%),radial-gradient(ellipse at 84% 78%,rgba(74,67,56,.13),transparent 30%),repeating-linear-gradient(0deg,rgba(83,75,62,.035) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(56,51,43,.022) 0 1px,transparent 1px 19px),linear-gradient(90deg,rgba(77,70,58,.22),rgba(255,250,231,.11) 7%,transparent 18%,transparent 82%,rgba(255,250,231,.1) 93%,rgba(77,70,58,.2)),linear-gradient(180deg,#d5d0bd,#c8c1aa 48%,#aea58d);box-shadow:inset 0 1px #ffffff47,inset 12px 0 18px #413a301f,inset -12px 0 18px #413a301a,inset 0 -16px 28px #37302617,0 34px 80px #100c0857;color:#2f2a22;animation:scrollUnfurl .9s .28s cubic-bezier(.16,1,.3,1) both}.start-panel:before,.start-panel:after{content:"";position:absolute;top:20px;bottom:20px;width:18px;pointer-events:none;border-radius:6px;filter:blur(.2px)}.start-panel:before{left:-4px;background:radial-gradient(ellipse at 70% 12%,rgba(48,43,35,.2),transparent 28%),radial-gradient(ellipse at 80% 72%,rgba(48,43,35,.14),transparent 24%),linear-gradient(90deg,rgba(62,56,46,.34),rgba(167,158,136,.12),transparent),repeating-linear-gradient(0deg,rgba(255,255,245,.04) 0 3px,transparent 3px 9px);box-shadow:8px 0 14px #40372b1f}.start-panel:after{right:-4px;background:radial-gradient(ellipse at 30% 18%,rgba(48,43,35,.18),transparent 26%),radial-gradient(ellipse at 25% 78%,rgba(48,43,35,.12),transparent 24%),linear-gradient(270deg,rgba(62,56,46,.32),rgba(167,158,136,.1),transparent),repeating-linear-gradient(0deg,rgba(255,255,245,.04) 0 3px,transparent 3px 9px);box-shadow:-8px 0 14px #40372b1a}.scroll-roller{position:absolute;left:-10px;right:-10px;height:22px;border:1px solid rgba(68,62,51,.42);border-radius:5px;background:radial-gradient(circle at 18% 32%,rgba(255,255,238,.26),transparent 18%),radial-gradient(circle at 84% 70%,rgba(57,49,39,.18),transparent 22%),repeating-linear-gradient(90deg,rgba(80,72,59,.12) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(255,255,245,.055) 0 1px,transparent 1px 6px),linear-gradient(180deg,#d6cfba,#9f967f 52%,#665d4a 53%,#b9b09b);box-shadow:inset 0 1px #fffff047,inset 0 -5px 9px #2b251e3d,0 10px 18px #352b2033,0 0 0 3px #4840340b}.scroll-roller:before,.scroll-roller:after{content:"";position:absolute;top:50%;width:20px;height:13px;border-radius:4px;transform:translateY(-50%);background:radial-gradient(circle at 35% 32%,rgba(255,255,235,.34),transparent 32%),linear-gradient(145deg,#d5cdb6,#827964 74%,#4a4235);box-shadow:inset 0 1px #fffff03d,0 2px 5px #1e18123d}.scroll-roller:before{left:6px}.scroll-roller:after{right:6px}.scroll-roller.top{top:-15px}.scroll-roller.bottom{bottom:-15px}.start-panel h1{margin-top:10px;font-family:Songti SC,STSong,serif;font-size:clamp(48px,5.8vw,80px);line-height:.9;font-weight:700;text-wrap:balance;color:#2c2017;text-shadow:0 1px 0 rgba(255,232,177,.6),0 6px 16px rgba(73,42,16,.16)}.start-panel .eyebrow{color:#2c6b5b;text-shadow:0 1px 0 rgba(255,246,218,.38)}.start-subtitle{display:block;margin-top:7px;color:#3d291b;font-size:clamp(18px,1.8vw,25px);font-weight:600;letter-spacing:0}.start-panel>p{margin-top:14px;max-width:28em;color:#302317c7;font-size:14px;line-height:1.65}.fate-line{width:fit-content;max-width:100%;margin-top:12px;padding:7px 10px;border:1px solid rgba(78,66,44,.22);border-radius:999px;color:#56351f;background:#fff6dc47;box-shadow:inset 0 1px #fffff252;font-size:13px;line-height:1.35}.setup-grid{margin-top:20px;display:grid;gap:12px}.setup-group{display:grid;gap:6px}.setup-group>span{color:#276a5e;font-size:12px;letter-spacing:.08em}.setup-group>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.setup-group:nth-of-type(2)>div{grid-template-columns:1fr}.setup-group button,.start-button,.pause-actions button{min-height:38px;border:1px solid rgba(91,57,27,.32);border-radius:6px;color:#2f251a;background:radial-gradient(ellipse at 50% 0%,rgba(255,241,199,.32),transparent 54%),linear-gradient(180deg,rgba(255,255,255,.16),transparent),#583d2214;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}.setup-group button:hover,.start-button:hover,.pause-actions button:hover{border-color:#845b319e}.setup-group button:active,.start-button:active,.pause-actions button:active{transform:translateY(1px) scale(.99)}.setup-group button.active{border-color:#845b31b8;background:linear-gradient(180deg,rgba(255,238,193,.34),transparent),linear-gradient(135deg,#9d683038,#4876661a);color:#23180f;box-shadow:inset 0 0 0 1px #fff8df57,0 10px 22px #4a2f161f}.setup-group button.preset{position:relative;min-height:62px;display:grid;gap:4px;justify-items:start;align-content:center;overflow:hidden;padding:9px 12px;text-align:left;background:linear-gradient(90deg,rgba(46,104,91,.1),transparent 28%),repeating-linear-gradient(0deg,rgba(82,55,27,.035) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(255,250,229,.22),transparent),#48766612;box-shadow:inset 3px 0 #4e745f24,inset -9px 0 18px #442b1814,0 1px #fff6da38}.setup-group button.preset:after{content:"";position:absolute;inset:0 auto 0 -32%;width:30%;height:auto;background:linear-gradient(90deg,transparent,rgba(255,246,213,.44),transparent);transform:skew(-18deg) translate(0);transform-origin:left;opacity:0;transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .22s ease}.setup-group button.preset:hover{transform:translateY(-2px);box-shadow:inset 4px 0 #4e745f33,0 14px 24px #4a2f1624}.setup-group button.preset:hover:after,.setup-group button.preset.active:after{opacity:1;transform:skew(-18deg) translate(520%)}.setup-group button.preset strong{color:#24190f;font-size:14px}.setup-group button.preset small{color:#3023179e;font-size:11px}.continue-save-card{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(45,106,91,.3);border-radius:7px;background:linear-gradient(90deg,rgba(45,106,91,.13),transparent 42%),#fff6dc3d;box-shadow:inset 0 1px #fffff24d,0 10px 20px #3627161a}.continue-save-card span{display:block;color:#276a5e;font-size:11px;font-weight:900;letter-spacing:.08em}.continue-save-card strong{display:block;margin-top:3px;color:#24190f;font-family:Songti SC,STSong,serif;font-size:16px;line-height:1.2}.continue-save-card small{display:block;margin-top:3px;color:#3023179e;font-size:11px;line-height:1.35}.continue-save-actions{display:grid;grid-template-columns:auto auto;gap:7px}.continue-save-actions button{min-height:34px;border:1px solid rgba(91,57,27,.3);border-radius:6px;padding:8px 11px;color:#2f251a;background:radial-gradient(ellipse at 50% 0%,rgba(255,241,199,.28),transparent 54%),#583d2214;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease}.continue-save-actions .continue-primary{border-color:#276a5e7a;color:#173b34;font-weight:900;background:linear-gradient(180deg,rgba(255,248,222,.28),transparent),#2d6a5b29}.continue-save-actions .continue-clear{color:#442c19ad}.continue-save-actions button:hover{border-color:#845b319e}.continue-save-actions button:active{transform:translateY(1px) scale(.99)}@media (max-width: 560px){.continue-save-card{grid-template-columns:1fr}.continue-save-actions{grid-template-columns:1fr 1fr}}.start-button{width:100%;margin-top:20px;min-height:54px;border-color:#681a169e;border-radius:6px;background:radial-gradient(ellipse at 50% 0%,rgba(255,180,135,.25),transparent 48%),linear-gradient(180deg,rgba(255,226,192,.14),transparent 42%,rgba(31,8,6,.24)),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 8px),linear-gradient(180deg,#9b302c,#731b1a);color:#fff7ea;font-weight:800;font-size:16px;letter-spacing:.06em;box-shadow:inset 0 1px #ffe7ca3d,inset 0 -9px 14px #33080757,0 16px 30px #4a12103d}.start-button:hover{border-color:#d4b170ad;background:linear-gradient(180deg,rgba(255,226,192,.24),transparent 42%,rgba(31,8,6,.24)),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 10px),#96302b;box-shadow:inset 0 1px #ffe7ca47,inset 0 -7px 12px #3308074d,0 18px 34px #4a12104d}:root[data-theme=light] .start-screen:before{opacity:.82;background:radial-gradient(circle at 20% 20%,rgba(186,161,112,.14),transparent 30%),radial-gradient(circle at 82% 18%,rgba(111,87,55,.08),transparent 34%),linear-gradient(135deg,#eee7d8,#d9ceb9 48%,#f4efe5)}:root[data-theme=light] .start-screen:after{opacity:.28;background-image:repeating-linear-gradient(0deg,rgba(88,65,38,.035) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(62,45,28,.045) 0 1px,transparent 1px 34px),radial-gradient(circle at 20% 70%,rgba(151,111,58,.08),transparent 34%),radial-gradient(circle at 76% 64%,rgba(80,124,104,.06),transparent 30%);mix-blend-mode:multiply}:root[data-theme=light] .han-relief{color:#5c442a6b;background:radial-gradient(ellipse at 9% 20%,rgba(118,87,51,.13),transparent 20%),radial-gradient(ellipse at 30% 78%,rgba(118,87,51,.12),transparent 18%),radial-gradient(ellipse at 71% 26%,rgba(118,87,51,.12),transparent 18%),radial-gradient(ellipse at 86% 72%,rgba(118,87,51,.1),transparent 18%)}:root[data-theme=light] .han-relief:before,:root[data-theme=light] .han-relief:after{border-color:#57412847;opacity:.36}:root[data-theme=light] .relief-figure{color:#4c3a2580;text-shadow:0 1px 0 rgba(255,250,230,.36)}:root[data-theme=light] .relief-carving{opacity:.24;filter:drop-shadow(0 1px 0 rgba(255,248,222,.3)) drop-shadow(0 -1px 0 rgba(70,49,29,.08))}:root[data-theme=light] .han-mural{opacity:.32;color:#563f266b;mix-blend-mode:multiply}:root[data-theme=light] .start-board-preview{background:radial-gradient(circle at 66% 48%,rgba(219,186,126,.07),transparent 24%),linear-gradient(90deg,#fff9e80d,#fff9e806 52%,#fff9e800),url(/assets/liubo-fate-hero-v5.png) center center / cover no-repeat,#221b14;box-shadow:inset 0 1px #fffcef2e,inset 0 0 0 1px #6148262e,0 36px 80px #604a2a38;filter:saturate(.92) brightness(.98) contrast(1.04)}:root[data-theme=light] .start-board-preview:before{background:linear-gradient(90deg,rgba(255,244,216,.035),transparent 38%,rgba(255,244,216,.02)),linear-gradient(180deg,rgba(255,244,216,.025),transparent 52%,rgba(42,28,15,.08))}:root[data-theme=light] .start-board-preview:after{background:radial-gradient(circle at 50% 46%,transparent 0 58%,rgba(57,38,20,.1) 78%),linear-gradient(180deg,rgba(255,244,216,.04),transparent 42%,rgba(57,38,20,.1))}:root[data-theme=light] .museum-caption{background:linear-gradient(90deg,rgba(35,24,14,.62),rgba(35,24,14,.2),transparent)}:root[data-theme=light] .start-panel{border-color:#4f483c4d;background:radial-gradient(circle at 26% 12%,rgba(255,255,244,.48),transparent 31%),radial-gradient(ellipse at 86% 74%,rgba(64,58,48,.075),transparent 28%),radial-gradient(circle at 18% 83%,rgba(126,118,98,.08),transparent 18%),repeating-linear-gradient(0deg,rgba(76,69,56,.025) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(73,66,54,.018) 0 1px,transparent 1px 21px),linear-gradient(90deg,rgba(78,70,58,.13),rgba(255,253,236,.18) 7%,transparent 17%,transparent 83%,rgba(255,253,236,.15) 93%,rgba(78,70,58,.12)),linear-gradient(180deg,#e0dccd,#cbc5af 48%,#b4aa91);box-shadow:inset 0 1px #fffff56b,inset 13px 0 22px #3e382d1c,inset -13px 0 22px #3e382d17,inset 0 -18px 30px #36302614,0 26px 58px #4c40302e}:root[data-theme=light] .scroll-roller{border-color:#4a43375c;background:radial-gradient(circle at 18% 32%,rgba(255,255,242,.32),transparent 18%),radial-gradient(circle at 82% 72%,rgba(57,49,39,.16),transparent 22%),repeating-linear-gradient(90deg,rgba(82,74,60,.1) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(255,255,245,.055) 0 1px,transparent 1px 6px),linear-gradient(180deg,#d7d0bb,#a89f88 52%,#6c624f 53%,#bbb29c);box-shadow:inset 0 1px #fffff552,inset 0 -5px 9px #2b251e33,0 8px 16px #41372a2e,0 0 0 3px #4840340a}:root[data-theme=light] .start-panel h1{color:#261b12;text-shadow:0 1px 0 rgba(255,240,192,.72),0 7px 16px rgba(103,62,23,.12)}:root[data-theme=light] .start-panel .eyebrow,:root[data-theme=light] .setup-group>span{color:#2f7668}:root[data-theme=light] .start-subtitle{color:#432d1c}:root[data-theme=light] .start-panel>p{color:#302317b8}:root[data-theme=light] .setup-group button{border-color:#5b391b33;color:#352618;background:radial-gradient(ellipse at 50% 0%,rgba(255,252,236,.64),transparent 56%),linear-gradient(180deg,rgba(255,255,255,.34),transparent),#fff6e052;box-shadow:inset 0 1px #ffffff75,0 1px #63431e0a}:root[data-theme=light] .setup-group button.active{border-color:#9b693094;background:radial-gradient(ellipse at 50% 0%,rgba(255,248,224,.78),transparent 56%),linear-gradient(180deg,#e1bd7b42,#af7d3a1f),#fff0cc80;box-shadow:inset 0 0 0 1px #fffdee85,inset 0 -2px #9767321f,0 8px 16px #69461e14}:root[data-theme=light] .setup-group button.preset{background:linear-gradient(90deg,rgba(50,111,96,.045),transparent 28%),repeating-linear-gradient(0deg,rgba(82,55,27,.014) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(255,253,238,.42),transparent),#fff6e042}:root[data-theme=light] .setup-group button.preset.active{background:linear-gradient(90deg,rgba(47,118,104,.085),transparent 30%),repeating-linear-gradient(0deg,rgba(82,55,27,.014) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(255,251,233,.5),transparent),#ffefc775}:root[data-theme=light] .start-button{border-color:#76221d94;background:radial-gradient(ellipse at 50% 0%,rgba(255,190,142,.24),transparent 48%),linear-gradient(180deg,rgba(255,229,190,.16),transparent 42%,rgba(31,8,6,.18)),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 8px),linear-gradient(180deg,#a93a34,#84231f);box-shadow:inset 0 1px #ffe7ca47,inset 0 -9px 14px #3d0a0847,0 14px 26px #741f192e}:root:not([data-theme=light]) .start-screen:before{opacity:.88;background:radial-gradient(circle at 18% 20%,rgba(212,177,112,.12),transparent 28%),radial-gradient(circle at 78% 18%,rgba(106,32,28,.13),transparent 30%),radial-gradient(circle at 56% 68%,rgba(8,7,6,.44),transparent 46%),linear-gradient(135deg,#14110d,#241d16 46%,#3d3428)}:root:not([data-theme=light]) .start-screen:after{opacity:.54;background-image:repeating-linear-gradient(0deg,rgba(224,192,132,.035) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(10,8,6,.24) 0 1px,transparent 1px 32px),radial-gradient(circle at 18% 72%,rgba(8,7,5,.38),transparent 34%),radial-gradient(circle at 76% 64%,rgba(205,161,88,.075),transparent 30%);mix-blend-mode:multiply}:root:not([data-theme=light]) .han-relief{color:#cda66247;background:radial-gradient(ellipse at 9% 20%,rgba(207,157,82,.08),transparent 20%),radial-gradient(ellipse at 31% 78%,rgba(207,157,82,.075),transparent 18%),radial-gradient(ellipse at 72% 26%,rgba(207,157,82,.075),transparent 18%),radial-gradient(ellipse at 87% 72%,rgba(207,157,82,.06),transparent 18%)}:root:not([data-theme=light]) .han-relief:before,:root:not([data-theme=light]) .han-relief:after{border-color:#d6aa5e3d;opacity:.42}:root:not([data-theme=light]) .relief-figure{color:#d2a45b66;text-shadow:0 1px 0 rgba(8,6,4,.58),0 0 18px rgba(212,177,112,.08)}:root:not([data-theme=light]) .relief-carving{opacity:.54;filter:drop-shadow(0 1px 0 rgba(226,191,122,.08)) drop-shadow(0 -1px 0 rgba(5,4,3,.28))}:root:not([data-theme=light]) .han-mural{opacity:.48;color:#c6974e47;mix-blend-mode:screen}:root:not([data-theme=light]) .start-board-preview{background:radial-gradient(circle at 66% 48%,rgba(212,177,112,.1),transparent 22%),linear-gradient(90deg,#06050404,#06050404 50%,#0605041f),url(/assets/liubo-fate-hero-v5.png) center center / cover no-repeat,#15100d;filter:saturate(.88) brightness(.94) contrast(1.08);box-shadow:inset 0 1px #ffe3a91f,inset 0 0 0 1px #d4b17024,0 48px 110px #050403b8}:root:not([data-theme=light]) .start-board-preview:before{background:radial-gradient(circle at 66% 48%,transparent 0 13%,rgba(212,177,112,.07) 13.4%,transparent 15%),radial-gradient(circle at 66% 48%,transparent 0 21%,rgba(212,177,112,.035) 21.4%,transparent 23%),linear-gradient(90deg,rgba(7,5,4,.04),transparent 42%,rgba(7,5,4,.12)),linear-gradient(180deg,rgba(7,5,4,.025),transparent 46%,rgba(7,5,4,.13))}:root:not([data-theme=light]) .museum-caption{background:linear-gradient(90deg,rgba(5,4,3,.78),rgba(5,4,3,.36),transparent);box-shadow:inset 3px 0 #d4b170e0}:root:not([data-theme=light]) .start-panel{border-color:#776c5857;background:radial-gradient(circle at 22% 10%,rgba(214,196,154,.1),transparent 31%),radial-gradient(ellipse at 90% 82%,rgba(12,10,8,.28),transparent 30%),radial-gradient(circle at 18% 84%,rgba(149,132,101,.08),transparent 18%),repeating-linear-gradient(0deg,rgba(197,178,132,.018) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(255,238,190,.012) 0 1px,transparent 1px 21px),linear-gradient(90deg,rgba(6,5,4,.3),rgba(76,66,52,.34) 7%,transparent 17%,transparent 83%,rgba(76,66,52,.3) 93%,rgba(6,5,4,.3)),linear-gradient(180deg,#5a513f,#3e362a 47%,#28221a);color:#efe0c2;box-shadow:inset 0 1px #e7d3a21f,inset 13px 0 22px #0000002e,inset -13px 0 22px #00000029,inset 0 -18px 30px #00000026,0 32px 72px #04030266}:root:not([data-theme=light]) .start-panel:before{background:radial-gradient(ellipse at 70% 12%,rgba(224,207,164,.08),transparent 28%),linear-gradient(90deg,rgba(5,4,3,.56),rgba(122,108,82,.14),transparent),repeating-linear-gradient(0deg,rgba(255,238,190,.026) 0 3px,transparent 3px 9px)}:root:not([data-theme=light]) .start-panel:after{background:radial-gradient(ellipse at 30% 18%,rgba(224,207,164,.07),transparent 26%),linear-gradient(270deg,rgba(5,4,3,.52),rgba(122,108,82,.12),transparent),repeating-linear-gradient(0deg,rgba(255,238,190,.026) 0 3px,transparent 3px 9px)}:root:not([data-theme=light]) .scroll-roller{border-color:#8c7c5e52;background:radial-gradient(circle at 18% 32%,rgba(231,211,162,.13),transparent 18%),radial-gradient(circle at 82% 72%,rgba(4,3,2,.2),transparent 22%),repeating-linear-gradient(90deg,rgba(218,193,143,.055) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(255,238,190,.026) 0 1px,transparent 1px 6px),linear-gradient(180deg,#675b45,#3c3327 52%,#18130f 53%,#4d4232);box-shadow:inset 0 1px #e8d3a61f,inset 0 -5px 9px #00000047,0 10px 18px #00000042,0 0 0 3px #89775809}:root:not([data-theme=light]) .start-panel h1{color:#f6dfb7;text-shadow:0 1px 0 rgba(6,4,3,.82),0 8px 20px rgba(0,0,0,.34)}:root:not([data-theme=light]) .start-subtitle{color:#e0c99d}:root:not([data-theme=light]) .start-panel>p,:root:not([data-theme=light]) .setup-group button.preset small{color:#efe0c2ad}:root:not([data-theme=light]) .start-panel .eyebrow,:root:not([data-theme=light]) .setup-group>span{color:#79aa9a;text-shadow:0 1px 0 rgba(0,0,0,.44)}:root:not([data-theme=light]) .setup-group button{border-color:#e1b7672e;color:#eadab9;background:radial-gradient(ellipse at 50% 0%,rgba(231,184,108,.08),transparent 54%),linear-gradient(180deg,rgba(255,231,178,.04),transparent),#08060438}:root:not([data-theme=light]) .setup-group button.active{border-color:#d4b1709e;background:linear-gradient(180deg,rgba(212,177,112,.16),transparent),linear-gradient(135deg,#7c251e47,#48766617);color:#fff1d2;box-shadow:inset 0 0 0 1px #ffe4ab1a,0 10px 20px #0000003d}:root:not([data-theme=light]) .setup-group button.preset{background:linear-gradient(90deg,rgba(121,170,154,.08),transparent 28%),repeating-linear-gradient(0deg,rgba(227,182,112,.025) 0 1px,transparent 1px 6px),linear-gradient(180deg,rgba(255,225,170,.04),transparent),#09070538}:root:not([data-theme=light]) .setup-group button.preset strong{color:#f4e4c4}.setup-group button.theme-option{position:relative;min-height:46px;padding-left:42px;overflow:hidden}.setup-group button.setting-option{min-height:46px;justify-content:center;color:var(--muted-text)}.setup-group button.setting-option.active{color:var(--strong-text)}.setup-group button.theme-option:before{content:"";position:absolute;left:14px;top:50%;width:17px;height:17px;border-radius:50%;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff42,0 2px 8px #0000001f}.setup-group button.theme-dark:before{background:radial-gradient(circle at 36% 28%,rgba(212,177,112,.22),transparent 30%),linear-gradient(145deg,#3a3025,#100d0a 72%)}.setup-group button.theme-light:before{background:radial-gradient(circle at 34% 30%,#fffdf0 0 24%,transparent 26%),linear-gradient(145deg,#fff2ce,#c1a66e)}:root[data-theme=light] .setup-group button.theme-option.active{color:#271b11;background:radial-gradient(ellipse at 50% 0%,rgba(255,250,226,.8),transparent 56%),linear-gradient(180deg,#deb97440,#a574341c),#fff1cf8f;box-shadow:inset 0 0 0 1px #fffdee85,0 8px 14px #69461e14}:root:not([data-theme=light]) .setup-group button.theme-option.active{color:#fff0ca;background:linear-gradient(180deg,rgba(212,177,112,.18),transparent),linear-gradient(135deg,#7c251e3d,#48766614),#0d0a0757}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:radial-gradient(circle at 50% 46%,rgba(62,47,30,.18),transparent 34%),linear-gradient(180deg,#13100df5,#080706fb);-webkit-backdrop-filter:blur(18px) saturate(.45) brightness(.42);backdrop-filter:blur(18px) saturate(.45) brightness(.42)}.pause-panel{width:min(460px,calc(100% - 28px));border:1px solid color-mix(in srgb,var(--gold) 36%,var(--surface-border));border-radius:8px;padding:30px;background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 68%,transparent),transparent),color-mix(in srgb,#211b15 88%,var(--surface));box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 70%,transparent),inset 0 0 0 1px #ffffff09,0 34px 90px #00000094}.pause-menu-panel{width:min(420px,calc(100% - 34px));display:grid;grid-template-columns:58px minmax(0,1fr);column-gap:16px;row-gap:20px;padding:24px;border-color:color-mix(in srgb,var(--gold) 46%,rgba(63,43,25,.42));background:radial-gradient(ellipse at 20% 0%,rgba(190,139,73,.16),transparent 38%),linear-gradient(180deg,#362b1ff5,#14100dfc),#15110e;box-shadow:inset 0 1px #ffe9b524,inset 0 0 0 1px #ffffff09,inset 0 -24px 42px #0003,0 40px 96px #000000a8}.pause-emblem{width:54px;height:54px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--gold) 36%,rgba(255,255,255,.06));border-radius:8px;background:radial-gradient(circle at 32% 20%,rgba(255,239,196,.18),transparent 40%),linear-gradient(145deg,#5f422670,#0d0a0757);box-shadow:inset 0 1px #ffe7ae1f,inset 0 -12px 22px #00000038,0 14px 26px #00000038}.pause-emblem i,.pause-emblem i:after{content:"";display:block;width:7px;height:26px;border-radius:2px;background:color-mix(in srgb,var(--gold) 78%,#fff0c4);box-shadow:16px 0 color-mix(in srgb,var(--gold) 78%,#fff0c4)}.pause-copy{min-width:0}.endgame-overlay{place-items:center}.endgame-panel{width:min(720px,calc(100% - 30px));max-height:calc(100dvh - 34px);overflow:auto}.endgame-verdict{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.endgame-verdict article,.review-grid article,.review-log article{border:1px solid color-mix(in srgb,var(--gold) 18%,rgba(255,255,255,.08));border-radius:6px;background:linear-gradient(180deg,rgba(255,237,193,.055),transparent),#ffffff09;box-shadow:inset 0 1px #fff4d50f}.endgame-verdict article{min-height:72px;padding:12px}.endgame-verdict span,.review-grid span{display:block;color:color-mix(in srgb,var(--gold) 68%,rgba(255,247,234,.66));font-size:11px;font-weight:800}.endgame-verdict strong{display:block;margin-top:9px;color:#fff6e7;font-family:Songti SC,STSong,serif;font-size:22px;line-height:1}.review-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.review-grid article{min-height:112px;padding:12px}.review-grid strong{display:block;margin-top:9px;color:#fff6e7;font-family:Songti SC,STSong,serif;font-size:18px;line-height:1.15}.review-grid small,.review-log small{display:block;margin-top:8px;color:#efe7daad;font-size:12px;line-height:1.45}.review-log{margin-top:10px;display:grid;gap:8px}.review-log article{padding:10px 12px}.review-log b{color:#fff6e7e6;font-family:Songti SC,STSong,serif;font-size:14px}.pause-panel h2{margin-top:8px;color:#fff6e7;font-family:Songti SC,STSong,serif;font-size:30px;line-height:1.2}.pause-panel p{margin-top:9px;color:#efe7dac2;font-size:14px;line-height:1.55}.pause-state-strip{display:none}.pause-actions{grid-column:1 / -1;margin-top:0;display:grid;grid-template-columns:1fr;gap:9px}.pause-actions .primary{border-color:color-mix(in srgb,var(--gold) 56%,var(--accent-border));background:linear-gradient(180deg,rgba(255,238,199,.18),transparent 48%),linear-gradient(135deg,color-mix(in srgb,var(--gold) 34%,#8e3328),#8b322b);color:#fff8e9;box-shadow:inset 0 1px #ffecd233,0 12px 24px #56141142}.pause-actions button:not(.primary){color:#fff7eacc;background:linear-gradient(180deg,rgba(255,232,186,.08),transparent),#ffffff0a;border-color:color-mix(in srgb,var(--gold) 22%,var(--button-border))}.pause-actions .danger{color:color-mix(in srgb,#f4d6cb 82%,rgba(255,247,234,.72))}.pause-actions button:not(.primary):hover{color:#fff7ea;border-color:color-mix(in srgb,var(--gold) 44%,var(--button-border))}.header-controls{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:0;flex-wrap:nowrap}.header-controls .system-actions{min-height:38px;gap:3px;padding:4px}.header-controls .system-actions button{min-width:38px;min-height:30px;padding:0 8px}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.tool-button.pause-tool{min-width:38px;padding:0;margin-left:3px;border-color:color-mix(in srgb,var(--gold) 18%,transparent)}.tool-text{font-size:11px;font-weight:800;letter-spacing:.04em}.tool-icon{position:relative;width:15px;height:15px;flex:0 0 auto;color:currentColor;opacity:.9}.grid-icon{border:1.5px solid currentColor;border-radius:3px;background:linear-gradient(currentColor,currentColor) 50% 0 / 1px 100% no-repeat,linear-gradient(currentColor,currentColor) 0 50% / 100% 1px no-repeat}.rules-icon{border:1.5px solid currentColor;border-radius:2px 5px 5px 2px}.rules-icon:before,.rules-icon:after{content:"";position:absolute;left:4px;right:4px;height:1.5px;border-radius:999px;background:currentColor}.rules-icon:before{top:5px}.rules-icon:after{top:10px}.sound-icon:before{content:"";position:absolute;left:1px;top:5px;width:6px;height:7px;border-radius:2px 0 0 2px;background:currentColor;clip-path:polygon(0 30%,44% 30%,100% 0,100% 100%,44% 70%,0 70%)}.sound-icon:after{content:"";position:absolute;left:8px;top:3px;width:7px;height:11px;border:1.5px solid currentColor;border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-radius:0 999px 999px 0}.theme-icon{border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 0 50%,transparent 50%),radial-gradient(circle at 50% 50%,transparent 0 42%,currentColor 43% 46%,transparent 47%)}.pause-icon:before,.pause-icon:after{content:"";position:absolute;top:2px;width:5px;height:13px;border-radius:2px;background:currentColor}.pause-icon:before{left:3px}.pause-icon:after{right:3px}.settings-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:10;width:min(560px,calc(100vw - 40px));display:grid;gap:10px;padding:12px;border:1px solid var(--surface-border);border-radius:8px;background:linear-gradient(180deg,var(--surface-top),var(--surface-bottom)),color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:inset 0 1px 0 var(--inner-line),0 24px 54px var(--surface-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.rule-popover-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:auto}.rule-popover{position:absolute;top:76px;right:30px;width:min(430px,calc(100vw - 44px));max-height:min(680px,calc(100dvh - 118px));overflow:auto;padding:16px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--surface-border));border-radius:8px;background:radial-gradient(ellipse at 18% 0%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 94%,transparent),transparent),color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 78%,transparent),0 26px 60px color-mix(in srgb,var(--surface-shadow) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.rule-popover-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.rule-popover-head span,.rule-goal-card span,.rule-mini-grid span{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.1em}.rule-popover-head h2{margin-top:5px;color:var(--strong-text);font-family:Songti SC,STSong,serif;font-size:21px;line-height:1.2}.rule-popover-head button{width:30px;height:30px;border:1px solid color-mix(in srgb,var(--gold) 18%,var(--button-border));border-radius:6px;color:var(--muted-text);background:color-mix(in srgb,var(--button-bg) 72%,transparent);cursor:pointer}.rule-goal-card{margin-top:14px;padding:12px;border:1px solid color-mix(in srgb,var(--gold) 28%,var(--surface-border));border-radius:7px;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 10%,transparent),transparent),color-mix(in srgb,var(--panel-item-bg) 88%,transparent)}.rule-goal-card strong{display:block;margin-top:5px;color:var(--strong-text);font-family:Songti SC,STSong,serif;font-size:18px;line-height:1.25}.rule-mini-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rule-mini-grid article,.rule-source-block{border:1px solid color-mix(in srgb,var(--gold) 16%,var(--surface-border));border-radius:6px;background:color-mix(in srgb,var(--panel-item-bg) 76%,transparent)}.rule-mini-grid article{min-height:92px;padding:10px}.rule-mini-grid p,.rule-source-block p{margin-top:5px;color:var(--muted-text);font-size:12px;line-height:1.45}.rule-source-block{margin-top:10px;padding:11px}.rule-source-block strong{display:block;color:var(--strong-text);font-size:13px}.rule-source-block.muted{background:linear-gradient(90deg,color-mix(in srgb,var(--teal) 8%,transparent),transparent),color-mix(in srgb,var(--panel-item-bg) 72%,transparent)}.action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px}.action-buttons button,.hint-toggle{min-height:32px;border:1px solid var(--button-border);color:var(--app-text);background:var(--button-bg);padding:0 9px;border-radius:7px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.action-buttons button:hover,.hint-toggle:hover{border-color:var(--button-hover-border)}.action-buttons button:active,.hint-toggle:active{transform:translateY(1px) scale(.99)}.action-buttons .primary,.hint-toggle.active{border-color:var(--accent-border);background:linear-gradient(180deg,rgba(255,255,255,.1),transparent),var(--accent);color:#fff7ea;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 26%,transparent)}.action-buttons .secondary{color:var(--muted-text);background:color-mix(in srgb,var(--button-bg) 60%,transparent)}.header-tool-row{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.tool-group{min-height:34px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--button-border);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 74%,transparent),transparent),color-mix(in srgb,var(--button-bg) 72%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 72%,transparent)}.tool-group>span{padding:0 7px;color:var(--soft-text);font-size:12px}.tool-group button{min-width:42px;min-height:28px;border:0;border-radius:999px;color:var(--muted-text);background:transparent;padding:0 10px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.tool-group button:hover{color:var(--strong-text);background:color-mix(in srgb,var(--button-bg) 86%,transparent)}.tool-group button:active{transform:translateY(1px) scale(.99)}.tool-group button.active{background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 14%,transparent),transparent),color-mix(in srgb,var(--surface) 86%,var(--gold));color:var(--strong-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 32%,transparent),0 5px 12px color-mix(in srgb,var(--surface-shadow) 58%,transparent)}.hint-toggle{min-height:34px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:116px;border-radius:999px;padding:0 5px 0 12px;justify-self:end;background:color-mix(in srgb,var(--button-bg) 58%,transparent)}.hint-toggle span{color:var(--muted-text);font-size:13px}.hint-toggle strong{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--button-bg);color:var(--strong-text);font-size:12px}.hint-toggle.active strong{background:var(--gold);color:#1a1510}.action-buttons .ghost-hint{border-style:dashed;color:var(--soft-text);background:transparent}.action-buttons button:disabled{opacity:.42;cursor:not-allowed}.operation-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;min-height:76px;padding:12px;border:1px solid var(--surface-border);background:var(--panel-item-bg);opacity:.64}.operation-step>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--button-bg);border:1px solid var(--button-border);color:var(--soft-text);font-weight:800}.operation-step strong{color:var(--strong-text);display:block;line-height:1.2}.operation-step p{margin-top:4px;font-size:12px;line-height:1.45}.operation-step.active{opacity:1;border-color:var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 13%,transparent),transparent),var(--panel-item-bg)}.operation-step.active>span{background:var(--gold);color:#161210;border-color:transparent}.operation-step.done{opacity:.78}.operation-step.done>span{background:var(--teal);color:#fff7ea;border-color:transparent}.operation-step.ai-wait{grid-column:1 / -1;min-height:58px}.operation-guide{display:grid;grid-template-columns:1fr;gap:10px;border-bottom:1px solid var(--divider);padding-bottom:20px;margin-bottom:20px}.play-layout{grid-template-columns:minmax(112px,.13fr) minmax(760px,1.46fr) minmax(112px,.13fr);align-items:start;gap:clamp(4px,.65vw,10px);min-height:0;padding:0 2px}.player-panel{position:relative;align-self:center;width:min(150px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 26%,rgba(38,29,21,.58));border-radius:7px;padding:15px 13px 13px;background:radial-gradient(ellipse at 28% 0%,rgba(219,176,102,.16),transparent 42%),linear-gradient(180deg,#4a2b1d57,#18120e2e),repeating-linear-gradient(90deg,rgba(255,232,183,.035) 0 1px,transparent 1px 9px),color-mix(in srgb,var(--surface) 86%,#2f2118);box-shadow:inset 0 1px #ffe7ae21,inset 0 0 0 1px #24181157,inset 0 -18px 30px #0c090729,0 18px 36px color-mix(in srgb,var(--surface-shadow) 64%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.player-panel:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(214,170,94,.13);border-radius:4px;pointer-events:none}.player-panel.white{text-align:right}.player-panel.active{border-color:color-mix(in srgb,var(--gold) 58%,var(--surface-border));box-shadow:inset 0 1px #ffe7ae2e,inset 0 0 0 1px #2418113d,0 18px 46px color-mix(in srgb,var(--gold) 16%,var(--surface-shadow))}.player-panel.active:before{content:"";position:absolute;top:12px;bottom:12px;left:0;width:2px;background:var(--gold);border-radius:999px;animation:turnBreath 1.8s ease-in-out infinite alternate}.player-panel.white.active:before{left:auto;right:0}.player-title{display:flex;align-items:center;gap:9px;position:relative;z-index:1}.player-panel.white .player-title{justify-content:flex-end}.player-title span{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;font-weight:800;font-family:Songti SC,STSong,serif;box-shadow:inset 0 1px #ffffff29,inset 0 -8px 12px #00000038,0 8px 16px #100a072e}.player-panel.blue .player-title span{background:var(--blue-piece-a);color:var(--blue-piece-text);border:1px solid rgba(226,190,122,.18)}.player-panel.white .player-title span{background:var(--white-piece-a);color:var(--white-piece-text);border:1px solid var(--button-border)}.player-title div{display:grid;gap:2px}.player-title strong{color:var(--strong-text);font-family:Songti SC,STSong,serif;font-size:16px;letter-spacing:.08em}.player-title small{color:color-mix(in srgb,var(--gold) 58%,var(--soft-text));font-size:10px;letter-spacing:.14em;text-transform:uppercase}.score-row{position:relative;z-index:1;margin-top:16px;display:grid;gap:7px;padding:11px 10px 10px;border-top:1px solid rgba(216,172,98,.2);border-bottom:1px solid rgba(20,14,10,.3);background:linear-gradient(90deg,rgba(255,232,180,.045),transparent 65%),#160f0b21}.player-panel.white .score-row{justify-items:end}.score-row span{color:color-mix(in srgb,var(--gold) 64%,var(--soft-text));font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.score-row strong{color:var(--strong-text);font-family:Songti SC,STSong,serif;font-size:clamp(40px,4vw,56px);line-height:.86;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,237,188,.08),0 9px 20px rgba(0,0,0,.2)}.tally-strip{position:relative;z-index:1;display:flex;align-items:center;gap:5px;min-height:18px;margin-top:9px;padding:0 10px 10px;border-bottom:1px solid color-mix(in srgb,var(--surface-border) 68%,transparent)}.player-panel.white .tally-strip{justify-content:flex-end}.tally-strip i{width:18px;height:7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 22%,rgba(47,38,28,.18));background:radial-gradient(ellipse at 28% 24%,rgba(255,246,222,.48),transparent 46%),linear-gradient(180deg,#b39f7c66,#5b4b3342);opacity:.42;box-shadow:inset 0 1px #ffffff38,0 2px 5px color-mix(in srgb,var(--surface-shadow) 22%,transparent)}.tally-strip i.active{opacity:1;background:radial-gradient(ellipse at 28% 22%,rgba(255,247,220,.62),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--gold) 86%,#fff3ca),color-mix(in srgb,var(--gold) 62%,#5d3b20))}.tally-strip.owl-tally i{width:11px;height:18px;border-radius:4px 4px 2px 2px}.mini-stats{position:relative;z-index:1;margin-top:12px;display:grid;gap:6px;color:color-mix(in srgb,var(--strong-text) 74%,var(--soft-text));font-size:11px;line-height:1.25;font-variant-numeric:tabular-nums}.mini-stats span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;padding:4px 7px;border:1px solid rgba(214,170,94,.13);border-radius:4px;background:linear-gradient(90deg,rgba(236,196,116,.07),transparent 70%),#ffffff06}.player-panel.white .mini-stats span{flex-direction:row-reverse}.mini-stats b{color:var(--gold);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:900}.board-wrap{--board-size: min( calc(100dvh - 150px) , 100%, 1140px);position:relative;display:grid;align-content:start;place-items:center;min-width:0;min-height:0;transform:translateY(-40px)}.board{position:relative;width:var(--board-size);max-width:1160px;min-width:390px;aspect-ratio:1;border:30px solid transparent;border-image:linear-gradient(135deg,#d2cfbd,#8f8a78 48%,#5f5849) 1;background:radial-gradient(circle at 21% 18%,rgba(255,255,255,.34),transparent 17%),radial-gradient(circle at 79% 84%,rgba(54,48,40,.2),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.42),transparent 20%,rgba(41,38,33,.18) 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.105) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(54,50,43,.035) 0 1px,transparent 1px 18px),var(--board-bg);box-shadow:inset 0 0 0 1px #342f2875,inset 0 0 0 8px #ffffff24,inset 0 0 0 18px #4540371c,inset 0 26px 36px #ffffff29,inset 0 -36px 54px #34302945,inset 0 0 72px var(--board-vignette),0 3px #ffffff2e,0 30px 0 -16px #51493c75,0 48px 92px color-mix(in srgb,var(--board-shadow) 86%,#8b7a5e)}.board:after{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 -20px 28px #433c3257,inset 0 13px 18px #ffffff3d,inset 10px 0 18px #ffffff1f,inset -10px 0 20px #332e2738;pointer-events:none}.board:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(58,49,41,.25);box-shadow:inset 0 0 0 1px #ffffff29,inset 0 0 28px #37322a24;pointer-events:none}.board-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:var(--board-line);pointer-events:none}.board-lines .stone-field{fill:url(#stoneWash);stroke:#302a243d;stroke-width:.35;filter:url(#stoneTexture)}.board-lines .stone-bevel{fill:none;stroke:#4e463b38;stroke-width:.42}.board-lines .grain-field{fill:url(#stoneGrain);stroke:#3731291f;stroke-width:.2;opacity:.56}.board-lines #stoneGrain path{stroke:#39352f2e;stroke-width:.18}.board-lines .fleck-field{fill:url(#stoneFlecks);opacity:.22}.board-lines #stoneFlecks path{fill:none;stroke:#54483c6b;stroke-width:.32;stroke-linecap:round}.board-lines .outer-square,.board-lines .water-square,.board-lines .tlv-line{fill:none;stroke:color-mix(in srgb,var(--board-line) 86%,#1e1a15);stroke-width:.62;stroke-linecap:square;stroke-linejoin:miter;filter:url(#incisedLine);opacity:.92}.board-lines .water-square{stroke-width:.74}.board-lines .tlv-line.light{stroke-width:.46;opacity:.5}.board-lines .reserve-incision{fill:none;stroke:#38312a57;stroke-width:.54;stroke-dasharray:.8 1.4;filter:url(#incisedLine)}.board-lines .reserve-zone{fill:#4a443a0e;stroke:#ffffff29;stroke-width:.24}.board-lines .small-stud{fill:#6b4d34ad;stroke:#30282070;stroke-width:.18}.board-lines .wear-mark{fill:none;stroke:#7e52318c;stroke-width:.45;stroke-linecap:round}.board-lines .stone-scratch,.board-lines .stone-chip{fill:none;stroke:#5f534647;stroke-width:.28;stroke-linecap:round}.board-lines .stone-chip{stroke:#50473e70;stroke-width:.42}.board-lines .route-line{stroke:color-mix(in srgb,var(--route-line) 74%,var(--board-line));stroke-width:.32;stroke-dasharray:.75 1.35;opacity:.52}.annotation-lines{pointer-events:none}.annotation-lines .outer-annotation{fill:none;stroke:color-mix(in srgb,var(--board-line) 42%,var(--gold));stroke-width:.78;stroke-dasharray:1.05 1.05;opacity:.84}.annotation-lines .inner-annotation{fill:none;stroke:color-mix(in srgb,var(--teal) 72%,var(--board-line));stroke-width:.82;stroke-linecap:round;stroke-linejoin:round;opacity:.92;filter:url(#incisedLine)}.annotation-lines .inner-annotation.faint{stroke:color-mix(in srgb,var(--teal) 48%,var(--board-line));stroke-width:.46;stroke-dasharray:.8 1.35;opacity:.42}.board-legend{position:absolute;left:calc(50% - var(--board-size) / 2 - 12px);top:calc(50% - var(--board-size) / 2 + 58px);z-index:7;display:grid;gap:2px;width:min(330px,23vw);max-width:330px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--board-line) 20%,transparent);border-radius:6px;background:linear-gradient(180deg,#f7f1dcf0,#e1d8bedb);color:#2a231cdb;box-shadow:inset 0 1px #ffffff52,0 10px 22px #2d241b1f;pointer-events:none;transform:translate(-100%)}.board-legend span{color:color-mix(in srgb,var(--teal) 68%,#2e2821);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.board-legend strong,.board-legend em{color:#2a231cd6;font-size:11px;font-style:normal;line-height:1.3}.node{position:absolute;z-index:4;width:30px;height:30px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid var(--button-border);background:var(--node-bg);color:var(--node-text);border-radius:50%;font-size:13px;transition:transform .22s ease,border-color .22s ease,color .22s ease;pointer-events:none}.node.empty-node{width:4px;height:4px;border-color:#30282033;background:color-mix(in srgb,var(--node-dot) 70%,var(--board-bg));color:transparent;opacity:.45;box-shadow:inset 0 1px 1px #2d262085,0 1px #ffffff3d}.node.functional-node{width:auto;min-width:31px;height:27px;padding:2px 5px;border-radius:5px;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 56%),color-mix(in srgb,var(--board-bg) 84%,var(--node-functional-bg));color:var(--node-text);font-size:12px;font-weight:900;grid-template-rows:1fr auto;gap:0;line-height:1.05;z-index:6;box-shadow:inset 0 1px #ffffff61,inset 0 -5px 8px #3c322714,0 3px 8px #322a221f}.node.functional-node small{color:color-mix(in srgb,var(--soft-text) 78%,var(--node-text));font-size:8px;font-weight:800;line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.node.gate-node{border-color:color-mix(in srgb,var(--teal) 46%,var(--button-border))}.node.upgrade-node{border-color:color-mix(in srgb,var(--gold) 62%,var(--button-border))}.node.inner-label-node{border-color:color-mix(in srgb,var(--teal) 38%,var(--button-border))}.node.outer-label-node{opacity:1;border-color:color-mix(in srgb,var(--board-line) 18%,var(--button-border))}.node.center-label-node{width:40px;height:32px;border-color:color-mix(in srgb,var(--teal) 54%,var(--button-border));background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--teal) 22%,transparent),transparent 58%),var(--node-functional-bg)}.node.highlighted{border-color:var(--gold);color:var(--strong-text);opacity:1;transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent),0 0 18px color-mix(in srgb,var(--gold) 48%,transparent)}.step-trace{position:absolute;z-index:2;width:24px;height:24px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#161210;font-size:12px;font-weight:900;box-shadow:0 8px 20px var(--surface-shadow);pointer-events:none}.hide-hints .center-node{opacity:0}.show-hints .center-node{opacity:1}.gate-mark{position:absolute;z-index:5;width:44px;height:44px;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--gold) 44%,var(--button-hover-border));border-radius:50%;pointer-events:none}.stack-field{position:absolute;z-index:9;display:block;border:1px dashed color-mix(in srgb,var(--gold) 38%,transparent);border-radius:999px;background:radial-gradient(ellipse at var(--stack-anchor-x) var(--stack-anchor-y),color-mix(in srgb,var(--gold) 12%,transparent),transparent 34%),color-mix(in srgb,var(--surface) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,rgba(255,255,255,.26),transparent),0 4px 14px color-mix(in srgb,var(--surface-shadow) 16%,transparent);opacity:.72;pointer-events:none;transform:translateZ(0)}.stack-field.zhang-stack{border-radius:12px}.stack-field i{position:absolute;left:var(--stack-anchor-x);top:var(--stack-anchor-y);width:8px;height:8px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 45%,rgba(52,38,24,.22));background:radial-gradient(circle at 36% 28%,rgba(255,244,213,.64),transparent 36%),color-mix(in srgb,var(--gold) 58%,rgba(112,78,42,.48));box-shadow:0 2px 5px color-mix(in srgb,var(--surface-shadow) 30%,transparent);transform:translate(-50%,-50%)}.stack-field b{position:absolute;left:9px;top:6px;color:color-mix(in srgb,var(--gold) 72%,var(--strong-text));font-size:10px;font-weight:900;line-height:1;letter-spacing:.04em}.water{position:absolute;left:50%;top:50%;width:104px;height:106px;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--teal) 30%,rgba(58,48,39,.22));background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--teal) 18%,transparent),transparent 60%),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 6px),var(--water-bg);color:var(--water-text);pointer-events:none;box-shadow:inset 0 1px #ffffff38,inset 0 -8px 14px #342d2524,inset 0 0 0 1px color-mix(in srgb,var(--teal) 14%,transparent),0 0 24px color-mix(in srgb,var(--teal) 14%,transparent);overflow:hidden}.water:before,.water:after{content:"";position:absolute;top:16px;right:12px;bottom:16px;left:12px;border:1px solid color-mix(in srgb,var(--teal) 22%,transparent);opacity:.38;transform:scale(.82);animation:waterRipple 5.4s ease-in-out infinite}.water:after{top:25px;right:22px;bottom:25px;left:22px;opacity:.26;animation-delay:-2.4s}.water>span{font-family:Songti SC,STSong,serif;font-size:21px;font-weight:800;opacity:.78}.water>small{margin-top:-18px;color:var(--water-muted);font-size:11px;font-weight:700}.fish-row{position:absolute;left:50%;bottom:35px;transform:translate(-50%);display:flex;gap:10px;z-index:1}.fish{position:relative;width:24px;height:10px;display:block;background:radial-gradient(circle at 68% 42%,rgba(61,39,22,.56) 0 1px,transparent 1.5px),radial-gradient(ellipse at 30% 22%,rgba(255,221,160,.42),transparent 45%),linear-gradient(180deg,#ad743deb,#68462adb);border-radius:50% 55% 55% 50%;clip-path:polygon(0 50%,18% 0,100% 0,78% 50%,100% 100%,18% 100%);box-shadow:inset 0 1px 1px #ffe7b34d,inset 0 -2px 2px #37261857,0 2px 4px #3726182e;transform-origin:50% 50%}.fish.available{animation:fishSwim 4.6s ease-in-out infinite}.fish.available:nth-child(2){animation-delay:-2.1s;animation-duration:5.2s;animation-name:fishSwimReverse}.fish.taken{opacity:.18;filter:saturate(.6)}.piece{position:absolute;z-index:var(--piece-layer, 20);width:24px;height:24px;transform:translate(-50%,-50%) rotate(var(--piece-tilt, 0deg));border:1px solid color-mix(in srgb,rgba(45,38,31,.42),var(--button-border));border-radius:50%;display:grid;place-items:center;cursor:pointer;isolation:isolate;transform-style:preserve-3d;transition:left .24s cubic-bezier(.16,1,.3,1),top .24s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,opacity .22s ease}.piece:before,.piece:after{content:"";position:absolute;pointer-events:none;border-radius:50%}.piece:before{top:3px;right:3px;bottom:3px;left:3px;z-index:-1;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.32),transparent 28%),radial-gradient(circle at 72% 76%,rgba(36,28,20,.2),transparent 46%),repeating-linear-gradient(18deg,rgba(255,255,255,.035) 0 1px,transparent 1px 6px);opacity:.82}.piece:after{left:3px;right:3px;bottom:-5px;height:7px;z-index:-2;background:#261f1838;filter:blur(4px);transform:translateZ(-1px)}.piece:disabled{cursor:default;pointer-events:none}.piece.blue{background:radial-gradient(circle at 28% 21%,rgba(255,255,255,.22),transparent 30%),radial-gradient(circle at 68% 78%,rgba(0,0,0,.46),transparent 58%),linear-gradient(145deg,#34312c,#11100d 78%);color:var(--blue-piece-text);box-shadow:inset 0 2px 2px #ffffff21,inset -5px -5px 9px #0000005c,0 4px 8px #30281f2e}.piece.white{background:radial-gradient(circle at 28% 21%,rgba(255,255,255,.88),transparent 36%),radial-gradient(circle at 68% 78%,rgba(87,68,44,.28),transparent 58%),linear-gradient(145deg,#fbf5e7,#c4b69e 82%);color:var(--white-piece-text);box-shadow:inset 0 2px 2px #ffffff94,inset -5px -5px 9px #5f4a3133,0 4px 8px #30281f24}.piece.owl{width:26px;height:26px;border-radius:50%;transform:translate(-50%,-50%) rotate(var(--piece-tilt, 0deg));border-width:2px;box-shadow:inset 0 2px 2px #fff3,inset -6px -6px 10px #00000038,0 0 0 2px #ffffff29,0 5px 10px #30281f33}.piece.blue.owl{background:radial-gradient(circle at 30% 22%,rgba(255,230,204,.34),transparent 30%),radial-gradient(circle at 72% 80%,rgba(80,13,10,.44),transparent 62%),linear-gradient(145deg,#b43a2d,#6d1f19 82%);border-color:color-mix(in srgb,#f1c48a 48%,#661b16);color:#fff2df}.piece.white.owl{background:radial-gradient(circle at 30% 22%,rgba(230,248,255,.48),transparent 31%),radial-gradient(circle at 72% 80%,rgba(11,41,90,.42),transparent 62%),linear-gradient(145deg,#4175b9,#173b76 82%);border-color:color-mix(in srgb,#d7edf8 48%,#143468);color:#edf8ff}.piece-mark{position:relative;z-index:1;display:grid;place-items:center;width:10px;height:10px;border-radius:50%;color:currentColor;opacity:.16;mix-blend-mode:soft-light}.piece-mark i{width:100%;height:100%;display:block;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:50%;box-shadow:inset 0 1px color-mix(in srgb,currentColor 12%,transparent)}.piece.owl .piece-mark{width:12px;height:12px;opacity:.42}.piece.owl .piece-mark i{position:relative;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.36) 0 2px,transparent 2.4px)}.piece-ornament{position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:1;border-radius:50%;opacity:.12;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 0 42%,currentColor 43% 46%,transparent 47%);mix-blend-mode:overlay}.piece.owl .piece-ornament{top:4px;right:4px;bottom:4px;left:4px;opacity:.24;background:radial-gradient(circle at 50% 50%,transparent 0 40%,rgba(255,255,255,.5) 41% 44%,transparent 45%),linear-gradient(135deg,transparent 44%,rgba(255,255,255,.36) 45% 48%,transparent 49%)}.cinnabar-trace,.piece-incision,.piece-role{display:none}.piece.playable{box-shadow:inset 0 2px 2px #ffffff2e,0 0 0 2px color-mix(in srgb,var(--gold) 24%,transparent),0 0 0 6px color-mix(in srgb,var(--gold) 8%,transparent),0 9px 16px #31271c38;animation:playablePulse 1.25s ease-in-out infinite alternate}.piece.selected{transform:translate(-50%,-54%) rotate(var(--piece-tilt, 0deg)) scale(1.12);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 26%,transparent),0 12px 28px var(--surface-shadow)}.piece.owl.selected{transform:translate(-50%,-54%) rotate(var(--piece-tilt, 0deg)) scale(1.12)}.piece.moving{z-index:40;box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 30%,transparent),0 18px 34px var(--surface-shadow)}.piece .fish-badge{position:absolute;right:-9px;bottom:-7px;min-width:25px;height:19px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid color-mix(in srgb,var(--gold) 42%,rgba(38,31,24,.2));background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 88%,#fff5d0),var(--gold));color:#1b1510;box-shadow:inset 0 1px #ffffff47,0 8px 16px var(--surface-shadow)}.fish-badge i{width:11px;height:7px;display:block;background:#161210;border-radius:50% 55% 55% 50%;clip-path:polygon(0 50%,18% 0,100% 0,78% 50%,100% 100%,18% 100%)}.piece-cue{position:absolute;left:50%;top:-7px;transform:translate(-50%);width:8px;min-width:0;height:8px;padding:0;overflow:hidden;border-radius:999px;border:1px solid rgba(75,44,26,.24);background:radial-gradient(circle at 35% 25%,rgba(255,226,168,.55),transparent 36%),color-mix(in srgb,var(--gold) 82%,#8d392c);color:#161210;font-size:0;font-weight:800;line-height:0;box-shadow:inset 0 1px #ffffff52,0 2px 6px #3e2a1a3d;pointer-events:none}.action-dock{position:absolute;right:30px;bottom:18px;z-index:12;justify-self:auto;width:min(320px,calc(100% - 60px));min-height:0;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--surface-border);border-radius:8px;padding:9px 11px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 86%,transparent),transparent),color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 72%,transparent),0 18px 46px color-mix(in srgb,var(--surface-shadow) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.action-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.action-note{display:none;flex-basis:100%;color:var(--gold);font-size:13px;font-weight:800;line-height:1.35;word-break:normal;overflow-wrap:break-word}.turn-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:2px;align-items:center}.turn-card span,.rule-item span,.log-item span{color:var(--teal);font-size:11px}.turn-card strong{display:block;grid-column:1 / -1;color:var(--strong-text);line-height:1.25;font-size:13px;font-weight:900;max-width:100%;word-break:normal;overflow-wrap:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn-card em{display:block;color:color-mix(in srgb,var(--gold) 76%,var(--strong-text));font-style:normal;font-weight:700;line-height:1.2;font-size:14px;word-break:normal;overflow-wrap:break-word;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-point-meter{grid-column:1 / -1;display:flex;align-items:center;gap:4px;min-height:12px;margin-top:2px}.action-point-meter i{width:16px;height:7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 34%,rgba(48,38,27,.18));background:radial-gradient(ellipse at 30% 20%,rgba(255,244,213,.55),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--gold) 84%,#fff0c8),color-mix(in srgb,var(--gold) 64%,#6f4a25));box-shadow:inset 0 1px #ffffff52,0 4px 8px color-mix(in srgb,var(--surface-shadow) 28%,transparent)}.sticks{min-width:0;display:flex;align-items:center;gap:3px}.sticks i{position:relative;width:15px;height:20px;display:block;border-radius:50%;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.46),transparent 22%),radial-gradient(circle at 70% 82%,rgba(49,39,31,.22),transparent 38%),linear-gradient(145deg,#d9d2c0,#8f8778);border:1px solid rgba(64,52,42,.34);box-shadow:inset 0 1px #ffffff57,inset 0 -5px 8px #271f1838,0 5px 10px #2a221b29}.sticks i b{position:absolute;left:50%;top:50%;width:10px;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%)}.sticks .yang{color:#231c16d6;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.52),transparent 24%),linear-gradient(145deg,#efe9d8,#b9af9c)}.sticks .yin{color:#ece2cce0;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.14),transparent 23%),linear-gradient(145deg,#3b342e,#17120f);border-color:#e6d2aa2e}.sticks .yin b{width:4px;box-shadow:-4px 0 0 currentColor,4px 0 0 currentColor}.sticks span{margin-left:3px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 52%,rgba(44,32,24,.34));background:radial-gradient(circle at 35% 24%,rgba(255,245,220,.22),transparent 24%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 84%,#6b2b24),#6b2822);color:#fff7ea;font-family:Songti SC,STSong,serif;font-size:16px;font-weight:900;box-shadow:inset 0 1px #ffeec838,inset 0 -7px 10px #2a141038,0 8px 18px #34201733}.oracle-stones.muted{opacity:.58}.qiong-result{min-width:0;display:flex;align-items:center;gap:7px}.qiong-result i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;border:1px solid rgba(45,38,31,.32);background:linear-gradient(145deg,rgba(255,255,255,.46),transparent 42%,rgba(67,55,39,.18)),repeating-linear-gradient(0deg,rgba(75,61,43,.045) 0 1px,transparent 1px 5px),var(--white-piece-a);color:var(--white-piece-text);font-style:normal;font-weight:900;box-shadow:inset 0 1px #ffffff94,inset 0 -7px 10px #5f4a312e,0 5px 10px #30281f29}.qiong-result span{color:var(--soft-text);font-size:12px}.qiong-result em{display:block;margin-left:-5px;color:var(--teal);font-size:10px;font-style:normal;font-weight:900;letter-spacing:.08em}.artifact-throw i{position:relative;transform:rotate(-6deg)}.artifact-throw i:before,.artifact-throw i:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(57,45,33,.2);transform:rotate(28deg)}.artifact-throw i:after{top:12px;right:12px;bottom:12px;left:12px;transform:rotate(-18deg)}.muted{opacity:.5}.panel-block,.rule-list{border-bottom:1px solid var(--divider);padding-bottom:18px;margin-bottom:18px}.panel-block p{margin-top:12px}.quick-start ol{margin:14px 0 0;padding-left:20px;color:var(--muted-text);line-height:1.7}.quick-start li+li{margin-top:4px}.routine-block ol{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}.routine-block li{position:relative;padding-left:22px;color:var(--muted-text);line-height:1.55;font-size:13px}.routine-block li:before{content:"";position:absolute;left:2px;top:.75em;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 14%,transparent)}.insight-block{border-color:var(--button-hover-border)}.insight-block.active{padding:16px;border:1px solid color-mix(in srgb,var(--teal) 44%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 10%,transparent),transparent),var(--panel-item-bg)}.game-brief h2{font-size:19px}.side-tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;border:1px solid var(--surface-border);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 82%,transparent),transparent),color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 72%,transparent),0 10px 26px color-mix(in srgb,var(--surface-shadow) 56%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tactical-card{position:absolute;z-index:60;width:min(270px,36%);padding:11px;border:1px solid color-mix(in srgb,var(--gold) 36%,var(--surface-border));border-radius:7px;background:radial-gradient(ellipse at 16% 0%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 56%),linear-gradient(180deg,color-mix(in srgb,var(--surface-top) 92%,transparent),transparent),color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--inner-line) 72%,transparent),0 16px 38px color-mix(in srgb,var(--surface-shadow) 84%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tactical-card.right{transform:translateY(-50%)}.tactical-card.left{transform:translate(-100%,-50%)}.tactical-card.below{transform:translate(-50%)}.tactical-card.above{transform:translate(-50%,-100%)}.tactical-card>span{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.08em}.tactical-card>strong{display:block;margin-top:4px;color:var(--strong-text);font-family:Songti SC,STSong,serif;font-size:15px;line-height:1.15}.tactical-actions{margin-top:9px;display:grid;gap:7px}.tactical-actions button{display:grid;gap:3px;min-height:48px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--gold) 22%,var(--button-border));border-left-color:color-mix(in srgb,var(--gold) 72%,var(--button-border));border-left-width:2px;border-radius:6px;color:var(--app-text);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 10%,transparent),transparent),color-mix(in srgb,var(--button-bg) 88%,transparent);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.tactical-actions button:hover{border-color:color-mix(in srgb,var(--gold) 48%,var(--button-hover-border));background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 16%,transparent),transparent),color-mix(in srgb,var(--button-bg) 94%,transparent)}.tactical-actions button:active{transform:translateY(1px) scale(.99)}.tactical-actions b,.tactical-actions small,.tactical-actions em{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tactical-actions b{color:var(--strong-text);font-size:12px;line-height:1.2}.tactical-actions small{color:var(--muted-text);font-size:11px;line-height:1.3}.tactical-actions em{color:var(--gold);font-size:10px;font-style:normal}.side-tabs button{min-height:34px;border:0;border-radius:999px;color:var(--muted-text);background:transparent;cursor:pointer;font-size:13px;transition:color .18s ease,background .18s ease,transform .18s ease}.side-tabs button:hover{color:var(--strong-text);background:color-mix(in srgb,var(--button-bg) 72%,transparent)}.side-tabs button:active{transform:translateY(1px) scale(.99)}.side-tabs button.active{color:var(--strong-text);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 12%,transparent),transparent),color-mix(in srgb,var(--surface) 84%,var(--gold));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 24%,transparent)}.evidence-grid{margin-top:14px;display:grid;gap:8px}.evidence-grid article{padding:11px 0 11px 14px;border-left:2px solid color-mix(in srgb,var(--teal) 34%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--teal) 7%,transparent),transparent 80%)}.evidence-grid article:nth-child(2n){border-left-color:color-mix(in srgb,var(--gold) 42%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 6%,transparent),transparent 80%)}.evidence-grid span{color:var(--teal);font-size:11px;letter-spacing:.08em}.evidence-grid strong{display:block;margin-top:5px;color:var(--strong-text);font-size:14px}.evidence-grid p{margin-top:5px;font-size:12px;line-height:1.5}.source-list{margin-top:14px;display:grid;gap:8px}.source-list a{display:grid;gap:4px;padding:10px 0 10px 14px;border-left:2px solid var(--surface-border);color:inherit;text-decoration:none;background:linear-gradient(90deg,color-mix(in srgb,var(--button-bg) 72%,transparent),transparent 80%);transition:border-color .18s ease,background .18s ease,transform .18s ease}.source-list a:hover{border-left-color:var(--gold);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 8%,transparent),transparent 80%);transform:translate(2px)}.source-list span{color:var(--teal);font-size:11px;letter-spacing:.08em}.source-list strong{color:var(--strong-text);font-size:13px;line-height:1.35}.mode-split-list{margin-top:14px;display:grid;grid-template-columns:1fr;gap:8px}.mode-split-list article{padding:11px 12px;border:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 7%,transparent),transparent)}.mode-split-list article.active{border-color:color-mix(in srgb,var(--gold) 54%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 12%,transparent),transparent),var(--panel-item-bg)}.mode-split-list span{color:var(--teal);font-size:11px;letter-spacing:.1em}.mode-split-list strong{display:block;margin-top:5px;color:var(--strong-text);font-size:14px}.mode-split-list p{margin-top:5px;font-size:12px;line-height:1.45}.mode-split-list em{display:block;margin-top:6px;color:var(--soft-text);font-size:12px;font-style:normal;line-height:1.4}.bundle-code{margin-top:10px;display:inline-flex;padding:4px 8px;border:1px solid var(--surface-border);color:var(--soft-text);background:var(--panel-item-bg);font-size:11px;letter-spacing:.04em}.bundle-profile{margin-top:10px;padding:10px 12px;border:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--button-bg) 74%,transparent),transparent),var(--panel-item-bg)}.bundle-profile.source{border-color:color-mix(in srgb,var(--teal) 42%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 8%,transparent),transparent)}.bundle-profile.default{border-color:color-mix(in srgb,var(--gold) 44%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 8%,transparent),transparent)}.bundle-profile strong{color:var(--strong-text);font-size:13px}.bundle-profile p{margin-top:5px;font-size:12px;line-height:1.48}.bundle-presets{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bundle-presets button{min-height:52px;display:grid;gap:3px;justify-items:start;border:1px solid var(--button-border);border-radius:8px;padding:8px 10px;color:var(--app-text);background:var(--button-bg);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}.bundle-presets button:hover{border-color:var(--button-hover-border)}.bundle-presets button:active{transform:translateY(1px) scale(.99)}.bundle-presets button:disabled{cursor:default;border-color:color-mix(in srgb,var(--gold) 42%,var(--button-border));background:color-mix(in srgb,var(--gold) 9%,var(--button-bg));opacity:.78}.bundle-presets strong{color:var(--strong-text);font-size:13px}.bundle-presets span{color:var(--soft-text);font-size:11px;line-height:1.25}.bundle-list{margin-top:14px;display:grid;gap:8px}.bundle-list article{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;row-gap:3px;padding:9px 0 9px 12px;border-left:2px solid color-mix(in srgb,var(--teal) 42%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--teal) 6%,transparent),transparent 80%)}.bundle-list span{color:var(--teal);font-size:11px;letter-spacing:.08em}.bundle-list strong{color:var(--strong-text);font-size:14px}.bundle-list p{grid-column:2;margin-top:0;font-size:12px;line-height:1.45}.boundary-list{margin-top:14px;display:grid;gap:10px}.boundary-list.compact{gap:6px}.boundary-list.compact article{padding:9px 10px}.boundary-list article{padding:11px 12px;border:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--button-bg) 70%,transparent),transparent),var(--panel-item-bg)}.boundary-list strong{color:var(--strong-text);font-size:14px}.boundary-list p{margin-top:6px;font-size:12px;line-height:1.55}.brief-steps{margin-top:14px;display:grid;gap:0}.brief-steps article{position:relative;padding:10px 0 11px 28px;border-left:1px solid color-mix(in srgb,var(--surface-border) 78%,transparent)}.brief-steps article.active{border-left-color:color-mix(in srgb,var(--gold) 70%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 8%,transparent),transparent 78%)}.brief-steps article:before{content:"";position:absolute;left:-5px;top:17px;width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--surface) 84%,var(--gold));border:1px solid color-mix(in srgb,var(--gold) 38%,var(--surface-border));box-shadow:0 0 0 4px color-mix(in srgb,var(--surface) 84%,transparent)}.brief-steps article.active:before{background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 14%,transparent)}.brief-steps strong{color:var(--strong-text);font-size:14px}.brief-steps p{margin-top:4px;font-size:12px;line-height:1.45}.action-explain-list{margin-top:14px;display:grid;gap:8px}.action-explain-list article{padding:10px 12px;border:1px solid color-mix(in srgb,var(--gold) 34%,var(--surface-border));border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 8%,transparent),transparent),var(--panel-item-bg)}.action-explain-list strong{color:var(--strong-text);font-size:13px}.action-explain-list p,.action-explain-list span{display:block;margin-top:4px;color:var(--muted-text);font-size:12px;line-height:1.45}.action-explain-list span{color:var(--gold)}.evidence-notes{margin-top:14px;display:grid;gap:7px;color:var(--soft-text);font-size:12px;line-height:1.45}.evidence-notes span{position:relative;padding-left:14px}.evidence-notes span:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;transform:translateY(-50%);border-radius:50%;background:color-mix(in srgb,var(--gold) 74%,var(--node-dot))}.rule-list,.log-list{display:grid;gap:12px}.rule-item,.log-item{padding:12px;border:1px solid var(--surface-border);background:var(--panel-item-bg);border-radius:6px}.rule-item h3,.log-item strong{display:block;margin-top:6px}.rule-item p,.log-item p{margin-top:6px;font-size:13px}.log-item span{display:inline-block;margin-top:8px}@keyframes turnBreath{0%{opacity:.42;transform:scaleY(.72)}to{opacity:1;transform:scaleY(1)}}@keyframes playablePulse{0%{filter:brightness(1)}to{filter:brightness(1.12)}}@keyframes museumReveal{0%{opacity:0;transform:scale(.965) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes menuReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollUnfurl{0%{opacity:0;transform:translateY(-18px) scaleY(.92);filter:saturate(.82) brightness(.9)}to{opacity:1;transform:translateY(0) scaleY(1);filter:saturate(1) brightness(1)}}@keyframes stoneAwake{0%{opacity:0;transform:translateZ(28px) scale(1.045);filter:saturate(.82) brightness(.92)}to{opacity:1;transform:translateZ(28px) scale(1);filter:saturate(1) brightness(1)}}@keyframes stoneOpponentRise{0%{opacity:0;transform:translate3d(0,28px,0) scale(.96);filter:blur(1.2px) brightness(.84)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0) brightness(1)}}@keyframes handEnter{0%{opacity:0;transform:translate3d(38px,38px,0) rotate(-29deg) scale(.96);filter:blur(.8px)}to{opacity:1;transform:translateZ(0) rotate(-23deg) scale(1);filter:blur(0)}}@keyframes incisionReveal{0%{opacity:0;transform:scale(.985);filter:blur(1.4px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes waterBreath{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes dieFloat{0%,to{transform:translate3d(0,-4px,0) rotate(14deg)}48%{transform:translate3d(4px,7px,0) rotate(21deg)}}@keyframes goldOrbit{0%{transform:rotate(0) scale(.96);opacity:.48}50%{opacity:.8}to{transform:rotate(360deg) scale(1.04);opacity:.48}}@keyframes sticksDrift{0%,to{transform:translate3d(0,-3px,0) rotate(-12deg);filter:brightness(.96)}46%{transform:translate3d(8px,7px,0) rotate(-8deg);filter:brightness(1.08)}}@keyframes waterRipple{0%,to{opacity:.18;transform:scale(.72)}48%{opacity:.42;transform:scale(1.06)}}@keyframes fishSwim{0%,to{transform:translate3d(-2px,1px,0) rotate(-2deg)}45%{transform:translate3d(4px,-2px,0) rotate(2deg)}70%{transform:translate3d(1px,2px,0) rotate(-1deg)}}@keyframes fishSwimReverse{0%,to{transform:translate3d(2px,3px,0) scaleX(-1) rotate(-1deg)}45%{transform:translate3d(-4px,0,0) scaleX(-1) rotate(2deg)}72%{transform:translate3d(-1px,4px,0) scaleX(-1) rotate(-2deg)}}@keyframes pieceSettle{0%{opacity:0;transform:translate3d(0,-18px,26px) rotate(-3deg)}to{opacity:1;transform:translateZ(26px) rotate(0)}}@keyframes exhibitDust{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1%,1.5%,0) scale(1.03)}}@media (prefers-reduced-motion: reduce){.start-screen:before,.floating-die,.floating-die:before,.start-board-preview,.preview-grid,.preview-grid:before,.preview-grid:after,.preview-duel-line,.preview-camp,.stone-opponent-figure,.player-reach-hand,.preview-water,.preview-water:before,.preview-piece,.water:before,.water:after,.fish.available,.start-panel{animation:none}.start-board-preview,.preview-grid,.preview-grid:before,.preview-grid:after,.preview-duel-line,.preview-camp,.preview-piece,.stone-opponent-figure,.player-reach-hand,.floating-die,.start-panel{opacity:1}}@media (max-height: 900px) and (min-width: 1181px){.start-screen{width:min(1480px,calc(100vw - 28px));grid-template-columns:minmax(560px,1fr) minmax(410px,.44fr);gap:clamp(22px,2.4vw,38px)}.start-board-preview{min-height:min(62dvh,600px)}.preview-plinth{width:min(64vmin,610px)}.start-panel{max-height:calc(100dvh - 54px);padding:20px 26px 22px}.start-panel h1{margin-top:7px;font-size:clamp(38px,4.4vw,58px)}.start-subtitle{margin-top:5px;font-size:18px}.start-panel>p{margin-top:8px;font-size:12px;line-height:1.5}.fate-line{margin-top:8px;padding:5px 9px;font-size:12px}.setup-grid{margin-top:12px;gap:8px}.setup-group{gap:4px}.setup-group>span{font-size:11px}.setup-group:nth-of-type(2)>div{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-group button.preset{min-height:62px;padding:8px 10px;align-content:start}.setup-group button.preset strong{font-size:13px}.setup-group button.preset small{font-size:10px;line-height:1.35}.setup-group:nth-of-type(3)>div{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-group button,.setup-group button.theme-option,.setup-group button.setting-option{min-height:40px}.setup-group button.theme-option{padding-left:35px}.setup-group button.theme-option:before{left:12px;width:14px;height:14px}.start-button{margin-top:12px;min-height:47px}}@media (max-height: 820px) and (min-width: 1181px){.start-screen{align-items:center;grid-template-columns:minmax(520px,.94fr) minmax(430px,.42fr)}.start-board-preview{min-height:min(58dvh,540px)}.start-panel{padding-top:18px;padding-bottom:20px}.start-panel h1{font-size:clamp(34px,4vw,52px)}.start-subtitle{font-size:17px}.setup-grid{gap:7px}.setup-group button.preset{min-height:56px}.start-button{min-height:44px}}@media (max-width: 1180px){.start-screen{grid-template-columns:1fr;align-content:start;padding:14px 0}.start-board-preview{min-height:360px}.app-shell{grid-template-columns:1fr;min-height:auto}.side-panel{max-height:calc(100dvh - 28px)}.operation-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.play-layout{grid-template-columns:minmax(0,1fr);gap:10px}.player-panel,.player-panel.white{text-align:left}.player-panel.white .player-title,.player-panel.white .score-row{justify-content:flex-start;justify-items:start}.player-panel{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:center}.player-panel.active:before{top:auto;right:12px;bottom:0;left:12px;width:auto;height:2px;transform-origin:center}.player-panel.white.active:before{right:12px;left:12px}.score-row,.mini-stats{margin-top:0}.mini-stats{grid-template-columns:repeat(3,auto);justify-content:stretch}.board-wrap{--board-size: min( calc(100dvh - 188px) , 100%, 960px)}.board-legend{width:min(220px,18vw);max-width:220px}.top-bar{grid-template-columns:1fr auto;align-items:start}}@media (max-width: 760px){.app-shell{width:100%;padding:0}.menu-shell{padding:0}.start-screen{width:100%;min-height:100dvh;gap:0}.start-board-preview{min-height:280px;border-radius:0;border-left:0;border-right:0}.start-panel{border-radius:0;border-left:0;border-right:0;padding-top:34px;padding-bottom:34px}.floating-die,.fate-scene-label{display:none}.stone-opponent-figure{left:6%;top:8%;width:145px;height:220px;opacity:.78}.player-reach-hand{display:none}.preview-plinth{left:4%;right:4%;bottom:2%;transform:rotateX(58deg) rotate(-2deg) translateY(0) scale(.9)}.scroll-roller{left:12px;right:12px}.setup-group>div{grid-template-columns:1fr}.game-surface,.side-panel{border-left:0;border-right:0}.game-surface{height:auto;min-height:100dvh;overflow:visible;padding:12px 14px;gap:10px}.side-panel{top:0;right:0;bottom:0;width:min(100vw,430px);max-height:none;border-radius:0}.top-bar{grid-template-columns:1fr;gap:10px}.brand-lockup:before{left:-9px;top:3px;height:62px}.game-title-lockup{align-items:flex-start;flex-direction:column;gap:8px}.stone-title{font-size:34px}.stone-subtitle{min-height:22px;padding:0 8px;font-size:11px;letter-spacing:.08em;white-space:normal}.rule-inscription{margin-top:10px;gap:6px}.rule-name{min-height:23px;padding:0 8px;font-size:12px}.rule-goal{width:100%;font-size:18px}.hero-copy{margin-top:5px;font-size:12px;line-height:1.42}.action-control-row{grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.action-dock{position:static;grid-template-columns:1fr;gap:8px;padding:10px}.rule-popover{top:96px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 118px)}.rule-mini-grid{grid-template-columns:1fr}.endgame-panel{width:calc(100% - 22px);padding:22px}.pause-menu-panel{grid-template-columns:1fr;padding:22px}.pause-emblem{width:54px;height:54px}.pause-actions,.endgame-verdict,.review-grid{grid-template-columns:1fr}.endgame-verdict article,.review-grid article{min-height:auto}.turn-card,.operation-guide{grid-template-columns:1fr}.operation-step{min-height:64px}.header-controls{width:100%;justify-items:stretch}.view-switch,.system-actions{width:100%}.system-actions{justify-content:space-between}.header-tool-row{justify-content:stretch;flex-wrap:wrap}.tool-group{flex:1 1 112px;min-height:30px}.tool-group button{min-width:36px;min-height:24px;padding:0 8px}.tool-group>span{padding:0 5px}.hint-toggle{width:100%}.action-buttons button{flex:1;order:1;min-height:36px;padding:0 10px}.action-note{display:none}.board{min-width:0;border-width:18px}.board-wrap{--board-size: min(100%, 84vw);gap:8px;transform:none}.artifact-rail{position:relative;left:auto;top:auto;max-width:100%;flex-wrap:wrap;justify-content:center;order:-2}.board-legend{position:relative;left:auto;top:auto;width:auto;max-width:100%;transform:none;justify-self:stretch;margin-bottom:8px}h1{font-size:24px}.hero-copy{display:none}.board-wrap{order:-1}.node{width:29px;height:29px;font-size:12px}.node.empty-node{width:8px;height:8px}.node.functional-node{min-width:33px;height:29px;padding:2px 6px;font-size:10px}.node.functional-node small{font-size:9px}.piece{width:23px;height:23px}.piece.owl{width:25px;height:25px}.piece-mark{width:9px;height:9px}.piece.owl .piece-mark{width:11px;height:11px}.piece-cue{top:-7px;font-size:0}.water{width:92px;height:92px}.water>span{font-size:18px}.water>small{margin-top:-14px;font-size:10px}.player-panel{grid-template-columns:auto auto minmax(0,1fr);padding:10px 12px;gap:10px}.mini-stats{justify-content:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:11px}.score-row strong{font-size:32px}.score-row{gap:6px}.side-panel{padding:14px}.side-tabs{margin-bottom:14px}}
