/* Quiet materials, local typography, finite interaction effects. */
:root{--bg:#101e21;--surface:#192b2e;--surface-raised:#22373a;--paper:#f0ecdf;--muted:#a8b9b5;--mint:#b4d6c7;--accent:#326d60;--gold:#ddbd83;--line:#c6cdb322}
body{background-image:radial-gradient(ellipse at 80% 0,#40635626,transparent 48%)!important}
.site-header{padding:24px 0;border-bottom-color:#ddbd8328}.site-brand{letter-spacing:1px}.site-brand img{background:transparent;border-radius:10px}.site-nav a{border-radius:6px}.site-nav a[aria-current=page]{background:#b4d6c710;border-bottom:1px solid #ddbd83;color:var(--paper)}
.hero,.page-intro{position:relative;padding:24px 0 34px!important;border-bottom:1px solid var(--line);margin-bottom:30px}
.hero h1,.page-intro h1{font-family:STKaiti,KaiTi,SimSun,Georgia,serif!important;font-weight:400!important;letter-spacing:2px!important;line-height:1.45!important;font-size:clamp(30px,4.3vw,52px)!important}
.hero p,.page-intro p{line-height:1.95;max-width:720px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold)}
.panel,.ai-settings,.ai-table{border-color:var(--line);box-shadow:0 8px 24px #0002,inset 0 1px 0 #ffffff05!important;background:linear-gradient(145deg,#ffffff03,transparent 70%),var(--surface)!important;border-radius:14px!important}
.panel h2,.table-header h2{font-weight:500}.btn-green,.btn-purple{background:linear-gradient(135deg,#387566,#285c50)!important;border-color:#b4d6c726!important}.btn-gold,.btn-yellow{background:linear-gradient(135deg,#ecd4a5,#cfaa6b)!important}.btn-gray{background:#adc6ba09!important}.button-link,button{border-radius:8px!important}
.home-tabs{gap:16px;border:0;padding:0;margin-bottom:38px}.home-tabs a{padding:18px 22px;background:#bbcfbf04;border-radius:9px;font-size:17px;letter-spacing:1px}.home-tabs a[aria-current=page]{background:linear-gradient(115deg,#33534870,#1d302c);box-shadow:inset 3px 0 #ddbd83;border-color:#ddbd8338}.home-tabs a span{letter-spacing:.4px}
.catalog-grid{gap:24px}.catalog-card{background:#192c2c;border-color:#c6cdb326;border-radius:12px;box-shadow:0 12px 26px #0002}.catalog-card:hover{transform:translateY(-4px);border-color:#ddbd8370}.catalog-copy{padding:24px 26px 26px}.catalog-copy h3{font:400 28px/1.45 STKaiti,KaiTi,SimSun,serif;letter-spacing:1px}.catalog-copy p{min-height:48px;line-height:1.95}.catalog-copy .button-link{justify-content:space-between;background:#b4d6c70c!important;color:#d7e6dd!important;border-color:#b4d6c72a!important}.catalog-copy .eyebrow{font-size:10px;color:#acbfb4}
.catalog-card .catalog-art{height:210px;background-size:cover!important;background-position:center!important}.catalog-art::before,.catalog-art::after,.catalog-art>span{display:none!important}
.catalog-card .chess-art{background-image:url('/art/xiangqi.svg?v=2')!important}.catalog-card .gomoku-art{background-image:url('/art/gomoku.svg?v=2')!important}.catalog-card .international-art{background-image:url('/art/international.svg?v=2')!important}.catalog-card .spider-art{background-image:url('/art/spider.svg?v=2')!important}.catalog-card .yacht-art{background-image:url('/art/yacht.svg?v=2')!important}.catalog-card .go-art{background-image:url('/art/go.svg?v=2')!important}.catalog-card .checkers-art{background-image:url('/art/checkers.svg?v=2')!important}
.table-header{border-bottom:1px solid var(--line);padding-bottom:16px}.score-info{padding:12px 0;font-variant-numeric:tabular-nums}.pill{border-color:#ddbd832a;background:#ddbd8306;color:var(--gold)}
.go-board{border:10px solid #886b47;border-radius:8px;background:linear-gradient(115deg,#e1cda4,#c9aa78);box-shadow:0 5px 0 #5d4931,0 14px 26px #0003,inset 0 0 0 1px #f7e6bd}
.star-board{background:radial-gradient(ellipse at 50% 40%,#315058,#142d35);border:8px solid #385355;box-shadow:0 5px 0 #152d30,inset 0 0 0 1px #a1c4ba45,0 14px 26px #0003;border-radius:50%}
.star-board::before{background:linear-gradient(150deg,#cfdfca22,#8bafbb0a)}
.board-point.stone,.star-board .board-point.stone{background:transparent;box-shadow:none}.stone-face{position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:0 2px 3px #0005,inset 0 0 0 1px #ffffff29;display:block}
.go-board .stone-face.side-1{background:radial-gradient(circle at 32% 24%,#535d5c,#17201f 62%,#0b1010)}.go-board .stone-face.side-2{background:radial-gradient(circle at 30% 22%,#fffef8,#e7e2d5 65%,#b4b7a9)}
.star-board .stone-face.side-1{background:radial-gradient(circle at 32% 24%,#e4ffee,#76bcac 24%,#377e75 62%,#204e4c)}.star-board .stone-face.side-2{background:radial-gradient(circle at 32% 24%,#fff8d4,#ecc57d 24%,#b48a47 62%,#6b5936)}
.board-point.legal{background:#b9dcc350!important;box-shadow:inset 0 0 0 2px #c9e3c888}.board-point.selected{outline:2px solid #f2d69c!important;outline-offset:4px}.star-label{bottom:2%;font-size:10px;letter-spacing:3px}.board-point.last::after{border-width:1px;border-color:#d99454}
.dice-tray{position:relative;gap:16px;padding:48px 24px;background:radial-gradient(ellipse at 50% 0,#376a5c,#163b33 85%);border:7px solid #38504b;border-radius:22px;box-shadow:inset 0 0 0 1px #b9c5a744,inset 0 6px 16px #0003,0 4px 0 #142c29}
.die{position:relative;display:grid!important;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:9%!important;padding:12px!important;border-radius:16%!important;background:linear-gradient(145deg,#fff7e7,#dcd4c0)!important;box-shadow:0 4px 0 #a89d83,0 7px 9px #0004!important;border:1px solid #fff3d3!important;transform-origin:50% 70%;font-size:30px!important}
.die:hover:not(:disabled){transform:translateY(-3px)}.die:disabled{opacity:1}.die.held{border-color:#f1cf82!important;box-shadow:0 4px 0 #ad8a47,0 0 0 3px #ddbd83!important}.die.held::after{content:'留';position:absolute;top:calc(100% + 10px);left:0;width:100%;font-size:10px;color:#e4ca95;line-height:1}
.pip{visibility:hidden;background:#29443f;border-radius:50%;width:100%;height:100%;box-shadow:inset 0 1px 1px #0c252870;pointer-events:none}.die[data-value='1'] .pip-5{visibility:visible;background:#a15746}.die[data-value='2'] :is(.pip-1,.pip-9),.die[data-value='3'] :is(.pip-1,.pip-5,.pip-9),.die[data-value='4'] :is(.pip-1,.pip-3,.pip-7,.pip-9),.die[data-value='5'] :is(.pip-1,.pip-3,.pip-5,.pip-7,.pip-9),.die[data-value='6'] :is(.pip-1,.pip-3,.pip-4,.pip-6,.pip-7,.pip-9){visibility:visible}
.dice-sheet{font-variant-numeric:tabular-nums}.dice-sheet td{padding:8px}.dice-sheet tr:hover{background:#b4d6c706}.dice-sheet th{text-align:center;letter-spacing:1px}.dice-sheet button:not(:disabled){border-color:#ddbd8355!important;color:#e4ca95!important}
.spider-shell{max-width:1380px}.spider-table{background:radial-gradient(ellipse at 50% 0,#316b59,#163f34 80%);border:8px solid #324d40;border-radius:18px;box-shadow:inset 0 0 0 1px #d5ce9740,0 5px 0 #102e28;padding:30px 18px;min-height:480px}.spider-column{border-color:#d5ce973a;background:#0b241410}.spider-card{transform:none;background:linear-gradient(140deg,#fffcf1,#e9e2d2)!important;box-shadow:0 2px 3px #0004,inset 0 0 0 2px #fffcf160;border-color:#beb599!important;color:#25463e!important;font-family:Georgia,'Times New Roman',serif!important;font-size:19px!important}.spider-card>span{position:relative;z-index:1;white-space:nowrap}.spider-card.red{color:#ad5249!important}.spider-card.back{opacity:1!important;background:repeating-linear-gradient(45deg,transparent 0 7px,#cbd5ab20 7px 8px),repeating-linear-gradient(-45deg,#345b52 0 7px,#8aac8740 7px 8px)!important;border:3px solid #d7cfb2!important;box-shadow:inset 0 0 0 2px #203e35,0 2px 3px #0003}.spider-card.selected{outline-color:#efce80;box-shadow:0 2px 4px #0004,inset 0 0 0 3px #efce80}.spider-card:not(.back)::after{font-size:46px;opacity:.2;bottom:6px;right:9px}
.foundations{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 16px}.foundation{display:grid;place-items:center;width:32px;height:40px;border:1px solid #d5ce9730;border-radius:5px;color:#9ab4a4;font:24px Georgia,serif;background:#b9ceb707}.foundation.complete{background:#eae1c9;color:#326354;border-color:#ecd49b}.spider-status{font-variant-numeric:tabular-nums;letter-spacing:.5px}
.footer-actions{display:flex;gap:8px;flex-wrap:wrap}.site-footer{margin-top:48px;color:#93aaa3}.site-footer button{font-weight:400!important}
html[data-motion=lite] .catalog-card,html[data-motion=off] .catalog-card{transition:none}html[data-motion=lite] dialog::backdrop,html[data-motion=off] dialog::backdrop{backdrop-filter:none}html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:900px){.catalog-card .catalog-art{height:175px}.catalog-copy{padding:20px}.dice-tray{gap:12px;padding:34px 14px}.die{padding:9px!important}.site-header{padding:18px 0}}
@media(max-width:700px){.catalog-card{grid-template-columns:1fr}.catalog-card .catalog-art{height:190px;min-height:0}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-copy{padding:18px}.catalog-copy h3{font-size:23px}.catalog-copy .button-link{font-size:12px}.home-tabs{gap:7px}.home-tabs a{padding:14px 8px;font-size:15px;letter-spacing:0}.hero h1,.page-intro h1{font-size:32px!important;letter-spacing:1px!important}.spider-table{padding:22px 12px}.spider-card{font-size:16px!important}.page-intro{padding-top:12px!important}.table-header h2{font-size:18px}}
@media(max-width:440px){.catalog-grid{grid-template-columns:1fr}.catalog-card .catalog-art{height:200px}.catalog-copy p{min-height:0}.dice-tray{gap:9px;padding:30px 12px}.die{padding:7px!important}.dice-sheet{font-size:12px}.dice-sheet td{padding:5px 3px}.site-nav a{padding:8px 10px}.table-controls{gap:10px}}

@media(min-width:900px){.home-page .hero{min-height:260px;padding-top:36px!important;padding-right:39%!important}.home-page .hero::before{content:'';position:absolute;right:-12px;top:0;width:39%;height:260px;background:url('/art/salon-cover.svg?v=2') center/contain no-repeat;pointer-events:none}.home-page .hero::after{display:none}.home-page .hero h1{font-size:clamp(32px,3.6vw,47px)!important;white-space:nowrap}.home-page .hero p{max-width:560px}}
html[data-motion=lite] .hero,html[data-motion=lite] .page-intro,html[data-motion=lite] .ai-table,html[data-motion=lite] .international-table{animation:none!important}
