@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#30362e;background:#f7f8f3;font-synthesis:none;font-weight:400;font-size:14px;--green:#526740;--green-dark:#405332;--muted:#878d80;--border:#e6e8df;--surface:#fff;--soft:#f0f3e9}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{color:inherit}button,input{outline:none}button:focus-visible,input:focus-visible{outline:3px solid #94ab72;outline-offset:3px}button{border:0;background:none}input{min-width:0}input::placeholder{color:#92988b}a{color:inherit}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}button{touch-action:manipulation}::selection{background:#dbe6c8}.app-layout{display:flex;min-height:100dvh}.sidebar{width:224px;flex-shrink:0;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:38px 22px 26px;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0 6px}.brand img{width:41px;height:41px}.brand>span{font-size:23px;font-weight:800;letter-spacing:-1.2px;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:2.6px;color:var(--muted);font-weight:500;margin-top:6px}.sidebar-label{font-size:8px;letter-spacing:1.5px;color:#929889;margin:52px 12px 16px}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 13px;border-radius:9px;color:#808779;text-align:left;font-size:13px;font-weight:500;white-space:nowrap}.nav-item>span{flex:1}.nav-item:hover{background:#f7f8f3;color:var(--green)}.nav-item.active{background:#eef2e7;color:var(--green);font-weight:700}.nav-count{font-size:10px;background:#dde8cf;padding:2px 6px;border-radius:5px}.sidebar-bottom{margin-top:auto;padding-top:70px}.sidebar-note{background:#f7f8f3;border:1px solid #eff0e9;padding:22px 17px 18px;border-radius:10px;position:relative}.sidebar-note p{font-size:11px;line-height:1.9;color:#858c7c;margin-top:15px}.sidebar-note strong{font-weight:500;color:#627052}.sidebar-note>svg{position:absolute;right:14px;top:18px;color:#a0ad8b}.little-board{display:flex;gap:5px;align-items:center}.little-board i{width:10px;height:10px;border-radius:50%;background:#65764e}.little-board i:nth-child(2n){background:#fff;border:1px solid #a9b594}.help-link{margin-top:20px;font-size:12px}.sidebar-copyright{display:block;color:#a6ac9f;font-size:10px;margin:12px 13px 0}.main-wrapper{margin-left:224px;flex:1;min-width:0}.topbar{height:85px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#ffffff94}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:#989e90}.breadcrumb strong{color:#6b7463;font-weight:500}.top-actions{display:flex;align-items:center;gap:20px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:#8c9384}.connection i{width:6px;height:6px;border-radius:50%;background:#b3aa83}.connection.connected i{background:#7d9758;box-shadow:0 0 0 3px #edf2e7}.top-divider{height:20px;width:1px;background:var(--border)}.profile-button{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600}.profile-button>svg{color:#919a85;margin-left:4px}.avatar{width:31px;height:31px;border-radius:50%;background:#ebeee4;color:#78876b;display:grid;place-items:center}main{max-width:1400px;margin:auto;padding:39px 44px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:20px}.eyebrow{font-size:8px;font-weight:700;letter-spacing:1.9px;color:#83916f;display:flex;align-items:center;gap:7px}.eyebrow>span{width:5px;height:5px;background:#8d9f77;border-radius:50%}h1{font-size:29px;letter-spacing:-1.35px;line-height:1.5;margin:9px 0 8px;font-weight:800}h1 span{font-weight:500}.page-heading p{font-size:12px;color:#8c9382;line-height:1.7}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#78866a;padding:7px 0;font-weight:500}.text-button:hover{color:var(--green-dark)}.guide-button{align-self:flex-end;margin-bottom:2px;white-space:nowrap}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.game-card{border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 16px #36442d03;overflow:hidden;background:#fff;min-width:0}.game-card-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 23px;border-bottom:1px solid #edf0e8;gap:12px}.game-card-title{display:flex;align-items:center;gap:10px;min-width:0}.game-card-title>div{min-width:0}.small-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f0f3e9;color:#768c5c;flex-shrink:0}.game-card-title h2{font-size:14px;font-weight:700;letter-spacing:-.35px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.game-card-title span:not(.small-icon){font-size:9px;color:#939b8b;display:block;margin-top:4px;letter-spacing:.2px}.rule-badge{display:flex;gap:7px;align-items:center;font-size:9px;color:#909782;padding:6px 9px;border:1px solid #e9ede2;border-radius:5px;white-space:nowrap}.rule-badge i{width:2px;height:2px;background:#a3ad94;border-radius:50%}.players-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 22px;background:#fff}.player-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:9px;border:1px solid transparent;border-radius:8px}.player-info.current{background:#f8faf4;border-color:#edf1e5}.player-info>div{min-width:0}.player-info strong{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}.player-info small{font-size:8px;border:1px solid #e5e9dd;border-radius:3px;padding:0 4px;margin-left:3px;color:#859276;font-weight:400}.player-info>div>span{font-size:9px;color:#9aa18f;display:block;margin-top:4px}.player-info.right{justify-content:flex-start}.player-stone{width:29px;height:29px;border-radius:50%;display:block;flex-shrink:0}.player-stone.black,.tiny-stone.black{background:radial-gradient(circle at 35% 28%,#565954,#242823 63%,#151814);box-shadow:0 2px 3px #171d2729}.player-stone.white,.tiny-stone.white{background:radial-gradient(circle at 35% 28%,#fff 20%,#f5f5f0 60%,#d6d8cf);border:1px solid #dbddd3;box-shadow:0 2px 3px #171d2714}.turn-dot{height:6px;width:6px;flex-shrink:0;margin-left:auto;background:#859c61;border-radius:50%;box-shadow:0 0 0 3px #edf1e5}.versus{font-size:9px;letter-spacing:1px;color:#b1b5a9}.board-area{padding:0 25px;background:#fff}.board-shell{width:100%;max-width:600px;aspect-ratio:1;margin:auto;position:relative;border-radius:9px;box-shadow:0 3px 6px #8c775d22,0 0 0 1px #ccb08388;overflow:hidden}.board-grid{width:100%;height:100%;display:block}.board-grid text{font:9px Noto Sans KR,sans-serif;fill:#9b835d}.board-cells{position:absolute;top:3.125%;right:3.125%;bottom:3.125%;left:3.125%;display:grid;grid-template-rows:repeat(15,minmax(0,1fr))}.board-row{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));min-height:0}.board-cell{padding:0;position:relative;display:grid;place-items:center;border-radius:4px;min-height:0;min-width:0;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.board-interactive .board-cell[data-stone=empty]{cursor:pointer}.board-cell:focus-visible{outline:2px solid #5a7639;outline-offset:-2px;z-index:2}.stone{display:block;width:88%;height:88%;border-radius:50%;position:relative;z-index:1;animation:stone-in .17s ease-out;pointer-events:none;-webkit-user-select:none;user-select:none}.stone.black{background:radial-gradient(circle at 33% 25%,#5b5b56,#363834 30%,#191c19 68%,#111510);box-shadow:1px 2px 3px #39291360,inset 0 -1px 2px #0006}.stone.white{background:radial-gradient(circle at 32% 25%,#fff,#fff 30%,#f2f1e9 66%,#d9d8cf);box-shadow:1px 2px 3px #3929134a,inset 0 -1px 2px #aaa5}.stone>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(8px,1vw,13px);font-weight:600}.stone.black>span{color:#f6f6e9}.stone.white>span{color:#424a37}.last-dot{width:20%;height:20%;border-radius:50%;background:#bfce81;box-shadow:0 0 0 1px #87954980}.white .last-dot{background:#708744}.ghost{opacity:.35;animation:none}.winning-stone{outline:2px solid #8aa556;outline-offset:1px}.winning-line{animation:line-in .7s ease-out}.turn-status{display:flex;justify-content:center;align-items:center;gap:9px;padding:19px 15px;color:#7b9065;font-size:11px;min-height:61px;flex-wrap:wrap}.turn-status strong{font-weight:600}.turn-status>span:not(.tiny-stone){font-size:10px;color:#9ca38e}.turn-status.lose{color:#969373}.tiny-stone{width:16px;height:16px;display:inline-block;border-radius:50%;flex-shrink:0}.board-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px 22px;border-top:1px solid #eef0e8;gap:10px}.board-toolbar>div{display:flex;gap:17px}.tool{display:flex;align-items:center;gap:6px;color:#a3aa97;font-size:10px;padding:7px 0}.tool.active{color:#7a8c61}.tool:hover{color:#4e6938}.move-count{font-size:9px;display:flex;align-items:center;gap:7px;color:#a2a993}.move-count i{height:9px;width:1px;background:#e2e7d9}.game-panels{display:grid;gap:18px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:21px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;color:#99a189}.panel-title h2{font-size:13px;font-weight:700;color:#46513e;display:flex;align-items:center;gap:7px;letter-spacing:-.2px}.field-label{display:block;font-size:10px;color:#89927c;margin-bottom:10px}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.difficulty{position:relative;border:1px solid #e7eadf;padding:15px 0 11px;border-radius:8px;display:flex;align-items:center;flex-direction:column;color:#8a947d;min-width:0}.difficulty:disabled{opacity:.65}.difficulty.selected{border-color:#99ad7d;background:#f1f5e9;color:#5e7644;opacity:1}.difficulty:not(:disabled):hover{background:#f6f8f1}.level-symbol{font-size:22px;line-height:1;font-family:Georgia,serif;color:#a8b29a;letter-spacing:1px}.difficulty.selected .level-symbol{color:#718a52}.difficulty strong{font-size:11px;margin:11px 0 4px;font-weight:600}.difficulty small{font-size:8px;color:#99a18f;white-space:nowrap}.level-check{position:absolute;right:5px;top:5px}.side-label{margin-top:20px}.side-options{display:flex;gap:8px}.side-options button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:1px solid #e7eadf;border-radius:6px;height:39px;font-size:10px;color:#8d9582}.side-options .selected{background:#fafbf7;border-color:#b7c39f;color:#5f704b;opacity:1}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border-radius:7px;font-size:11px;font-weight:600;transition:background .15s,transform .15s;white-space:nowrap}.button:not(:disabled):active{transform:translateY(1px)}.primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #4053320b}.primary:not(:disabled):hover{background:#435932}.secondary{background:#fff;border:1px solid #dce3d1;color:#6b7d55}.secondary:not(:disabled):hover{background:#f4f7ed}.full{width:100%}.start-button{margin-top:22px;width:100%}.start-button>svg:last-child{margin-left:auto}.start-button>svg:first-child{margin-right:auto}.settings-caption{text-align:center;color:#a4ab96;font-size:9px;margin-top:11px;line-height:1.6}.secondary-actions{display:flex;border-top:1px solid #eef0e7;margin-top:18px;padding-top:13px;gap:8px}.secondary-actions>button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;font-size:10px;color:#8e987f;padding:5px}.secondary-actions>button+button{border-left:1px solid #e9ede2}.secondary-actions>button:hover{color:#536d3c}.tip-panel{position:relative;background:#f0f3e8;border:1px solid #e6ebdc;border-radius:12px;padding:22px 21px;overflow:hidden}.tip-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e7eddb;color:#899e6d;margin-bottom:16px}.tip-panel .eyebrow{font-size:7px;letter-spacing:1.4px}.tip-panel h3{font-size:12px;margin-top:8px;font-weight:600;color:#697955;letter-spacing:-.4px}.tip-panel p{font-size:10px;color:#95a087;line-height:1.9;margin-top:9px}.tip-stones{display:flex;gap:7px;margin-top:20px;width:max-content;position:relative}.tip-stones:before{content:"";height:1px;background:#c6d1b6;position:absolute;left:0;right:0;top:7px}.tip-stones i{background:#8e9e79;width:15px;height:15px;position:relative;border-radius:50%;border:1px solid #8e9e79}.tip-stones i.outline{background:#f0f3e8;border-style:dashed;border-color:#b9c5a6}.small-badge{font-size:9px;color:#8fa074;border-radius:4px;background:#f2f5ec;padding:4px 7px}.moves-panel .panel-title{margin-bottom:12px}.empty-moves{display:flex;align-items:center;gap:12px;padding:9px 0 2px;color:#b5bea7}.empty-moves p{font-size:10px;line-height:1.8;color:#9aa58b}.empty-moves span{font-size:9px;color:#b0b9a2}.moves-list{list-style:none;padding:0;margin:0}.moves-list li{display:flex;align-items:center;gap:13px;padding:9px 0;border-top:1px solid #f2f4ec;font-size:10px}.moves-list li>span:first-child{color:#a8b197;width:16px}.moves-list .tiny-stone{width:13px;height:13px}.moves-list strong{font-weight:500;color:#62744f;min-width:27px}.moves-list li>span:nth-child(4){color:#a2ad92;font-size:9px}.moves-list small{margin-left:auto;font-size:8px;color:#8aa26a}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e9ecdf;margin-top:30px;padding:23px 0 25px;color:#a4ad97;font-size:9px}.page-footer>span:first-child{color:#869476;font-weight:600;display:flex;gap:7px;align-items:center}.footer-mark{font-size:8px;letter-spacing:1px}.page-footer button{font-size:9px;display:flex;gap:6px;align-items:center;color:#96a286}.connection-banner{padding:14px 17px;border:1px solid #e3d8b3;border-radius:9px;background:#faf8ee;color:#8b7f58;font-size:11px;display:flex;gap:10px;align-items:center;margin-bottom:22px}.connection-banner span{flex:1}.connection-banner button{text-decoration:underline;font-size:10px;white-space:nowrap}.room-code{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f6f8f0;border-radius:8px}.room-code>span{font-size:10px;color:#94a081}.room-code strong{font-size:15px;letter-spacing:2px;color:#697e4e;margin-left:auto}.icon-button{width:30px;height:30px;display:grid;place-items:center;color:#94a085;border-radius:6px;padding:0}.icon-button:hover{background:#edf2e5}.muted{font-size:11px;color:#8f9a80;line-height:1.8;margin:15px 0}.opponent-status{font-size:10px;color:#94a082;display:flex;align-items:center;gap:6px;margin:17px 0}.online-dot,.offline-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#8ca86a;flex-shrink:0}.offline-dot{background:#c7ad6c}.leave-button{width:100%;margin-top:14px}.draw-offer{background:#f4f5e9;padding:12px;border-radius:7px;font-size:11px;line-height:1.7;margin-top:15px;color:#7a8966}.draw-offer button{font-size:10px;text-decoration:underline;padding:5px 8px}.chat-panel{padding-bottom:14px}.chat-panel .panel-title{margin-bottom:10px}.chat-messages{height:235px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px 1px 12px}.system-message{font-size:9px;color:#a7b093;text-align:center;line-height:1.8;margin:10px 0;padding:0 10px}.chat-message{margin:12px 0;max-width:90%;width:max-content}.chat-message>span{display:flex;gap:9px;align-items:center;font-size:9px;color:#8f9b7e;margin-bottom:5px}.chat-message time{font-size:8px;color:#b0b99e}.chat-message p{font-size:11px;line-height:1.7;background:#f3f6ed;border-radius:0 9px 9px;padding:8px 10px;overflow-wrap:anywhere;color:#62734e}.chat-message.mine{margin-left:auto}.chat-message.mine>span{justify-content:flex-end}.chat-message.mine p{background:#e9efde;border-radius:9px 0 9px 9px}.chat-form{display:flex;align-items:center;border:1px solid #e4e9da;background:#fafbf7;border-radius:7px;overflow:hidden;padding:5px}.chat-form input{background:none;border:0;width:100%;padding:7px;font-size:10px;color:#677d4d}.chat-form button{padding:7px;color:#768f56}.lobby-overview{border:1px solid #e0e7d4;border-radius:13px;background:#eff3e6;margin-bottom:26px}.lobby-intro{padding:26px 28px;display:flex;align-items:center;gap:20px}.lobby-icon{background:#e4ebd8;color:#85996b;width:62px;height:62px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.lobby-intro h2{font-size:17px;color:#586f42;letter-spacing:-.6px;margin-bottom:8px}.lobby-intro p{font-size:11px;color:#929f80}.lobby-intro strong{color:#758d58;font-weight:500}.lobby-intro .button{margin-left:auto;padding:12px 22px}.join-code-form{border-top:1px solid #e0e7d4;padding:15px 28px;display:flex;align-items:center;gap:16px;background:#f4f7ee;border-radius:0 0 13px 13px}.join-code-form label{font-size:11px;color:#8a9878}.join-code-form input{background:#fff;border:1px solid #e1e8d6;border-radius:6px;padding:8px 12px;width:150px;font-size:11px;letter-spacing:1px}.join-code-form button{margin-left:auto}.lobby-panel{padding:26px}.lobby-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid #edf0e6}.lobby-heading h2{font-size:15px;letter-spacing:-.3px}.lobby-heading h2 span{font-size:12px;font-weight:500;color:#91a375;margin-left:8px}.lobby-heading p{font-size:10px;color:#9ba58d;margin-top:7px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #e5eadd;border-radius:7px;padding:10px 12px;color:#a4af94}.search-box input{border:0;background:none;font-size:10px;width:150px;color:#66784e}.room-row{display:flex;align-items:center;gap:17px;padding:22px 0;border-bottom:1px solid #eef1e7}.room-row:last-child{border:0;padding-bottom:0}.room-row-icon{background:#f0f4e8;color:#8ca371;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;flex-shrink:0}.room-row-icon.playing{color:#b1b7a1;background:#f5f6f1}.room-row>div{min-width:0;flex:1}.room-row h3{font-size:13px;font-weight:600;overflow-wrap:anywhere}.room-row p{font-size:9px;color:#a1ad90;margin-top:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.room-row p i{height:8px;width:1px;background:#e3e9d9}.room-status{font-size:10px;padding:5px 8px;border-radius:5px;white-space:nowrap}.room-status.waiting{background:#edf4e3;color:#8aa769}.room-status.playing{background:#f4f5ef;color:#a2ad91}.room-row .button{min-height:34px;font-size:10px;padding:7px 14px}.empty-lobby{text-align:center;padding:65px 10px}.empty-board-art{width:80px;height:80px;border:1px solid #d9e2c8;border-radius:10px;margin:0 auto 23px;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#dce5cc 19px,#dce5cc 20px),repeating-linear-gradient(90deg,#f1f5e9,#f1f5e9 19px,#dce5cc 19px,#dce5cc 20px);position:relative;transform:rotate(-9deg)}.empty-board-art span{width:16px;height:16px;border-radius:50%;background:#7b8e61;position:absolute;top:31px;left:31px;box-shadow:0 2px 2px #536b3425}.empty-board-art span:nth-child(2){left:11px;top:51px;background:#fff;border:1px solid #d5dfc3}.empty-board-art span:nth-child(3){left:51px;top:11px;background:#97a781}.empty-lobby h3{font-size:16px;font-weight:600;color:#6f8157;margin-bottom:10px;letter-spacing:-.5px}.empty-lobby p{font-size:11px;color:#a0ac8f;line-height:1.8}.empty-lobby .button{margin-top:25px}.lobby-footnote{font-size:10px;color:#a3b092;display:flex;justify-content:center;align-items:center;gap:9px;padding:30px 10px 0;line-height:1.8}.toast{position:fixed;left:50%;bottom:27px;transform:translate(-50%);z-index:30;background:#3b4b31;color:#f7f9f1;display:flex;align-items:center;gap:20px;padding:16px 20px;border-radius:10px;box-shadow:0 10px 30px #2c381b26;font-size:12px;line-height:1.7;max-width:calc(100% - 28px);width:max-content}.toast button{color:#d0dfbf;display:grid;place-items:center;padding:4px;flex-shrink:0}.modal{border:1px solid #e1e8d5;border-radius:17px;padding:29px;width:440px;max-width:calc(100% - 28px);max-height:90dvh;box-shadow:0 25px 100px #26331826;overflow-y:auto;color:#3f4f31;background:#fff}.modal::backdrop{background:#1f2b2266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.modal-head h2{font-size:18px;letter-spacing:-.6px}.modal-description{font-size:12px;line-height:1.9;color:#8e9b7d;margin-bottom:23px}.form-label{font-size:11px;display:block;color:#7f916b;margin-bottom:10px}.form-input{width:100%;padding:12px 14px;border:1px solid #dfe6d3;border-radius:8px;color:#62784b;background:#fafcf7;font-size:13px}.modal-info{display:flex;align-items:center;gap:8px;margin:19px 0 25px;font-size:11px;color:#8c9c79}.modal-actions{display:flex;gap:10px;margin-top:25px}.modal-actions .button{flex:1}.rules-content ol{list-style:none;padding:0;margin:0}.rules-content li{display:flex;gap:15px;margin:23px 0}.rules-content li>span{font-size:10px;background:#eef3e5;color:#839c61;border-radius:7px;width:30px;height:30px;flex-shrink:0;display:grid;place-items:center}.rules-content h3{font-size:13px;font-weight:600;margin:3px 0 8px}.rules-content li p{font-size:11px;color:#98a788;line-height:1.9}.rules-note{display:flex;gap:10px;align-items:flex-start;background:#f5f8ee;padding:15px;border-radius:8px;margin:23px 0;color:#8fa574}.rules-note>svg{flex-shrink:0}.rules-note p{font-size:10px;line-height:1.9}.inline-error{font-size:11px;color:#a16d4b;background:#fbf5ed;padding:12px;margin-top:15px;border-radius:7px;line-height:1.8}.inline-error button{color:#8e623c;text-decoration:underline;display:block;margin-top:5px}.solo-stats{display:flex;align-items:center;gap:10px;background:#f0f5e6;border-radius:10px;padding:18px 13px;color:#86a168;margin-bottom:26px;font-size:11px}.solo-stats strong{margin-left:auto;color:#607d40;white-space:nowrap}.history-content>h3{font-size:12px;color:#859e6c}.history-item{display:flex;gap:13px;align-items:center;padding:17px 0;border-bottom:1px solid #eff3e8}.history-result{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:13px;background:#f0f4e8;color:#829c65}.history-result.lose{background:#f4eee8;color:#ae927b}.history-result.draw{background:#f3f3eb;color:#a3a183}.history-item strong{font-size:12px;font-weight:500}.history-item p{font-size:10px;color:#a2b18f;margin-top:5px}.history-item time{margin-left:auto;font-size:10px;color:#a4b291}.empty-history{text-align:center;font-size:12px;color:#a0af8b;line-height:1.9;padding:35px 5px}.loading{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#9bad83;padding:35px 0}.result-modal{text-align:center;padding-bottom:25px;overflow:hidden}.result-modal .modal-head h2{font-size:10px;letter-spacing:3px;color:#9aad80}.result-symbol{width:93px;height:93px;border-radius:50%;margin:20px auto 24px;background:#eff5e4;color:#839f55;display:grid;place-items:center;animation:result-in .65s cubic-bezier(.19,1,.22,1)}.result-modal.lose .result-symbol{background:#f5f1e9;color:#b09e79}.result-modal h3{font-size:24px;letter-spacing:-1px}.result-modal>p{font-size:11px;color:#9aa98a;line-height:1.9;margin:15px 0 23px}.result-details{display:flex;justify-content:center;gap:15px;align-items:center;font-size:11px;color:#93a47e;margin-bottom:30px}.result-details i{width:1px;height:10px;background:#dde6d0}.review-button{margin-top:15px}.confetti{position:absolute;top:40px;right:0;bottom:35%;left:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;left:var(--x);top:-20px;width:7px;height:11px;background:#a5b97d;border-radius:1px;opacity:0;animation:confetti-fall 2.8s ease-in calc(var(--i) * 47ms) 1}.confetti i:nth-child(3n){background:#d1bd82}.confetti i:nth-child(3n+1){background:#6f8c53;width:5px;height:7px}.spin{animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stone-in{0%{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes line-in{0%{opacity:0;stroke-dasharray:0 1000}to{opacity:.8;stroke-dasharray:1000 1000}}@keyframes result-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(340px) rotate(540deg);opacity:0}}@media(min-width:1550px){main{padding-top:45px}.page-heading{margin-bottom:35px}.game-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}.game-card-heading{padding:22px 27px}.players-row{padding:21px 30px}.board-area{padding:0 45px}.panel{padding:24px}.tip-panel{padding:25px}.game-panels{gap:22px}.topbar{padding:0 55px}.page-footer{margin-top:38px}}@media(max-width:1200px){.sidebar{width:190px;padding:30px 16px 23px}.brand{gap:9px}.brand>span{font-size:21px}.brand img{width:36px;height:36px}.brand small{font-size:8px;letter-spacing:2px}.sidebar-label{font-size:7px;letter-spacing:1px}.main-wrapper{margin-left:190px}.topbar{padding:0 28px;height:75px}main{padding:30px 28px 0}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.panel{padding:18px}.tip-panel{padding:20px 18px}.guide-button{display:none}h1{font-size:26px}.board-area{padding:0 19px}.players-row{padding:12px 13px;gap:4px}.player-info{gap:7px;padding:8px 5px}.player-info strong{font-size:10px}.player-stone{width:25px;height:25px}.game-card-heading{padding:16px 18px}.game-card-title h2{max-width:180px}.board-toolbar{padding:9px 17px}.board-toolbar>div{gap:12px}.move-count{font-size:8px}.difficulty small{font-size:7px}}@media(max-width:1000px){.sidebar{width:78px;padding:26px 12px}.brand{padding:0;justify-content:center}.brand>span,.sidebar-label,.nav-item>span,.nav-item>.lucide-chevron-right,.sidebar-note,.sidebar-copyright{display:none}.sidebar nav{margin-top:42px}.nav-item{justify-content:center;padding:16px 0;position:relative}.nav-count{position:absolute;right:0;top:5px}.sidebar-bottom{padding-top:20px}.brand img{width:38px;height:38px}.main-wrapper{margin-left:78px}.game-layout{grid-template-columns:minmax(0,1fr) 258px;gap:17px}main{padding:28px 25px 0}.topbar{padding:0 25px}.player-info strong{font-size:9px}.player-info small{display:none}.rule-badge{font-size:8px}.game-card-title h2{font-size:12px}.side-options button{font-size:9px;gap:5px}.panel-title h2{font-size:12px}.tip-panel h3{font-size:11px}.page-footer>span:nth-child(2){font-size:8px}.lobby-intro{padding:24px 22px;gap:15px}.lobby-intro h2{font-size:15px}.lobby-icon{width:48px;height:48px}.join-code-form{padding:15px 22px}}@media(max-width:780px){.game-layout{grid-template-columns:minmax(0,1fr)}.game-card{max-width:600px;width:100%;margin:auto}.game-panels{grid-template-columns:1fr 1fr;gap:16px}.settings-panel{grid-row:span 2}.tip-panel,.moves-panel{padding:20px}.game-card-title h2{font-size:14px;max-width:300px}.player-info strong{font-size:12px}.player-info small{display:inline}.player-info{padding:10px;gap:10px}.players-row{padding:16px 24px;gap:12px}.board-area{padding:0 30px}.player-stone{width:29px;height:29px}.rule-badge{font-size:9px}.board-toolbar{padding:11px 24px}.move-count{font-size:10px}.stone>span{font-size:12px}.page-heading{margin-bottom:25px}.topbar{height:70px}.breadcrumb{font-size:10px}.top-actions{gap:12px}.page-heading p{font-size:11px}.game-panels .chat-panel{grid-column:1/-1}.chat-messages{height:230px}.room-panel{grid-column:1/-1}.lobby-heading{align-items:flex-start;flex-direction:column}.search-box,.search-box input{width:100%}.lobby-intro{flex-wrap:wrap}.lobby-intro>div{flex:1}.lobby-intro .button{margin:3px 0 0;width:100%}.lobby-panel{padding:21px}.room-row{gap:11px;flex-wrap:wrap}.room-row>div{flex-basis:50%}.room-status{font-size:9px}.room-row .button{margin-left:auto}.empty-lobby{padding:45px 0}.lobby-footnote{font-size:9px}.join-code-form{gap:10px}.join-code-form label{font-size:10px}.join-code-form input{width:125px;font-size:10px}.sidebar .nav-item[aria-label]{font-size:0}}@media(max-width:560px){.sidebar{position:static;width:100%;height:auto;padding:14px 17px;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:14px}.app-layout{display:block}.brand{justify-content:flex-start;gap:8px;flex-shrink:0}.brand img{width:31px;height:31px}.brand>span{display:block;font-size:18px}.brand small{display:none}.sidebar nav{margin:0 0 0 auto;display:flex;gap:4px}.nav-item{padding:10px 9px;width:auto;gap:5px;border-radius:7px;font-size:10px}.nav-item>span{display:block}.nav-item>svg{width:16px;height:16px}.sidebar nav .nav-item:last-child{padding:10px}.sidebar nav .nav-item:last-child>span{display:none}.nav-count{font-size:8px;right:-2px;top:-4px;padding:1px 4px}.sidebar-bottom{display:none}.main-wrapper{margin:0}.topbar{height:49px;padding:0 17px;background:#fff}.breadcrumb{font-size:9px;gap:8px}.profile-button{font-size:9px;gap:6px}.avatar{width:24px;height:24px}.avatar>svg{width:16px}.top-actions{gap:8px}.connection{font-size:8px;gap:5px}.connection i{height:5px;width:5px}.top-divider{height:14px}.profile-button>svg{display:none}main{padding:26px 15px 0}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:24px;margin-top:8px;margin-bottom:8px;letter-spacing:-1.1px}.page-heading p{font-size:10px;letter-spacing:-.15px}.page-heading{margin-bottom:22px}.game-card-heading{padding:16px}.game-card-title h2{font-size:12px;max-width:200px}.game-card-title span:not(.small-icon){font-size:8px}.rule-badge{font-size:8px;padding:5px 6px;gap:5px}.small-icon{width:30px;height:30px}.game-card-title{gap:8px}.players-row{padding:12px 11px;gap:7px}.player-info{gap:8px;padding:8px 5px}.player-info strong{font-size:10px;max-width:115px}.player-info>div>span{font-size:8px}.player-info small{font-size:7px}.player-stone{width:25px;height:25px}.turn-dot{width:5px;height:5px}.board-area{padding:0 15px}.board-shell{border-radius:6px}.stone>span{font-size:9px}.board-toolbar{padding:9px 14px}.tool{font-size:9px;gap:5px}.tool svg{width:15px}.move-count{font-size:8px;gap:5px}.turn-status{font-size:10px;gap:7px;padding:15px 9px;min-height:53px}.turn-status>span:not(.tiny-stone){font-size:9px}.turn-status .tiny-stone{width:13px;height:13px}.game-panels{grid-template-columns:1fr;gap:14px}.settings-panel{grid-row:auto}.panel{padding:20px}.panel-title{margin-bottom:18px}.panel-title h2{font-size:13px}.difficulty{padding:14px 0 12px}.difficulty strong{font-size:12px;margin-top:9px}.difficulty small{font-size:9px}.difficulty-options{gap:10px}.difficulty .level-symbol{font-size:24px}.side-options button{font-size:11px;height:40px}.side-label{margin-top:19px}.field-label{font-size:11px}.settings-caption{font-size:10px}.button{font-size:12px;min-height:44px}.tip-panel{display:none}.moves-panel .panel-title{margin-bottom:10px}.moves-list li{font-size:11px}.moves-list li>span:nth-child(4){font-size:10px}.empty-moves p{font-size:11px}.empty-moves span{font-size:10px}.page-footer{margin-top:25px;padding:20px 0;font-size:9px}.page-footer>span:nth-child(2){display:none}.chat-messages{height:260px}.chat-form input{font-size:12px;padding:10px 8px}.chat-form button{padding:10px}.chat-message p{font-size:12px}.chat-message>span{font-size:10px}.system-message{font-size:10px}.room-code strong{font-size:17px}.muted{font-size:12px}.opponent-status{font-size:11px}.connection-banner{font-size:10px;padding:12px;gap:8px}.connection-banner>svg{flex-shrink:0;width:16px}.lobby-intro{padding:22px 19px;gap:13px}.lobby-icon{width:42px;height:42px}.lobby-intro h2{font-size:13px;line-height:1.6}.lobby-intro p{font-size:10px;line-height:1.8}.lobby-intro .button{margin-top:8px}.join-code-form{padding:13px 15px;gap:9px;flex-wrap:wrap}.join-code-form label{font-size:9px}.join-code-form input{width:108px;padding:8px 9px}.join-code-form button{font-size:9px;gap:4px}.lobby-panel{padding:20px 17px}.lobby-heading h2{font-size:14px}.lobby-heading p{font-size:10px;line-height:1.7}.search-box input{font-size:11px}.room-row h3{font-size:12px}.room-row p{font-size:8px}.room-row-icon{width:35px;height:35px}.room-status{font-size:8px}.empty-lobby h3{font-size:14px}.empty-lobby p{font-size:10px}.lobby-footnote{text-align:center;align-items:flex-start;gap:7px;font-size:9px;padding:24px 5px 0}.lobby-footnote svg{flex-shrink:0}.modal{padding:23px}.modal-head h2{font-size:17px}.modal-description{font-size:12px}.toast{font-size:11px;padding:13px 15px;bottom:17px}.result-modal h3{font-size:23px}.profile-button>span:nth-child(2){max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secondary-actions>button{padding:8px;font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti{display:none}}
