@font-face{font-family:"Pretendard";src:url("/fonts/PretendardVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#111114;--sidebar:#141417;--panel:#1a1a1f;--panel-2:#202026;--border:#2b2b32;--text:#eeedf2;--muted:#aaa6b4;--accent:#b6a0e7;--green:#88c6a6;--radius:16px;font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}svg{flex-shrink:0}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:100;background:var(--accent);color:#141417;padding:10px}[hidden]{display:none!important}.muted{color:var(--muted)}.small-text{}.shell{display:flex;min-height:100vh}.sidebar{width:226px;position:fixed;inset:0 auto 0 0;z-index:20;background:var(--sidebar);border-right:1px solid var(--border);padding:32px 20px 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.7px;white-space:nowrap}.brand small{display:block;font-weight:500;letter-spacing:1.6px;color:#8e8999;margin-top:3px}.brand-mark{display:grid;place-items:center;width:37px;height:43px;color:#c2afe7}.brand-mark .icon{width:34px;height:34px;stroke-width:1.2}.nav-label{letter-spacing:1px;color:#777580;margin:44px 13px 14px}.nav-link{display:flex;align-items:center;gap:13px;height:46px;padding:0 14px;color:#a5a3b0;border-radius:8px;margin:4px 0;transition:background .2s,color .2s}.nav-link:hover{background:#202026;color:#e4dcef}.nav-link.active{color:#c4b1ed;background:#292332}.nav-link.active .icon{stroke-width:1.9}.nav-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:auto}.tiny-tag{margin-left:auto;background:#2b2b32;padding:0 6px;border-radius:4px;color:#a8a4b2}.sidebar-line{height:1px;background:var(--border);margin:24px 12px 0}.sidebar-line+.nav-label{margin-top:24px}.game-shortcut{display:flex;align-items:center;gap:11px;padding:8px 12px;}.game-shortcut small{display:block;color:#82808f;margin-top:2px}.game-shortcut>.status-dot{margin-left:auto}.mini-block{width:29px;height:29px;background:linear-gradient(#648770 0 30%,#6b594b 30% 60%,#493e36 60%);border-radius:6px;box-shadow:inset -7px 0 #0002;transform:rotate(-5deg)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.status-dot.neutral{background:#84828c}.sidebar-bottom{margin-top:auto;padding-top:50px}.sidebar-profile{border-top:1px solid var(--border);background:none;width:calc(100% + 40px);margin:10px -20px 0;padding:20px;display:flex;align-items:center;gap:10px;text-align:left;}.sidebar-profile>span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile small{display:block;color:var(--muted);margin-top:2px}.sidebar-profile>.icon{width:16px;color:#8c8497}.avatar{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:#342d43;color:#c9bce6;flex-shrink:0;overflow:hidden;font-weight:600}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.guest{background:#2a2630;color:#9b8dab}.workspace{margin-left:226px;width:calc(100% - 226px)}.topbar{height:78px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:15px}.breadcrumbs{display:flex;gap:16px;align-items:center;color:#888492}.breadcrumbs strong{font-weight:500;color:#d0cbd7}.slash{color:#514d59}.topbar-actions{display:flex;align-items:center;gap:22px}.domain-label{color:#777280;letter-spacing:.5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:8px;background:var(--accent);color:#20182c;font-weight:650;padding:11px 17px;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.small{padding:9px 13px;}.discord-button{background:#2b2636;color:#cbb9ee;border:1px solid #463754}.discord-button .icon{width:18px;height:18px}.icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:8px;background:transparent;color:#aaa3b5}.icon-button:hover{background:#ffffff0c;color:#eee}.text-button{padding:3px;background:none;display:inline-flex;align-items:center;gap:5px;color:#bbb0cd;}.text-button:hover{color:#e1d4fb}.text-button .icon{width:14px;height:14px}.mobile-menu{display:none}main{padding:35px 36px 0;max-width:1700px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}h1{letter-spacing:-1.1px;line-height:1.4;font-weight:650}.page-heading p{color:#928c9d;margin-top:9px}.date-label{color:#8f899a;white-space:nowrap}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:24px;align-items:start}.main-column{min-width:0}.panel{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);overflow:hidden}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-heading h2{font-weight:600;display:flex;align-items:center;gap:8px;letter-spacing:-.3px}.section-heading h2 .icon{width:18px;height:18px;color:#a79ab9}.section-heading>.small-text{color:#7c7686}.server-card{margin-bottom:27px}.server-banner{height:144px;position:relative;background:radial-gradient(ellipse at 55% 100%,#384d3c 0,transparent 72%),#202a25;overflow:hidden}.server-edition{position:absolute;top:17px;left:23px;color:#bdcbb6;letter-spacing:1.8px;border:1px solid #768c6a60;padding:3px 7px;border-radius:4px;z-index:2}.status-pill{display:flex;align-items:center;gap:6px;border:1px solid #73977d45;color:#b8ddc4;background:#1a3025dd;border-radius:30px;padding:3px 9px;position:absolute;top:17px;right:22px;z-index:2}.status-pill.neutral{background:#222526cc;color:#c0bfc0;border-color:#74747450}.status-pill.neutral .status-dot{background:#97959c}.server-banner-title{position:absolute;bottom:25px;left:23px;font-family:monospace;font-weight:700;letter-spacing:2px;color:#d8e1cd;text-shadow:2px 3px #171d18;z-index:2}.server-banner-title span{display:block;font-family:inherit;letter-spacing:1.4px;font-weight:400;margin-top:3px;color:#acb9a2}.voxel-world{position:absolute;right:0;bottom:0;width:55%;height:100%;opacity:.75;overflow:hidden}.voxel{position:absolute;bottom:-15px;width:70px;height:80px;background:linear-gradient(#586a49 0 12%,#3e4938 12% 30%,#35372a 30% 65%,#2b2e26 65%);box-shadow:inset -23px 0 #0002;transform:skewY(-12deg);border-top:2px solid #7c8b62}.v1{right:-15px;height:93px}.v2{right:47px;height:62px;background:#3e4e36}.v3{right:100px;height:90px;width:56px}.v4{right:148px;height:49px}.v5{right:196px;height:30px}.v6{right:29px;bottom:49px;height:39px;width:29px;background:#46553b}.v7{right:101px;bottom:74px;height:29px;width:30px;background:#556b43}.v8{right:135px;bottom:25px;height:30px;width:33px;background:#576344}.moon{position:absolute;width:24px;height:24px;right:114px;top:25px;background:#a3b79b80;box-shadow:0 0 35px #d0e2c925}.server-body{padding:19px 23px 13px}.server-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.server-title-row h3{font-weight:600;letter-spacing:-.3px}.server-title-row p{color:#948d9e;margin-top:4px;max-width:420px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.server-title-row .icon-button{}.server-metrics{display:grid;grid-template-columns:1fr 1fr 1.3fr;margin:20px 0 19px}.server-metrics>div{border-right:1px solid #302c36;padding-left:19px;min-width:0}.server-metrics>div:first-child{padding-left:0}.server-metrics>div:last-child{border:0}.server-metrics span{display:block;color:#948d9e;margin-bottom:5px}.server-metrics strong{display:block;line-height:1.4;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-metrics strong small{font-weight:400;color:#8e869b}.server-metrics .version-value{padding-top:4px}.server-address{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#131416;border:1px solid #2f2c35;padding:10px 12px;border-radius:7px;color:#9d95aa}.server-address>span{display:flex;align-items:center;gap:9px}.server-address code{color:#c0b6cd;}.server-address .icon{width:12px;height:12px}.server-address:hover{border-color:#80708e}.server-footnote{color:#787181;margin-top:9px}.board-panel{border-radius:12px}.board-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--border)}.tabs{display:flex;gap:4px}.tab{background:none;color:#908898;padding:5px 12px;border-radius:6px;white-space:nowrap}.tab.active{background:#332b40;color:#c7b5e5}.tab:hover{color:#e2d8ed}.search-box{display:flex;align-items:center;gap:7px;max-width:154px;min-width:0}.search-box .icon{width:14px;height:14px;color:#81798b}.search-box input{width:100%;min-width:0;padding:5px 0;border:0;background:none;color:var(--text);outline-offset:1px}input::placeholder,textarea::placeholder{color:#79717f}.empty-state{padding:36px 15px 33px;text-align:center}.empty-state>.icon{width:28px;height:28px;color:#70657e;margin-bottom:10px}.empty-state h3{font-weight:500;color:#b7adbf}.empty-state p{color:#82798d;margin-top:7px}.empty-state button{margin-top:13px}.post-row{padding:17px 20px;border-bottom:1px solid #2b2732;display:flex;align-items:center;gap:12px;width:100%;background:none;text-align:left}.post-row:last-child{border:0}.post-row:hover{background:#ffffff04}.post-row-main{flex:1;min-width:0}.post-row h3{font-weight:500;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-badge{padding:3px 7px;background:#2e2839;color:#b8a7d4;border-radius:4px;display:inline-block}.category-badge.game{background:#24352d;color:#9dbaa5}.category-badge.notice{background:#3b3327;color:#cbb789}.post-row-meta{color:#82798d;margin-top:6px;display:flex;gap:10px}.comment-stat{color:#8c7b9e;display:flex;align-items:center;gap:5px}.comment-stat .icon{width:14px;height:14px}.board-footer{padding:13px 19px;border-top:1px solid var(--border);color:#827789;display:flex;justify-content:space-between;align-items:center;gap:8px}.board-footer a{color:#b0a2c1}.board-footer a span{margin-left:7px}.pagination{display:flex;align-items:center;gap:13px}.chat-panel{position:sticky;top:22px;display:flex;flex-direction:column;min-height:758px}.chat-heading{padding:21px 19px 17px;display:flex;justify-content:space-between;align-items:center}.chat-heading h2{display:flex;align-items:center;gap:8px;font-weight:600}.chat-heading h2 .icon{color:#b4a4c7;width:18px;height:18px}.live-tag{letter-spacing:.5px;color:#9a93a2;background:#2c2831;padding:2px 6px;border-radius:4px}.live-tag.connected{color:#9ec7ab;background:#24362c}.channel-tabs{display:flex;padding:0 15px 14px;gap:5px;border-bottom:1px solid var(--border)}.channel{border-radius:6px;padding:7px 10px;background:none;color:#9b91a6;white-space:nowrap}.channel.active{background:#30283c;color:#c6b0e3}.chat-messages{height:384px;min-height:200px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#48404f transparent;padding:19px 17px}.chat-welcome{height:100%;min-height:215px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.chat-welcome h3{font-weight:500;color:#c0b2cd}.chat-welcome p{line-height:1.9;color:#8c7f97;margin-top:9px}.chat-compose-wrap{margin-top:auto;padding:0 16px 16px;border-bottom:1px solid var(--border)}.chat-login-hint{display:flex;justify-content:center;align-items:center;gap:5px;color:#a191b1;padding:8px 0 12px}.chat-login-hint>.icon{width:11px;height:11px}.chat-login-hint button{color:#a99ab9}.chat-compose{display:flex;gap:8px;background:#131316;border:1px solid #343039;border-radius:9px;padding:9px;align-items:flex-end}.chat-compose textarea{resize:none;background:none;border:0;outline:none;color:#d9cce5;flex:1;min-width:0;padding:5px;max-height:120px}.send-button{width:29px;height:29px;border-radius:6px;background:#a08bc3;color:#21182d;display:grid;place-items:center;flex-shrink:0}.send-button .icon{width:15px;height:15px}.chat-bottom{display:flex;justify-content:space-between;gap:5px;color:#86778f;margin-top:9px}.chat-bottom>span:first-child{display:flex;align-items:center;gap:5px}.chat-bottom .status-dot{width:4px;height:4px}.online-section{padding:16px 19px 20px}.online-heading{display:flex;align-items:center;justify-content:space-between;color:#a497ae;margin-bottom:13px}.online-heading>span:last-child{background:#2f2738;border-radius:4px;padding:0 6px;color:#c3b3d1}.online-section .small-text{color:#7d7088}.online-friend{display:inline-flex;align-items:center;gap:6px;margin:4px 9px 4px 0;color:#c4b6d1}.online-friend .avatar{width:23px;height:23px;border-radius:8px;}.chat-message{display:flex;gap:9px;margin-bottom:18px;align-items:flex-start}.chat-message .avatar{width:28px;height:28px;border-radius:9px;}.message-content{min-width:0;flex:1}.message-meta{display:flex;align-items:center;gap:7px;margin-bottom:4px}.message-meta strong{font-weight:600;color:#c9b9d6;overflow-wrap:anywhere}.message-meta time{color:#83728d}.message-body{color:#b5a8c0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.chat-message.own .message-meta strong{color:#bba1e1}.page-footer{display:flex;justify-content:space-between;align-items:center;padding:28px 0 22px;color:#716878;letter-spacing:.2px}.page-footer>span:last-child{display:flex;align-items:center;gap:8px}.page-footer .icon{width:12px;height:12px}.join-guide{padding:25px;margin-bottom:25px}.join-guide h3{}.join-guide ol{padding-left:20px;color:#b5aabe;line-height:2.2}.join-guide p{color:#95879f;}.content-grid.chat-wide{grid-template-columns:1fr}.chat-wide .main-column{display:none}.chat-wide .chat-panel{max-width:980px;width:100%;margin:auto;position:static}.chat-wide .chat-messages{height:450px}.chat-wide .channel,.chat-wide .message-body{}.chat-wide .message-meta strong{}.chat-wide .chat-compose textarea{}.modal{background:#1d1b23;color:var(--text);border:1px solid #413647;border-radius:18px;max-width:calc(100% - 32px);padding:28px;box-shadow:0 30px 100px #0008;max-height:90dvh;overflow-y:auto}.modal::backdrop{background:#08070bd9;backdrop-filter:blur(6px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.modal h2{font-weight:600;letter-spacing:-.7px}.close-modal{position:absolute;top:12px;right:12px}.login-modal{text-align:center;width:410px;padding:40px 30px 25px}.login-gem{display:grid;place-items:center;margin:8px auto 24px;width:66px;height:66px;background:#31263f;border:1px solid #534365;border-radius:22px;color:#c7afe7}.login-gem .icon{width:36px;height:36px;stroke-width:1.3}.login-modal p{line-height:1.9;color:#ae9dba;margin:15px 0 23px}.login-modal .button{width:100%;padding:13px}.login-modal p.small-text{margin-bottom:0}.editor-modal{width:580px}.editor-modal label{display:block;color:#b6a6c4;margin:18px 0 8px}.editor-modal input,.editor-modal textarea,.editor-modal select,.comments-section textarea{display:block;width:100%;border:1px solid #403646;border-radius:8px;background:#141218;color:#e0d5e8;padding:11px 13px;resize:vertical}.editor-modal select{max-width:180px}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.detail-modal{width:680px}.detail-modal>h2{overflow-wrap:anywhere}.detail-meta{color:#97859f;margin:15px 0 25px;display:flex;align-items:center;gap:9px}.detail-meta .avatar{width:24px;height:24px;border-radius:8px;}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;color:#d0c0db;min-height:100px}.post-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:20px}.danger{color:#d69a9a}.comments-section{border-top:1px solid #3b3042;margin-top:24px;padding-top:23px}.comments-section h3{margin-bottom:20px}.comments-section h3 span{color:var(--accent);margin-left:5px}.comment{padding:13px 0;border-bottom:1px solid #342b3a}.comment-meta{display:flex;align-items:center;gap:9px;color:#9c87aa}.comment-meta strong{font-weight:500;color:#c8b4d6}.comment-meta button{margin-left:auto;}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:7px;color:#c5b2d3}.comments-section form{margin-top:20px;display:flex;align-items:flex-end;flex-direction:column;gap:10px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:#352c40;border:1px solid #60516e;color:#e9ddf2;border-radius:10px;padding:12px 20px;z-index:100;box-shadow:0 10px 35px #0005}.modal .toast{position:fixed}.busy{opacity:.6;pointer-events:none}
@media(min-width:1450px){main{padding-top:42px}.content-grid{grid-template-columns:minmax(0,1fr) 350px}.server-banner{height:165px}.chat-panel{min-height:815px}.chat-messages{height:440px}}
@media(max-width:1190px){.sidebar{width:202px;padding-left:14px;padding-right:14px}.workspace{margin-left:202px;width:calc(100% - 202px)}.brand{gap:7px}.brand small{}.sidebar-profile{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px;padding:16px 14px}main{padding:28px 23px 0}.topbar{padding:0 23px}.content-grid{gap:18px;grid-template-columns:minmax(0,1fr) 288px}.date-label{display:none}.search-box{max-width:120px}.tab{padding:5px 8px}.server-body{padding-left:18px;padding-right:18px}.server-banner-title{}.server-metrics>div{padding-left:12px}.channel{padding:7px;}.chat-heading{padding-left:17px;padding-right:17px}.server-address>span:last-child{}.server-address>span:last-child .icon{width:14px;height:14px}}
@media(max-width:980px){.sidebar{width:190px}.workspace{margin-left:190px;width:calc(100% - 190px)}.content-grid{grid-template-columns:1fr}.chat-panel{position:static;min-height:550px}.chat-messages{height:300px}.server-metrics strong{}.brand{}.brand-mark{width:31px}.brand-mark .icon{width:30px}.nav-link{}.domain-label{display:none}.chat-heading h2{}.channel{padding:7px 12px}.chat-compose textarea{}.chat-messages .message-body{}.chat-message .message-meta strong{}.chat-message .message-meta time{}.search-box{max-width:160px}.page-heading h1{}.server-title-row p{max-width:360px}}
@media(max-width:640px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:226px;box-shadow:15px 0 60px #0006}.sidebar.open{transform:translateX(0)}.workspace{margin:0;width:100%}.topbar{height:66px;padding:0 17px;position:sticky;top:0;z-index:10;background:#111114f0;backdrop-filter:blur(10px)}.breadcrumbs{gap:10px;}.breadcrumbs>span:first-of-type{display:none}.breadcrumbs .slash{display:none}.mobile-menu{display:inline-grid}.topbar-actions .button{padding:8px 10px}.topbar-actions .icon{width:15px;height:15px}main{padding:26px 17px 0}.page-heading{margin-bottom:22px}h1,.page-heading h1{}.page-heading p{}.section-heading h2{}.server-banner{height:142px}.server-banner-title{}.server-title-row p{max-width:245px}.server-body{padding:18px 17px 13px}.server-metrics{grid-template-columns:1fr 1fr 1.1fr}.server-metrics strong{}.server-metrics span{}.server-metrics .version-value{}.server-address code{}.server-address>span:last-child{}.board-controls{padding:12px;gap:5px}.tab{padding:5px 9px}.search-box{max-width:112px;gap:4px}.search-box input{}.search-box .icon{width:12px}.post-row{padding:15px}.board-footer{padding:12px 15px}.chat-panel{min-height:590px}.chat-messages{height:320px}.chat-bottom{}.online-section .small-text{}.online-heading{}.page-footer{padding-top:24px}.modal{padding:23px;max-height:90dvh}.login-modal{padding:35px 25px 25px}.form-bottom>.small-text{max-width:125px}.editor-modal h2{}.editor-modal textarea{min-height:160px}.comment-form .button{}.chat-wide .chat-messages{height:calc(100dvh - 490px);min-height:240px}.brand{}.brand small{}.brand-mark{width:37px}.sidebar-profile{width:calc(100% + 28px)}.date-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Accounts and administration */
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:28px}.admin-stats>.panel{padding:20px 22px}.admin-stats span{color:var(--muted)}.admin-stats strong{font-weight:550;display:block;margin-top:6px}.admin-stats>.panel:nth-child(2) strong{color:#d9bf89}.admin-stats>.panel:nth-child(3) strong{color:var(--green)}.admin-stats>.panel:last-child strong{color:var(--accent)}.admin-section-heading p{margin-top:7px}.admin-actions{display:flex;align-items:center;gap:12px}.admin-actions .icon{width:15px;height:15px}.admin-actions .icon-button{}.admin-controls{padding:17px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:15px;align-items:center}.admin-search{display:flex;gap:8px;align-items:center;border:1px solid #3b3442;background:#141217;border-radius:8px;padding:6px 10px}.admin-search>.icon{width:16px;color:#9885aa}.admin-search input{background:none;border:0;min-width:0;width:185px;padding:3px;color:var(--text);}.admin-search .text-button{white-space:nowrap;}.account-table-wrap{overflow-x:auto}.account-table{width:100%;border-collapse:collapse;text-align:left}.account-table th{color:#93869e;font-weight:500;padding:14px 20px;background:#17151c;white-space:nowrap}.account-table td{padding:18px 20px;border-top:1px solid #2d2735;white-space:nowrap}.account-person{display:flex;align-items:center;gap:12px}.account-person .avatar{width:38px;height:38px;border-radius:12px}.account-person strong{font-weight:500;max-width:250px;display:block;overflow:hidden;text-overflow:ellipsis}.account-person code{display:block;color:#9988a9;margin-top:4px}.account-status{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:5px;}.account-status:before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%}.account-status.pending{background:#373022;color:#d5bc88}.account-status.active{background:#23352c;color:#9bc4aa}.account-status.blocked{background:#3c292b;color:#d79da3}.account-role{color:#a899b7}.account-role.admin{color:#c4a7ed}.account-date{color:#9784a5}.account-manage{border:1px solid #473751;color:#c5b0d7;background:#2c2434;padding:6px 11px!important;}.self-tag{margin-left:7px;background:#382b47;color:#c8ace8;padding:2px 5px;border-radius:4px}.admin-help{display:flex;gap:10px;align-items:flex-start;margin:18px 2px 30px;color:#9f8cab;max-width:850px}.admin-help>.icon{width:15px;height:15px;margin-top:3px}.admin-help p{line-height:1.9}.audit-entry{display:flex;align-items:flex-start;gap:13px;padding:16px 22px;border-bottom:1px solid #302837}.audit-entry:last-child{border-bottom:0}.audit-dot{width:7px;height:7px;border-radius:50%;background:#9073aa;flex-shrink:0;margin-top:7px}.audit-entry p{display:flex;gap:12px;flex-wrap:wrap;overflow-wrap:anywhere}.audit-entry strong{font-weight:500;color:#d3bddf}.audit-entry p span{color:#b09abd}.audit-entry small{display:block;color:#8b749b;margin-top:5px}.audit-empty{padding:25px}.account-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;border:1px solid #514433;background:#29231c;border-radius:12px;margin-bottom:24px}.account-banner strong{color:#dcc79b}.account-banner p{color:#b8a68b;margin-top:4px}.account-banner .button{flex-shrink:0;background:#d5bf92;color:#292217}.account-modal{width:440px}.account-dialog-person{padding:16px;background:#16121c;border:1px solid #3e3049;border-radius:10px;margin-bottom:20px}.account-dialog-person strong{display:block;overflow-wrap:anywhere;font-weight:500}.account-dialog-person code{display:block;color:#9f88b4;margin-top:5px}.account-modal label{display:block;color:#b9a5cb;margin:18px 0 8px}.account-modal input,.account-modal select{width:100%;background:#15101c;border:1px solid #46374f;border-radius:8px;padding:11px 12px;color:var(--text)}.account-modal select:disabled{opacity:.6}.account-modal form>p{margin-top:12px;}.form-error{background:#422b32;border:1px solid #70414d;border-radius:8px;padding:11px 13px;color:#e3b8c2;margin:12px 0}.admin-stats~.panel,.admin-members{border-radius:12px}.nav-link:not(.active) .nav-dot{display:none}
@media(max-width:1190px){.admin-stats{gap:9px}.admin-stats>.panel{padding:15px}.admin-stats strong{}.admin-controls{align-items:flex-start;flex-wrap:wrap}.account-table th,.account-table td{padding:14px}.account-person strong{max-width:200px}}
@media(max-width:640px){.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:23px}.admin-stats>.panel{padding:14px 12px}.admin-stats span{}.admin-stats strong{}.admin-stats>.panel:nth-last-child(-n+2){min-height:80px}.admin-section-heading{align-items:flex-start;gap:8px}.admin-section-heading h2{}.admin-section-heading p{max-width:175px}.admin-actions{gap:5px}.admin-actions .button{padding:8px}.admin-actions .icon-button{width:26px}.admin-controls{padding:12px;gap:12px}.admin-search{width:100%}.admin-search input{flex:1;width:auto}.admin-controls .tabs{width:100%;justify-content:space-between}.account-table{min-width:610px}.account-table th,.account-table td{padding:13px}.account-table .account-date{}.account-person strong{max-width:160px;}.account-person code{}.admin-help{gap:7px}.admin-help p{}.audit-entry{padding:15px}.audit-entry p{gap:4px;flex-direction:column}.account-banner{padding:15px;flex-direction:column;align-items:flex-start;gap:12px}.account-banner p{}.account-modal{padding:22px}.account-table-wrap{max-width:100%}}

/* Shared type scale: Korean-first, with no viewport-specific text reduction. */
:root{font-size:100%;--type-small:.8125rem;--type-label:.875rem;--type-control:1rem;--type-body:1rem;--type-h1:clamp(2.25rem,1.9rem + 1vw,3rem);--type-h2:clamp(1.75rem,1.5rem + .6vw,2.25rem);--type-h3:clamp(1.375rem,1.25rem + .4vw,1.75rem)}
body{font-size:var(--type-body);font-weight:400;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
button,input,textarea,select,code{font-family:inherit}
small{font-size:var(--type-small)}
.toast{font-size:var(--type-body)}
#refresh-server,#admin-refresh{font-size:1.5rem}
button,input,textarea,select{font-size:var(--type-control);line-height:1.6}
h1,h2,h3{font-weight:650;line-height:1.35;letter-spacing:-.025em;text-wrap:pretty}
h1,.page-heading h1{font-size:var(--type-h1)}
h2,.section-heading h2,.chat-heading h2,.modal h2,.editor-modal h2,.admin-section-heading h2{font-size:var(--type-h2);font-weight:650}
h3,.server-title-row h3,.post-row h3,.empty-state h3,.chat-welcome h3,.join-guide h3,.comments-section h3{font-size:var(--type-h3);font-weight:600;line-height:1.4}
.small-text,.form-bottom>.small-text,.login-modal p.small-text{font-size:var(--type-small)}
.nav-link,.game-shortcut,.sidebar-profile,.button,.button.small,.topbar-actions .button,.text-button,.tab,.channel,.chat-wide .channel,.admin-actions .button,.admin-search .text-button,.chat-login-hint button,.comment-meta button,.comment-form .button{font-size:var(--type-control)}
.button,.button.small,.nav-link,.tab,.channel,.account-manage{font-weight:600}
.button,.button.small{min-height:44px;padding:10px 16px;border-radius:10px}
.icon-button,.send-button{width:40px;height:40px;min-width:40px}
.text-button{min-height:40px;padding:6px 2px}
.icon-button .icon,.text-button .icon,.send-button .icon,.section-heading h2 .icon,.chat-heading h2 .icon{width:20px;height:20px}
.nav-link{height:auto;min-height:48px;padding:10px 14px;gap:12px}
.nav-label{font-size:var(--type-small);letter-spacing:0;color:var(--muted);margin-top:24px}
.brand{font-size:1.375rem;font-weight:700;letter-spacing:-.04em;gap:8px}
.sidebar{width:250px;padding:28px 20px 0;overflow-y:auto}
.sidebar nav{margin-top:28px}
.workspace{margin-left:250px;width:calc(100% - 250px);min-width:0}
.sidebar-profile{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px;padding:20px}
.sidebar-profile small,.game-shortcut small,.tiny-tag{font-size:var(--type-small);color:var(--muted)}
.breadcrumbs{font-size:var(--type-label);gap:12px;min-width:0}
.breadcrumbs strong{color:var(--text)}
.topbar{min-height:80px;height:auto;padding-top:14px;padding-bottom:14px}
.topbar-actions{min-width:0;gap:16px}
#header-login{min-width:0;max-width:100%}
#header-login>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}
.domain-label{display:none}
.page-heading{margin-bottom:32px;align-items:baseline}
.date-label{font-size:var(--type-label);color:var(--muted)}
.content-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.62fr);gap:28px}
.section-heading{flex-wrap:wrap;row-gap:8px;margin-bottom:18px}
.section-heading h2{gap:10px}
.section-heading>.small-text{font-size:var(--type-small);color:var(--muted)}
.server-banner{height:150px}
.server-banner-title{font-family:inherit;font-size:1.75rem;font-weight:700;letter-spacing:.02em}
.server-edition,.status-pill,.live-tag{font-size:var(--type-small);font-weight:600;letter-spacing:0}
.server-body{padding:24px}
.server-title-row{align-items:flex-start}
.server-title-row>div{min-width:0}
.server-title-row p{font-size:var(--type-body);color:var(--muted);white-space:normal;max-width:none;overflow-wrap:anywhere}
.server-title-row .icon-button{flex-shrink:0}
.server-metrics{gap:12px;grid-template-columns:1fr 1fr 1.3fr;margin:24px 0}
.server-metrics>div{padding-left:12px}
.server-metrics span{font-size:var(--type-label);color:var(--muted)}
.server-metrics strong{font-size:1.5rem;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.server-metrics strong small{font-size:var(--type-label);color:var(--muted)}
.server-metrics .version-value{font-size:var(--type-body);padding-top:4px}
.server-address,.server-address code,.server-address>span:last-child{font-size:var(--type-control)}
.server-address{min-height:48px;flex-wrap:wrap;padding:12px;gap:8px}
.server-address>span{min-width:0}
.server-address .icon{width:18px;height:18px}
.server-footnote{font-size:var(--type-small);color:var(--muted);margin-top:12px}
.board-controls,.admin-controls{flex-wrap:wrap;padding:16px;gap:12px}
.tabs,.channel-tabs{flex-wrap:wrap;gap:4px}
.tab,.channel{padding:8px 12px;min-height:44px}
.search-box{flex:1 1 180px;max-width:none;min-width:140px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}
.search-box input,.admin-search input,.chat-compose textarea,.chat-wide .chat-compose textarea,.editor-modal input,.editor-modal textarea,.editor-modal select,.comments-section textarea,.account-modal input,.account-modal select{font-size:var(--type-control);line-height:1.6}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.empty-state{padding:32px 20px}
.empty-state p,.chat-welcome p,.login-modal p,.join-guide p,.join-guide ol,.post-body,.comment p,.message-body,.chat-wide .message-body,.chat-messages .message-body,.admin-help p,.audit-entry p,.account-banner p,.form-error{font-size:var(--type-body);line-height:1.6}
.post-body{font-size:1.125rem;color:var(--text)}
.message-body,.comment p{color:#d6cddd}
.post-row{padding:20px;gap:16px}
.post-row h3{white-space:normal;overflow-wrap:anywhere;margin-top:8px}
.category-badge,.comment-stat,.post-row-meta,.board-footer,.chat-bottom,.online-heading,.online-heading>span:last-child,.online-section .small-text,.online-friend,.message-meta time,.chat-message .message-meta time,.detail-meta,.comment-meta,.page-footer,.audit-entry small,.account-person code,.account-dialog-person code,.self-tag{font-size:var(--type-small)}
.post-row-meta,.board-footer,.chat-bottom,.message-meta time,.chat-message .message-meta time,.page-footer,.audit-entry small,.account-person code,.account-dialog-person code{color:var(--muted)}
.post-row-meta,.board-footer,.message-meta,.detail-meta,.comment-meta,.form-bottom{flex-wrap:wrap}
.post-row-meta{gap:6px 12px}
.board-footer{padding:12px 20px}
.board-footer a{font-size:var(--type-control);padding:6px 0}
.chat-panel{min-width:0;min-height:650px;top:24px}
.chat-heading{padding:22px 20px;gap:12px;flex-wrap:wrap}
.channel-tabs{padding:0 16px 16px}
.chat-messages{height:360px;padding:20px}
.chat-welcome{min-height:180px}
.chat-welcome h3{color:#cfc4d9}
.chat-welcome p,.empty-state p,.join-guide p,.login-modal p{color:var(--muted)}
.chat-compose-wrap{padding:0 16px 16px}
.chat-login-hint{font-size:var(--type-label);padding:8px 0}
.chat-compose textarea{padding:6px;min-height:38px}
.chat-bottom{flex-wrap:wrap;gap:6px 12px}
.online-heading,.online-friend,.message-meta strong,.chat-wide .message-meta strong,.chat-message .message-meta strong{font-size:var(--type-label)}
.online-section{padding:20px}
.avatar,.online-friend .avatar,.chat-message .avatar,.detail-meta .avatar{font-size:var(--type-small);min-width:28px;min-height:28px}
.message-meta time{white-space:nowrap}
.join-guide ol{padding-left:24px}
.join-guide li+li{margin-top:10px}
.join-guide h3{margin-bottom:16px}
.modal{padding:28px;width:min(680px,calc(100% - 32px))}
.login-modal,.account-modal{width:460px}
.login-modal{padding-top:40px}
.editor-modal label,.account-modal label,.admin-stats span,.account-table th,.account-status,.account-role,.account-table .account-date{font-size:var(--type-label);color:var(--muted)}
.editor-modal select{max-width:100%}
.editor-modal .form-bottom{justify-content:flex-end}
.account-modal form>p{font-size:var(--type-small)}
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.admin-stats strong{font-size:2rem;font-weight:600}
.admin-stats>.panel{padding:20px}
.admin-section-heading{align-items:center}
.admin-actions{flex-wrap:wrap;gap:8px}
.account-table td,.account-person strong,.account-dialog-person strong{font-size:var(--type-body)}
.account-table th{font-weight:600}
.account-manage{font-size:var(--type-control)!important;min-height:44px;padding:8px 14px!important}
.admin-search{flex:1 1 240px;min-width:0}
.admin-search input{flex:1;width:100%}
.admin-help{color:var(--muted)}
.audit-entry p{gap:8px 12px}
.account-banner strong{font-size:1.125rem;font-weight:600}
.account-status.pending{color:#d5bc88}.account-status.active{color:#9bc4aa}.account-status.blocked{color:#d79da3}
@media(max-width:1250px){.content-grid{grid-template-columns:minmax(0,1fr)}.chat-panel{position:static;min-height:580px}.chat-messages{height:320px}}
@media(max-width:800px){.sidebar{width:250px;transform:translateX(-100%);transition:transform .2s;box-shadow:15px 0 60px #0006}.sidebar.open{transform:translateX(0)}.workspace{margin:0;width:100%}.mobile-menu{display:inline-grid}.topbar{position:sticky;top:0;z-index:10;background:#111114f0;backdrop-filter:blur(10px)}.breadcrumbs>span,.breadcrumbs .slash{display:none}.date-label{display:none}}
@media(max-width:640px){main{padding:24px 16px 0}.topbar{padding:12px 16px;gap:10px;min-height:72px}.topbar-actions .button{font-size:var(--type-control);padding:8px 10px}.topbar-actions .icon{width:18px;height:18px}.breadcrumbs{font-size:var(--type-label);gap:6px;flex:1}.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#header-login>span:last-child{max-width:14ch}.page-heading{margin-bottom:24px}.content-grid{gap:24px}.section-heading{align-items:flex-start}.server-body{padding:20px 16px}.server-metrics{grid-template-columns:1fr 1fr;gap:16px}.server-metrics>div{padding:0;border:0}.server-metrics>div:last-child{grid-column:1/-1}.server-banner-title{font-size:1.75rem;left:16px}.server-edition{left:16px}.status-pill{right:16px}.board-controls{padding:12px}.search-box{flex-basis:100%;min-width:0}.tab{padding:8px 10px}.board-footer{gap:8px;padding:12px 16px}.chat-heading{padding:20px 16px}.channel{padding:8px 10px}.chat-wide .chat-messages{height:45dvh;min-height:260px}.modal{padding:24px 20px}.login-modal{padding-top:40px}.form-bottom>.small-text{max-width:none}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats>.panel{padding:16px}.admin-stats span{font-size:var(--type-label)}.admin-stats strong{font-size:2rem}.admin-controls .tabs{justify-content:flex-start}.account-table{min-width:720px}.account-person strong{font-size:var(--type-body)}.account-person code{font-size:var(--type-small)}.admin-actions .button{font-size:var(--type-control);padding:10px 12px}.admin-actions .icon-button{width:40px}.account-banner{align-items:stretch}.page-footer{font-size:var(--type-small)}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
