html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{color:#342b25;background:#201719;font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #342b25;--ink-muted: #746a5e;--wine: #7c2428;--wine-dark: #46191b;--wine-deep: #281315;--paper: #fffaf0;--paper-deep: #f3ead9;--paper-line: #dfd0b9;--gold: #bd913f;--green: #4f6c3f;--shadow: 0 14px 40px rgba(42, 21, 21, .14)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(189,145,63,.09),transparent 28%),linear-gradient(135deg,#2c1719,#171315)}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid rgba(189,145,63,.5);outline-offset:2px}h1,h2,h3,p{margin-top:0}.paper-card{border:1px solid rgba(124,90,58,.18);border-radius:14px;background:linear-gradient(#fffaf0f5,#fffaf0f5),repeating-linear-gradient(0deg,transparent 0 5px,rgba(82,60,43,.04) 5px 6px);box-shadow:var(--shadow)}.section-kicker{display:inline-block;margin-bottom:8px;color:var(--wine);font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.primary-ink-button.ant-btn-primary{border-color:#6c1f22;background:linear-gradient(135deg,#8f2d31,#641c20);box-shadow:0 6px 16px #621c203d}.primary-ink-button.ant-btn-primary:not(:disabled):hover{border-color:#a63e42;background:linear-gradient(135deg,#a23a3e,#762328)}.brand{display:flex;align-items:center;gap:15px}.brand__seal{display:grid;width:58px;height:58px;place-items:center;transform:rotate(-3deg);border:2px solid rgba(255,248,230,.88);border-radius:8px 12px 7px 13px;background:#8d2429;color:#fff9e9;box-shadow:inset 0 0 0 3px #8d2429,inset 0 0 0 4px #fff8e673;font-size:33px;font-weight:900;line-height:1}.brand__text{display:flex;flex-direction:column;line-height:1.25}.brand__text strong{color:#fff7e6;font-size:25px;letter-spacing:.08em}.brand__text small{margin-top:5px;color:#fff7e699;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.24em}.brand--compact .brand__seal{width:41px;height:41px;border-width:1px;border-radius:6px 8px 5px 9px;font-size:24px}.brand--compact .brand__text strong{font-size:18px}.boot-screen{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#f6ead5}.boot-screen p{color:#f6ead5b3;letter-spacing:.12em}.boot-seal{display:grid;width:72px;height:72px;place-items:center;border:2px solid #d7b66f;border-radius:14px;background:var(--wine);font-size:42px;font-weight:900;transform:rotate(-4deg)}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);overflow:hidden}.login-intro{position:relative;display:flex;min-height:100vh;align-items:center;overflow:hidden;padding:clamp(48px,8vw,120px);background:radial-gradient(circle at 75% 30%,rgba(189,145,63,.2),transparent 24%),radial-gradient(circle at 10% 100%,rgba(141,36,41,.7),transparent 40%),linear-gradient(145deg,#4b1b1e,#261416 62%,#171214);color:#fff8e8}.login-intro:before,.login-intro:after{position:absolute;content:"";border:1px solid rgba(230,195,123,.13);border-radius:50%}.login-intro:before{width:70vw;height:70vw;right:-42vw;bottom:-35vw}.login-intro:after{width:44vw;height:44vw;right:-26vw;bottom:-22vw}.login-intro__content{position:relative;z-index:2;max-width:690px}.login-eyebrow{margin:72px 0 20px;color:#d9bb79;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.36em}.login-intro h1{margin-bottom:26px;color:#fff8e8;font-size:clamp(42px,5vw,72px);font-weight:800;letter-spacing:.04em;line-height:1.3}.login-description{max-width:540px;color:#fff8e8b8;font-size:17px;line-height:1.9}.login-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}.login-features span{padding:7px 13px;border:1px solid rgba(224,193,127,.25);border-radius:999px;background:#fff8e80d;color:#fff8e8b3;font-size:12px}.ink-orbit{position:absolute;right:7%;bottom:8%;display:grid;width:250px;height:250px;grid-template-columns:1fr 1fr;place-items:center;transform:rotate(12deg);border:1px solid rgba(220,188,117,.15);border-radius:50%;color:#ecd6aa1f;font-size:48px;font-weight:900}.ink-orbit:after{position:absolute;width:54%;height:54%;border:1px solid rgba(220,188,117,.12);border-radius:50%;content:""}.login-panel{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:clamp(26px,6vw,88px);background:linear-gradient(#ede2cfe0,#ede2cfe0),repeating-linear-gradient(90deg,transparent 0 7px,rgba(86,64,42,.04) 7px 8px)}.login-card{width:min(100%,450px);padding:clamp(28px,4vw,50px)}.login-card__heading{margin-bottom:28px}.login-card__heading h2{margin-bottom:10px;color:var(--wine-dark);font-size:31px}.login-card__heading p,.login-help{color:var(--ink-muted);line-height:1.7}.login-alert{margin-bottom:20px}.login-card .ant-form-item-label label{color:#55473d;font-weight:700}.login-help{margin:20px 0 0;text-align:center;font-size:12px}.app-layout{min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(124,36,40,.08),transparent 24%),linear-gradient(#eee5d6,#e7dccb)}.app-header{position:sticky;z-index:50;top:0;display:grid;min-height:66px;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:10px clamp(18px,4vw,60px);border-bottom:1px solid rgba(213,174,98,.28);background:#271416f7;box-shadow:0 8px 24px #190c0d33;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-nav{display:flex;align-items:center;gap:6px}.app-nav .ant-btn-text{color:#fff7e6b8}.app-nav .ant-btn-text:not(:disabled):hover{background:#ffffff14;color:#fff7e6}.app-nav .ant-btn-primary{background:#893135eb}.app-account{color:#f4ead8}.app-account .ant-badge-status-text{color:#f4ead8b8;font-size:12px}.app-account .ant-btn{border-color:#ffffff2e;background:#ffffff12;color:#fff7e6d1}.account-name{display:flex;align-items:center;gap:8px}.app-content{min-height:calc(100vh - 66px)}.page{width:min(1320px,calc(100% - 36px));margin:0 auto;padding:42px 0 64px}.page h1{margin-bottom:10px;color:var(--wine-dark);font-size:clamp(32px,4vw,48px);line-height:1.2}.page h2{margin-bottom:6px;color:#4d2425}.page-title-row,.lobby-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.page-title-row p,.lobby-hero p{margin-bottom:0;color:var(--ink-muted);font-size:15px}.lobby-stats{display:grid;max-width:620px;grid-template-columns:repeat(3,1fr);margin:0 0 28px;overflow:hidden;border:1px solid rgba(92,58,43,.13);border-radius:12px;background:#fffaf075}.lobby-stats div{display:flex;min-height:76px;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(92,58,43,.13)}.lobby-stats div:last-child{border-right:0}.lobby-stats strong{color:var(--wine);font-size:25px}.lobby-stats span{color:var(--ink-muted);font-size:12px}.lobby-list-section,.user-table-section{padding:28px}.section-toolbar,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-toolbar h2,.section-title-row h2{margin-bottom:3px}.section-toolbar p,.section-title-row p{margin-bottom:0;color:var(--ink-muted);font-size:13px}.room-filters{display:grid;width:min(100%,560px);grid-template-columns:minmax(170px,1fr) 130px auto;gap:8px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-card{position:relative;padding:20px;overflow:hidden;border:1px solid var(--paper-line);border-radius:12px;background:#fffdf7;transition:transform .16s ease,box-shadow .16s ease}.room-card:after{position:absolute;width:90px;height:90px;right:-45px;bottom:-45px;border:1px solid rgba(124,36,40,.09);border-radius:50%;content:""}.room-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px #40221a1a}.room-card__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.room-card__head h3{margin-bottom:3px;overflow:hidden;color:#402526;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.room-card__head p{margin:0;color:var(--ink-muted);font-size:12px}.room-mark{display:grid;width:42px;height:42px;place-items:center;transform:rotate(-3deg);border:1px solid rgba(124,36,40,.35);border-radius:7px;color:var(--wine);font-size:21px;font-weight:900}.room-card__occupancy{display:flex;justify-content:space-between;margin:24px 0 6px;color:var(--ink-muted);font-size:12px}.room-card__occupancy strong{color:var(--ink)}.room-card .ant-progress{margin-bottom:16px}.room-skeleton{width:100%!important;height:210px!important}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:26px 30px}.room-heading h1{margin-bottom:6px;font-size:clamp(28px,4vw,42px)}.room-id{padding:0;border:0;border-bottom:1px dashed #a78e73;background:none;color:var(--ink-muted);cursor:pointer;font-size:12px}.room-heading__status{display:flex;align-items:center;gap:8px;color:var(--ink-muted);white-space:nowrap}.connection-alert{margin-bottom:18px}.seat-section{padding:22px 0}.ready-summary{padding:8px 14px;border:1px solid rgba(79,108,63,.24);border-radius:999px;background:#4f6c3f12;color:var(--green);font-size:12px}.seat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.seat-card{position:relative;display:grid;min-height:172px;grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:20px;overflow:hidden;border:1px solid #d9c9b3;border-radius:12px;background:#fffbf2c7}.seat-card--self{border-color:#7c242880;box-shadow:inset 0 0 0 2px #7c242814}.seat-card--empty{display:flex;align-items:center;justify-content:center;border-style:dashed;background:#fffbf252}.seat-number{position:absolute;top:8px;right:11px;color:#ad9d88;font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px}.player-monogram,.user-monogram{display:grid;flex:0 0 auto;place-items:center;border:1px solid rgba(124,36,40,.28);border-radius:50%;background:#f3e6d0;color:var(--wine);font-weight:900}.player-monogram{width:54px;height:54px;font-size:23px}.seat-card__identity h3{margin-bottom:4px;overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.seat-card__identity p{margin:0;color:var(--ink-muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.seat-card__tags{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:3px}.empty-seat{text-align:center}.empty-seat span{display:grid;width:48px;height:48px;margin:0 auto 8px;place-items:center;border:1px dashed #b9a992;border-radius:50%;color:#a79780;font-size:18px}.empty-seat p{margin:0;color:#a79780;font-size:12px}.room-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:28px 30px}.room-actions p{margin-bottom:0;color:var(--ink-muted)}.room-actions__buttons{display:flex;gap:10px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.llm-settings-section{margin-bottom:20px;padding:24px}.llm-settings-form{margin-top:20px}.llm-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.llm-settings-grid .ant-input-number{width:100%}.llm-settings-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;padding-top:4px}.llm-settings-actions>span{flex:1;color:var(--ink-muted)}.password-change-actions{display:flex;justify-content:center;margin-top:12px}.password-change-card{max-width:540px}.admin-stats>div{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;color:var(--ink-muted)}.admin-stats strong{color:var(--wine);font-size:28px}.user-cell{display:flex;align-items:center;gap:11px}.user-monogram{width:38px;height:38px;font-size:16px}.user-cell>span:last-child{display:flex;min-width:0;flex-direction:column}.user-cell small{color:var(--ink-muted);font-family:ui-sans-serif,system-ui,sans-serif}.user-table-section .ant-table,.user-table-section .ant-table-container{background:transparent}.app-content--game{background:radial-gradient(circle at center 20%,rgba(126,50,48,.08),transparent 38%),linear-gradient(#e9dfcf,#ddd0bc)}.game-page{width:min(1680px,calc(100% - 28px));margin:0 auto;padding:18px 0 28px}.game-statusbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:9px 17px;border:1px solid rgba(86,50,39,.15);border-radius:10px;background:#fffaf0b8}.game-statusbar>div{display:flex;align-items:center;gap:10px}.game-statusbar strong{color:var(--wine)}.game-statusbar span{color:var(--ink-muted);font-size:12px}.game-surrender-button.ant-btn{margin-left:3px;border-color:#a61d2480;background:#a61d240d;font-weight:700}.game-surrender-button.ant-btn:not(:disabled):hover{border-color:#a61d24;background:#a61d241f}.game-statusbar__round{padding-right:10px;border-right:1px solid #d6c7b3;font-family:ui-sans-serif,system-ui,sans-serif}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:14px}.battlefield{min-width:0}.action-prompt{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:13px 16px;border:1px solid rgba(124,36,40,.34);border-radius:10px;background:linear-gradient(90deg,#7c242821,#fffaf0b3);box-shadow:0 8px 18px #531e1f14}.action-prompt__mark{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:6px;background:var(--wine);color:#fff4df;font-weight:900}.action-prompt div:nth-child(2){flex:1}.action-prompt strong{color:var(--wine-dark)}.action-prompt p{margin:2px 0 0;color:var(--ink-muted);font-size:12px}.players-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.battle-player{position:relative;min-width:0;min-height:178px;padding:13px;overflow:hidden;border:1px solid #d0bea6;border-radius:11px;background:linear-gradient(150deg,#fffdf6f7,#efe2ccf0);color:var(--ink);text-align:left;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.battle-player[aria-disabled=true]{cursor:default}.battle-player--self{box-shadow:inset 0 -3px 0 var(--gold)}.battle-player--current{border-color:#7c242894;box-shadow:0 0 0 2px #7c242817,0 8px 20px #4c1f1e1f}.battle-player--selectable{cursor:pointer!important}.battle-player--selectable:hover,.battle-player--selected{transform:translateY(-3px);border-color:var(--wine);box-shadow:0 0 0 3px #7c24281f,0 12px 24px #4b1c1c29}.battle-player--selected:after{position:absolute;right:8px;bottom:8px;padding:3px 7px;border-radius:999px;background:var(--wine);color:#fff;content:"已选目标";font-size:9px}.battle-player--dead{filter:grayscale(.8);opacity:.58}.battle-player__topline,.battle-player__meta{display:flex;align-items:center;justify-content:space-between;color:var(--ink-muted);font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px}.online-dot{color:var(--green)}.online-dot:before{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:currentColor;content:"";vertical-align:middle}.online-dot--off{color:#8a8074}.battle-player__name{display:flex;min-width:0;align-items:center;gap:8px;margin:14px 0 11px}.battle-player__name>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column}.battle-player__name strong,.battle-player__name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-player__name strong{color:#4f2526;font-size:15px}.battle-player__name small{color:var(--ink-muted);font-size:10px}.general-mark{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(124,36,40,.28);border-radius:50%;background:#7c242812;color:var(--wine);font-size:18px;font-weight:900}.health-row{display:flex;gap:3px;margin-bottom:12px}.health-point{display:grid;width:20px;height:20px;place-items:center;border:1px solid #cbbca7;border-radius:50%;color:#b8a995;font-size:8px}.health-point--full{border-color:#8c3436;background:#8c3436;color:#fff2dd}.equipment-row{display:flex;gap:4px;margin-top:9px;overflow:hidden}.equipment-row span{padding:2px 5px;overflow:hidden;border:1px solid #d4c3aa;border-radius:3px;color:#756451;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.turn-ribbon{position:absolute;top:0;left:50%;padding:3px 9px;transform:translate(-50%);border-radius:0 0 7px 7px;background:var(--wine);color:#fff;font-size:9px}.dead-stamp{position:absolute;top:50%;left:50%;padding:5px 8px;transform:translate(-50%,-50%) rotate(-13deg);border:3px double #6c5e50;color:#6c5e50;font-size:18px;font-weight:900}.hand-zone{padding:18px 20px}.hand-zone__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:13px}.hand-zone__heading .section-kicker{margin:0}.hand-zone__heading h2{display:inline;margin-left:9px;color:var(--wine-dark);font-size:17px}.hand-zone__heading p{margin:0;color:var(--ink-muted);font-size:11px}.general-skill-zone{margin:12px 0 8px;padding:14px 16px;border:1px solid rgba(124,36,40,.24);border-radius:10px;background:linear-gradient(135deg,#7c242812,#fffaebdb)}.general-skill-zone__heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.general-skill-zone__heading>div:first-child{display:flex;min-width:180px;flex-direction:column;gap:3px}.general-skill-zone__heading strong{color:var(--wine-dark);font-size:13px}.general-skill-zone__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.general-skill-zone__selection{margin-top:12px;padding-top:11px;border-top:1px dashed rgba(124,36,40,.24)}.general-skill-zone__selection>p{margin:0;color:var(--ink-muted);font-size:11px;line-height:1.65}.general-skill-zone__selection>.ant-tag{margin-top:8px}.skill-equipment-costs{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:12px;margin-top:10px}.skill-equipment-costs>span{color:var(--wine-dark);font-size:11px;font-weight:700}.skill-equipment-costs .hand-cards{min-height:140px;padding-top:4px}.hand-cards{display:flex;min-height:146px;align-items:center;gap:9px;padding:13px 4px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-color:#c8b69e transparent;scrollbar-width:thin}.game-card{position:relative;display:flex;width:94px;height:132px;flex:0 0 94px;flex-direction:column;align-items:center;justify-content:center;padding:10px;overflow:hidden;border:1px solid #bca98d;border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(124,36,40,.08),transparent 35%),linear-gradient(145deg,#fffdf6,#eee1cb);box-shadow:0 5px 10px #37251a1f;color:var(--ink);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.game-card:not(:disabled):hover{transform:translateY(-5px);border-color:#8c4140;box-shadow:0 10px 16px #441e1d2e}.game-card--selected{transform:translateY(-7px);border-color:var(--wine);box-shadow:0 0 0 3px #7c242821,0 11px 18px #441e1d33}.game-card--disabled{cursor:not-allowed;filter:saturate(.3);opacity:.48}.game-card>strong{max-width:78px;color:#4b2425;font-size:22px;line-height:1.12;text-align:center}.game-card>small{margin-top:8px;color:#857765;font-size:9px}.game-card__corner{position:absolute;top:6px;left:7px;display:flex;flex-direction:column;font-family:Georgia,serif;font-size:12px;line-height:1}.game-card__corner b{font-size:10px}.game-card__corner--red{color:#a32328}.game-card__stamp{position:absolute;right:5px;bottom:5px;display:grid;width:19px;height:19px;place-items:center;transform:rotate(-7deg);border:1px solid rgba(124,36,40,.55);border-radius:3px;color:#7c2428b3;font-size:8px}.game-card[data-card-kind=fire_slash]{background:radial-gradient(circle at 50% 42%,rgba(190,48,34,.2),transparent 38%),linear-gradient(145deg,#fffaf2,#eed8c0)}.game-card[data-card-kind=thunder_slash]{background:radial-gradient(circle at 50% 42%,rgba(78,74,151,.18),transparent 38%),linear-gradient(145deg,#fbfaff,#ded9e7)}.game-card[data-card-kind=fire_slash] .game-card__stamp{border-color:#b12c20a3;color:#a62f26}.game-card[data-card-kind=thunder_slash] .game-card__stamp{border-color:#4540899e;color:#514b94}.card-inspector{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;min-height:66px;margin:12px 4px 0;padding:10px 13px;border:1px solid rgba(124,36,40,.17);border-radius:8px;background:#7c24280b}.card-inspector__face{display:grid;min-height:44px;place-items:center;border-right:1px solid #d9cbb8;color:#40352b;font-family:Georgia,serif;font-weight:800}.card-inspector__face--red{color:#a32328}.card-inspector__title{display:flex;align-items:center;gap:7px}.card-inspector__title strong{color:var(--wine-dark);font-size:15px}.card-inspector p{margin:3px 0 0;color:var(--ink-muted);font-size:11px;line-height:1.55}.hand-zone .ant-divider{margin:15px 0;border-color:#e0d3c1}.game-actions{display:flex;min-height:40px;align-items:center;gap:9px}.action-hint{color:var(--ink-muted);font-size:11px}.battle-log{position:sticky;top:84px;height:calc(100vh - 103px);min-height:560px;overflow:hidden}.battle-log__heading{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;border-bottom:1px solid #e0d3c1;color:#4d2526;font-weight:800}.battle-log__heading small{color:var(--ink-muted);font-weight:400}.live-pulse{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#5c7d49;box-shadow:0 0 0 4px #5c7d491c}.battle-log__entries{height:calc(100% - 54px);padding:8px 16px 20px;overflow-y:auto}.log-entry{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:10px 0;border-bottom:1px dashed #e1d5c4}.log-entry time{padding-top:2px;color:#a19482;font-family:ui-sans-serif,system-ui,sans-serif;font-size:9px}.log-entry p{margin:0;color:#62564a;font-size:12px;line-height:1.65}.log-entry--damage p{color:#9b2c30;font-weight:700}.log-entry--heal p{color:#4f6c3f}.log-entry--important p{color:#7a581d;font-weight:800}.game-result-modal .ant-modal-content{padding:0;overflow:hidden;border:1px solid rgba(124,36,40,.22);background:#fffaf0;box-shadow:0 28px 80px #190f1057}.game-result__card{padding:46px;text-align:center}.game-result__seal{display:grid;width:72px;height:72px;margin:0 auto 24px;place-items:center;transform:rotate(-5deg);border:3px double var(--wine);border-radius:10px;color:var(--wine);font-size:38px;font-weight:900}.game-result__card h2{color:var(--wine-dark);font-size:30px}.game-result__card p{margin-bottom:24px;color:var(--ink-muted)}@media (max-width: 1180px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-grid,.players-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width: 900px){.login-page{grid-template-columns:1fr}.login-intro{min-height:auto;padding:44px 34px 52px}.login-eyebrow{margin-top:45px}.login-intro h1{font-size:clamp(36px,8vw,56px)}.ink-orbit{display:none}.login-panel{min-height:auto;padding:42px 24px 64px}.app-header{grid-template-columns:auto 1fr;gap:12px}.app-nav{justify-self:end}.app-account{grid-column:1 / -1;justify-content:flex-end;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.game-layout{grid-template-columns:1fr}.battle-log{position:static;height:340px;min-height:0}.players-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.page{width:min(100% - 24px,1320px);padding-top:28px}.page-title-row,.lobby-hero,.section-toolbar,.section-title-row,.room-actions{align-items:stretch;flex-direction:column}.room-filters{width:100%;grid-template-columns:1fr 120px}.room-filters .ant-input-search{grid-column:1 / -1}.room-grid,.seat-grid{grid-template-columns:1fr 1fr}.lobby-list-section,.user-table-section{padding:18px}.llm-settings-grid{grid-template-columns:1fr}.llm-settings-actions{align-items:flex-start;flex-direction:column}.llm-settings-actions>.ant-space{width:100%;justify-content:flex-end}.room-heading{align-items:flex-start;flex-direction:column}.room-actions__buttons{width:100%}.room-actions__buttons .ant-btn{flex:1}.admin-stats{grid-template-columns:1fr}.admin-stats>div{padding:15px 18px}.game-page{width:min(100% - 16px,1680px)}.game-statusbar{align-items:flex-start;flex-direction:column}.hand-zone__heading{align-items:flex-start;flex-direction:column;gap:4px}}@media (max-width: 520px){.brand--compact .brand__text{display:none}.app-header{grid-template-columns:auto 1fr;padding-inline:12px}.app-nav{gap:2px}.app-nav .ant-btn{padding-inline:9px;font-size:12px}.app-account{justify-content:space-between}.app-account .ant-badge-status-text,.app-account .ant-tag{display:none}.account-name{margin-left:auto}.login-intro{padding:34px 24px 40px}.login-intro h1{font-size:36px}.login-features span:nth-child(2){display:none}.login-card{padding:27px 22px}.lobby-stats{max-width:none}.lobby-stats div{min-height:67px}.room-grid,.seat-grid,.players-grid{grid-template-columns:1fr}.seat-card{min-height:138px}.room-actions__buttons{flex-direction:column}.action-prompt{align-items:flex-start}.action-prompt .ant-tag{display:none}.battle-player{min-height:165px}.hand-zone{padding:15px 12px}.game-card{width:86px;height:122px;flex-basis:86px}.game-card>strong{max-width:72px;font-size:19px}.card-inspector{grid-template-columns:40px minmax(0,1fr);margin-inline:0;padding:9px 10px}.game-actions{align-items:stretch;flex-direction:column}.action-hint{text-align:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.number-connect-board{--number-connect-paper: #f2f2f2;--number-connect-panel: #ffffff;--number-connect-ink: #050505;--number-connect-muted: #666666;--number-connect-line: #b8b8b8;--number-connect-blue: #050505;--number-connect-blue-soft: #e8e8e8;--number-connect-red: #050505;--number-connect-red-soft: #ededed;position:relative;min-height:100vh;overflow:hidden;padding:20px clamp(14px,2.6vw,42px) 48px;background:linear-gradient(rgba(0,0,0,.055) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgba(0,0,0,.055) 1px,transparent 1px) 0 0 / 28px 28px,var(--number-connect-paper);color:var(--number-connect-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.number-connect-board__pattern{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,rgba(0,0,0,.07),transparent 24%),radial-gradient(circle at 90% 80%,rgba(0,0,0,.08),transparent 27%)}.number-connect-board>:not(.number-connect-board__pattern){position:relative;z-index:1}.number-connect-board button:focus-visible,.number-connect-board .ant-btn:focus-visible{outline:3px solid rgba(0,0,0,.36);outline-offset:3px}.number-connect-header{display:flex;width:min(1360px,100%);align-items:center;justify-content:space-between;gap:22px;margin:0 auto 14px;padding:15px 18px 16px 21px;border:1px solid var(--number-connect-ink);border-top-width:4px;background:#fffffff5;box-shadow:5px 5px #0000001f}.number-connect-header>div:first-child>span,.number-connect-result>span,.number-connect-own-board>header>div>span,.number-connect-opponent-preview header span,.number-connect-turn>span{color:var(--number-connect-blue);font-family:SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:800;letter-spacing:.17em}.number-connect-header h1{margin:3px 0 1px;color:var(--number-connect-ink);font-size:clamp(26px,3vw,41px);line-height:1.05}.number-connect-header p{margin:5px 0 0;color:var(--number-connect-muted);font-size:12px}.number-connect-header__tools{display:flex;flex:none;align-items:center;gap:10px}.number-connect-header__tools>span{display:inline-flex;align-items:center;gap:7px;color:var(--number-connect-muted);font-size:11px}.number-connect-header__tools>span i{width:7px;height:7px;border-radius:50%;background:var(--number-connect-red)}.number-connect-header__tools>span.is-online i{background:var(--number-connect-blue);box-shadow:0 0 0 4px #0000001a}.number-connect-scoreboard{display:grid;width:min(1360px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 auto 14px}.number-connect-player{position:relative;display:grid;overflow:hidden;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px 14px;border:1px solid var(--number-connect-line);background:#fffffff0}.number-connect-player.is-self{border-color:var(--number-connect-blue)}.number-connect-player.is-current{box-shadow:inset 4px 0 var(--number-connect-red)}.number-connect-player__seat{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--number-connect-ink);border-radius:50%;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.number-connect-player>div{min-width:0}.number-connect-player>div>small,.number-connect-player>div>strong,.number-connect-player>div>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.number-connect-player>div>small{color:var(--number-connect-blue);font-family:SFMono-Regular,Consolas,monospace;font-size:8px;letter-spacing:.13em}.number-connect-player>div>strong{margin:1px 0;font-size:15px}.number-connect-player>div>span{color:var(--number-connect-muted);font-size:10px}.number-connect-player>b{color:var(--number-connect-blue);font-family:SFMono-Regular,Consolas,monospace;font-size:27px;line-height:1}.number-connect-player>b small{display:block;margin-top:3px;color:var(--number-connect-muted);font-size:8px;font-weight:500}.number-connect-player>i{position:absolute;right:0;bottom:0;left:0;height:4px;background:linear-gradient(90deg,var(--number-connect-blue) var(--number-connect-progress),#dedede var(--number-connect-progress))}.number-connect-table{display:grid;width:min(1360px,100%);grid-template-columns:minmax(520px,1fr) minmax(280px,360px);gap:14px;margin:0 auto}.number-connect-own-board,.number-connect-opponent-preview,.number-connect-turn,.number-connect-rules,.number-connect-reveal>article{border:1px solid var(--number-connect-line);background:#fffffff7}.number-connect-own-board{min-width:0;padding:clamp(16px,2.4vw,30px);border-color:var(--number-connect-ink);box-shadow:7px 7px #0000001f}.number-connect-own-board>header,.number-connect-opponent-preview>header,.number-connect-reveal>article>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px;padding-bottom:11px;border-bottom:1px solid var(--number-connect-line)}.number-connect-own-board h2{margin:3px 0 0;font-size:clamp(20px,2vw,29px)}.number-connect-own-board>header>div:last-child,.number-connect-opponent-preview>header>b,.number-connect-reveal>article>header>b{text-align:right}.number-connect-own-board>header>div:last-child strong,.number-connect-own-board>header>div:last-child span{display:block}.number-connect-own-board>header>div:last-child strong,.number-connect-opponent-preview>header>b,.number-connect-reveal>article>header>b{color:var(--number-connect-blue);font-family:SFMono-Regular,Consolas,monospace;font-size:25px}.number-connect-own-board>header>div:last-child span,.number-connect-opponent-preview>header>b small,.number-connect-reveal>article>header>b small{color:var(--number-connect-muted);font-size:8px}.number-connect-grid{position:relative;display:grid;width:min(100%,650px);aspect-ratio:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(4px,.7vw,9px);margin:0 auto;padding:clamp(7px,1vw,12px);border:2px solid var(--number-connect-ink);background:linear-gradient(rgba(0,0,0,.065) 1px,transparent 1px) 0 0 / 20% 20%,linear-gradient(90deg,rgba(0,0,0,.065) 1px,transparent 1px) 0 0 / 20% 20%,#eee}.number-connect-grid>button,.number-connect-grid--hidden>span{position:relative;display:grid;min-width:0;min-height:0;place-items:center;border:1px solid #858585;border-radius:2px;background:var(--number-connect-panel);color:var(--number-connect-ink);box-shadow:inset 0 -3px #0000000f}.number-connect-grid>button{cursor:pointer;font-family:SFMono-Regular,Consolas,monospace;font-size:clamp(16px,2.8vw,34px);font-weight:750;transition:transform .1s ease,border-color .1s ease,background .1s ease}.number-connect-grid>button:not(:disabled):hover{z-index:2;transform:translateY(-2px);border-color:var(--number-connect-blue);background:var(--number-connect-blue-soft);box-shadow:0 5px #0003}.number-connect-grid>button:disabled{cursor:default}.number-connect-grid>button.is-marked{border-color:#aaa;background:var(--number-connect-red-soft);color:#777}.number-connect-grid>button.is-line{border-color:var(--number-connect-blue);background:linear-gradient(#0000001a,#0000001a),var(--number-connect-red-soft);box-shadow:inset 0 0 0 2px #00000038}.number-connect-grid>button.is-last{animation:number-connect-last .65s ease-out}@keyframes number-connect-last{0%{transform:scale(.84);box-shadow:0 0 0 10px #00000038}}.number-connect-grid>button>i{position:absolute;top:14%;right:14%;bottom:14%;left:14%;pointer-events:none}.number-connect-grid>button>i:before,.number-connect-grid>button>i:after{position:absolute;top:50%;left:0;width:100%;height:clamp(2px,.35vw,5px);border-radius:99px;background:var(--number-connect-red);content:""}.number-connect-grid>button>i:before{transform:rotate(45deg)}.number-connect-grid>button>i:after{transform:rotate(-45deg)}.number-connect-grid>button.is-line>i:before,.number-connect-grid>button.is-line>i:after{background:var(--number-connect-blue)}.number-connect-grid--hidden{overflow:hidden;border-color:#a6a6a6;background:repeating-linear-gradient(45deg,rgba(0,0,0,.07) 0 10px,transparent 10px 20px),#eee}.number-connect-grid--hidden>span{overflow:hidden;background:#e2e2e2}.number-connect-grid--hidden>span i{width:45%;height:45%;transform:rotate(45deg);border:1px solid rgba(0,0,0,.22)}.number-connect-grid--hidden>div{position:absolute;display:grid;place-content:center;top:25%;right:25%;bottom:25%;left:25%;border:1px solid var(--number-connect-ink);background:#fffffff7;box-shadow:4px 4px #00000024;text-align:center}.number-connect-grid--hidden>div strong,.number-connect-grid--hidden>div small{display:block}.number-connect-grid--hidden>div strong{font-size:clamp(13px,2vw,20px)}.number-connect-grid--hidden>div small{margin-top:4px;color:var(--number-connect-blue);font-family:SFMono-Regular,Consolas,monospace;font-size:8px;letter-spacing:.1em}.number-connect-own-board>footer{display:flex;justify-content:center;gap:clamp(15px,5vw,58px);margin-top:14px;color:var(--number-connect-muted);font-size:11px}.number-connect-own-board>footer strong{margin-left:3px;color:var(--number-connect-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.number-connect-side{display:grid;align-content:start;gap:12px}.number-connect-turn{padding:19px 18px;border-top:4px solid var(--number-connect-line)}.number-connect-turn.is-mine{border-color:var(--number-connect-red);box-shadow:4px 4px #0000001f}.number-connect-turn h2{margin:5px 0 7px;font-size:clamp(17px,2vw,22px);line-height:1.25}.number-connect-turn p,.number-connect-opponent-preview>p{margin:0;color:var(--number-connect-muted);font-size:11px;line-height:1.65}.number-connect-turn>small{display:inline-block;margin-top:8px;color:var(--number-connect-red);font-size:10px}.number-connect-opponent-preview{padding:15px}.number-connect-opponent-preview>header{align-items:center;margin-bottom:10px;padding-bottom:8px}.number-connect-opponent-preview header strong,.number-connect-reveal header strong,.number-connect-reveal header span{display:block}.number-connect-opponent-preview .number-connect-grid{width:min(100%,280px);border-width:1px;gap:3px;padding:5px}.number-connect-opponent-preview>p{margin-top:9px;text-align:center}.number-connect-rules{padding:16px 17px}.number-connect-rules>span{display:block;margin-bottom:8px;color:var(--number-connect-blue);font-size:10px;font-weight:800}.number-connect-rules ul{display:grid;gap:6px;margin:0 0 11px;padding:0;color:var(--number-connect-muted);font-size:11px;list-style:none}.number-connect-rules li{display:flex;align-items:center;gap:8px}.number-connect-rules li i{width:14px;height:1px;background:var(--number-connect-blue)}.number-connect-rules>strong{display:block;padding-top:10px;border-top:1px solid var(--number-connect-line);font-size:12px}.number-connect-result{width:min(1000px,100%);margin:26px auto 18px;text-align:center}.number-connect-result h2{margin:5px 0;font-size:clamp(28px,5vw,56px);letter-spacing:-.03em}.number-connect-result p{margin:0;color:var(--number-connect-muted);font-size:12px}.number-connect-reveal{display:grid;width:min(1140px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 auto}.number-connect-reveal>article{padding:clamp(13px,2vw,22px)}.number-connect-reveal>article.is-winner{border-color:var(--number-connect-red);box-shadow:inset 0 4px var(--number-connect-red),5px 5px #0000001f}.number-connect-reveal>article>header{align-items:center}.number-connect-reveal .number-connect-grid{width:min(100%,490px)}.number-connect-final-action{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.number-connect-board .ant-btn-primary{border-color:var(--number-connect-blue);background:var(--number-connect-blue);box-shadow:none}.number-connect-board .ant-btn-dangerous{border-color:var(--number-connect-ink);background:#fff;color:var(--number-connect-ink)}.number-connect-board .ant-btn-dangerous:not(:disabled):hover{border-color:var(--number-connect-ink);background:var(--number-connect-ink);color:#fff}.number-connect-sync{width:min(430px,calc(100% - 30px));margin:20vh auto;padding:28px;border:1px solid var(--number-connect-ink);border-left:5px solid var(--number-connect-blue);background:var(--number-connect-panel);box-shadow:5px 5px #0000001f;text-align:center}.game-type-note--number_connect{border-color:#888;border-left:4px solid #050505;border-radius:2px;background:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 20px 20px,#f7f7f7}.game-type-note--number_connect strong{color:#050505}.room-rule-summary--number_connect{border-color:#888;border-radius:2px;background:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 20px 20px,#f7f7f7;box-shadow:inset 4px 0 #050505,3px 3px #00000012}.room-rule-summary--number_connect>div{border-color:#b0b0b0;background:#ffffff94}@media (max-width: 900px){.number-connect-table{grid-template-columns:1fr}.number-connect-side{grid-template-columns:repeat(2,minmax(0,1fr))}.number-connect-rules{grid-column:1 / -1}}@media (max-width: 680px){.number-connect-board{padding:10px 9px 32px}.number-connect-header{align-items:flex-start;flex-direction:column;padding:13px 13px 14px 16px}.number-connect-header__tools{width:100%;justify-content:space-between}.number-connect-scoreboard,.number-connect-reveal,.number-connect-side{grid-template-columns:1fr}.number-connect-rules{grid-column:auto}.number-connect-player{padding-inline:10px}.number-connect-own-board{padding:12px;box-shadow:4px 4px #17202a1a}.number-connect-grid{gap:4px;padding:5px}.number-connect-grid>button{font-size:clamp(15px,6vw,25px)}}@media (prefers-reduced-motion: reduce){.number-connect-grid>button.is-last{animation:none}}.zone-choice-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}:root{color:#202123;background:#f7f7f8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;--ink: #202123;--ink-muted: #6b6b6b;--wine: #111111;--wine-dark: #111111;--wine-deep: #202123;--paper: #ffffff;--paper-deep: #f7f7f8;--paper-line: #dedede;--gold: #806817;--green: #237a45;--shadow: 0 1px 2px rgba(0, 0, 0, .06);--sidebar-width: 232px}html,body,#root{min-width:1180px}body{color:var(--ink);background:#f7f7f8}:where(button,input,textarea,select,a,[role=button]):focus-visible{outline:2px solid #2563eb;outline-offset:2px}.paper-card{border:1px solid var(--paper-line);border-radius:6px;background:#fff;box-shadow:var(--shadow)}.section-kicker{margin-bottom:7px;color:#686868;font-size:11px;font-weight:600;letter-spacing:.08em}.ant-btn,.primary-ink-button.ant-btn-primary{box-shadow:none}.primary-ink-button.ant-btn-primary,.app-nav .ant-btn-primary{border-color:#111;background:#111}.primary-ink-button.ant-btn-primary:not(:disabled):hover,.app-nav .ant-btn-primary:not(:disabled):hover{border-color:#343434;background:#343434}.ant-modal-content{border:1px solid var(--paper-line);box-shadow:0 8px 24px #0000001a!important}.ant-alert,.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector{border-radius:5px!important}.brand{gap:11px}.brand__seal,.brand--compact .brand__seal{width:36px;height:36px;transform:none;border:1px solid #111111;border-radius:5px;background:#111;color:#fff;box-shadow:none;font-size:18px}.brand__text strong,.brand--compact .brand__text strong{color:#111;font-size:18px;font-weight:650;letter-spacing:0}.brand__text small{margin-top:3px;color:#777;font-size:10px;letter-spacing:.08em}.brand--compact .brand__seal{width:30px;height:30px;font-size:14px}.brand--compact .brand__text{display:flex}.boot-screen{color:var(--ink);background:#f7f7f8}.boot-screen p{color:var(--ink-muted);letter-spacing:.04em}.boot-seal{width:48px;height:48px;transform:none;border:1px solid #111111;border-radius:5px;background:#111;color:#fff;font-size:16px}.login-page{grid-template-columns:minmax(0,1fr) 440px;min-height:100vh;overflow:visible;background:#f7f7f8}.login-intro{min-height:100vh;padding:clamp(64px,8vw,120px);border-right:1px solid var(--paper-line);background:#fff;color:var(--ink)}.login-intro:before,.login-intro:after,.ink-orbit{display:none}.login-intro__content{max-width:720px}.login-eyebrow{margin:84px 0 16px;color:#686868;font-size:11px;font-weight:600;letter-spacing:.16em}.login-intro h1{max-width:640px;margin-bottom:22px;color:#111;font-size:clamp(44px,4.5vw,64px);font-weight:600;letter-spacing:-.035em;line-height:1.18}.login-description{max-width:590px;color:var(--ink-muted);font-size:16px;line-height:1.8}.login-features{gap:0;margin-top:40px;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}.login-features span,.login-features span:nth-child(2){display:block;padding:11px 18px;border:0;border-right:1px solid var(--paper-line);border-radius:0;background:transparent;color:#505050;font-size:11px}.login-features span:first-child{padding-left:0}.login-panel{min-height:100vh;padding:48px;background:#f7f7f8}.login-card{width:100%;padding:34px}.login-card__heading h2,.login-card .ant-form-item-label label{color:var(--ink)}.login-card__heading h2{font-size:27px}.app-layout{display:block;min-width:1180px;min-height:100vh;background:#f7f7f8}.app-header{position:fixed;z-index:50;inset:0 auto 0 0;display:flex;width:var(--sidebar-width);min-height:100vh;flex-direction:column;align-items:stretch;gap:18px;overflow-y:auto;padding:20px 14px;border-right:1px solid var(--paper-line);border-bottom:0;background:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-header .brand{padding:0 6px 18px;border-bottom:1px solid var(--paper-line)}.app-nav{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:4px}.app-nav .ant-btn{width:100%;height:36px;justify-content:flex-start;padding-inline:11px;font-size:13px}.app-nav .ant-btn-text{color:#4b4b4b}.app-nav .ant-btn-text:not(:disabled):hover{background:#f2f2f2;color:#111}.app-account.ant-space{display:flex;width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px!important;margin-top:auto;padding:16px 6px 0;border-top:1px solid var(--paper-line);color:#333}.app-account .ant-space-item{width:100%}.app-account .ant-badge-status-text{display:inline;color:#686868}.app-account .ant-tag{display:inline-block}.app-account .ant-btn{width:100%;border-color:var(--paper-line);background:#fff;color:#3d3d3d}.account-name{width:100%;justify-content:space-between;margin-left:0}.app-content,.app-content--game{min-height:100vh;margin-left:var(--sidebar-width);background:#f7f7f8}.page{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:38px 0 56px}.page h1{margin-bottom:8px;color:#111;font-size:34px;font-weight:600;letter-spacing:-.025em}.page h2,.room-card__head h3,.battle-player__name strong,.hand-zone__heading h2,.card-inspector__title strong,.battle-log__heading{color:#202123}.page-title-row,.lobby-hero,.section-toolbar,.section-title-row{flex-direction:row;align-items:center}.page-title-row,.lobby-hero{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--paper-line)}.page-title-row p,.lobby-hero p,.document-lead{color:var(--ink-muted)}.lobby-page{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:20px}.lobby-hero{grid-column:1 / -1;width:100%;margin-bottom:0}.lobby-stats{position:sticky;top:24px;display:grid;max-width:none;grid-column:2;grid-row:2;grid-template-columns:1fr;margin:0;overflow:hidden;border:1px solid var(--paper-line);border-radius:6px;background:#fff}.lobby-stats div{min-height:58px;flex-direction:row;justify-content:space-between;padding:0 16px;border-right:0;border-bottom:1px solid var(--paper-line)}.lobby-stats div:last-child{border-bottom:0}.lobby-stats strong{color:#111;font-size:19px}.lobby-list-section{min-width:0;grid-column:1;grid-row:2}.lobby-list-section,.user-table-section{padding:24px}.room-filters{width:min(100%,560px);grid-template-columns:minmax(170px,1fr) 130px auto}.room-filters .ant-input-search{grid-column:auto}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card{padding:18px;border-color:var(--paper-line);border-radius:5px;background:#fff;transition:border-color .14s ease,background-color .14s ease}.room-card:after{display:none}.room-card:hover{transform:none;border-color:#adadad;background:#fafafa;box-shadow:none}.room-mark,.player-monogram,.user-monogram,.general-mark{transform:none;border-color:var(--paper-line);border-radius:4px;background:#f3f3f3;color:#333}.room-card__occupancy{margin-top:20px}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stats>div{padding:18px 20px}.admin-stats strong{color:#111;font-size:23px}.user-table-section .ant-table-thead>tr>th{border-bottom-color:var(--paper-line);background:#f7f7f7}.form-note{margin:0 0 18px;padding:10px 12px;border-left:2px solid #9b9b9b;background:#f7f7f7;color:var(--ink-muted);font-size:12px;line-height:1.6}.advanced-rule-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding-top:4px}.room-page:not(.draft-page){display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px}.room-page:not(.draft-page)>.room-heading,.room-page:not(.draft-page)>.connection-alert,.room-page:not(.draft-page)>.room-rule-summary{grid-column:1 / -1}.room-heading{align-items:center;flex-direction:row;margin-bottom:0;padding:22px 24px}.room-heading h1{font-size:30px}.document-lead{max-width:720px;margin:6px 0 0;font-size:13px;line-height:1.6}.room-id{border-bottom-color:#888}.room-rule-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--paper-line);border-radius:5px;background:#fff}.room-rule-summary>div{display:flex;min-width:0;flex-direction:column;gap:4px;padding:12px 15px;border-right:1px solid var(--paper-line)}.room-rule-summary>div:last-child{border-right:0}.room-rule-summary span{color:var(--ink-muted);font-size:11px}.room-rule-summary strong{overflow:hidden;color:#303030;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-page:not(.draft-page)>.seat-section{min-width:0;grid-column:1;padding:0}.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.seat-card{min-height:126px;padding:16px;border-color:var(--paper-line);border-radius:5px;background:#fff}.seat-card--self{border-color:#777;box-shadow:inset 3px 0 #111}.seat-card--empty{min-height:126px;background:#fafafa}.ready-summary{border-color:#b9d8c4;border-radius:4px;background:#f1f8f3}.room-page:not(.draft-page)>.room-actions{position:sticky;top:24px;grid-column:2;align-items:stretch;flex-direction:column;margin:0;padding:20px}.room-actions__buttons{width:100%;flex-direction:column}.room-actions__buttons .ant-btn{width:100%;flex:none}.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;margin-top:18px}.draft-document{min-width:0;min-height:420px;padding:24px}.general-option-grid{display:grid;grid-template-columns:1fr;gap:8px}.general-option{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;border:1px solid var(--paper-line);border-radius:4px;background:#fff;color:var(--ink);text-align:left;transition:border-color .14s ease,background-color .14s ease}.general-option:hover{border-color:#888;background:#f7f7f7}.general-option>span{color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.general-option__content{min-width:0}.general-option__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.general-option__heading strong{font-size:14px;font-weight:600}.general-option__heading small{color:var(--ink-muted);font-size:11px;text-align:right}.general-option__skills{margin-top:8px}.general-option__skills p{margin:4px 0 0;color:#555;font-size:11px;line-height:1.55}.general-option__skills b{margin-right:8px;color:#222}.faction-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.draft-waiting{padding:24px;border:1px solid var(--paper-line);border-left:3px solid var(--green);border-radius:4px;background:#fafafa}.draft-waiting p{margin:6px 0 0;color:var(--ink-muted)}.draft-progress{position:sticky;top:24px;overflow:hidden}.draft-progress__heading,.battle-log__heading{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid var(--paper-line)}.draft-progress__heading small,.battle-log__heading small{color:var(--ink-muted);font-weight:400}.draft-progress ol{margin:0;padding:0 16px;list-style:none}.draft-progress li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #eeeeee}.draft-progress li>span{color:#888;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.draft-progress li>div{display:flex;min-width:0;flex-direction:column}.draft-progress li strong,.draft-progress li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-progress li strong{font-size:12px}.draft-progress li small{color:var(--ink-muted);font-size:10px}.draft-progress>.ant-popconfirm,.draft-progress>button,.draft-progress>.ant-btn{margin:14px 16px 16px;width:calc(100% - 32px)}.game-page{width:min(1540px,calc(100% - 32px));padding:24px 0}.game-statusbar{align-items:center;flex-direction:row;min-height:48px;margin-bottom:12px;padding:8px 14px;border-color:var(--paper-line);border-radius:5px;background:#fff}.game-statusbar strong{color:#111}.game-statusbar__round{border-right-color:var(--paper-line)}.game-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:12px}.other-player-notice{position:sticky;z-index:20;top:8px;margin-bottom:12px;border:1px solid #91caff;box-shadow:0 4px 14px #2563eb24}.action-prompt{align-items:center;height:84px;box-sizing:border-box;margin-bottom:10px;padding:12px 14px;overflow:hidden;border:1px solid #cbd8e8;border-left:3px solid #2563eb;border-radius:5px;background:#f7faff;box-shadow:none}.action-prompt__mark{width:32px;height:32px;border-radius:4px;background:#2563eb;color:#fff}.action-prompt>div{max-height:58px;overflow-y:auto}.action-prompt--idle{color:#777}.action-prompt .ant-tag{display:inline-block}.players-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.battle-player{min-height:168px;border-color:var(--paper-line);border-radius:5px;background:#fff;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.battle-player--self{box-shadow:inset 0 -3px #111}.battle-player--current{border-color:#78a989;background:#f5faf6;box-shadow:inset 3px 0 0 var(--green)}.battle-player--selectable:hover,.battle-player--selected{transform:none;border-color:#2563eb;background:#f7faff;box-shadow:0 0 0 2px #2563eb24}.battle-player--selected:after{border-radius:3px;background:#2563eb}.health-point{border-radius:3px}.health-point--full,.turn-ribbon{background:#b42318}.general-skill-zone,.card-inspector{border-color:var(--paper-line);border-radius:5px;background:#f8f8f8}.general-skill-zone__selection{border-top-color:var(--paper-line)}.hand-zone{padding:18px}.hand-zone__heading{align-items:flex-end;flex-direction:row}.game-card{width:92px;height:128px;flex-basis:92px;border-color:#cfcfcf;border-radius:5px;background:#fff;box-shadow:0 1px 2px #0000000f;transition:border-color .14s ease,box-shadow .14s ease}.game-card:not(:disabled):hover{transform:none;border-color:#888;box-shadow:0 2px 5px #00000017}.game-card--selected{transform:none;border-color:#2563eb;background:#f7faff;box-shadow:0 0 0 2px #2563eb29}.game-card[data-card-kind=fire_slash]{background:#fff8f6}.game-card[data-card-kind=thunder_slash]{background:#f7f7ff}.game-card__stamp{display:none}.game-card>strong{color:#202123}.game-actions{align-items:center;flex-direction:row}.battle-log{position:static;height:auto;min-height:0}.battle-log__entries{height:auto;padding-inline:16px;overflow:visible}.player-detail-tooltip{max-width:420px}.player-detail-tooltip .ant-tooltip-inner{max-height:min(70vh,620px);padding:14px 16px;overflow-y:auto}.player-detail>strong{display:block;margin-bottom:10px;font-size:15px}.player-detail section+section{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18)}.player-detail section>b,.player-detail p span{display:block;color:#ffe58f}.player-detail p{margin:6px 0 0;color:#ffffffe0;font-size:12px;line-height:1.65}.log-entry{border-bottom:1px solid #eeeeee}.game-result-modal .ant-modal-content{border-color:var(--paper-line);background:#fff;box-shadow:0 8px 24px #0000001a}.game-result__seal{transform:none;border:1px solid #111111;border-radius:5px;color:#111}:root{--gold: #666666;--green: #555555}:where(button,input,textarea,select,a,[role=button]):focus-visible{outline-color:#111}.app-content--immersive{margin-left:0}.primary-ink-button.ant-btn-primary:disabled{border-color:#d9d9d9;background:#f2f2f2;color:#a6a6a6}.ant-tag,.game-page .ant-alert{border-color:#d9d9d9!important;background:#fafafa!important;color:#4b4b4b!important}.ready-summary{border-color:#d9d9d9;background:#fafafa}.other-player-notice{border-color:#cfcfcf;box-shadow:0 4px 14px #00000014}.action-prompt{border-color:#cfcfcf;border-left-color:#333;background:#fafafa}.action-prompt__mark,.health-point--full,.turn-ribbon{background:#333}.battle-player--current{border-color:#888;background:#fafafa;box-shadow:inset 3px 0 #333}.battle-player--selectable:hover,.battle-player--selected,.game-card--selected{border-color:#333;background:#f5f5f5;box-shadow:0 0 0 2px #0000001f}.battle-player--selected:after{background:#333}.game-card[data-card-kind=fire_slash],.game-card[data-card-kind=thunder_slash]{background:#f8f8f8}.player-action-bubble{position:absolute;z-index:5;top:-10px;left:50%;padding:3px 9px;transform:translate(-50%);border:1px solid #333333;border-radius:4px;background:#fff;color:#222;font-size:10px;font-weight:600;white-space:nowrap;pointer-events:none}.battle-player{overflow:visible}.player-detail section>b,.player-detail p span{color:#e8e8e8}.battle-log{position:sticky;top:24px;height:calc(100vh - 108px);min-height:0;overflow:hidden}.battle-log__entries{height:calc(100% - 52px);overflow-y:auto}.game-layout{display:block}.players-stage{display:grid;gap:8px}.players-grid{align-items:start}.battle-player{height:190px;min-height:190px;max-height:190px;box-sizing:border-box;padding:10px}.battle-player__effects{display:flex;height:44px;align-content:flex-start;gap:6px;margin-top:6px;overflow:hidden;flex-wrap:wrap}.battle-player__effects>span{display:inline-flex;height:20px;max-width:100%;align-items:center;padding:0 6px;overflow:hidden;border:1px solid #d0d0d0;border-radius:4px;background:#fafafa;color:#555;font-size:9px;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.battle-player__effects:empty:after{color:#aaa;content:"暂无装备或状态";font-size:9px;line-height:20px}.general-mark{width:84px;height:38px;padding:0 6px;border-radius:4px;font-size:13px;line-height:1.2;text-align:center;white-space:nowrap}.battle-player__name>span:nth-child(2){justify-content:center}.battle-player__name{margin-block:8px 7px}.battle-player__name strong{font-size:13px}.health-row{margin-bottom:7px}.public-cards-popup{position:fixed;z-index:50;top:50%;left:50%;width:max-content;min-width:min(320px,calc(100vw - 32px));max-width:min(720px,calc(100vw - 32px));max-height:min(70vh,560px);padding:16px;overflow:hidden;border:1px solid #333333;border-radius:6px;background:#fff;box-shadow:0 16px 44px #0003;transform:translate(-50%,-50%)}.public-cards-popup__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:10px;border-bottom:1px solid #dddddd}.public-cards-popup__heading>div{display:flex;align-items:baseline;gap:8px}.public-cards-popup__heading p{margin:0;color:#777;font-size:11px}.public-cards-popup__grid{display:flex;max-width:688px;max-height:min(55vh,440px);flex-wrap:wrap;justify-content:center;gap:10px;padding-top:14px;overflow-x:hidden;overflow-y:auto}.public-cards-popup .game-card--disabled{filter:none;opacity:1;cursor:default}.game-page{padding-block:12px}.game-statusbar{min-height:44px;margin-bottom:8px}.players-grid{gap:8px;margin-bottom:10px}.hand-zone{padding:14px}.hand-zone__heading{margin-bottom:8px}.game-card{width:82px;height:112px;flex-basis:82px}.game-card>strong{max-width:70px;font-size:18px}.hand-zone .ant-divider{margin-block:10px}.activity-notice{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #bfbfbf;border-left:3px solid #333333;border-radius:4px;background:#fff;pointer-events:none}.activity-notice>span{color:#777;font-size:10px}.activity-notice p{margin:3px 0 0;color:#222;font-size:12px;line-height:1.5}.activity-notice--damage,.activity-notice--important{border-left-color:#111}.player-state-flags{position:absolute;z-index:6;top:-10px;left:50%;display:flex;gap:5px;transform:translate(-50%);white-space:nowrap;pointer-events:none}.player-state-flags .turn-ribbon,.player-state-flags .player-action-bubble{position:static;display:inline-block;padding:3px 8px;transform:none;border:1px solid #333333;border-radius:4px;font-size:10px;font-weight:600}.player-state-flags .turn-ribbon{background:#333;color:#fff}.player-state-flags .player-action-bubble{background:#fff;color:#222}.game-card-anchor{display:inline-flex;flex:0 0 auto}.card-description-tooltip{max-width:min(300px,calc(100vw - 32px))}.card-description-tooltip .ant-tooltip-inner{max-height:min(45vh,220px);padding:10px 12px;overflow-y:auto;border:1px solid #333333;background:#fff;box-shadow:0 8px 24px #00000024;color:#222}.card-description-tooltip .ant-tooltip-arrow:before{background:#fff}.card-description-tooltip__content{display:flex;flex-direction:column;gap:4px;line-height:1.5}.card-description-tooltip__content strong{font-size:12px}.card-description-tooltip__content>span{color:#666;font-size:11px}.battle-log{position:static;height:auto;min-height:0;margin-top:12px;overflow:hidden}.battle-log__heading{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.battle-log__heading::-webkit-details-marker{display:none}.battle-log:not([open]) .battle-log__heading{border-bottom:0}.battle-log__entries{height:auto;max-height:340px;overflow-y:auto}.battle-log__heading{padding-block:11px}.game-page>.battle-log{position:relative;inset:auto;width:100%;max-width:none;height:auto;margin-top:12px}.selection-error{margin:8px 0 0;color:#b42318;font-size:12px}.standard-skill-modal .ant-modal-content{border:1px solid #d0d0d0;border-radius:6px;background:#fff;box-shadow:0 16px 48px #0000002e}.standard-skill-modal__message{margin:0 0 18px;color:#444;line-height:1.7}.standard-skill-modal__choices{display:flex;flex-wrap:wrap;gap:10px}.standard-skill-modal__choices .ant-btn{min-height:42px;height:auto;white-space:normal}.player-detail-tooltip{max-width:min(360px,calc(100vw - 32px))}.player-detail-tooltip .ant-tooltip-inner{max-height:min(55vh,420px)}@media (max-width: 720px){.draft-layout{grid-template-columns:1fr}.draft-progress{position:static}.general-option{grid-template-columns:24px minmax(0,1fr)}.general-option>.ant-btn{grid-column:2;justify-self:start}.battle-log__heading{padding-inline:12px}.battle-player{height:190px;min-height:190px}.public-cards-popup{padding:12px}.public-cards-popup__heading{align-items:flex-start;flex-direction:column;gap:3px}}.players-stage{display:block}.players-grid{position:relative;display:block;min-height:540px;margin-bottom:12px;overflow:hidden;border:1px solid #d8d8d8;border-radius:8px;background:#fff}.players-grid:before{position:absolute;top:13%;right:8%;bottom:13%;left:8%;border:1px dashed #c9c9c9;border-radius:50%;content:"";pointer-events:none}.table-seat{position:absolute;z-index:2;width:clamp(190px,16vw,222px);transform:translate(-50%,-50%)}.table-seat .battle-player{width:100%;height:148px;min-height:148px;max-height:148px;padding:9px}.table-seat .battle-player--current{border-color:#555;background:#fff;box-shadow:0 0 0 2px #0000001f,inset 3px 0 #222}.table-seat .battle-player__name{gap:6px;margin-block:5px}.table-seat .general-mark{width:70px;height:32px;font-size:12px}.table-seat .battle-player__name strong{font-size:12px}.table-seat .health-row{gap:2px;margin-bottom:5px}.table-seat .health-point{width:18px;height:18px;font-size:7px}.table-seat .battle-player__effects{height:22px;margin-top:5px;flex-wrap:nowrap}.table-seat .battle-player__effects>span{flex:0 1 auto}.table-seat .battle-player__effects:empty:after{line-height:18px}.activity-notice{position:absolute;z-index:1;top:50%;left:50%;width:min(30%,430px);min-height:166px;max-height:222px;padding:14px 16px;overflow:hidden;transform:translate(-50%,-50%);border:1px solid #c9c9c9;border-left:3px solid #333333;border-radius:6px;background:#fffffff5;box-shadow:0 8px 24px #00000014}.activity-notice__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #e3e3e3}.activity-notice__heading strong{display:flex;align-items:center;gap:7px;color:#222;font-size:13px}.activity-notice__heading small{color:#888;font-size:9px;white-space:nowrap}.activity-notice .activity-notice__turn{margin:9px 0 0;color:#777;font-size:10px}.activity-notice .activity-notice__latest{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:#222;font-size:13px;font-weight:600;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.activity-notice__history{display:grid;gap:3px;margin:9px 0 0;padding:8px 0 0 17px;border-top:1px solid #eeeeee;color:#777;font-size:9px}.activity-notice__history li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-type-note{margin:4px 0 22px;padding:16px 18px;border:1px solid #d9d2c3;border-radius:8px;background:linear-gradient(135deg,rgba(151,49,36,.06),transparent 55%),#fbfaf6}.game-type-note strong{display:block;margin-bottom:6px;color:#6f2119;font-family:Georgia,Songti SC,serif;font-size:17px}.game-type-note p{margin:3px 0;color:#655f57;line-height:1.65}.gouji-page{width:min(1540px,calc(100vw - 40px));max-width:none}.gouji-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:18px 22px;border-top:3px solid #792a21}.gouji-header h1{margin:2px 0 3px;font-family:Georgia,Songti SC,serif;font-size:30px}.gouji-header p{margin:0;color:#6b655d}.gouji-header__status{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:#777168;font-size:12px}.gouji-layout{display:grid;grid-template-columns:minmax(760px,1fr) 310px;gap:18px;align-items:start}.gouji-table-shell{min-width:0}.gouji-table{position:relative;min-height:650px;overflow:hidden;border:1px solid #3f2923;border-radius:20px 20px 8px 8px;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),#142f29;background-size:28px 28px;box-shadow:inset 0 0 0 8px #4e2e24,inset 0 0 0 10px #92715d,0 16px 35px #25181429}.gouji-table__felt{position:absolute;top:122px;right:180px;bottom:142px;left:180px;display:grid;place-items:center;border:1px solid rgba(232,220,188,.26);border-radius:50%;background:radial-gradient(circle at center,rgba(227,204,145,.09),transparent 62%)}.gouji-table__felt:before,.gouji-table__felt:after{position:absolute;width:86%;height:1px;background:#e3cc912b;content:""}.gouji-table__felt:before{transform:rotate(60deg)}.gouji-table__felt:after{transform:rotate(-60deg)}.gouji-table__team{position:absolute;z-index:0;color:#f5e7c41f;font-family:Georgia,Songti SC,serif;font-size:68px;font-weight:700}.gouji-table__team--a{left:11%;transform:rotate(-18deg)}.gouji-table__team--b{right:11%;transform:rotate(18deg)}.gouji-trick{position:relative;z-index:2;width:min(380px,82%);min-height:154px;padding:14px;border:1px solid rgba(239,221,178,.28);border-radius:14px;background:#071915c7;box-shadow:0 8px 24px #00000038;color:#f5ead4}.gouji-trick__meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px}.gouji-trick__meta strong{font-size:15px}.gouji-trick__meta span{color:#cbbfa5}.gouji-trick__cards{display:flex;align-items:center;justify-content:center;min-height:82px;padding-left:22px}.gouji-trick__cards .gouji-card{margin-left:-22px}.gouji-trick__empty{display:grid;min-height:124px;place-content:center;gap:5px;text-align:center}.gouji-trick__empty strong{font-family:Georgia,Songti SC,serif;font-size:18px}.gouji-trick__empty span{color:#b6aa91;font-size:12px}.gouji-seat{position:absolute;z-index:4;display:grid;grid-template-columns:26px 42px minmax(72px,1fr) auto;align-items:center;gap:8px;width:198px;padding:9px 10px;border:1px solid rgba(243,230,202,.36);border-radius:12px;background:#faf7eef2;box-shadow:0 8px 20px #0a0f0c40;transform:translate(-50%,-50%);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.gouji-seat--0{top:88%;left:50%}.gouji-seat--1{top:72%;left:16%}.gouji-seat--2{top:28%;left:16%}.gouji-seat--3{top:12%;left:50%}.gouji-seat--4{top:28%;left:84%}.gouji-seat--5{top:72%;left:84%}.gouji-seat--team-a{border-left:4px solid #3c6488}.gouji-seat--team-b{border-left:4px solid #a84e37}.gouji-seat--current{border-color:#d9ad45;box-shadow:0 0 0 3px #e5b53d42,0 10px 25px #0a0f0c4d;transform:translate(-50%,-50%) scale(1.035)}.gouji-seat--self{background:#fffdf6}.gouji-seat__number{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#25211e;color:#fff;font-size:11px;font-weight:700}.gouji-seat__avatar{display:grid;width:42px;height:42px;place-items:center;border:1px solid #d5cdc0;border-radius:50%;background:#efe9dc;color:#443d34;font-family:Georgia,Songti SC,serif;font-size:18px;font-weight:700}.gouji-seat__copy{min-width:0}.gouji-seat__copy strong,.gouji-seat__copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gouji-seat__copy strong{color:#27221e;font-size:13px}.gouji-seat__copy span{margin-top:2px;color:#756e64;font-size:11px}.gouji-seat__badges{display:grid;gap:3px}.gouji-seat__badges em{padding:2px 4px;border-radius:3px;background:#7f2f24;color:#fff8e9;font-size:9px;font-style:normal;white-space:nowrap}.gouji-hand-zone{margin-top:-1px;padding:16px 18px 18px;border:1px solid #d7d0c3;border-top:3px solid #792a21;border-radius:0 0 8px 8px;background:#f8f6f0}.gouji-hand-zone__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.gouji-hand-zone__heading strong,.gouji-hand-zone__heading span{display:block}.gouji-hand-zone__heading strong{color:#29241f;font-family:Georgia,Songti SC,serif;font-size:17px}.gouji-hand-zone__heading span{margin-top:3px;color:#746d63;font-size:11px}.gouji-hand{display:flex;align-items:flex-end;min-height:116px;overflow-x:auto;padding:13px 22px 18px 8px;border:1px solid #ded8cd;border-radius:8px;background:#e9e4d9;scrollbar-color:#aaa092 transparent}.gouji-hand .gouji-card{flex:0 0 auto;margin-right:-22px}.gouji-card{position:relative;display:inline-grid;grid-template-rows:auto 1fr;width:62px;height:90px;padding:7px;border:1px solid #b9b2a7;border-radius:7px;background:linear-gradient(145deg,#fffffff5,#eeebe2fa);box-shadow:0 3px 8px #322a202e;color:#25211e;font-family:Georgia,serif;text-align:left;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}button.gouji-card{cursor:pointer}button.gouji-card:hover{z-index:3;transform:translateY(-7px)}.gouji-card--selected{z-index:4;border-color:#9a3428;box-shadow:0 0 0 3px #9a34282e,0 8px 15px #322a2038;transform:translateY(-13px)}.gouji-card--red{color:#a2251c}.gouji-card--joker{background:linear-gradient(145deg,#fffdf4fa,#dccfadfa)}.gouji-card--compact{width:52px;height:74px;padding:5px}.gouji-card__rank{font-size:17px;font-weight:800;line-height:1}.gouji-card--compact .gouji-card__rank{font-size:13px}.gouji-card__suit{align-self:end;justify-self:end;font-size:25px}.gouji-card__mark{position:absolute;right:4px;top:4px;padding:1px 3px;border-radius:3px;background:#6c2b23;color:#fff7e8;font-family:sans-serif;font-size:8px}.gouji-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.gouji-sidebar{display:grid;gap:14px}.gouji-sidebar .paper-card{padding:17px}.gouji-sidebar h2{margin:3px 0 12px;font-family:Georgia,Songti SC,serif;font-size:19px}.gouji-rules{border-top:3px solid #244f48}.gouji-rules ul{display:grid;gap:8px;margin:0;padding-left:18px;color:#615b53;font-size:12px;line-height:1.55}.gouji-log{border-top:3px solid #792a21}.gouji-log>ol{display:grid;max-height:420px;margin:0;padding:0;overflow-y:auto;list-style:none}.gouji-log>ol>li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #eee9df}.gouji-log>ol>li>span{color:#aaa296;font-family:monospace;font-size:10px}.gouji-log>ol>li>p{margin:0;color:#5d574f;font-size:11px;line-height:1.5}.gouji-log>ol>li.gouji-log--victory p,.gouji-log>ol>li.gouji-log--finish p{color:#792a21;font-weight:700}.gouji-result{border-top:3px solid #b58a30;background:linear-gradient(145deg,#fffdf6,#f6efe0)}.gouji-result>ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gouji-result li{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:7px 9px;border:1px solid #e1d7c3;border-radius:5px;background:#fff9;font-size:11px}.gouji-result li strong{color:#792a21}@media (max-width: 1180px){.gouji-layout{grid-template-columns:1fr}.gouji-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.gouji-log{grid-column:1 / -1}}@media (max-width: 860px){.gouji-page{width:min(100% - 20px,760px)}.gouji-header{align-items:flex-start;flex-direction:column}.gouji-header__status{justify-content:flex-start}.gouji-table{min-height:590px}.gouji-table__felt{top:130px;right:105px;bottom:145px;left:105px}.gouji-seat{grid-template-columns:23px 34px minmax(50px,1fr);width:150px;padding:7px}.gouji-seat__avatar{width:34px;height:34px;font-size:14px}.gouji-seat__badges{display:none}.gouji-seat--1,.gouji-seat--2{left:14%}.gouji-seat--4,.gouji-seat--5{left:86%}.gouji-sidebar{grid-template-columns:1fr}.gouji-log{grid-column:auto}}:root{--ink: #1d1d1f;--ink-muted: #686868;--paper: #ffffff;--paper-deep: #f5f5f5;--paper-line: #d6d6d6;--wine: #1d1d1f;--wine-dark: #111111;--wine-deep: #202124;--gold: #555555;--green: #555555;--shadow: 0 1px 2px rgba(0, 0, 0, .05)}body,.app-layout,.app-content,.app-content--game{background:#f4f5f6}.brand__seal,.brand--compact .brand__seal{border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.04em}.brand__text strong,.brand--compact .brand__text strong{font-size:16px;font-weight:600}.brand__text small{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px}.ant-btn{border-radius:3px}.ant-tag{border-color:#d5d5d5!important;border-radius:2px!important;background:#f8f8f8!important;color:#444!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;letter-spacing:.03em}.ant-badge-status-success,.ant-badge-status-processing{background:#444!important}.ant-badge-status-warning,.ant-badge-status-error{background:#8a8a8a!important}.ant-btn-dangerous,.ant-btn-dangerous:not(:disabled){border-color:#bdbdbd!important;background:#fff!important;color:#3f3f3f!important}.ant-btn-dangerous:not(:disabled):hover{border-color:#555!important;background:#f4f4f4!important;color:#111!important}.game-card__corner--red,.card-inspector__face--red,.log-entry--damage p,.log-entry--heal p,.log-entry--important p,.selection-error{color:#2f2f2f}.game-type-note{margin:4px 0 22px;padding:14px 16px;border:1px solid #d8d8d8;border-left:3px solid #303030;border-radius:3px;background:#f8f8f8}.game-type-note strong{margin-bottom:7px;color:#222;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:13px;font-weight:650;letter-spacing:.02em}.game-type-note p{color:#666;font-size:12px;line-height:1.6}.gouji-page{width:min(1540px,calc(100vw - 40px));padding-top:20px}.gouji-header{margin-bottom:12px;padding:16px 18px;border:1px solid #d6d6d6;border-top:1px solid #d6d6d6;border-radius:4px;background:#fff;box-shadow:none}.gouji-header h1{margin:3px 0 4px;color:#171717;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:25px;font-weight:600;letter-spacing:-.02em}.gouji-header p{color:#666;font-size:12px}.gouji-header .section-kicker,.gouji-header__status,.gouji-header__status>span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.gouji-header__status{color:#666;font-size:10px}.gouji-layout{grid-template-columns:minmax(760px,1fr) 300px;gap:12px}.gouji-table{min-height:630px;border:1px solid #c9c9c9;border-radius:5px 5px 0 0;background:linear-gradient(#e8e8e8 1px,transparent 1px),linear-gradient(90deg,#e8e8e8 1px,transparent 1px),linear-gradient(#fcfcfc,#f7f7f7);background-size:32px 32px,32px 32px,100% 100%;box-shadow:none}.gouji-table:before,.gouji-table:after{position:absolute;z-index:1;top:14px;color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;letter-spacing:.08em;pointer-events:none}.gouji-table:before{left:16px;content:"SESSION_TOPOLOGY / AUTHORITATIVE_STATE"}.gouji-table:after{right:16px;content:"6 NODES / 196 OBJECTS / LIVE"}.gouji-table__felt{top:112px;right:158px;bottom:126px;left:158px;border:1px dashed #b9b9b9;border-radius:50%;background:#ffffff57}.gouji-table__felt:before,.gouji-table__felt:after{width:88%;background:none;border-top:1px dashed #d0d0d0}.gouji-table__team{padding:3px 6px;border:1px solid #d6d6d6;border-radius:2px;background:#f8f8f8;color:#696969;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;font-weight:600;letter-spacing:.12em}.gouji-table__team--a{left:8%;transform:none}.gouji-table__team--b{right:8%;transform:none}.gouji-trick{width:min(390px,82%);min-height:150px;padding:13px 14px;border:1px solid #bdbdbd;border-radius:4px;background:#fffffff5;box-shadow:0 2px 6px #0000000f;color:#222}.gouji-trick__meta{padding-bottom:9px;border-bottom:1px solid #e0e0e0;color:#333;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:10px}.gouji-trick__meta strong{font-size:12px}.gouji-trick__meta span,.gouji-trick__empty span{color:#777}.gouji-trick__empty{min-height:114px}.gouji-trick__empty strong{color:#2a2a2a;font-family:Inter,ui-sans-serif,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:600}.gouji-seat{grid-template-columns:31px 38px minmax(72px,1fr) auto;gap:8px;width:204px;padding:8px 9px;border:1px solid #c9c9c9;border-radius:4px;background:#fffffff7;box-shadow:0 1px 3px #00000014;transition:border-color .12s ease,box-shadow .12s ease}.gouji-seat--team-a{border-left:4px solid #1f1f1f}.gouji-seat--team-b{border-left:4px double #666666}.gouji-seat--current{border-color:#252525;outline:2px solid #252525;outline-offset:2px;box-shadow:0 1px 3px #0000001a;transform:translate(-50%,-50%)}.gouji-seat--self{background:#f9f9f9;box-shadow:inset 0 -2px #242424,0 1px 3px #00000014}.gouji-seat__number{width:29px;height:24px;border-radius:2px;background:#262626;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;font-weight:600}.gouji-seat__avatar{width:38px;height:38px;border:1px solid #d0d0d0;border-radius:3px;background:#f1f1f1;color:#404040;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:14px;font-weight:600}.gouji-seat__copy strong{color:#252525;font-size:12px;font-weight:600}.gouji-seat__copy span{color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:9px}.gouji-seat__badges em{border:1px solid #c8c8c8;border-radius:2px;background:#f4f4f4;color:#444;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,sans-serif}.gouji-hand-zone{margin-top:-1px;padding:14px 16px 16px;border:1px solid #c9c9c9;border-top:1px solid #c9c9c9;border-radius:0 0 5px 5px;background:#fff}.gouji-hand-zone__heading strong{color:#252525;font-family:Inter,ui-sans-serif,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:600}.gouji-hand-zone__heading span{color:#717171;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:9px}.gouji-hand{min-height:110px;padding:12px 22px 16px 8px;border:1px solid #d5d5d5;border-radius:3px;background:linear-gradient(#eeeeee 1px,transparent 1px),#f7f7f7;background-size:100% 24px;scrollbar-color:#9a9a9a transparent}.gouji-card{width:62px;height:88px;border:1px solid #b8b8b8;border-radius:3px;background:#fff;box-shadow:0 1px 3px #0000001a;color:#202020;font-family:Georgia,Times New Roman,serif}button.gouji-card:hover{border-color:#333;box-shadow:0 2px 6px #0000001f}.gouji-card--selected{border-color:#111;background:#f2f2f2;box-shadow:0 0 0 2px #111,0 3px 7px #00000026}.gouji-card--red{color:#202020}.gouji-card--joker{background:#eee}.gouji-card--compact{width:50px;height:70px}.gouji-card__suit{align-self:start;justify-self:start;margin-top:5px;font-size:16px;line-height:1}.gouji-card--compact .gouji-card__suit{margin-top:3px;font-size:14px}.gouji-card__mark{border-radius:2px;background:#252525;color:#fff}.gouji-actions{margin-top:12px}.gouji-sidebar{gap:12px}.gouji-sidebar .paper-card{padding:15px;border-radius:4px;box-shadow:none}.gouji-sidebar h2{margin:3px 0 11px;color:#252525;font-family:Inter,ui-sans-serif,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;font-weight:600}.gouji-rules,.gouji-log,.gouji-result{border-top:2px solid #333333}.gouji-rules ul{gap:7px;color:#5f5f5f;font-size:11px;line-height:1.55;list-style-type:square}.gouji-log>ol>li{border-bottom-color:#e8e8e8}.gouji-log>ol>li>span{color:#999;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.gouji-log>ol>li>p,.gouji-log>ol>li.gouji-log--victory p,.gouji-log>ol>li.gouji-log--finish p{color:#555;font-size:10px}.gouji-log>ol>li.gouji-log--victory p,.gouji-log>ol>li.gouji-log--finish p{color:#222}.gouji-result{background:#f8f8f8}.gouji-result li{border-color:#d8d8d8;border-radius:3px;background:#fff}.gouji-result li strong{color:#222}.app-nav__section{display:grid;gap:4px;margin-bottom:12px}.app-nav__label{padding:0 11px 5px;color:#8a8a8a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.app-nav__meta{display:grid;gap:3px;margin:4px 10px 0 20px;padding-left:10px;border-left:1px solid #dddddd;color:#717171;font-size:10px;line-height:1.7}.app-nav__meta span:before{margin-right:6px;color:#a0a0a0;content:"·"}.app-nav__meta .app-nav__pending{color:#a0a0a0}.reader-file-input{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.reader-loading{display:grid;min-height:100vh;place-content:center;gap:12px;color:#666;text-align:center}.reader-loading p{margin:0;font-size:12px}.reader-empty-page{max-width:980px}.reader-hero{margin-bottom:28px}.reader-hero h1{margin:3px 0 8px}.reader-hero p{color:#666}.reader-import-card{display:grid;min-height:410px;place-content:center;gap:22px;padding:44px;border:1px dashed #c9c9c9;border-radius:5px;background:#fff;box-shadow:none}.reader-import-actions{display:flex;align-items:flex-end;justify-content:center;gap:10px}.reader-import-actions label,.reader-toolbar__actions label{display:grid;gap:4px;color:#777;font-size:9px}.reader-import-actions select,.reader-toolbar__actions select{min-width:135px;height:32px;padding:0 9px;border:1px solid #d1d1d1;border-radius:3px;background:#fff;color:#333;font-size:12px}.novel-reader{--reader-surface: #f6f7f8;--reader-paper: #ffffff;--reader-text: #262626;--reader-muted: #777777;--reader-border: #d7d7d7;display:grid;height:100vh;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;background:var(--reader-surface);color:var(--reader-text)}.novel-reader--sepia{--reader-surface: #e9e3d6;--reader-paper: #f8f1df;--reader-text: #3c342b;--reader-muted: #776d61;--reader-border: #d2c6b2}.novel-reader--night{--reader-surface: #17191c;--reader-paper: #22252a;--reader-text: #d8d9dc;--reader-muted: #92969e;--reader-border: #373b42}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px;padding:16px 24px;border-bottom:1px solid var(--reader-border);background:var(--reader-paper)}.reader-toolbar h1{max-width:580px;margin:0 0 3px;overflow:hidden;color:var(--reader-text);font-size:22px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.reader-toolbar p{margin:0;color:var(--reader-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Microsoft YaHei,sans-serif;font-size:9px;letter-spacing:.04em}.reader-toolbar .section-kicker{margin-bottom:3px}.reader-toolbar__actions{display:flex;align-items:flex-end;gap:8px}.reader-alert{margin:10px 20px 0}.reader-workspace{display:grid;min-height:0;grid-template-columns:274px minmax(0,1fr)}.reader-sidebar{min-height:0;padding:18px 12px;overflow:hidden;border-right:1px solid var(--reader-border);background:var(--reader-paper)}.reader-sidebar__title{display:flex;align-items:center;justify-content:space-between;padding:0 8px 13px;border-bottom:1px solid var(--reader-border)}.reader-sidebar__title strong{color:var(--reader-text);font-size:12px}.reader-sidebar__title span{color:var(--reader-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px}.reader-sidebar nav{display:grid;max-height:calc(100vh - 150px);gap:2px;padding-top:10px;overflow-y:auto;scrollbar-color:#a9a9a9 transparent}.reader-sidebar nav button{display:grid;width:100%;grid-template-columns:28px minmax(0,1fr);gap:7px;padding:8px;overflow:hidden;border:0;border-radius:3px;background:transparent;color:var(--reader-muted);cursor:pointer;font-size:11px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.reader-sidebar nav button:hover{background:var(--reader-surface)}.reader-sidebar nav button[aria-current=page]{background:var(--reader-text);color:var(--reader-paper)}.reader-sidebar nav button span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;opacity:.62}.reader-stage{display:grid;min-width:0;min-height:0;grid-template-rows:48px minmax(0,1fr);background:var(--reader-surface)}.reader-settings{display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:7px 22px;border-bottom:1px solid var(--reader-border);background:color-mix(in srgb,var(--reader-paper) 90%,transparent)}.reader-settings>label{display:flex;align-items:center;gap:7px;color:var(--reader-muted);font-size:10px}.reader-settings input[type=range]{width:90px;accent-color:#333333}.reader-settings label span{width:30px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px}.reader-theme-switch{display:flex;overflow:hidden;border:1px solid var(--reader-border);border-radius:3px}.reader-theme-switch button{padding:5px 8px;border:0;border-right:1px solid var(--reader-border);background:var(--reader-paper);color:var(--reader-muted);cursor:pointer;font-size:10px}.reader-theme-switch button:last-child{border-right:0}.reader-theme-switch button[aria-pressed=true]{background:var(--reader-text);color:var(--reader-paper)}.reader-scroll{min-height:0;overflow-y:auto;padding:34px clamp(28px,6vw,90px) 70px;scroll-behavior:smooth}.reader-article{width:min(860px,100%);min-height:calc(100vh - 210px);margin:0 auto;padding:clamp(42px,6vw,78px) clamp(52px,8vw,105px);border:1px solid var(--reader-border);border-radius:3px;background:var(--reader-paper);box-shadow:0 7px 28px #00000012;color:var(--reader-text)}.reader-article__number{color:var(--reader-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;letter-spacing:.14em}.reader-article h2{margin:12px 0 18px;color:var(--reader-text);font-family:Songti SC,SimSun,serif;font-size:calc(var(--reader-font-size) * 1.65);font-weight:650;line-height:1.45}.reader-article__rule{width:52px;height:2px;margin-bottom:34px;background:var(--reader-text)}.reader-article>p{margin:0 0 .95em;color:var(--reader-text);font-family:Songti SC,SimSun,serif;font-size:var(--reader-font-size);line-height:var(--reader-line-height);text-align:justify;text-indent:2em}.reader-chapter-navigation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:54px;padding-top:20px;border-top:1px solid var(--reader-border)}.reader-chapter-navigation>span{color:var(--reader-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.manual-reader{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;min-width:1080px;height:100vh;grid-template-rows:48px minmax(0,1fr);overflow:hidden;background:#ddd;color:#222;font-family:Microsoft YaHei,Arial,sans-serif}.manual-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:0 12px;border-bottom:1px solid #c8c8c8;background:#fbfbfb;box-shadow:0 1px 2px #0000000f}.manual-toolbar__group{display:flex;align-items:center;gap:4px;min-width:0}.manual-toolbar__group:last-child{justify-content:flex-end}.manual-toolbar button{display:grid;min-width:27px;height:30px;place-items:center;padding:0 6px;border:0;border-radius:3px;background:transparent;color:#333;cursor:pointer;font-size:14px}.manual-toolbar button:hover{background:#ececec}.manual-toolbar button:disabled{color:#c2c2c2;cursor:default}.manual-toolbar__divider{width:1px;height:24px;margin:0 5px;background:#d7d7d7}.manual-toolbar__pages strong{display:grid;min-width:46px;height:30px;place-items:center;border:1px solid #cccccc;border-radius:2px;background:#fff;font-size:12px;font-weight:500}.manual-toolbar__pages span{color:#555;font-size:12px}.manual-toolbar__text-tool,.manual-toolbar__acrobat{white-space:nowrap}.manual-toolbar__acrobat{color:#333;font-size:13px}.manual-canvas{min-height:0;display:grid;overflow:hidden;place-items:center;padding:10px 36px 14px;background:#dedede}.manual-page{position:relative;display:flex;width:min(1120px,calc(100vw - 150px));height:calc(100vh - 72px);min-height:0;flex-direction:column;margin:0 auto;padding:28px clamp(78px,7.6vw,145px) 46px;overflow:hidden;background:#fff;box-shadow:0 2px 7px #00000024;color:#1d1d1d;font-family:Songti SC,SimSun,serif}.manual-page__running-head{display:flex;align-items:center;justify-content:center;flex:0 0 auto;gap:20px;min-height:22px;margin:0 0 20px;color:#444;font-size:12px}.manual-page__mark{position:absolute;top:22px;left:50%;display:grid;width:28px;height:18px;place-items:center;transform:translate(-275px);border:2px solid #385ea8;border-radius:50%;color:#c22a28;font-family:Arial,sans-serif;font-size:7px;font-weight:800}.manual-page h1{flex:0 0 auto;margin:0 0 20px;color:#111;font-size:28px;font-weight:700}.manual-page h2{flex:0 0 auto;margin:0 0 13px;color:#111;font-size:23px;font-weight:700}.manual-parameter-table{width:100%;flex:0 0 auto;margin:0 0 17px;border-collapse:collapse;color:#333;font-size:14px}.manual-parameter-table th,.manual-parameter-table td{padding:5px 12px;border:1px solid #555555;font-weight:400}.manual-parameter-table th{width:22%;text-align:left}.manual-parameter-table td{text-align:center}.manual-page__novel-viewport{min-height:0;flex:1 1 auto;margin:0 0 23px;overflow:hidden;scroll-behavior:auto}.manual-page__content{width:100%;height:100%;column-fill:auto;column-gap:0;orphans:2;widows:2}.manual-page__content p{margin:0 0 .58em;color:#222;font-size:var(--reader-font-size);line-height:var(--reader-line-height);text-align:justify;text-indent:2em}.manual-page__footer{position:absolute;right:clamp(78px,7.6vw,145px);bottom:18px;left:clamp(78px,7.6vw,145px);display:flex;justify-content:space-between;color:#444;font-size:11px}@media (max-width: 1180px){.reader-toolbar{align-items:flex-start;flex-direction:column}.novel-reader{grid-template-rows:auto auto minmax(0,1fr)}.reader-workspace{grid-template-columns:230px minmax(0,1fr)}.reader-toolbar__actions{width:100%}}@media (prefers-reduced-motion: reduce){.reader-scroll{scroll-behavior:auto}}.ddz-page{width:min(1600px,calc(100% - 32px));max-width:none;padding:18px 0 28px;color:#202020}.ddz-header,.ddz-header__meta,.ddz-self__heading,.ddz-player,.ddz-bottom,.ddz-trick__heading{display:flex;align-items:center}.ddz-header{justify-content:space-between;gap:24px;margin-bottom:12px;padding:11px 16px;border-color:#b9b9b9;border-radius:3px;box-shadow:none}.ddz-sidebar h2{margin:3px 0}.ddz-header__identity{display:grid;gap:3px}.ddz-header p{margin:0;color:#5f5f5f;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;letter-spacing:.02em}.ddz-header__meta{flex-wrap:wrap;justify-content:flex-end;gap:10px;color:#555}.ddz-page .ant-tag{border-color:#a9a9a9;background:#f5f5f5;color:#292929}.ddz-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.ddz-main{min-width:0;overflow:hidden;border:1px solid #aaa;border-radius:3px;background:#fff}.ddz-table{position:relative;min-height:470px;padding:24px 36px;overflow:hidden;background:#fff;color:#202020}.ddz-table:before{position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px solid #bcbcbc;border-radius:2px;content:"";pointer-events:none}.ddz-table:after{position:absolute;top:22px;bottom:22px;left:50%;border-left:1px dashed #c5c5c5;content:"";pointer-events:none}.ddz-opponents{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:28%}.ddz-player{position:relative;min-width:0;gap:10px;padding:12px;border:1px solid #8f8f8f;border-radius:2px;background:#fffffff0;color:#1c1c1c;transition:box-shadow .16s ease,transform .16s ease}.ddz-player--current{border-color:#111;box-shadow:inset 4px 0 #111;transform:none}.ddz-player--llm-thinking{border-color:#555;box-shadow:inset 4px 0 #555}.ddz-player__avatar{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:2px;background:#222;color:#fff;font-size:18px;font-weight:700}.ddz-player>div:nth-child(2){display:grid;min-width:0}.ddz-player>div:nth-child(2) strong,.ddz-player>div:nth-child(2) span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ddz-player>div:nth-child(2) span{color:#686868;font-size:12px}.ddz-player>div:nth-child(2) .ddz-player__thinking{display:flex;align-items:center;gap:6px;margin-top:3px;color:#1f1f1f;font-weight:600}.ddz-self__heading .ddz-player__thinking{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:#1f1f1f;font-size:12px;font-weight:600}.ddz-player__thinking i{width:7px;height:7px;border-radius:50%;background:#1f1f1f;animation:ddz-thinking-pulse .9s ease-in-out infinite alternate}@keyframes ddz-thinking-pulse{0%{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}.ddz-card-backs{position:absolute;top:calc(100% + 8px);left:12px;display:flex}.ddz-card-backs i,.ddz-bottom>i{display:block;width:22px;height:34px;margin-right:-15px;border:1px solid #555;border-radius:1px;background:repeating-linear-gradient(135deg,#1f1f1f 0,#1f1f1f 2px,#f3f3f3 2px,#f3f3f3 4px);box-shadow:none}.ddz-bottom{position:relative;z-index:1;justify-content:center;gap:5px;min-height:58px;margin-top:72px}.ddz-bottom>span:first-child{margin-right:7px;color:#5f5f5f;font-size:12px;letter-spacing:.12em}.ddz-bottom>i{width:36px;height:52px;margin:0}.ddz-trick{position:relative;z-index:1;display:grid;min-height:140px;place-content:center;margin:24px auto 0;text-align:center}.ddz-trick__heading{justify-content:center;gap:10px;margin-bottom:8px}.ddz-trick__heading span,.ddz-trick__empty span{color:#686868;font-size:12px}.ddz-trick__cards,.ddz-hand{display:flex;justify-content:center}.ddz-trick__cards .ddz-card{margin-left:-8px}.ddz-trick__empty{display:grid;gap:5px}.ddz-self{padding:16px 18px 18px;border-top:3px double #333;background:#fff}.ddz-self--current{box-shadow:inset 0 3px #111}.ddz-self__heading{justify-content:space-between;margin-bottom:13px}.ddz-self__heading>div{display:grid;gap:2px}.ddz-self__heading span{color:#777;font-size:12px}.ddz-hand{min-height:116px;padding:22px 32px 8px;overflow-x:auto;justify-content:flex-start}.ddz-hand .ddz-card{flex:0 0 68px;margin-left:-34px}.ddz-hand .ddz-card:first-child{margin-left:0}.ddz-hand .ddz-card:hover,.ddz-hand .ddz-card--selected{z-index:4;transform:translateY(-15px)}.ddz-card{position:relative;display:inline-grid;width:68px;height:96px;padding:8px 7px;align-content:start;justify-items:start;border:1px solid #9f9f9f;border-radius:2px;background:#fff;box-shadow:2px 3px #0000001f;color:#171717;font:inherit;text-align:left;transition:transform .12s ease}button.ddz-card{cursor:pointer}.ddz-card strong{max-width:100%;font-size:19px;line-height:1}.ddz-card span{font-size:17px;line-height:1.1}.ddz-card--red{color:#171717}.ddz-card--joker strong{font-size:13px;writing-mode:vertical-rl}.ddz-card--compact{width:48px;height:68px;padding:6px}.ddz-card--compact strong{font-size:15px}.ddz-card--selected{border-color:#111;box-shadow:0 0 0 2px #111,3px 4px #00000029}.ddz-actions{display:flex;justify-content:center;gap:10px;min-height:32px;margin-top:8px}.ddz-sidebar{display:grid;align-content:start;gap:16px}.ddz-sidebar .paper-card{padding:18px;border-color:#b9b9b9;border-radius:3px;box-shadow:none}.ddz-result{border-top:4px double #222}.ddz-result p{margin-bottom:0}.ddz-settlement-modal .ant-modal-content{padding:0;overflow:hidden;border:1px solid #444;border-radius:3px;background:#fff;box-shadow:10px 10px #00000029}.ddz-settlement-modal .ant-modal-header{margin:0;padding:17px 20px;border-bottom:3px double #333;background:#f1f1ef}.ddz-settlement-modal .ant-modal-title{color:#171717;font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-size:20px}.ddz-settlement-modal .ant-modal-body{padding:22px 20px 12px}.ddz-settlement-modal .ant-modal-footer{margin:0;padding:14px 20px 18px;border-top:1px solid #c8c8c8}.ddz-settlement__summary{display:grid;gap:5px}.ddz-settlement__summary strong{font-family:"Noto Serif SC",Songti SC,SimSun,serif;font-size:24px}.ddz-settlement__summary p,.ddz-settlement__note{margin:0;color:#616161}.ddz-settlement__ledger{margin:18px 0 14px;border-top:2px solid #222;border-bottom:1px solid #777}.ddz-settlement__ledger>div{display:grid;grid-template-columns:minmax(0,1fr) 90px 130px;gap:12px;align-items:center;padding:10px 8px;border-top:1px solid #d5d5d5}.ddz-settlement__ledger>div:first-child{border-top:0}.ddz-settlement__ledger strong,.ddz-settlement__ledger>div>span:last-child{text-align:right}.ddz-settlement__ledger .is-positive{color:#111}.ddz-settlement__ledger .is-negative{color:#666}.ddz-settlement__note{font-size:12px;line-height:1.65}.ddz-settlement-modal__actions{display:flex;justify-content:space-between;gap:12px}.ddz-log ol{max-height:360px;margin:0;padding:0;overflow-y:auto;list-style:none}.ddz-log li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 0;border-top:1px solid #ececec}.ddz-log li>span{color:#999;font-size:11px}.ddz-log li p{margin:0;color:#444;font-size:13px}.ddz-recommendation-toggle{display:inline-flex;gap:8px;align-items:center;padding:4px 8px;border:1px solid #d8d8d8;border-radius:4px;background:#fafafa;color:#4b4b4b;font-size:12px}.ddz-recommendation-toggle .ant-select{min-width:112px}.room-chat{position:fixed;right:20px;bottom:20px;z-index:900;width:220px;overflow:hidden;border:1px solid #a9a9a9;border-radius:6px;background:#fff;box-shadow:0 10px 32px #00000024}.room-chat--open{width:min(360px,calc(100vw - 32px))}.room-chat__toggle{display:flex;width:100%;min-height:54px;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;border:0;border-bottom:1px solid transparent;background:#f5f5f3;color:#1f1f1f;cursor:pointer;text-align:left}.room-chat--open .room-chat__toggle{border-bottom-color:#b8b8b8}.room-chat__toggle>span{display:grid;min-width:0}.room-chat__toggle strong{font-size:11px;letter-spacing:.12em}.room-chat__toggle small{overflow:hidden;color:#666;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.room-chat__toggle b{display:inline-block;min-width:34px;padding:3px 6px;border:1px solid #bcbcbc;border-radius:3px;background:#fff;color:#444;font-size:11px;font-weight:500;text-align:center}.room-chat__messages{height:min(320px,44vh);overflow-y:auto;padding:10px 12px;background-color:#fbfbfa;background-image:linear-gradient(#ececea 1px,transparent 1px),linear-gradient(90deg,#ececea 1px,transparent 1px);background-size:24px 24px}.room-chat__empty{display:grid;place-content:center;height:100%;color:#737373;text-align:center}.room-chat__empty strong{color:#404040}.room-chat__empty span{font-size:12px}.room-chat__message{width:88%;margin-bottom:9px;padding:7px 9px;border:1px solid #c8c8c8;border-radius:4px;background:#fffffff0}.room-chat__message--self{margin-left:auto;border-color:#777}.room-chat__message header{display:flex;justify-content:space-between;gap:8px;color:#757575;font-size:10px}.room-chat__message header strong{overflow:hidden;color:#333;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-chat__message p{margin:4px 0 0;color:#222;font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.room-chat__composer{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 10px 5px;border-top:1px solid #c8c8c8;background:#fff}.room-chat__hint{margin:0;padding:0 11px 9px;color:#8a8a8a;font-size:10px}@media (max-width: 1080px){.ddz-layout{grid-template-columns:1fr}.ddz-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.ddz-log{grid-column:1 / -1}}@media (max-width: 720px){.room-chat{right:8px;bottom:8px}.room-chat--open{width:calc(100vw - 16px)}.room-chat__messages{height:min(280px,40vh)}.ddz-page{width:min(100% - 16px,1600px)}.ddz-header{align-items:flex-start;flex-direction:column}.ddz-header__meta{justify-content:flex-start}.ddz-table{min-height:440px;padding:18px 12px}.ddz-opponents{gap:10px}.ddz-player{align-items:flex-start;flex-wrap:wrap}.ddz-player .ant-tag{display:none}.ddz-sidebar{grid-template-columns:1fr}.ddz-log{grid-column:auto}.ddz-hand{padding-inline:10px}.ddz-hand .ddz-card{margin-left:-40px}}.splendor-board{--splendor-accent: #c7a353;--splendor-panel: rgba(16, 43, 35, .92);--splendor-panel-soft: rgba(238, 224, 186, .1);--splendor-line: rgba(228, 199, 125, .3);--splendor-text: #fff8e4;--splendor-muted: rgba(255, 248, 228, .66);min-height:100vh;padding:22px clamp(18px,2.4vw,38px) 46px;background:radial-gradient(circle at 50% -10%,rgba(199,163,83,.22),transparent 31%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 72px),linear-gradient(145deg,#132e27,#071d18 65%,#041510);color:var(--splendor-text);font-family:"Noto Serif SC",Songti SC,serif}.splendor-board--classic:before{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";opacity:.2;background:linear-gradient(90deg,transparent 49.8%,rgba(236,207,138,.22) 50%,transparent 50.2%),radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.62) 100%)}.splendor-board--pokemon{--splendor-accent: #ffd43b;--splendor-panel: rgba(255, 255, 255, .96);--splendor-panel-soft: rgba(15, 94, 173, .08);--splendor-line: rgba(23, 89, 166, .2);--splendor-text: #142847;--splendor-muted: #61728d;background:radial-gradient(circle at 17% 10%,rgba(255,255,255,.9) 0 3%,transparent 3.2%),linear-gradient(115deg,transparent 0 49.4%,rgba(255,255,255,.7) 49.5% 50.5%,transparent 50.6%),linear-gradient(115deg,#e83c42 0,#e83c42 35%,#f4f7fb 35.1%,#f4f7fb 65%,#1771bf 65.1%);font-family:ui-rounded,Arial Rounded MT Bold,PingFang SC,system-ui,sans-serif}.splendor-board>*{position:relative;z-index:1}.splendor-board button:focus-visible,.splendor-board .ant-btn:focus-visible{outline:3px solid var(--splendor-accent);outline-offset:3px}.splendor-board button:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.42}.splendor-board__header{display:flex;width:min(1500px,100%);align-items:center;justify-content:space-between;gap:24px;margin:0 auto 18px;padding:5px 6px 15px;border-bottom:1px solid var(--splendor-line)}.splendor-board__header h1{margin:2px 0 3px;color:var(--splendor-text);font-size:clamp(27px,2.7vw,42px);font-weight:800;letter-spacing:.04em}.splendor-board__header p{margin:0;color:var(--splendor-muted);font-size:13px}.splendor-eyebrow{color:var(--splendor-accent);font-family:ui-sans-serif,system-ui,sans-serif;font-size:10px;font-weight:900;letter-spacing:.28em}.splendor-board--pokemon .splendor-eyebrow{display:inline-block;padding:3px 9px;transform:skew(-8deg);border-radius:4px;background:#173a70;color:#fff;letter-spacing:.16em}.splendor-board__header-actions{display:flex;align-items:center;gap:12px}.splendor-live{display:inline-flex;align-items:center;gap:7px;color:var(--splendor-muted);font-size:12px}.splendor-live:before{width:8px;height:8px;border-radius:50%;background:#d46666;content:""}.splendor-live.is-connected:before{background:#61d49a;box-shadow:0 0 0 4px #61d49a1f}.splendor-player-strip{display:grid;width:min(1500px,100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 auto 14px}.splendor-player{min-width:0;padding:11px 12px 9px;border:1px solid var(--splendor-line);border-radius:10px;background:var(--splendor-panel);box-shadow:0 10px 24px #010d0a2e}.splendor-board--classic .splendor-player{border-top:2px solid rgba(228,199,125,.38);background:linear-gradient(#0e2a22f0,#09201bf5),repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.06) 8px 9px)}.splendor-board--pokemon .splendor-player{border:2px solid #d7e3f2;border-bottom-width:4px;box-shadow:0 7px #1d519021}.splendor-player.is-self{border-color:var(--splendor-accent)}.splendor-player.is-current{box-shadow:0 0 0 2px var(--splendor-accent),0 10px 28px #00000038}.splendor-player__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:8px}.splendor-player__seat{display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--splendor-line);border-radius:50%;color:var(--splendor-accent);font-size:12px;font-weight:800}.splendor-board--pokemon .splendor-player__seat{border:0;background:#e13f44;color:#fff;box-shadow:inset 0 -3px #7b141b2e}.splendor-player__head div{min-width:0}.splendor-player__head div strong,.splendor-player__head div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splendor-player__head div strong{font-size:14px}.splendor-player__head div small{color:var(--splendor-muted);font-size:10px}.splendor-player__head>b{color:var(--splendor-accent);font-size:21px}.splendor-player__head>b small{margin-left:3px;font-size:9px}.splendor-player__bonuses{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:5px;padding-top:5px;border-top:1px solid var(--splendor-line);color:var(--splendor-muted);font-size:9px}.splendor-player__counts{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:6px;color:var(--splendor-muted);font-size:9px}.splendor-public-reserve{overflow:hidden;margin-top:5px;color:var(--splendor-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.splendor-table{display:grid;width:min(1500px,100%);min-height:650px;grid-template-columns:180px minmax(620px,1fr) 280px;gap:14px;margin:0 auto;padding:15px;border:1px solid var(--splendor-line);border-radius:22px;background:radial-gradient(ellipse at center,rgba(45,100,75,.58),transparent 68%),linear-gradient(125deg,#113d30,#08291f);box-shadow:inset 0 0 0 8px #4d2d20,inset 0 0 0 10px #9c7047,0 24px 55px #00000057}.splendor-board--pokemon .splendor-table{border:5px solid #fff;border-radius:28px;background:linear-gradient(#ffffff12,#ffffff12),repeating-linear-gradient(0deg,transparent 0 34px,rgba(255,255,255,.05) 34px 35px),#277cba;box-shadow:0 14px #16417a47,0 24px 50px #0c2c5347}.splendor-supply,.splendor-action-panel{min-width:0;padding:14px;border:1px solid var(--splendor-line);border-radius:13px;background:var(--splendor-panel)}.splendor-board--pokemon .splendor-supply,.splendor-board--pokemon .splendor-action-panel{border:2px solid #dce7f5;border-bottom-width:5px;border-radius:17px}.splendor-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}.splendor-section-title>span{color:var(--splendor-accent);font-size:13px;font-weight:800;letter-spacing:.05em}.splendor-section-title>small{color:var(--splendor-muted);font-size:9px}.splendor-supply__tokens{display:grid;gap:7px}.splendor-supply__tokens>div{display:flex;align-items:center;gap:8px;color:var(--splendor-muted);font-size:10px}.splendor-resources{display:inline-flex;min-height:20px;flex-wrap:wrap;align-items:center;gap:3px}.splendor-resource{position:relative;display:inline-flex;min-width:35px;align-items:center;gap:4px}.splendor-resource i{display:inline-block;width:27px;height:27px;flex:none;border:3px double rgba(255,255,255,.7);border-radius:50%;background:var(--resource-color, #aaa);box-shadow:inset -4px -5px 8px #0000004d,0 2px 5px #0000004d}.splendor-resource b{color:inherit;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.splendor-resource--compact{min-width:25px;gap:2px}.splendor-resource--compact i{width:17px;height:17px;border-width:2px}.splendor-resource--compact b{font-size:9px}.splendor-resource--white{--resource-color: #f3efe3}.splendor-resource--blue{--resource-color: #3d8ed5}.splendor-resource--green{--resource-color: #40a36b}.splendor-resource--red{--resource-color: #d94848}.splendor-resource--black{--resource-color: #2b2a32}.splendor-resource--gold{--resource-color: #dcb343}.splendor-resource--pink{--resource-color: #ef75ad}.splendor-resource--yellow{--resource-color: #f1c833}.splendor-resource--purple{--resource-color: #7456b9}.splendor-resource--ball i{position:relative;overflow:hidden;border:2px solid #202b3a;background:linear-gradient(to bottom,var(--resource-color) 0 43%,#283241 43% 55%,#f8fbff 55% 100%);box-shadow:inset -3px -3px 5px #00000038,0 2px 3px #0a203d3d}.splendor-nobles{display:grid;gap:7px;margin-top:18px;padding-top:13px;border-top:1px solid var(--splendor-line)}.splendor-noble{padding:8px;border:1px solid var(--splendor-line);border-radius:8px;background:var(--splendor-panel-soft)}.splendor-noble>span,.splendor-noble>strong{display:block}.splendor-noble>span{color:var(--splendor-muted);font-size:9px}.splendor-noble>strong{margin:2px 0 4px;color:var(--splendor-accent);font-size:18px}.splendor-noble>strong small{font-size:8px}.splendor-market{min-width:0;padding:1px 0}.splendor-market-row{display:grid;grid-template-columns:72px 1fr;gap:9px;margin-bottom:10px}.splendor-deck{display:flex;min-height:126px;flex-direction:column;align-items:center;justify-content:center;padding:8px;border:2px solid var(--splendor-accent);border-radius:8px;background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.07) 6px 7px),#322d26;color:#f8e9c5;box-shadow:3px 3px #201a14,6px 6px #c7a35352;cursor:pointer}.splendor-board--pokemon .splendor-deck{border:3px solid #fff;border-radius:13px;background:linear-gradient(135deg,#ed4248 0,#ed4248 49%,#fff 49.5%,#fff 54%,#2a78be 54.5%);color:#152b4d;box-shadow:4px 5px #173c71}.splendor-deck:not(:disabled):hover{transform:translateY(-2px);box-shadow:3px 5px #201a14,7px 8px #c7a35352}.splendor-deck strong{margin:4px 0;color:var(--splendor-accent);font-size:25px}.splendor-board--pokemon .splendor-deck strong{color:#e13f44;text-shadow:0 1px #fff}.splendor-deck span,.splendor-deck small{font-size:9px;font-weight:800}.splendor-market-row__cards{display:grid;min-width:0;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.splendor-card{position:relative;display:flex;min-width:0;min-height:126px;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:radial-gradient(circle at 85% 13%,rgba(255,255,255,.25),transparent 23%),linear-gradient(145deg,var(--card-color, #315f50),#151d1a);color:#fffdf3;box-shadow:0 5px 10px #00000040;transition:transform .14s ease,box-shadow .14s ease}.splendor-card:hover{transform:translateY(-3px);box-shadow:0 9px 18px #00000052}.splendor-board--classic .splendor-card:after{position:absolute;pointer-events:none;content:"";top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(236,208,139,.23);border-radius:5px}.splendor-board--pokemon .splendor-card{min-height:142px;border:3px solid #f7fbff;border-bottom-width:6px;border-radius:15px;background:linear-gradient(#f7fbff,#e8f1fb);color:#182f54;box-shadow:0 5px #15376757}.splendor-card--white{--card-color: #a6a391}.splendor-card--blue{--card-color: #24648c}.splendor-card--green{--card-color: #24704c}.splendor-card--red{--card-color: #913a39}.splendor-card--black{--card-color: #36343a}.splendor-card--gold{--card-color: #9a7025}.splendor-card--pink{--card-color: #b3477a}.splendor-card--yellow{--card-color: #a88721}.splendor-card--purple{--card-color: #664ba1}.splendor-card__top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;padding:6px 8px 0}.splendor-card__level{font-size:8px;font-weight:800;letter-spacing:.08em;opacity:.85}.splendor-card__points{color:#ffe39a;font-family:ui-sans-serif,system-ui,sans-serif;font-size:20px;line-height:1;text-shadow:0 2px 2px rgba(0,0,0,.35)}.splendor-board--pokemon .splendor-card__points{color:#e13e45;text-shadow:none}.splendor-card__points small{display:block;font-size:7px;text-align:right}.splendor-card__crest{position:absolute;top:32px;right:13px;display:grid;width:42px;height:42px;place-items:center;transform:rotate(45deg);border:1px solid rgba(255,232,173,.45)}.splendor-card__crest i{width:20px;height:20px;border:1px solid rgba(255,232,173,.7);background:#ffffff14}.splendor-card__art{display:grid;height:62px;place-items:center;margin:-3px 7px 0;overflow:hidden;border-radius:10px 10px 5px 5px;background:radial-gradient(circle,#fffffff2,#bcdbf6b3 48%,#367bb829 49%)}.splendor-card__art img{width:68px;height:68px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 4px 2px rgba(27,62,106,.25))}.splendor-card__body{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;justify-content:flex-end;padding:6px 8px 7px}.splendor-card__body>strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.splendor-card__evolution{display:flex;flex-direction:column;gap:2px;color:#647997;font-size:7px}.splendor-card__evolution>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.splendor-card__evolution>span:last-child{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:4px}.splendor-card__evolution>span:last-child>small{flex:none;font-size:7px}.splendor-card__evolution .splendor-resource--compact{min-width:21px}.splendor-card__evolution .splendor-resource--compact i{width:13px;height:13px}.splendor-card__evolution .splendor-resource--compact b{font-size:7px}.splendor-card__economy{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;margin-top:5px}.splendor-card__economy>.splendor-resources{justify-content:flex-end}.splendor-card__actions{position:relative;z-index:3;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:0 7px 7px}.splendor-card__actions:has(.ant-btn:only-child){grid-template-columns:1fr}.splendor-card__actions .ant-btn{height:23px;padding-inline:4px;border-color:#ffffff59;background:#00000038;color:#fff;font-size:9px}.splendor-card__actions .ant-btn-primary{border-color:#d2af62;background:#c39c4b;color:#17251f}.splendor-board--pokemon .splendor-card__actions .ant-btn{border-color:#adc4df;background:#fff;color:#234a7d}.splendor-board--pokemon .splendor-card__actions .ant-btn-primary{border-color:#d4343a;background:#e84349;color:#fff}.splendor-card--compact{min-height:100px}.splendor-card--compact .splendor-card__art{height:46px}.splendor-card--compact .splendor-card__art img{width:50px;height:50px}.splendor-action-panel{overflow:auto;max-height:760px}.splendor-action-panel__head{margin-bottom:11px;padding-bottom:10px;border-bottom:1px solid var(--splendor-line)}.splendor-action-panel__head span,.splendor-action-panel__head strong{display:block}.splendor-action-panel__head span{color:var(--splendor-accent);font-size:9px;font-weight:900;letter-spacing:.15em}.splendor-action-panel__head strong{margin-top:2px;font-size:16px}.splendor-action-group>span{color:var(--splendor-muted);font-size:10px}.splendor-main-evolution{margin-top:12px;padding-top:10px;border-top:1px solid var(--splendor-line)}.splendor-main-evolution .splendor-evolution-list{margin-top:6px}.splendor-take-options{display:grid;gap:5px;margin-top:6px}.splendor-take-options>button,.splendor-evolution-list>button,.splendor-choice-list>button{width:100%;padding:7px 8px;border:1px solid var(--splendor-line);border-radius:7px;background:var(--splendor-panel-soft);color:inherit;cursor:pointer}.splendor-take-options>button{display:flex;align-items:center;justify-content:space-between;gap:6px}.splendor-take-options>button:not(:disabled):hover,.splendor-evolution-list>button:not(:disabled):hover,.splendor-choice-list>button:not(:disabled):hover{border-color:var(--splendor-accent);background:#c7a35329}.splendor-take-options>button>span:last-child{color:var(--splendor-muted);font-size:8px}.splendor-action-hint,.splendor-own-reserve>p,.splendor-return-panel>p{margin:8px 0;color:var(--splendor-muted);font-size:9px;line-height:1.55}.splendor-return-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:10px 0}.splendor-return-grid>div{display:grid;place-items:center;padding:6px;border:1px solid var(--splendor-line);border-radius:7px}.splendor-return-grid>div>div{display:flex;align-items:center;gap:6px;margin-top:3px}.splendor-return-grid button{display:grid;width:24px;height:24px;place-items:center;padding:0;border:1px solid var(--splendor-line);border-radius:50%;background:transparent;color:inherit}.splendor-choice-list,.splendor-evolution-list{display:grid;gap:7px}.splendor-choice-list>button{padding:0;text-align:left}.splendor-evolution-list>button{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;font-size:10px}.splendor-evolution-list>button i{color:var(--splendor-accent);font-size:17px;font-style:normal}.splendor-own-reserve{margin-top:14px;padding-top:12px;border-top:1px solid var(--splendor-line)}.splendor-own-reserve__cards{display:grid;gap:7px}.splendor-finale{width:min(680px,calc(100% - 32px));margin:8vh auto 0;padding:clamp(28px,5vw,64px);border:1px solid var(--splendor-line);border-radius:20px;background:var(--splendor-panel);box-shadow:0 24px 70px #00000059;text-align:center}.splendor-board--classic .splendor-finale{box-shadow:inset 0 0 0 7px #4d2d20,inset 0 0 0 9px #ae824b,0 24px 70px #00000059}.splendor-board--pokemon .splendor-finale{border:6px solid #fff;box-shadow:0 14px #16417a40,0 24px 70px #0003}.splendor-finale h1{margin:9px 0;color:var(--splendor-text);font-size:clamp(30px,5vw,52px)}.splendor-finale>p{color:var(--splendor-muted)}.splendor-ranking{display:grid;gap:7px;margin:25px 0;padding:0;list-style:none;text-align:left}.splendor-ranking li{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;padding:10px 12px;border:1px solid var(--splendor-line);border-radius:8px}.splendor-ranking li>span{grid-row:span 2;color:var(--splendor-accent);font-size:18px}.splendor-ranking li>small{grid-column:2 / 4;color:var(--splendor-muted)}.splendor-ranking li.is-winner{border-color:var(--splendor-accent);background:var(--splendor-panel-soft)}.game-type-note--splendor,.game-type-note--splendor_pokemon{border-left:3px solid #b58b3d}.game-type-note--splendor_pokemon{border-left-color:#3575b8;background:linear-gradient(110deg,#fff3f3,#f1f7ff)}.room-rule-summary--splendor{border-color:#b49354;background:linear-gradient(110deg,#f3ecda,#e7f0e7)}.room-rule-summary--splendor_pokemon{border-color:#8eb5dd;background:linear-gradient(110deg,#fff1f1,#eef6ff)}@media (max-width: 1180px){.splendor-table{grid-template-columns:160px minmax(550px,1fr)}.splendor-action-panel{grid-column:1 / -1;display:grid;max-height:none;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);gap:12px}.splendor-action-panel__head,.splendor-own-reserve{grid-column:1 / -1}}@media (max-width: 860px){.splendor-board{padding-inline:10px}.splendor-board__header{align-items:flex-start;flex-direction:column}.splendor-player-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.splendor-table{grid-template-columns:1fr;padding:10px}.splendor-supply{display:grid;grid-template-columns:1fr 1fr;gap:12px}.splendor-supply>.splendor-section-title{grid-column:1 / -1}.splendor-nobles{margin:0;padding:0 0 0 12px;border-top:0;border-left:1px solid var(--splendor-line)}.splendor-market-row{grid-template-columns:60px minmax(530px,1fr);overflow-x:auto}.splendor-action-panel{grid-column:auto;grid-template-columns:1fr}.splendor-action-panel__head,.splendor-own-reserve{grid-column:auto}}@media (max-width: 560px){.splendor-player-strip,.splendor-supply{grid-template-columns:1fr}.splendor-nobles{padding:12px 0 0;border-top:1px solid var(--splendor-line);border-left:0}}@media (prefers-reduced-motion: reduce){.splendor-card{transition:none}}.digit-bomb-board{--digit-bomb-paper: #f4f4f4;--digit-bomb-paper-raised: #ffffff;--digit-bomb-paper-muted: #e8e8e8;--digit-bomb-ink: #111111;--digit-bomb-muted: #666666;--digit-bomb-line: #c8c8c8;--digit-bomb-line-strong: #333333;--digit-bomb-blue: #111111;--digit-bomb-blue-soft: rgba(0, 0, 0, .04);--digit-bomb-red: #555555;--digit-bomb-red-soft: rgba(0, 0, 0, .06);--digit-bomb-mono: "SFMono-Regular", "Roboto Mono", Consolas, "Liberation Mono", monospace;position:relative;min-height:100vh;overflow:hidden;padding:20px clamp(18px,2.7vw,42px) 44px;background:var(--digit-bomb-paper);color:var(--digit-bomb-ink);font-family:Inter,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}.digit-bomb-grid-bg{display:none}.digit-bomb-board>:not(.digit-bomb-grid-bg){position:relative;z-index:1}.digit-bomb-board button:focus-visible,.digit-bomb-board input:focus-visible,.digit-bomb-board .ant-btn:focus-visible{outline:2px solid var(--digit-bomb-blue);outline-offset:2px}.digit-bomb-board button:disabled{cursor:not-allowed;filter:grayscale(.2);opacity:.48}.digit-bomb-header{position:relative;display:flex;width:min(1240px,100%);align-items:center;justify-content:space-between;gap:28px;margin:0 auto 14px;padding:12px 16px;border:1px solid var(--digit-bomb-line-strong);background:var(--digit-bomb-paper-raised)}.digit-bomb-header:after{position:absolute;top:7px;right:8px;width:28px;height:8px;border-top:1px solid var(--digit-bomb-line);border-bottom:1px solid var(--digit-bomb-line);content:""}.digit-bomb-kicker{color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:9px;font-weight:700;letter-spacing:.18em}.digit-bomb-header h1{margin:3px 0 1px;color:var(--digit-bomb-ink);font-size:clamp(22px,2.4vw,30px);font-weight:750;letter-spacing:.04em;line-height:1.06}.digit-bomb-header p{margin:5px 0 0;color:var(--digit-bomb-muted);font-family:var(--digit-bomb-mono);font-size:10px;letter-spacing:.04em}.digit-bomb-header__status{display:flex;align-items:center;gap:14px}.digit-bomb-header__status>span{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid var(--digit-bomb-red);color:var(--digit-bomb-red);font-family:var(--digit-bomb-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.digit-bomb-header__status>span i{width:6px;height:6px;background:currentColor}.digit-bomb-header__status>span.is-online{border-color:var(--digit-bomb-blue);color:var(--digit-bomb-blue)}.digit-bomb-board .ant-btn{border-color:var(--digit-bomb-line-strong);border-radius:1px;background:var(--digit-bomb-paper-raised);color:var(--digit-bomb-ink);box-shadow:none;font-family:var(--digit-bomb-mono);font-size:11px;font-weight:700;letter-spacing:.03em}.digit-bomb-board .ant-btn:not(:disabled):hover{border-color:var(--digit-bomb-blue);background:#fff;color:var(--digit-bomb-blue);box-shadow:none}.digit-bomb-board .ant-btn-primary{border-color:var(--digit-bomb-blue);background:var(--digit-bomb-blue);color:#fff;box-shadow:none}.digit-bomb-board .ant-btn-primary:not(:disabled):hover{border-color:var(--digit-bomb-ink);background:var(--digit-bomb-ink);color:#fff}.digit-bomb-board .ant-btn-dangerous{border-color:var(--digit-bomb-red);color:var(--digit-bomb-red)}.digit-bomb-versus{display:grid;width:min(1240px,100%);grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);align-items:center;gap:12px;margin:0 auto 14px}.digit-bomb-player{position:relative;display:grid;min-width:0;grid-template-columns:auto 1fr auto;align-items:center;gap:11px 13px;padding:28px 15px 13px;border:1px solid var(--digit-bomb-line);background:var(--digit-bomb-paper-raised)}.digit-bomb-player:before{position:absolute;top:7px;left:10px;color:var(--digit-bomb-muted);content:"OPERATOR FILE / 01";font-family:var(--digit-bomb-mono);font-size:8px;font-weight:700;letter-spacing:.11em}.digit-bomb-player:nth-child(3):before{content:"OPERATOR FILE / 02"}.digit-bomb-player:after{position:absolute;height:3px;right:0;bottom:0;left:0;background:var(--digit-bomb-line-strong);content:""}.digit-bomb-player.is-active{border-color:var(--digit-bomb-blue);box-shadow:inset 0 0 0 1px var(--digit-bomb-blue)}.digit-bomb-player.is-active:after{background:var(--digit-bomb-blue)}.digit-bomb-player.is-self{background:#fafafa}.digit-bomb-avatar{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--digit-bomb-line-strong);border-radius:50%;background:var(--digit-bomb-paper-raised);color:var(--digit-bomb-ink);box-shadow:inset 0 0 0 3px var(--digit-bomb-paper-raised),inset 0 0 0 4px var(--digit-bomb-line);font-family:var(--digit-bomb-mono);font-size:17px;font-weight:800}.digit-bomb-player:nth-child(3) .digit-bomb-avatar{border-style:dashed}.digit-bomb-player__identity{min-width:0}.digit-bomb-player__identity span,.digit-bomb-player__identity strong,.digit-bomb-player__identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.digit-bomb-player__identity span{color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:8px;font-weight:700;letter-spacing:.14em}.digit-bomb-player__identity strong{color:var(--digit-bomb-ink);font-size:16px}.digit-bomb-player__identity small{color:var(--digit-bomb-muted);font-size:9px}.digit-bomb-score{min-width:68px;padding:3px 8px 3px 12px;border-left:1px solid var(--digit-bomb-line);text-align:right}.digit-bomb-score strong,.digit-bomb-score span{display:block}.digit-bomb-score strong{color:var(--digit-bomb-ink);font-family:var(--digit-bomb-mono);font-size:27px;font-variant-numeric:tabular-nums;line-height:1}.digit-bomb-score span{color:var(--digit-bomb-muted);font-size:8px}.digit-bomb-secret-light{display:flex;align-items:center;grid-column:1 / -1;gap:4px;justify-self:end;padding:2px 4px;border:1px solid var(--digit-bomb-line);color:var(--digit-bomb-muted);font-family:var(--digit-bomb-mono);font-size:7px;letter-spacing:.04em}.digit-bomb-secret-light i{width:5px;height:5px;background:var(--digit-bomb-line-strong)}.digit-bomb-secret-light.is-ready{border-color:var(--digit-bomb-blue);color:var(--digit-bomb-blue)}.digit-bomb-secret-light.is-ready i{background:var(--digit-bomb-blue)}.digit-bomb-card-backs{display:grid;max-width:100%;grid-column:1 / -1;grid-template-columns:repeat(var(--digit-bomb-digits),minmax(12px,26px));justify-content:center;gap:clamp(4px,.55vw,7px);margin-top:5px;padding:9px 0 2px;border-top:1px solid var(--digit-bomb-line)}.digit-bomb-card-backs i{aspect-ratio:.72;min-width:0;border:1px solid var(--digit-bomb-line-strong);background:#e5e5e5}.digit-bomb-card-backs.is-loaded i{border-color:var(--digit-bomb-blue);background:#ddd}.digit-bomb-card-backs i.is-revealed,.digit-bomb-card-backs.is-revealed i{display:grid;place-items:center;border-color:var(--digit-bomb-blue)!important;background:var(--digit-bomb-paper-raised)!important;color:var(--digit-bomb-ink)!important;box-shadow:inset 0 -3px var(--digit-bomb-blue)!important;font-family:var(--digit-bomb-mono)!important;font-size:clamp(13px,2vw,20px)!important;font-style:normal!important;font-weight:800!important;text-shadow:none!important}.digit-bomb-versus__mark{position:relative;display:grid;height:58px;place-items:center}.digit-bomb-versus__mark span{z-index:1;padding:4px 5px;border:1px solid var(--digit-bomb-red);background:var(--digit-bomb-paper);color:var(--digit-bomb-red);font-family:var(--digit-bomb-mono);font-size:14px;font-weight:800;letter-spacing:.04em;transform:none}.digit-bomb-versus__mark i{position:absolute;width:100%;height:1px;background:var(--digit-bomb-line-strong)}.digit-bomb-console{position:relative;display:grid;width:min(660px,100%);min-height:188px;place-items:center;margin:0 auto 14px;overflow:hidden;padding:31px 22px 20px;border:1px solid var(--digit-bomb-line-strong);border-top:3px solid var(--digit-bomb-ink);background:var(--digit-bomb-paper-raised)}.digit-bomb-console:before{position:absolute;top:9px;left:13px;color:var(--digit-bomb-muted);content:"CONTROL PROCEDURE / DB-02 / MANUAL AUTHORIZATION";font-family:var(--digit-bomb-mono);font-size:8px;font-weight:700;letter-spacing:.1em}.digit-bomb-console__scan{display:none}@keyframes digit-bomb-scan{0%{transform:translateY(0);opacity:0}12%,88%{opacity:.42}to{transform:translateY(205px);opacity:0}}.digit-bomb-entry-panel,.digit-bomb-feedback-panel,.digit-bomb-waiting{width:min(520px,100%);text-align:center}.digit-bomb-entry-panel>span,.digit-bomb-feedback-panel>span,.digit-bomb-waiting>span{display:inline-block;padding:3px 7px;border:1px solid var(--digit-bomb-blue);color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:9px;font-weight:700;letter-spacing:.12em}.digit-bomb-entry-panel h2,.digit-bomb-feedback-panel h2,.digit-bomb-waiting h2{margin:7px 0 5px;color:var(--digit-bomb-ink);font-size:clamp(17px,2vw,22px);font-weight:720;letter-spacing:.02em}.digit-bomb-entry-panel p,.digit-bomb-feedback-panel p{margin:0 auto 10px;color:var(--digit-bomb-muted);font-size:11px;line-height:1.7}.digit-bomb-entry{position:relative;width:min(300px,100%);margin:0 auto 10px}.digit-bomb-entry input{width:100%;height:48px;padding:5px 50px 5px 12px;border:1px solid var(--digit-bomb-line-strong);border-radius:0;outline:0;background:#fff;color:var(--digit-bomb-ink);box-shadow:none;font-family:var(--digit-bomb-mono);font-size:clamp(21px,3vw,28px);font-weight:800;letter-spacing:.28em;text-align:center}.digit-bomb-entry--guess input{border-color:var(--digit-bomb-line-strong);box-shadow:none}.digit-bomb-entry>span{position:absolute;right:10px;bottom:8px;color:var(--digit-bomb-muted);font-family:var(--digit-bomb-mono);font-size:8px}.digit-bomb-entry-actions{display:flex;justify-content:center;gap:8px}.digit-bomb-feedback-panel>code,.digit-bomb-waiting>code{display:inline-block;margin:6px 0 12px;padding:7px 14px;border:1px solid var(--digit-bomb-line-strong);border-left:4px solid var(--digit-bomb-red);background:#fff;color:var(--digit-bomb-ink);font-family:var(--digit-bomb-mono);font-size:clamp(30px,6vw,52px);font-weight:800;letter-spacing:.2em;line-height:1;box-shadow:3px 3px #20262b14}.digit-bomb-feedback-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;margin:0 auto 11px}.digit-bomb-feedback-options button{display:grid;min-width:0;min-height:64px;place-items:center;padding:6px;border:1px solid var(--digit-bomb-line-strong);border-radius:0;background:var(--digit-bomb-paper-raised);color:var(--digit-bomb-ink);cursor:pointer;box-shadow:none}.digit-bomb-feedback-options button:not(:disabled):hover{border-color:var(--digit-bomb-blue);background:var(--digit-bomb-blue);color:#fff;box-shadow:none}.digit-bomb-feedback-options button:last-child{border-color:var(--digit-bomb-red)}.digit-bomb-feedback-options button:last-child:not(:disabled):hover{background:var(--digit-bomb-red)}.digit-bomb-feedback-options button strong{font-family:var(--digit-bomb-mono);font-size:24px;line-height:1}.digit-bomb-feedback-options button span{font-size:8px}.digit-bomb-feedback-panel>small{color:var(--digit-bomb-muted);font-size:8px}.digit-bomb-waiting{display:grid;place-items:center}.digit-bomb-radar{position:relative;width:42px;height:42px;margin-bottom:9px;overflow:hidden;border:1px solid var(--digit-bomb-line-strong);border-radius:50%;background:#f4f4f4}.digit-bomb-radar:after{display:none}.digit-bomb-radar i{display:none}.digit-bomb-radar i:first-child{top:16px;left:37px}.digit-bomb-radar i:last-child{right:16px;bottom:18px}@keyframes digit-bomb-radar{to{transform:rotate(360deg)}}.digit-bomb-histories{display:grid;width:min(840px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto}.digit-bomb-history{min-width:0;min-height:170px;padding:12px;border:1px solid var(--digit-bomb-line);background:var(--digit-bomb-paper-raised)}.digit-bomb-history.is-active{border-color:var(--digit-bomb-blue);box-shadow:inset 3px 0 var(--digit-bomb-blue)}.digit-bomb-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:2px solid var(--digit-bomb-line-strong)}.digit-bomb-history>header span,.digit-bomb-history>header strong,.digit-bomb-history>header>b small{display:block}.digit-bomb-history>header span{color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:8px;font-weight:700;letter-spacing:.12em}.digit-bomb-history>header strong{color:var(--digit-bomb-ink);font-size:13px}.digit-bomb-history>header>b{padding-left:10px;border-left:1px solid var(--digit-bomb-line);color:var(--digit-bomb-ink);font-family:var(--digit-bomb-mono);font-size:20px;font-variant-numeric:tabular-nums;text-align:right}.digit-bomb-history>header>b small{color:var(--digit-bomb-muted);font-size:7px}.digit-bomb-history ol{display:grid;max-height:220px;gap:0;margin:0;overflow:auto;padding:0;list-style:none}.digit-bomb-history li{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;min-height:38px;padding:6px 8px;border-right:1px solid var(--digit-bomb-line);border-bottom:1px solid var(--digit-bomb-line);border-left:3px solid var(--digit-bomb-line-strong);background:#fbfaf6d1}.digit-bomb-history li>span{color:var(--digit-bomb-muted);font-family:var(--digit-bomb-mono);font-size:9px}.digit-bomb-history li code{color:var(--digit-bomb-ink);font-family:var(--digit-bomb-mono);font-size:17px;font-weight:800;letter-spacing:.18em}.digit-bomb-history li>b{color:var(--digit-bomb-muted);font-family:var(--digit-bomb-mono);font-size:9px}.digit-bomb-history li.is-defused{border-color:var(--digit-bomb-red);border-left-width:5px;background:var(--digit-bomb-red-soft)}.digit-bomb-history li.is-defused code,.digit-bomb-history li.is-defused>b{color:var(--digit-bomb-red)}.digit-bomb-history__empty{display:grid;min-height:88px;place-items:center;align-content:center;color:var(--digit-bomb-muted);text-align:center}.digit-bomb-history__empty i{width:37px;height:29px;margin-bottom:7px;border:1px solid var(--digit-bomb-line-strong);background:linear-gradient(45deg,transparent 47%,var(--digit-bomb-line) 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,var(--digit-bomb-line) 48% 52%,transparent 53%);box-shadow:3px 3px 0 var(--digit-bomb-paper-muted)}.digit-bomb-history__empty strong,.digit-bomb-history__empty span{display:block}.digit-bomb-history__empty strong{color:var(--digit-bomb-ink);font-size:11px}.digit-bomb-history__empty span{font-size:8px}.digit-bomb-round-modal{position:fixed!important;z-index:80!important;display:grid;top:0;right:0;bottom:0;left:0;place-items:center;padding:20px;background:#eeeeeef0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.digit-bomb-round-modal__card{position:relative;z-index:2;width:min(580px,100%);padding:clamp(38px,5vw,52px) clamp(24px,5vw,48px) clamp(26px,5vw,42px);border:1px solid var(--digit-bomb-line-strong);border-top:4px solid var(--digit-bomb-ink);background:var(--digit-bomb-paper-raised);box-shadow:0 18px 48px #0000001f;text-align:center;animation:digit-bomb-modal-in .36s ease-out both}.digit-bomb-round-modal__card:before{position:absolute;top:10px;left:12px;color:var(--digit-bomb-muted);content:"FORM DB-04 / RESULT AUTHORIZED";font-family:var(--digit-bomb-mono);font-size:8px;font-weight:700;letter-spacing:.1em}@keyframes digit-bomb-modal-in{0%{transform:translateY(14px);opacity:0}}.digit-bomb-round-modal__card h2{margin:10px 0 8px;color:var(--digit-bomb-ink);font-size:clamp(27px,5vw,40px);font-weight:760;letter-spacing:.02em}.digit-bomb-round-modal__card>p{color:var(--digit-bomb-muted)}.digit-bomb-round-modal__card>p strong{display:inline-block;padding:1px 5px;border:1px solid var(--digit-bomb-red);color:var(--digit-bomb-red);font-family:var(--digit-bomb-mono);font-size:20px}.digit-bomb-vote-state{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 10px}.digit-bomb-vote-state>div{padding:9px;border:1px solid var(--digit-bomb-line);background:#fbfaf6d9}.digit-bomb-vote-state span,.digit-bomb-vote-state strong{display:block}.digit-bomb-vote-state span{color:var(--digit-bomb-muted);font-size:8px}.digit-bomb-vote-state strong{color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:11px}.digit-bomb-vote-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.digit-bomb-round-modal__card>small{display:block;margin-top:10px;color:var(--digit-bomb-muted);font-size:8px}.digit-bomb-fireworks{display:none}.digit-bomb-fireworks i{position:absolute;width:3px;height:3px;top:48%;left:50%;background:var(--digit-bomb-blue);box-shadow:0 -58px var(--digit-bomb-red),41px -41px var(--digit-bomb-blue),58px 0 var(--digit-bomb-red),41px 41px var(--digit-bomb-blue),0 58px var(--digit-bomb-red),-41px 41px var(--digit-bomb-blue),-58px 0 var(--digit-bomb-red),-41px -41px var(--digit-bomb-blue);animation:digit-bomb-firework 2.8s ease-out infinite}.digit-bomb-fireworks i:nth-child(2n){left:18%;top:34%;animation-delay:-.7s}.digit-bomb-fireworks i:nth-child(3n){left:80%;top:30%;animation-delay:-1.3s}.digit-bomb-fireworks i:nth-child(4n){left:78%;top:76%;animation-delay:-.25s}.digit-bomb-fireworks i:nth-child(5n){left:20%;top:78%;animation-delay:-1.75s}@keyframes digit-bomb-firework{0%{transform:scale(.05);opacity:0}18%{opacity:.7}68%{transform:scale(1);opacity:.45}to{transform:scale(1.15) translateY(12px);opacity:0}}.digit-bomb-board--finished{display:grid;place-items:center}.digit-bomb-final{width:min(720px,calc(100% - 24px));padding:clamp(42px,6vw,70px) clamp(26px,6vw,64px);border:1px solid var(--digit-bomb-line-strong);border-top:5px solid var(--digit-bomb-ink);background:var(--digit-bomb-paper-raised);box-shadow:0 18px 48px #0000001a;text-align:center}.digit-bomb-final h1{margin:11px 0 8px;color:var(--digit-bomb-ink);font-size:clamp(29px,5vw,47px);font-weight:780;letter-spacing:.02em}.digit-bomb-final>p{color:var(--digit-bomb-muted)}.digit-bomb-final__ranking{display:grid;gap:9px;margin:28px 0;padding:0;list-style:none;text-align:left}.digit-bomb-final__ranking li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--digit-bomb-line);background:#fbfaf6e0;animation:digit-bomb-rank-in .52s both}.digit-bomb-final__ranking li:nth-child(2){animation-delay:.13s}@keyframes digit-bomb-rank-in{0%{transform:translate(-24px);opacity:0}}.digit-bomb-final__ranking li>span{color:var(--digit-bomb-red);font-family:var(--digit-bomb-mono);font-size:19px}.digit-bomb-final__ranking li>div{min-width:0}.digit-bomb-final__ranking li>div strong{display:block;margin-bottom:5px}.digit-bomb-final__ranking li>div i{display:block;width:var(--digit-score-ratio);height:4px;transform-origin:left;background:var(--digit-bomb-ink);animation:digit-bomb-score-grow .9s .25s both}@keyframes digit-bomb-score-grow{0%{transform:scaleX(0)}}.digit-bomb-final__ranking li>b{color:var(--digit-bomb-blue);font-family:var(--digit-bomb-mono);font-size:26px}.digit-bomb-final__ranking li>b small{margin-left:3px;color:var(--digit-bomb-muted);font-size:8px}.digit-bomb-final__ranking li.is-winner{border-color:var(--digit-bomb-red);box-shadow:inset 5px 0 var(--digit-bomb-red)}.digit-bomb-final__ranking li.is-winner>b{color:var(--digit-bomb-red)}.digit-bomb-sync{width:min(400px,calc(100% - 30px));margin:20vh auto;padding:30px;border:1px solid var(--digit-bomb-line-strong);border-left:5px solid var(--digit-bomb-blue);background:var(--digit-bomb-paper-raised);color:var(--digit-bomb-blue);box-shadow:5px 5px #20262b1a;font-family:var(--digit-bomb-mono);text-align:center}.game-type-note--digit_bomb{border-color:#9da7ae;border-left:4px solid #a33c35;border-radius:2px;background:linear-gradient(rgba(29,93,122,.055) 1px,transparent 1px) 0 0 / 18px 18px,linear-gradient(90deg,rgba(29,93,122,.055) 1px,transparent 1px) 0 0 / 18px 18px,#f7f6f1;box-shadow:3px 3px #20262b12}.game-type-note--digit_bomb strong{color:#1d5d7a}.game-type-note--digit_bomb p{color:#4e5860}.room-rule-summary--digit_bomb{border-color:#929ca4;border-radius:2px;background:linear-gradient(rgba(29,93,122,.055) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(90deg,rgba(29,93,122,.055) 1px,transparent 1px) 0 0 / 20px 20px,#f7f6f1;box-shadow:inset 4px 0 #1d5d7a,3px 3px #20262b12}.room-rule-summary--digit_bomb>div{border-color:#aeb5ba;background:#ffffff94}.room-rule-summary--digit_bomb span{color:#657078;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:10px;letter-spacing:.06em}.room-rule-summary--digit_bomb strong{color:#20262b}@media (max-width: 760px){.digit-bomb-board{padding:12px 10px 34px;background:var(--digit-bomb-paper)}.digit-bomb-header{align-items:flex-start;flex-direction:column;gap:16px;padding:14px 13px 13px 16px}.digit-bomb-header__status{width:100%;flex-wrap:wrap;justify-content:space-between}.digit-bomb-versus{grid-template-columns:1fr;gap:8px}.digit-bomb-versus__mark{width:min(220px,78%);height:28px;margin:0 auto}.digit-bomb-versus__mark i{width:100%;height:1px;transform:none}.digit-bomb-console{min-height:180px;padding:31px 16px 20px}.digit-bomb-histories{grid-template-columns:1fr}.digit-bomb-entry-actions{flex-wrap:wrap}.digit-bomb-feedback-options{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.digit-bomb-final{width:100%}}@media (max-width: 480px){.digit-bomb-player{grid-template-columns:auto 1fr;padding-inline:12px}.digit-bomb-score{grid-column:1 / -1;padding:8px 0 0;border-top:1px solid var(--digit-bomb-line);border-left:0;text-align:left}.digit-bomb-entry input{height:46px;padding-right:48px;font-size:clamp(21px,8vw,28px)}.digit-bomb-feedback-options{grid-template-columns:repeat(auto-fit,minmax(52px,1fr))}.digit-bomb-feedback-options button{min-height:58px}.digit-bomb-vote-actions,.digit-bomb-vote-state{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.digit-bomb-console__scan,.digit-bomb-radar:after,.digit-bomb-fireworks i,.digit-bomb-round-modal__card,.digit-bomb-final__ranking li,.digit-bomb-final__ranking li>div i{animation:none}}
