:root{font-family:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;color:#212321;background:#f5f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default}header{height:88px;border-bottom:1px solid #dfe2da;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px)}.logo{font-size:25px;font-weight:900;letter-spacing:-1.4px;display:flex;align-items:center;gap:10px}.logo-mark{background:#c5ef5e;border:2px solid #252923;border-radius:11px;width:34px;height:34px;display:grid;place-items:center;font-size:23px;letter-spacing:-4px;padding-right:4px}.nav{font-size:14px;font-weight:600;display:flex;gap:26px;align-items:center}.nav a{padding:12px 0}.nav .active{border-bottom:2px solid #222}.small-note{font-size:13px;color:#70766d}.wrap{max-width:1200px;margin:auto;padding:44px 32px 55px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#647052;margin-bottom:10px}h1{font-size:38px;letter-spacing:-1.8px;margin:0 0 12px;line-height:1.3}p{line-height:1.8}.intro{color:#6b7169;margin:0;font-size:16px}.section-top{display:flex;justify-content:space-between;align-items:end;margin:38px 0 20px}h2{font-size:22px;letter-spacing:-.7px;margin:0}.count{font-size:14px;color:#7b8176;margin-left:10px;font-weight:400}.featured{background:#232922;color:#fff;border-radius:22px;padding:36px 42px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;overflow:hidden;min-height:340px}.tag{display:inline-block;font-size:12px;font-weight:700;border:1px solid #58614f;border-radius:6px;padding:5px 9px;color:#c8ef78}.featured h2{font-size:40px;margin:16px 0 8px;letter-spacing:-1.7px}.featured p{color:#bec7b8;font-size:15px;margin:0 0 25px}.cta{display:inline-flex;background:#c5ef5e;color:#20261b;padding:14px 24px;border-radius:9px;font-size:16px;font-weight:800;align-items:center;gap:50px}.cta:hover{background:#d5ff74}.preview-board{max-width:275px;width:100%;justify-self:center;transform:rotate(-7deg);filter:drop-shadow(8px 14px 0 #11170e60);background:#d5b37d;border-radius:10px;padding:16px}.preview-board svg{display:block;width:100%;height:auto}.games{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.game-card{background:#fff;border:1px solid #e0e4d9;border-radius:16px;padding:24px;display:flex;gap:17px;align-items:center}.game-icon{height:55px;width:55px;display:grid;place-items:center;border-radius:12px;background:#edf0e7;font-size:32px;color:#657553;flex-shrink:0}.game-card h3{margin:0 0 5px;font-size:18px}.game-card p{font-size:13px;color:#7b8176;margin:0}.coming{font-size:12px;color:#8a9085;margin-top:7px;display:block}.foot{border-top:1px solid #dfe2da;padding:23px max(5vw,24px);display:flex;justify-content:space-between;gap:15px;color:#7b8176;font-size:12px}.foot strong{color:#444b3f}.back{font-size:14px;color:#70766d;display:inline-block;margin-bottom:22px}.game-title{display:flex;align-items:center;gap:13px;margin-bottom:24px}.game-title h1{font-size:30px;margin:0}.pill{font-size:12px;padding:5px 10px;border:1px solid #cfd5c5;border-radius:20px;color:#62724b}.game-layout{display:grid;grid-template-columns:minmax(0,690px) minmax(270px,1fr);gap:30px;align-items:start}.board-panel{background:#e9ece3;border:1px solid #dbe1d2;padding:24px;border-radius:19px}.board-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;font-size:14px}.turn{display:flex;gap:9px;align-items:center;font-weight:700}.dot{height:16px;width:16px;border-radius:50%;background:#252525;display:inline-block;box-shadow:0 1px 2px #0003}.dot.white{background:white;border:1px solid #bbb}.board{aspect-ratio:1;position:relative;background:#d9b984;border-radius:5px;box-shadow:0 4px 12px #5552;border:7px solid #c9a970}.board svg{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(15,1fr);grid-template-rows:repeat(15,1fr)}.cell{border:0;background:none;padding:0;position:relative;display:grid;place-items:center;min-width:0;touch-action:manipulation;border-radius:50%}.cell:focus-visible{outline:2px solid #315710;outline-offset:-2px;z-index:2}.cell:not(:disabled):hover{background:#fff4}.stone{display:block;width:86%;height:86%;border-radius:50%;box-shadow:1px 2px 3px #0005;background:radial-gradient(circle at 35% 28%,#616461,#151815 65%);position:relative}.stone.white{background:radial-gradient(circle at 35% 25%,#fff,#eeeee7 65%,#c2c4b8);border:1px solid #b0ac96}.stone.last:after{content:'';position:absolute;inset:38%;border-radius:50%;background:#c5ef5e}.stone.win{outline:3px solid #b8f152;outline-offset:1px}.board-help{text-align:center;font-size:13px;color:#70786a;margin:17px 0 0}.panel{background:#fff;border:1px solid #e0e4d9;border-radius:16px;padding:24px;margin-bottom:18px}.panel h2{font-size:17px;margin-bottom:18px}.modes{display:flex;gap:6px;background:#f0f2ec;border-radius:9px;padding:5px}.mode{flex:1;border:0;padding:11px 5px;border-radius:7px;background:transparent;font-size:14px;color:#6d7466}.mode.selected{background:#242b20;color:#fff;box-shadow:0 2px 3px #0001}.players{margin:22px 0 20px;display:flex;justify-content:space-between;gap:12px}.player{font-size:14px;display:flex;align-items:center;gap:9px}.player small{font-size:12px;color:#8c9385;margin-left:4px}.restart{border:1px solid #cfd8c1;background:#edf5e1;width:100%;border-radius:9px;padding:12px;font-weight:700;font-size:14px}.restart:hover{background:#e3f2cf}.mode-help{font-size:12px;color:#8a9181;line-height:1.7;margin:13px 0 0}.status{font-size:17px;font-weight:700;margin:0 0 5px}.status-sub{font-size:13px;color:#7c8373;margin:0}.rule-list{padding-left:18px;margin:0;color:#626b59;font-size:14px;line-height:1.9}.rule-list li{padding-bottom:8px}.rule-note{font-size:12px;color:#8a9181;border-top:1px solid #edf0e7;padding-top:14px;margin:10px 0 0;line-height:1.7}@media(max-width:750px){header{height:70px;padding:0 20px}.nav{gap:16px}.nav .small-note{display:none}.wrap{padding:28px 18px 35px}h1{font-size:29px}.featured{padding:27px;gap:20px;grid-template-columns:1fr .75fr;min-height:280px}.featured h2{font-size:32px}.featured p{font-size:14px}.cta{gap:20px;padding:12px 17px}.preview-board{padding:9px}.games{grid-template-columns:1fr;gap:10px}.game-card{padding:18px}.section-top{margin-top:28px}.game-layout{grid-template-columns:1fr;gap:20px}.board-panel{padding:13px}.game-title{margin-bottom:18px}.board{border-width:5px}.sidebar{display:grid;grid-template-columns:1fr;gap:0}.foot{padding:20px;flex-wrap:wrap}.game-title h1{font-size:27px}}@media(max-width:400px){.featured{grid-template-columns:1fr}.preview-board{display:none}.featured{min-height:0}.logo{font-size:22px}.nav{font-size:13px}.board-header{font-size:13px}}

.notice{margin-top:22px;padding:16px 20px;border:1px solid #c4d7a2;border-radius:10px;background:#eaf3dc;line-height:1.8;white-space:pre-wrap}.ad-area{margin:65px auto 0;padding:20px 0;max-width:100%;border-top:1px solid #dce1d5;min-height:110px}.ad-area>span{display:block;font-size:12px;color:#7b8176;margin-bottom:12px;text-align:center}
/* Portal design: crisp ink, luminous lime, generous game surfaces. */
:root{color:#1d242a;background:#f7f8fa;font-family:'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif}header{height:88px;padding:0 max(calc((100vw - 1200px)/2),28px);gap:35px;border-color:#e5e7eb}.logo{letter-spacing:-1px;flex-shrink:0}.logo-mark{width:37px;height:37px;background:#c5ef5e;border-color:#20292e}.nav{margin-right:auto;gap:26px;white-space:nowrap}.nav .active{border-color:#8ab530}.header-search{display:flex;align-items:center;background:#f2f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:9px 13px;gap:10px}.header-search input{width:180px;border:0;background:transparent;font:inherit;font-size:14px;outline-offset:3px}.header-search button{background:transparent;border:0;color:#647080}.header-search>span{font-size:24px;line-height:1}.wrap{max-width:1200px;padding:38px 28px 64px}.home-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{display:block;font-size:12px;letter-spacing:1.7px;color:#647080}.home-heading h1{font-size:32px;letter-spacing:-1.4px;margin-bottom:7px}.intro{font-size:16px;color:#65717b}.random-button{padding:13px 19px;background:#fff;border:1px solid #dce0e5;border-radius:9px;font-size:14px;font-weight:600;white-space:nowrap}.random-button:hover{border-color:#879aaf}.featured{position:relative;min-height:350px;background:#172b35;border:0;border-radius:18px;padding:36px 48px;grid-template-columns:1.05fr 1fr;gap:36px;color:#fff}.featured .tag{color:#cee99e;background:#ffffff07;border-color:#51664f;font-size:12px;letter-spacing:.6px;padding:6px 10px}.featured h2{font-size:43px;line-height:1.15;margin:17px 0 14px;letter-spacing:-1px}.featured h2>span{display:block;font-size:23px;line-height:1.5;color:#fff;font-weight:500;margin-top:13px;letter-spacing:-.6px}.featured h2>span br{display:none}.featured p{font-size:15px;line-height:1.9;color:#bdcbd1;margin-bottom:20px}.cta{padding:12px 22px;border-radius:8px;gap:40px}.featured-meta{margin-top:17px;color:#b0c0c8;font-size:12px;letter-spacing:.4px}.preview-board{max-width:290px;padding:15px;transform:rotate(-9deg);background:#dfc091;border:1px solid #f0d5aa;filter:drop-shadow(12px 18px 0 #091c2666)}.feature-index{position:absolute;right:24px;bottom:17px;font-size:11px;letter-spacing:2px;color:#a1b4be}.section-top{margin:32px 0 20px;align-items:center}.section-top h2{font-size:21px}.small-note{font-size:14px;color:#65717b}.count{font-size:14px;color:#65717b}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter{background:white;border:1px solid #dfe3e7;border-radius:24px;padding:9px 19px;font-size:14px;color:#56616b}.filter.selected{background:#253943;color:white;border-color:#253943}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalog-card{display:flex;align-items:center;gap:24px;padding:26px;background:#fff;border:1px solid #dfe4e8;border-radius:13px;transition:transform .15s,border-color .15s}.catalog-card:hover{transform:translateY(-3px);border-color:#99b876}.catalog-icon{flex:0 0 82px;height:82px;background:#e7eddb;color:#27372e;display:grid;place-items:center;border-radius:15px;font-size:46px}.catalog-card h3{font-size:22px;margin:5px 0}.catalog-card p{font-size:14px;color:#63717c;margin:0}.card-play{font-size:14px;font-weight:700;display:block;margin-top:12px}.waiting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.waiting-card{display:grid;grid-template-columns:55px 1fr;gap:5px 18px;border:1px solid #e1e5e9;border-radius:12px;padding:23px;background:#f0f2f5}.waiting-card .game-icon{grid-row:1/4;background:#e0e5eb;color:#697781}.waiting-card h3{font-size:18px;margin:0}.waiting-card p{font-size:14px;color:#64717d;margin:0}.waiting-card .coming{font-size:12px;margin:0;color:#606d78}.guide-banner{margin-top:38px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d9dfe4;border-bottom:1px solid #d9dfe4;padding:26px 0;gap:18px}.guide-banner h2{font-size:22px;margin:8px 0}.guide-banner p{font-size:14px;color:#65717b;margin:0}.guide-banner>span{font-size:14px;font-weight:600}.foot{max-width:1200px;margin:auto;padding:30px 28px;align-items:center;flex-wrap:wrap;color:#64717d;gap:24px}.foot .logo{font-size:20px;color:#27343b}.foot p{font-size:13px;margin:7px 0 0}.foot nav{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap;font-size:14px}.foot>span{width:100%;font-size:12px}.empty-result{grid-column:1/-1;border:1px dashed #c4cdd4;border-radius:12px;padding:36px;text-align:center}.empty-result h3{font-size:18px}.empty-result p{font-size:14px;color:#65717b}.search-summary{font-size:16px}.search-summary a{margin-left:16px;text-decoration:underline;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.board-panel{background:#e8edf0;border-color:#d9e1e5}.board-help,.status-sub,.rule-note,.mode-help{font-size:14px;color:#617079}.rule-list{font-size:14px;color:#52616b}.panel{border-color:#dce3e8}.difficulty-label{display:block;font-size:14px;font-weight:600;margin:18px 0 8px}#difficulty{font:inherit;font-size:14px;border:1px solid #ccd5dc;border-radius:7px;padding:11px;background:white;width:100%;color:#25343d}.game-actions{display:flex;gap:8px;margin-top:14px}.game-actions button{width:50%;border-radius:8px;padding:12px 8px;font-size:14px}.undo{border:1px solid #ccd5dc;background:#fff}.undo:disabled{opacity:.45}.document{max-width:820px}.document h1{font-size:32px;margin:30px 0 16px}.document h2{font-size:22px;margin-top:32px}.document p,.document li{font-size:16px;line-height:1.9;color:#4f5f69}.document li{margin:10px 0}.document a{text-decoration:underline;text-underline-offset:4px}.document .cta{text-decoration:none;margin:20px 0}.document summary{font-size:16px;font-weight:600;cursor:pointer;padding:17px 0}.document details{border-bottom:1px solid #d9e1e7}.document .notice{font-size:14px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #609e29;outline-offset:4px}button:disabled{cursor:default;opacity:.55}
@media(max-width:950px){header{gap:24px;padding:0 24px}.header-search input{width:150px}.nav{gap:18px}.featured{padding:32px}.featured h2>span br{display:block}.waiting-card{padding:18px;gap:8px 12px}.waiting-card p{grid-column:1/-1}.waiting-card .coming{grid-column:1/-1}.waiting-card .game-icon{grid-row:1}.waiting-card h3{align-self:center}.foot nav{margin-left:0}}
@media(max-width:700px){header{height:auto;min-height:74px;flex-wrap:wrap;gap:15px 22px;padding:18px}.logo{font-size:23px}.nav{margin:0 0 0 auto;font-size:14px;gap:18px}.header-search{width:100%;order:3;padding:7px 12px}.header-search input{width:100%;min-width:0}.wrap{padding:26px 18px 40px}.home-heading{align-items:flex-start;flex-direction:column;gap:16px}.home-heading h1{font-size:28px}.eyebrow{font-size:11px}.random-button{padding:9px 14px}.featured{padding:28px 23px;min-height:330px;grid-template-columns:1fr .7fr;gap:15px}.featured h2{font-size:34px}.featured h2>span{font-size:19px}.featured p{font-size:14px}.featured .tag{font-size:10px}.preview-board{min-width:0;padding:7px;max-width:190px}.cta{font-size:14px;padding:12px 17px;gap:28px}.featured-meta{font-size:11px}.catalog-grid{grid-template-columns:1fr}.catalog-card{padding:21px;gap:20px}.waiting-grid{grid-template-columns:1fr}.waiting-card{grid-template-columns:55px 1fr auto;align-items:center;gap:3px 16px;padding:18px}.waiting-card .game-icon{grid-row:1/3}.waiting-card p{grid-column:2}.waiting-card .coming{grid-column:3;grid-row:1/3}.section-top .small-note{font-size:12px}.section-top h2{font-size:19px}.guide-banner{align-items:flex-start;flex-direction:column}.guide-banner h2{font-size:21px}.foot{padding:25px 18px}.foot nav{gap:14px}.game-title h1{font-size:27px}.game-layout{gap:18px}.board-panel{padding:12px}.board-help{font-size:12px}.board-header{margin-bottom:12px}.panel{padding:20px}.document h1{font-size:28px}}
@media(max-width:400px){.featured{grid-template-columns:1fr .6fr}.preview-board{display:block}.featured h2>span{font-size:17px}.featured p br{display:none}.featured-meta{line-height:1.7}.nav{gap:12px}.nav a{font-size:13px}.section-top{gap:10px}.section-top .small-note{max-width:100px;text-align:right}.waiting-card{grid-template-columns:44px 1fr auto}.waiting-card .game-icon{height:44px;width:44px}.waiting-card p{font-size:12px}.filter{padding:9px 13px}.feature-index{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.analytics-choice{position:fixed;bottom:16px;left:16px;right:16px;max-width:860px;margin:auto;z-index:20;display:flex;align-items:center;gap:24px;padding:20px 24px;background:#fff;border:1px solid #cbd4dc;border-radius:12px;box-shadow:0 5px 24px #13252c22}.analytics-choice strong{font-size:15px}.analytics-choice p{font-size:13px;margin:6px 0 0;color:#54656f;line-height:1.6}.analytics-choice a{text-decoration:underline}.consent-actions{display:flex;gap:8px;flex-shrink:0}.consent-actions button{font-size:14px;padding:11px 14px;border:1px solid #aebaaf;background:#f4f7ef;border-radius:7px}.foot button[data-analytics-settings]{border:0;background:none;padding:0;font:inherit;color:inherit}@media(max-width:650px){.analytics-choice{flex-direction:column;align-items:stretch;padding:16px;gap:12px;bottom:8px;left:8px;right:8px}.consent-actions button{flex:1}}
/* Native game surfaces use the portal's ink, paper and lime palette. */
.native-board-panel,.puzzle-panel{align-self:start}.native-board{display:grid;width:100%;max-width:560px;margin:auto;aspect-ratio:1;overflow:hidden}.native-cell{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0;padding:0;border-radius:0;aspect-ratio:1;touch-action:manipulation}.native-cell[aria-disabled=true]{cursor:default}.native-cell:focus-visible{z-index:2;outline:3px solid #d8ff76;outline-offset:-4px}.reversi-board{grid-template-columns:repeat(8,1fr);background:#265e49;border:7px solid #204937;border-radius:14px;box-shadow:0 8px 20px #1b352516}.reversi-board .native-cell{background:#357a5e;border:1px solid #295f49}.reversi-board .native-cell[aria-disabled=false]:hover{background:#459573}.disc{width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 34% 24%,#454e48,#151b17 80%);box-shadow:1px 3px 3px #0004;position:relative}.disc.light{background:radial-gradient(circle at 34% 24%,#fff,#e5eade 85%)}.last-move .disc:after{content:'';position:absolute;width:13%;height:13%;left:43.5%;top:43.5%;border-radius:50%;background:#a4dd42;box-shadow:0 0 0 1px #234128}.legal-dot{width:16%;height:16%;border-radius:50%;background:#d4edb0b3}.score-strip{text-align:center;padding:18px 0 4px;font-size:19px;font-weight:750;word-spacing:5px}.ttt-board{grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;border-radius:18px;background:#e6eadf;max-width:460px}.ttt-board .native-cell{border:0;border-radius:11px;background:#fff}.ttt-board .native-cell[aria-disabled=false]:hover{background:#f2f9e3}.ttt-mark{font-size:clamp(42px,8vw,90px);font-weight:800;line-height:1}.mark-1{color:#294835}.mark-2{color:#77875c}.ttt-board .winning-cell{background:#d8f398}.ttt-board .last-move:not(.winning-cell){box-shadow:inset 0 0 0 2px #c5d7a3}.finished{border-color:#98bc50;background:#f2f9e7}.text-link{display:inline-block;color:#38562c;font-weight:650;margin-top:14px;text-underline-offset:4px}.native-board-panel .rule-note,.sidebar .rule-note{line-height:1.85}.puzzle-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.puzzle-scores>div{background:#edf2e4;border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:3px}.puzzle-scores span{font-size:12px;color:#5d6756}.puzzle-scores strong{font-size:30px;font-variant-numeric:tabular-nums}.puzzle-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#c7cebb;border:10px solid #c7cebb;border-radius:15px;aspect-ratio:1;max-width:520px;margin:auto;touch-action:none;user-select:none;outline-offset:5px}.number-tile{min-width:0;border-radius:8px;background:#dde2d4;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(24px,4.2vw,44px);color:#35482e;aspect-ratio:1;font-variant-numeric:tabular-nums}.number-tile[data-level='1']{background:#faf9ef}.number-tile[data-level='2']{background:#edf3cc}.number-tile[data-level='3']{background:#daefa1}.number-tile[data-level='4']{background:#bde576}.number-tile[data-level='5']{background:#a2d75e}.number-tile[data-level='6']{background:#82bd42}.number-tile[data-level='7']{background:#5e9935;color:white;font-size:clamp(23px,3.6vw,38px)}.number-tile[data-level='8']{background:#39743e;color:white;font-size:clamp(23px,3.6vw,38px)}.number-tile[data-level='9']{background:#295839;color:white;font-size:clamp(23px,3.6vw,38px)}.number-tile[data-level='10'],.number-tile[data-level='11']{background:#203f2c;color:#e0ff9f;font-size:clamp(20px,3vw,32px)}.direction-controls{display:flex;flex-direction:column;align-items:center;gap:6px;margin:20px auto 8px}.direction-controls>div{display:flex;gap:6px}.direction-controls button{width:52px;height:42px;background:#f4f7ed;border:1px solid #ccd6bf;border-radius:8px;font-size:23px;color:#314c2a;touch-action:manipulation}.direction-controls button:hover{background:#e1efca}.direction-controls button:disabled{opacity:.4;cursor:default}.continue-button{padding:10px 16px;margin-top:14px;background:#c5ef5e;border:0;border-radius:8px;font-weight:700}.continue-button[hidden]{display:none}.next-games{margin-top:56px;padding-top:32px;border-top:1px solid #dde3d4}.next-games .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.next-games .catalog-card{gap:14px;padding:22px}.next-games .catalog-icon{font-size:28px;flex:0 0 54px;width:54px;height:62px}.catalog-icon{overflow:hidden}.guide-list{display:grid;gap:16px;margin:26px 0}.guide-card{padding:24px;border:1px solid #dce3d1;border-radius:14px;background:#fff}.guide-card h2{margin-top:0}.guide-card a{margin-right:20px}.cell[aria-disabled=true]{cursor:default}.cell:focus-visible{outline:2px solid #34672d;outline-offset:-3px}
@media(max-width:950px){.next-games .catalog-grid{grid-template-columns:1fr}.next-games .catalog-icon{flex-basis:64px;width:64px}.native-board{max-width:560px}}@media(max-width:600px){.native-board-panel,.puzzle-panel{padding:16px}.puzzle-board{gap:7px;border-width:7px}.reversi-board{border-width:5px}.ttt-board{gap:7px;padding:7px}.next-games{margin-top:32px}.puzzle-scores strong{font-size:26px}.native-board-panel .board-help,.puzzle-panel .board-help{line-height:1.7}}
/* A compact, game-first daily challenge extends the existing lime-and-ink theme. */
.daily-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#dff4b5;border:1px solid #bfd992;border-radius:16px;padding:24px 28px;margin:24px 0;color:#243921}.daily-banner .eyebrow{color:#4d6b35;letter-spacing:1px}.daily-banner h2{font-size:24px}.daily-banner p{margin:6px 0 0;color:#4d6042;font-size:16px}.daily-banner-action{font-size:16px;font-weight:750;white-space:nowrap}.daily-banner:hover{background:#d5efa0}.daily-game-banner{margin-top:40px}.daily-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.daily-heading h1{margin:6px 0 8px;font-size:34px}.daily-heading p{margin:0;color:#62705a;font-size:16px}.daily-date-tag{border:1px solid #aac47f;background:#e5f4cc;padding:8px 14px;border-radius:99px;font-size:14px;font-weight:700;white-space:nowrap}.daily-rollover,.daily-archive-note{padding:14px 18px;border-radius:10px;background:#eef5e4;border:1px solid #c8d9b4;font-size:16px}.daily-rollover a,.daily-archive-note a{text-decoration:underline;text-underline-offset:3px}.daily-rollover[hidden],.daily-result[hidden],.daily-copy-fallback[hidden]{display:none}.daily-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:8px}.daily-progress-label strong{margin-left:6px;font-size:18px}.daily-progress-label>span{color:#5d6a54;font-variant-numeric:tabular-nums}#daily-progress{display:block;width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;accent-color:#558333;margin-bottom:20px;background:#dae4ce}#daily-progress::-webkit-progress-bar{background:#dae4ce}#daily-progress::-webkit-progress-value{background:#558333}#daily-progress::-moz-progress-bar{background:#558333}.daily-share-actions{display:flex;gap:10px;flex-wrap:wrap}.daily-share-actions button{border:1px solid #b3c99a;border-radius:8px;padding:10px 16px;font-weight:700;font-size:14px;background:#f8fbf1;color:#2e4825}.daily-share-actions .daily-share{background:#c5ef5e;border-color:#a7cf47}.daily-share-status{font-size:14px;color:#446035;line-height:1.7}.daily-copy-fallback{display:block;font-size:14px;line-height:1.7}.daily-copy-fallback textarea{display:block;width:100%;font:inherit;font-size:14px;line-height:1.7;padding:12px;border:1px solid #b8c9a4;border-radius:8px;resize:vertical;margin-top:8px;background:#fff;color:#243820}.daily-record-metrics{display:flex;gap:24px;margin:18px 0}.daily-record-metrics>div{display:flex;flex-direction:column;gap:3px}.daily-record-metrics strong{font-size:28px;font-variant-numeric:tabular-nums}.daily-record-metrics span{font-size:14px;color:#64705b}.daily-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:20px}.daily-day{display:flex;align-items:center;flex-direction:column;gap:7px;background:#f1f4ed;border:1px solid #e3e8dc;border-radius:7px;padding:8px 1px;color:#6d7764}.daily-day small{font-size:12px}.daily-day b{font-size:18px}.daily-day.done{background:#e4f4c9;border-color:#bfdb94;color:#385729}.daily-layout .game-actions{display:block}.daily-layout .restart{width:100%;padding:11px 14px}.daily-result{border-color:#b7cf93}.daily-layout .rule-list{font-size:14px;line-height:1.9}.daily-layout .daily-storage-note{font-size:14px;line-height:1.8}.daily-result>p{font-size:16px}.daily-layout .panel .status-sub{font-size:14px}
@media(max-width:700px){.daily-banner{align-items:flex-start;flex-direction:column;gap:14px;padding:22px}.daily-banner h2{font-size:22px}.daily-heading{align-items:flex-start;flex-direction:column;gap:14px}.daily-heading h1{font-size:30px}.daily-date-tag{padding:5px 11px}.daily-record-metrics{gap:32px}.daily-week{gap:7px}.daily-day{padding:10px 2px}}

/* Omok strategy article: compact field manual with functional board patterns. */
.document section{scroll-margin-top:24px}.document .guide-lead{font-size:18px;line-height:1.95;color:#35444b}.guide-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.guide-meta span{padding:6px 10px;border-radius:99px;background:#eef2e8;border:1px solid #d6dfca;color:#4e6144;font-size:14px;font-weight:650}.guide-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:18px 0 30px}.guide-actions .text-link{margin-top:0}.guide-toc{background:#172b35;color:#fff;border-radius:14px;padding:24px 28px;margin:28px 0}.guide-toc>strong{font-size:16px}.guide-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;margin:15px 0 0;padding-left:22px}.guide-toc li{color:#d5e1e5;margin:0;font-size:15px}.guide-toc a{text-decoration:none}.guide-toc a:hover{text-decoration:underline}.guide-callout{display:block;border-left:4px solid #7da64b;background:#eff6e5;padding:18px 20px;margin:24px 0;border-radius:0 10px 10px 0}.guide-callout.warning{border-color:#bd8e39;background:#fbf5e8}.document .guide-callout p{margin:5px 0 0;font-size:15px}.decision-list{padding:0;list-style:none;counter-reset:decision;display:grid;gap:12px}.decision-list li{counter-increment:decision;display:grid;grid-template-columns:42px 1fr;gap:2px 12px;background:#fff;border:1px solid #dce3e7;border-radius:12px;padding:17px 18px;margin:0}.decision-list li:before{content:counter(decision);grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;background:#c5ef5e;color:#20311c;border-radius:50%;font-weight:800}.decision-list strong{font-size:16px}.decision-list span{grid-column:2;color:#56666e;font-size:15px;line-height:1.75}.omok-pattern-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.omok-pattern{margin:0;background:#fff;border:1px solid #dbe3da;border-radius:13px;overflow:hidden}.omok-pattern-line{display:grid;grid-template-columns:repeat(6,minmax(34px,1fr));align-items:center;padding:22px 18px;background:#d9b984;background-image:linear-gradient(#b08d58 1px,transparent 1px);background-size:100% 50%;background-position:center}.omok-pattern:nth-child(3) .omok-pattern-line{grid-template-columns:repeat(5,minmax(34px,1fr))}.omok-guide-point{position:relative;z-index:1;display:grid;place-items:center;height:42px;font-size:32px;line-height:1;color:#876c43}.omok-guide-point.point-B{color:#1d211f;text-shadow:1px 2px 2px #0004}.omok-guide-point.point-W{color:#fff;text-shadow:0 1px 2px #5d4d36}.omok-guide-point.point-X{color:#385e26;font-size:35px;font-weight:900;background:#d8ff76;border:2px solid #41692f;border-radius:50%}.omok-pattern figcaption{display:block;padding:17px 18px}.omok-pattern figcaption strong,.omok-pattern figcaption span{display:block}.omok-pattern figcaption span{margin-top:6px;color:#5e6b62;font-size:14px;line-height:1.7}.mistake-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mistake-grid article{border-top:3px solid #bcd978;background:#f2f5ee;padding:18px;border-radius:4px 4px 10px 10px}.document .mistake-grid p{font-size:14px;line-height:1.75;margin:7px 0 0}.practice-list{border-top:1px solid #d9e1e7}.guide-practice-plan{background:#eef3e7;border:1px solid #d9e3cd;border-radius:14px;padding:24px;margin:26px 0}.guide-practice-plan h3{font-size:19px;margin:0}.guide-practice-plan .cta{margin-bottom:0}.document strong{color:#27382e}
@media(max-width:700px){.document .guide-lead{font-size:17px}.guide-actions{align-items:flex-start;flex-direction:column;gap:4px}.guide-toc{padding:21px}.guide-toc ol{grid-template-columns:1fr}.omok-pattern-grid,.mistake-grid{grid-template-columns:1fr}.omok-pattern-line{padding:18px 12px}.omok-guide-point{height:38px;font-size:29px}.decision-list li{padding:15px 14px;grid-template-columns:38px 1fr}.guide-practice-plan{padding:20px}}

/* Othello strategy article: coordinate map for corners and adjacent risk squares. */
/* Visitor notices extend the document theme with a readable storage table. */
.notice-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.notice-status{background:#fff;border:1px solid #dce3e7;border-radius:12px;padding:22px}.document .notice-status h2{font-size:17px;margin:0 0 12px}.notice-status>strong{font-size:17px}.document .notice-status p{font-size:16px;margin:8px 0 0}.notice-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid #dce3e7;border-radius:10px;background:#fff}.notice-table-wrap:focus-visible{outline:3px solid #527523;outline-offset:3px}.notice-table{border-collapse:collapse;width:100%;min-width:580px;font-size:16px;line-height:1.75}.notice-table th,.notice-table td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid #dce3e7}.notice-table thead th{background:#172b35;color:#fff}.notice-table tbody th{width:23%;font-weight:700}.notice-table tbody tr:last-child>*{border-bottom:0}.notice-settings{padding:12px 18px;border:1px solid #aac27c;background:#e8f4d4;border-radius:8px;color:#294421;font-size:16px;font-weight:700}.notice-settings:focus-visible{outline:3px solid #527523;outline-offset:3px}@media(max-width:700px){.notice-status-grid{grid-template-columns:1fr}.notice-status{padding:20px}.notice-table th,.notice-table td{padding:14px}}
.document .guide-toc>strong{color:#fff}.othello-map-wrap:focus-visible{outline:3px solid #527523;outline-offset:3px}
/* Board thumbnails fit their own coordinate system, never a large glyph. */
.catalog-icon{width:82px;min-width:82px;height:82px;flex:0 0 82px;padding:0;background:transparent;font-size:0;line-height:0}
.catalog-icon svg{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.next-games .catalog-icon{width:64px;min-width:64px;height:64px;flex:0 0 64px;font-size:0}
.catalog-card>div{min-width:0}.catalog-card h3,.catalog-card p{overflow-wrap:anywhere}
.strategy-surface{position:relative;width:100%;max-width:590px;margin:auto;border:4px solid #8a9d7b;border-radius:8px;overflow:hidden}
.chess-surface{aspect-ratio:1}.janggi-surface{aspect-ratio:9/10;background:#ead3a8;border-color:#bb9867}
.strategy-board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr))}
.strategy-cell{position:relative;min-width:0;min-height:0;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:transparent;touch-action:manipulation}
.strategy-cell.square-light{background:#edf0db}.strategy-cell.square-dark{background:#7e9876}
.strategy-piece{display:grid;place-items:center;width:88%;height:88%;font-family:'DejaVu Sans','Segoe UI Symbol','Noto Sans Symbols 2',serif;font-size:clamp(22px,5vw,52px);line-height:1;user-select:none;pointer-events:none}
.chess-surface .piece-first{color:#fffdf2;text-shadow:1px 0 #263a2e,-1px 0 #263a2e,0 1px #263a2e,0 -1px #263a2e}.chess-surface .piece-second{color:#152b29}
.janggi-surface .strategy-piece{width:82%;height:auto;aspect-ratio:1;border:1px solid #a7895e;border-radius:50%;background:#fff3d5;font-family:'Noto Sans KR','Malgun Gothic',serif;font-size:clamp(16px,3.5vw,32px);font-weight:800;box-shadow:0 2px 2px #644c2926}
.janggi-surface .piece-first{color:#1d5487}.janggi-surface .piece-second{color:#a8322c}
.janggi-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.strategy-selected{box-shadow:inset 0 0 0 4px #e5b442!important}.strategy-target{box-shadow:inset 0 0 0 3px #518728}.strategy-check{box-shadow:inset 0 0 0 4px #c94234!important}
.strategy-legal{width:20%;aspect-ratio:1;border-radius:50%;background:#36533299;pointer-events:none}.strategy-cell:focus-visible{outline:3px solid #244fb0;outline-offset:-3px;z-index:2}
.strategy-history{padding-left:25px;max-height:190px;overflow:auto;font-size:14px;line-height:1.8;margin:0}.formation-controls{margin-top:18px}.formation-controls label{display:block;font-size:14px;margin:10px 0 6px}
.formation-controls select,#strategy-difficulty,.promotion-panel select{font:inherit;padding:10px;border:1px solid #c9d2ca;border-radius:6px;max-width:100%;width:100%;background:white}.promotion-panel:not([hidden]){display:flex;flex-wrap:wrap;gap:10px;padding:16px;background:#fff;margin-top:14px;border:2px solid #8aaa57;border-radius:10px}.promotion-panel button{padding:10px;border:1px solid #a8b98a;border-radius:5px;background:#eef4e0}.promotion-panel label{width:100%}
.strategy-panel .board-help{font-size:14px}.strategy-panel~.sidebar .game-actions button{flex:1;width:auto;padding:11px 6px}.strategy-panel~.sidebar .game-actions button[hidden]{display:none}
.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.strategy-card{padding:24px;border:1px solid #dce3e8;border-radius:13px;background:#fff}
.strategy-card h3{font-size:19px;margin:0 0 12px}.strategy-card p{font-size:16px;color:#52616b;margin:0 0 16px}.strategy-card a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.merge-examples{display:grid;gap:16px;margin:22px 0}.merge-example{padding:20px;background:#eef2e7;border-radius:12px}.merge-example h3{font-size:18px;margin:0 0 12px}
.merge-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:330px}.merge-row span{display:grid;place-items:center;background:#fff7e7;border:1px solid #d8c9ac;border-radius:6px;min-height:48px;font-size:23px;font-weight:750;color:#4a4134}
.document .merge-example p{margin:10px 0}.mode-comparison{width:100%;border-collapse:collapse;margin:24px 0;font-size:16px}.mode-comparison th,.mode-comparison td{text-align:left;padding:12px 8px;border-bottom:1px solid #dce3e8;vertical-align:top;overflow-wrap:anywhere}
@media(max-width:700px){.strategy-grid{grid-template-columns:1fr}.strategy-card{padding:20px}.mode-comparison th,.mode-comparison td{padding:10px 5px}}
@media(max-width:420px){.catalog-card{padding:18px;gap:16px}.catalog-icon{width:72px;min-width:72px;height:72px;flex-basis:72px}}
.othello-map-wrap{max-width:650px;margin:24px auto 18px;padding:18px;background:#172b35;border-radius:15px;overflow-x:auto}.othello-square-map{width:100%;min-width:420px;border-collapse:separate;border-spacing:3px;table-layout:fixed;color:#263a2a}.othello-square-map caption{caption-side:top;color:#fff;font-size:16px;font-weight:750;text-align:left;padding:0 0 14px}.othello-square-map th{height:24px;color:#cbd7da;font-size:12px;font-weight:650;text-align:center}.othello-square-map thead th:first-child{width:24px}.othello-square-map td{height:52px;border:1px solid #9eb597;border-radius:5px;background:#dbe8d2;text-align:center;font-size:14px;font-weight:800}.othello-square-map td.square-normal{color:#779070;font-size:17px}.othello-square-map td.square-corner{background:#c5ef5e;border-color:#9ec744;color:#1d351a;font-size:12px}.othello-square-map td.square-x{background:#f3c7b7;border-color:#cf927c;color:#793d2b}.othello-square-map td.square-c{background:#f6e5a4;border-color:#d4bd67;color:#654f16}.guide-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 26px;font-size:13px;color:#59675d}.guide-legend>span{display:flex;align-items:center;gap:7px}.guide-legend i{width:17px;height:17px;border:1px solid;border-radius:4px;flex:0 0 auto}.guide-legend .legend-corner{background:#c5ef5e;border-color:#9ec744}.guide-legend .legend-x{background:#f3c7b7;border-color:#cf927c}.guide-legend .legend-c{background:#f6e5a4;border-color:#d4bd67}.guide-legend strong{margin-right:2px}
@media(max-width:700px){.othello-map-wrap{margin-left:-6px;margin-right:-6px;padding:13px}.othello-square-map{min-width:360px;border-spacing:2px}.othello-square-map td{height:42px}.guide-legend{align-items:flex-start;flex-direction:column;gap:8px}}
