:root {
  --fg-ink:#302219; --fg-muted:#705d50; --fg-paper:#fffcf6; --fg-line:rgba(106,76,43,.15);
  --fg-red:#f05e43; --fg-red-dark:#a63324; --fg-green:#16b88a; --fg-blue:#579bff;
  --fg-gold:#ffc332; --fg-purple:#a875f1; --fg-page:min(1160px,calc(100% - 40px));
  color:var(--fg-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  font-synthesis:none; font-size:19px;
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;background:linear-gradient(145deg,#fffaf2 0%,#fff0e7 52%,#f4f8ef 100%);color:var(--fg-ink);font-size:19px;line-height:1.65}
button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit}
.fg-header{width:var(--fg-page);min-height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--fg-line)}
.fg-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}.fg-brand-mark{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;color:#fff7e8;background:linear-gradient(145deg,#e96650,#a8342a);box-shadow:0 7px 17px rgba(166,52,42,.2);font:900 26px Georgia,serif}.fg-brand strong,.fg-brand small{display:block}.fg-brand strong{font:800 20px Georgia,"Noto Serif TC",serif}.fg-brand small{margin-top:2px;color:var(--fg-muted);font-size:14px;letter-spacing:.06em}
.fg-header-actions{display:flex;align-items:center;gap:20px;color:var(--fg-muted);font-size:15px;font-weight:700}.fg-header-actions a{text-decoration:none;color:var(--fg-red-dark)}.fg-connection{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.fg-connection i{width:8px;height:8px;border-radius:50%;background:#d3a44e;box-shadow:0 0 0 3px rgba(211,164,78,.15)}.fg-connection.online i{background:#27a27e;box-shadow:0 0 0 3px rgba(39,162,126,.14)}.fg-connection.offline i{background:#cf4a3b;box-shadow:0 0 0 3px rgba(207,74,59,.14)}
.fg-main{width:var(--fg-page);min-height:calc(100vh - 170px);margin:auto;padding:26px 0 45px}.fg-loading{min-height:55vh;display:grid;place-content:center;justify-items:center;color:var(--fg-muted)}.fg-loading h1{margin:0;font:800 clamp(25px,4vw,36px)/1.2 Georgia,"Noto Serif TC",serif;color:var(--fg-ink);text-align:center}.fg-loading .fg-loading-intro{max-width:680px;margin:10px 0 20px;text-align:center}.fg-loading span{width:27px;height:27px;border:3px solid #eadcc5;border-top-color:var(--fg-red);border-radius:50%;animation:fgspin .8s linear infinite}.fg-loading>p:last-child{margin:12px 0 0}@keyframes fgspin{to{transform:rotate(360deg)}}
.fg-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:14px 0 22px}.fg-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--fg-red-dark);font-size:15px;font-weight:900;letter-spacing:.1em}.fg-eyebrow:before{content:"";width:22px;height:2px;background:#d29a36;border-radius:4px}.fg-page-head h1{margin:8px 0 4px;font:800 clamp(29px,4vw,42px)/1.15 Georgia,"Noto Serif TC",serif;letter-spacing:-.03em}.fg-page-head p{margin:0;color:var(--fg-muted);font-size:16px}.fg-profile{display:flex;align-items:center;gap:10px;padding:9px 13px 9px 9px;border:1px solid var(--fg-line);border-radius:17px;background:rgba(255,253,248,.84);box-shadow:0 7px 20px rgba(95,64,34,.06)}.fg-avatar{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border:1.5px solid rgba(207,74,59,.55);border-radius:50%;color:var(--fg-red-dark);background:linear-gradient(145deg,#fff8e6,#f4d9a5);font:800 22px Georgia,serif}.fg-profile strong,.fg-profile small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fg-profile strong{font-size:16px}.fg-profile small{margin-top:2px;color:var(--fg-muted);font-size:13px}
.fg-tabs{display:flex;gap:6px;padding:5px;margin:0 0 22px;border:1px solid var(--fg-line);border-radius:18px;background:rgba(255,253,248,.77)}.fg-tab{flex:1;min-height:44px;border:0;border-radius:13px;background:transparent;color:var(--fg-muted);font-size:16px;font-weight:800;cursor:pointer}.fg-tab:hover{color:var(--fg-ink);background:rgba(244,229,204,.5)}.fg-tab.active{color:#fff;background:linear-gradient(135deg,#d95a46,#a8372d);box-shadow:0 5px 13px rgba(168,55,45,.2)}
.fg-grid{display:grid;gap:15px}.fg-home-grid{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);align-items:stretch}.fg-card{padding:20px;border:1px solid var(--fg-line);border-radius:21px;background:rgba(255,253,248,.9);box-shadow:0 12px 28px rgba(88,58,31,.065)}.fg-hero-card{position:relative;overflow:hidden;min-height:242px;padding:clamp(22px,4vw,34px);border-color:rgba(207,74,59,.28);background:linear-gradient(140deg,#ffedc5,#ffd6b7 55%,#ffbe9b)}.fg-hero-card:after{content:"棋";position:absolute;right:24px;bottom:-52px;color:rgba(181,67,50,.08);font:900 205px Georgia,serif;pointer-events:none}.fg-hero-card h2{position:relative;z-index:1;margin:8px 0 6px;font:800 clamp(25px,3.4vw,36px)/1.15 Georgia,"Noto Serif TC",serif}.fg-hero-card p{position:relative;z-index:1;max-width:490px;margin:0 0 18px;color:#71553e;font-size:16px;line-height:1.7}.fg-meta{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}.fg-pill{display:inline-flex;align-items:center;min-height:30px;padding:4px 11px;border:1px solid rgba(112,75,39,.13);border-radius:99px;background:rgba(255,251,241,.76);color:#5c4934;font-size:14px;font-weight:800}
.fg-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:13px;text-decoration:none;font-size:16px;font-weight:850;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.fg-button:hover{transform:translateY(-1px);filter:brightness(1.02)}.fg-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.fg-primary{position:relative;z-index:1;color:#fffaf3;background:linear-gradient(135deg,#d95845,#a33229);box-shadow:0 6px 15px rgba(153,48,39,.2)}.fg-secondary{color:var(--fg-red-dark);border-color:rgba(166,57,47,.19);background:#fffaf1}.fg-green{color:#fff;background:linear-gradient(135deg,#20a681,#087b62);box-shadow:0 6px 15px rgba(8,123,98,.17)}.fg-quiet{color:var(--fg-muted);border-color:var(--fg-line);background:rgba(255,253,248,.9)}.fg-danger{color:#fff;background:linear-gradient(135deg,#d95545,#9f3029)}.fg-inline{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.fg-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.fg-section-title h2{margin:0;font:800 21px Georgia,"Noto Serif TC",serif}.fg-section-title p{margin:0;color:var(--fg-muted);font-size:14px}
.fg-game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.fg-game-tile{position:relative;display:grid;min-height:166px;align-content:space-between;gap:16px;padding:16px;border:1px solid var(--fg-line);border-radius:18px;background:rgba(255,253,248,.93);text-align:left;box-shadow:0 7px 18px rgba(88,58,31,.05);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.fg-game-tile:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(88,58,31,.1)}.fg-game-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(207,74,59,.14);border-radius:17px;background:linear-gradient(145deg,#fff4d5,#f7dca6);font-size:32px;box-shadow:inset 0 1px 0 #fff}.fg-game-tile:nth-child(2) .fg-game-icon{background:linear-gradient(145deg,#edf5fa,#c9dfea)}.fg-game-tile:nth-child(3) .fg-game-icon{background:linear-gradient(145deg,#f1f5db,#d8e8b9)}.fg-game-tile:nth-child(4) .fg-game-icon{background:linear-gradient(145deg,#fff0e7,#ebc7b2)}.fg-game-tile:nth-child(5) .fg-game-icon{background:linear-gradient(145deg,#f1e6ff,#dcc6fb)}.fg-game-tile strong{display:block;font:800 17px Georgia,"Noto Serif TC",serif}.fg-game-tile small{display:block;color:var(--fg-muted);font-size:14px}.fg-game-tile em{position:absolute;right:14px;top:14px;color:#a63324;font-size:21px;font-style:normal}
.fg-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fg-shortcut{display:flex;min-height:90px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:13px;border:1px solid var(--fg-line);border-radius:16px;background:rgba(255,253,248,.92);text-align:left;cursor:pointer}.fg-shortcut span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#fff;background:var(--fg-green);font-size:18px;font-weight:900}.fg-shortcut:nth-child(2) span{background:#579bff}.fg-shortcut:nth-child(3) span{color:#694810;background:#f0cb74}.fg-shortcut:nth-child(4) span{background:#a875f1}.fg-shortcut strong{font:800 16px Georgia,"Noto Serif TC",serif}.fg-stack{display:grid;gap:15px}.fg-announcement{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border:1px solid rgba(210,154,54,.28);border-radius:15px;background:#fff7de;color:#635234;font-size:15px;line-height:1.6}.fg-announcement b{color:var(--fg-red-dark)}
.fg-play-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:15px;align-items:stretch}.fg-section-card{padding:20px;border:1px solid var(--fg-line);border-radius:20px;background:rgba(255,253,248,.9);box-shadow:0 9px 24px rgba(88,58,31,.06)}.fg-section-card h2{margin:0 0 7px;font:800 22px Georgia,"Noto Serif TC",serif}.fg-section-card>p{margin:0 0 18px;color:var(--fg-muted);font-size:16px}.fg-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fg-option{min-height:43px;padding:7px;border:1px solid var(--fg-line);border-radius:11px;color:var(--fg-muted);background:#fffdf8;font-size:15px;font-weight:750;cursor:pointer}.fg-option.selected{border-color:rgba(207,74,59,.43);color:var(--fg-red-dark);background:#fff0e8;box-shadow:inset 0 0 0 1px rgba(207,74,59,.12)}.fg-field{display:grid;gap:7px;color:var(--fg-muted);font-size:15px;font-weight:750}.fg-field input,.fg-field select{width:100%;min-height:47px;padding:10px 12px;border:1px solid var(--fg-line);border-radius:12px;outline:none;color:var(--fg-ink);background:#fffdf8}.fg-field input:focus,.fg-field select:focus{border-color:rgba(207,74,59,.52);box-shadow:0 0 0 3px rgba(207,74,59,.1)}.fg-form{display:grid;gap:15px}.fg-note{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.7}.fg-room-code{letter-spacing:.26em;font:800 30px ui-monospace,SFMono-Regular,Menlo,monospace!important;text-align:center}.fg-label{display:block;margin:0 0 7px;color:var(--fg-muted);font-size:15px;font-weight:750}.fg-room-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fg-seats{display:grid;gap:9px;margin-top:12px}.fg-seat{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--fg-line);border-radius:13px;background:rgba(255,255,255,.72)}.fg-seat i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:white;background:#e74a39;font-style:normal;font-weight:850}.fg-seat strong{font-size:15px}.fg-seat small{margin-left:auto;color:var(--fg-muted);font-size:13px}.fg-status{margin:0;color:var(--fg-muted);font-size:15px;line-height:1.6}.fg-status.warn{color:#9a3229;font-weight:800}.fg-rating-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:16px;border-radius:16px;color:#68470e;background:linear-gradient(125deg,#fff1b5,#ffda70)}.fg-rating-card strong{display:block;font:800 22px Georgia,"Noto Serif TC",serif}.fg-rating-card small{color:#766038}
.fg-game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:16px}.fg-board-card{min-width:0;padding:15px;border:1px solid rgba(109,69,29,.24);border-radius:22px;background:linear-gradient(145deg,#f8e7c1,#eabc71);box-shadow:0 18px 40px rgba(89,56,22,.13)}.fg-game-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.fg-player{display:flex;align-items:center;gap:8px;min-width:0}.fg-player .fg-avatar{width:35px;height:35px;flex-basis:35px;font-size:18px}.fg-player strong,.fg-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fg-player strong{max-width:150px;font-size:15px}.fg-player small{color:#80694f;font-size:12px}.fg-clock{padding:6px 10px;border:1px solid rgba(106,76,43,.16);border-radius:99px;background:rgba(255,250,241,.82);font:750 17px ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.fg-clock.active{color:#a42e26;box-shadow:0 0 0 2px rgba(207,74,59,.13)}.fg-board-wrap{width:min(100%,620px);margin:0 auto}.fg-board{display:block;width:100%;height:auto;overflow:visible;touch-action:manipulation;filter:drop-shadow(0 5px 4px rgba(81,48,13,.17))}.fg-game-info{display:grid;gap:13px}.fg-game-panel{padding:15px;border:1px solid var(--fg-line);border-radius:17px;background:rgba(255,253,248,.92);box-shadow:0 8px 20px rgba(88,58,31,.055)}.fg-game-panel h2{margin:0 0 10px;font:800 19px Georgia,"Noto Serif TC",serif}.fg-game-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.fg-game-actions .fg-button{min-height:40px;padding:7px 8px;font-size:14px}.fg-move-list{max-height:210px;overflow:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:5px 10px;margin-top:9px;color:var(--fg-muted);font:14px ui-monospace,SFMono-Regular,Menlo,monospace}.fg-turn-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 9px;color:var(--fg-muted);font-size:14px}.fg-turn-meta strong{color:var(--fg-red-dark);font:800 18px ui-monospace,SFMono-Regular,Menlo,monospace}.fg-game-over{margin:0;padding:12px;border:1px solid rgba(207,74,59,.2);border-radius:13px;color:#8e3028;background:#fff0e8;font-size:16px;font-weight:850}.fg-legal{fill:rgba(26,133,99,.54);stroke:rgba(255,255,255,.82);stroke-width:1.5;cursor:pointer}.fg-selected{fill:rgba(26,133,99,.28);stroke:#087458;stroke-width:3}.fg-piece{cursor:pointer}.fg-modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:rgba(40,30,22,.48);backdrop-filter:blur(4px)}.fg-modal{width:min(460px,100%);padding:22px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fffaf1;box-shadow:0 24px 80px rgba(0,0,0,.2)}.fg-modal h2{margin:0 0 8px;font:800 25px Georgia,"Noto Serif TC",serif}.fg-modal p{color:var(--fg-muted);font-size:16px;line-height:1.7}.fg-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:18px}.fg-toast{position:fixed;z-index:30;left:50%;bottom:22px;width:max-content;max-width:calc(100vw - 32px);padding:11px 15px;border-radius:12px;color:white;background:rgba(48,39,31,.94);box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:15px;transform:translateX(-50%)}.fg-page-settings,.fg-page-records,.fg-page-ranking{max-width:900px;margin:auto}.fg-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fg-setting-card{padding:18px;border:1px solid var(--fg-line);border-radius:18px;background:rgba(255,253,248,.9)}.fg-setting-card h2{margin:0 0 13px;font:800 19px Georgia,"Noto Serif TC",serif}.fg-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fg-theme-choice{min-height:66px;display:grid;align-content:center;gap:5px;padding:8px;border:1px solid var(--fg-line);border-radius:12px;background:#fffdf8;font-size:13px;font-weight:750;cursor:pointer}.fg-theme-choice.selected{outline:2px solid #f05e43;color:#a63324}.fg-theme-dot{height:14px;border-radius:20px;background:linear-gradient(90deg,#a65f2e,#ffe9ae)}.fg-theme-choice[data-theme=bamboo] .fg-theme-dot{background:linear-gradient(90deg,#416d48,#d8e8b9)}.fg-theme-choice[data-theme=celadon] .fg-theme-dot{background:linear-gradient(90deg,#53778b,#c9dfea)}.fg-theme-choice[data-theme=sakura] .fg-theme-dot{background:linear-gradient(90deg,#9b6251,#ebc7b2)}.fg-theme-choice[data-theme=midnight] .fg-theme-dot{background:linear-gradient(90deg,#303039,#e4d3a8)}.fg-theme-choice[data-theme=ivory] .fg-theme-dot{background:linear-gradient(90deg,#9a7b52,#edd9b7)}.fg-switch{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--fg-ink);font-size:15px;font-weight:750}.fg-switch input{width:20px;height:20px;accent-color:var(--fg-green)}.fg-table-wrap{overflow:auto}.fg-table{width:100%;border-collapse:collapse;font-size:15px}.fg-table th,.fg-table td{padding:12px 10px;border-bottom:1px solid var(--fg-line);text-align:left;white-space:nowrap}.fg-table th{color:var(--fg-muted);font-size:13px;letter-spacing:.05em}.fg-table tr:last-child td{border-bottom:0}.fg-badge{display:inline-flex;padding:3px 8px;border-radius:99px;font-size:13px;font-weight:850}.fg-badge.win{color:#17785f;background:#e4f6eb}.fg-badge.draw{color:#886011;background:#fff2c9}.fg-badge.loss{color:#a73a31;background:#ffebe6}.fg-empty{display:grid;justify-items:center;gap:8px;padding:34px 16px;border:1px dashed var(--fg-line);border-radius:17px;color:var(--fg-muted);background:rgba(255,253,248,.54);text-align:center}.fg-empty b{color:var(--fg-ink);font:800 18px Georgia,"Noto Serif TC",serif}.fg-footer{width:var(--fg-page);min-height:70px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:auto;border-top:1px solid var(--fg-line);color:var(--fg-muted);font-size:14px}.fg-footer nav{display:flex;flex-wrap:wrap;gap:14px}.fg-footer a{text-decoration:none}.fg-ad-slot{width:min(728px,var(--fg-page));margin:0 auto 1em;padding:0}.fg-ad-slot .adsbygoogle{display:block;width:100%;min-height:90px}.fg-ad-label{margin-bottom:6px;color:var(--fg-muted);font-size:13px;line-height:1.4;text-align:center}
@media(max-width:900px){.fg-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fg-game-layout{grid-template-columns:minmax(0,1fr)}.fg-game-info{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-game-info .fg-game-panel:first-child{grid-column:1/-1}}
@media(max-width:800px){:root{--fg-page:min(100% - 28px,660px)}.fg-home-grid,.fg-play-grid{grid-template-columns:1fr}.fg-game-layout{grid-template-columns:1fr}.fg-game-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body{font-size:18px}}
@media(max-width:560px){:root{--fg-page:calc(100% - 24px)}body{font-size:18px}.fg-header{min-height:66px}.fg-brand-mark{width:39px;height:39px;border-radius:13px;font-size:23px}.fg-brand strong{font-size:17px}.fg-brand small{font-size:12px}.fg-header-actions{gap:9px;font-size:12px}.fg-header-actions a{max-width:104px;text-align:right}.fg-connection{font-size:0}.fg-connection i{width:9px;height:9px}.fg-main{padding-top:15px}.fg-page-head{align-items:center;margin:8px 0 14px}.fg-page-head h1{font-size:29px}.fg-page-head p{max-width:240px;font-size:14px}.fg-profile{padding:5px;border-radius:50%}.fg-profile>span:last-child{display:none}.fg-tabs{position:sticky;z-index:5;top:0;gap:3px;margin:0 -4px 13px;padding:4px;background:rgba(255,250,241,.95);backdrop-filter:blur(9px)}.fg-tab{min-height:40px;font-size:14px}.fg-card,.fg-section-card{padding:15px;border-radius:17px}.fg-hero-card{min-height:214px;padding:20px}.fg-hero-card:after{right:0;bottom:-38px;font-size:160px}.fg-hero-card p{max-width:300px;font-size:15px}.fg-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fg-game-tile{min-height:138px;padding:12px}.fg-game-tile strong{font-size:16px}.fg-game-tile small{font-size:13px}.fg-game-icon{width:48px;height:48px;font-size:28px}.fg-play-grid{gap:10px}.fg-section-card h2{font-size:20px}.fg-room-layout,.fg-settings-grid{grid-template-columns:1fr}.fg-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-game-info{grid-template-columns:1fr}.fg-game-info .fg-game-panel:first-child{grid-column:auto}.fg-board-card{padding:8px;border-radius:16px}.fg-game-head{gap:5px}.fg-clock{padding:5px 7px;font-size:14px}.fg-player strong{max-width:90px;font-size:13px}.fg-player .fg-avatar{width:31px;height:31px;flex-basis:31px}.fg-board-wrap{width:100%}.fg-footer{padding:13px 0 calc(13px + env(safe-area-inset-bottom))}.fg-ad-slot .adsbygoogle{min-height:90px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.board-hit{fill:transparent;stroke:none;cursor:pointer}.chess-piece{font:56px "Apple Color Emoji","Segoe UI Emoji",serif;paint-order:stroke;stroke-width:1.1px;pointer-events:none}.white-piece{fill:#fffaf0;stroke:#47382a;filter:drop-shadow(0 1px 1px rgba(0,0,0,.55))}.black-piece{fill:#382b20;stroke:#f9e9ce;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.animal-piece{font:37px "Apple Color Emoji","Segoe UI Emoji",sans-serif;dominant-baseline:central;pointer-events:none}.animal-own,.animal-rival{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.animal-mark{fill:#76462f;font:800 16px system-ui;opacity:.72;pointer-events:none}.den-mark{fill:#fff5d9;font:900 16px system-ui;letter-spacing:.08em;pointer-events:none}

/* Keep the active game screen aligned with the Xiangqi web play layout. */
.fg-game-layout{grid-template-columns:minmax(0,1fr) 285px;gap:16px}
.fg-board-wrap{width:min(100%,570px)}
.fg-board-opponents{display:grid;gap:8px;width:min(100%,570px);margin:0 auto 10px}
.fg-board-opponents.multi{grid-template-columns:repeat(2,minmax(0,1fr))}
.fg-board-player{margin:0}
.fg-board-player.is-me{border-color:rgba(207,74,59,.24);background:rgba(255,250,241,.9)}
.fg-game-panel .fg-section-title .fg-turn-meta{display:grid;justify-items:end;gap:2px;min-width:58px;margin:0;line-height:1.1;text-align:right}
.fg-turn-move{color:var(--fg-muted);font-size:13px;font-weight:800;white-space:nowrap}
.fg-game-panel .fg-turn-meta strong{color:var(--fg-red-dark);font:850 18px ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}
.fg-game-panel .fg-turn-meta strong.warning{color:#fff;background:#a63324;padding:3px 7px;border-radius:8px;box-shadow:0 0 0 3px rgba(166,51,36,.12)}
.fg-game-clock-note{margin:10px 0 0}
.fg-proposal-note{padding:9px 11px;border:1px solid rgba(210,154,54,.28);border-radius:12px;background:#fff7de;color:#765a25}
.fg-profile{color:var(--fg-ink);font:inherit;text-align:left;cursor:pointer}
.fg-tab{display:flex;align-items:center;justify-content:center;text-decoration:none}
.fg-profile:focus-visible,.fg-tab:focus-visible,.fg-button:focus-visible{outline:3px solid rgba(21,136,111,.3);outline-offset:2px}
.fg-ad-slot{overflow:hidden}
@media(min-width:801px) and (max-width:900px){.fg-game-layout{grid-template-columns:minmax(0,1fr) 285px}.fg-game-info{grid-template-columns:1fr}.fg-game-info .fg-game-panel:first-child{grid-column:auto}}
@media(max-width:800px){.fg-game-layout{grid-template-columns:minmax(0,1fr)}.fg-game-info{grid-template-columns:repeat(2,minmax(0,1fr))}.fg-game-info .fg-game-panel:first-child{grid-column:1/-1}}
@media(max-width:560px){.fg-game-info{grid-template-columns:1fr}.fg-game-info .fg-game-panel:first-child{grid-column:auto}.fg-board-opponents.multi{grid-template-columns:1fr}.fg-board-player .fg-player strong{max-width:92px}}

.fg-seo-copy{width:var(--fg-page);margin:0 auto 24px;padding:clamp(20px,3vw,30px);border:1px solid var(--fg-line);border-radius:21px;color:var(--fg-ink);background:rgba(255,253,248,.9);box-shadow:0 12px 28px rgba(88,58,31,.055)}
.fg-seo-copy h2{margin:0 0 10px;font:800 clamp(21px,2.8vw,27px)/1.25 Georgia,"Noto Serif TC",serif}
.fg-seo-copy h3{margin:20px 0 9px;font:800 19px Georgia,"Noto Serif TC",serif}
.fg-seo-copy h4{margin:0 0 7px;font:800 16px Georgia,"Noto Serif TC",serif}
.fg-seo-copy p,.fg-seo-copy li{color:var(--fg-muted);font-size:15px;line-height:1.8}
.fg-seo-intro{max-width:900px;margin:0}
.fg-seo-game-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px 20px;margin:0;padding-left:1.35em}
.fg-seo-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.fg-seo-mode-grid article{padding:15px;border:1px solid var(--fg-line);border-radius:15px;background:#fffaf2}
.fg-seo-mode-grid p{margin:0;font-size:14px}
.fg-seo-steps{display:grid;gap:6px;margin:0;padding-left:1.35em}
.fg-seo-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fg-seo-toc a{padding:7px 12px;border:1px solid var(--fg-line);border-radius:99px;color:var(--fg-red-dark);background:#fffaf2;font-size:14px;font-weight:800;text-decoration:none}
.fg-seo-toc a:hover,.fg-seo-toc a:focus-visible{border-color:rgba(166,95,46,.5);text-decoration:underline;text-underline-offset:3px}
.fg-seo-steps{display:grid;gap:6px;margin:0;padding-left:1.35em}
.fg-seo-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.fg-seo-faq details{padding:16px;border:1px solid var(--fg-line);border-radius:15px;background:#fffaf2}
.fg-seo-faq summary{color:var(--fg-ink);font-size:15px;font-weight:800;line-height:1.55;cursor:pointer;text-underline-offset:3px}
.fg-seo-faq summary:focus-visible{outline:3px solid rgba(166,95,46,.35);outline-offset:4px;border-radius:3px}
.fg-seo-faq p{margin:10px 0 0;font-size:14px}
.fg-seo-maintained{margin:18px 0 0;font-size:13px!important}
.fg-seo-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}
.fg-seo-links a{color:var(--fg-red-dark);font-size:14px;font-weight:800;text-underline-offset:3px}
@media(max-width:800px){.fg-seo-mode-grid,.fg-seo-faq{grid-template-columns:1fr}}
