:root{--ink:#243e37;--muted:#65726a;--paper:#f8f6ee;--green:#244d40;--gold:#f1cc80;--line:#dcded2;color-scheme:light;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b87519;outline-offset:5px}button:disabled{cursor:wait}p{line-height:1.85;word-break:keep-all}h1,h2,h3,p{margin-top:0}h2{font-size:34px;line-height:1.45;letter-spacing:-1.5px}h3{line-height:1.55;word-break:keep-all}a,button{-webkit-tap-highlight-color:transparent}.skip{position:fixed;left:20px;top:-80px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.header{height:88px;display:flex;align-items:center;gap:36px;max-width:1440px;margin:auto;padding:0 5%;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:800;letter-spacing:-1px;min-width:0}.crest{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;color:#9a7639}.crest img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}.header nav{display:flex;gap:32px;margin-left:auto;font-size:14px;font-weight:700}.header nav a:hover{color:#997337}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:19px 28px;background:var(--green);color:white;font-weight:700;border:1px solid transparent;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#356851;transform:translateY(-2px)}.button.small{padding:13px 20px;font-size:14px;gap:20px}.button.gold{background:var(--gold);color:#29392b;box-shadow:0 4px 0 #967540}.button.gold:hover{background:#ffdf98}.hero{position:relative;min-height:610px;display:flex;align-items:center;background:#21443b;isolation:isolate;color:#fff;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;background:url('/api/site-asset/home') center 48%/cover no-repeat;image-rendering:pixelated}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,37,31,.88),rgba(12,37,31,.48) 40%,rgba(12,37,31,0) 75%),linear-gradient(0deg,rgba(12,37,31,.3),transparent 35%)}.hero-inner{width:100%;max-width:1280px;margin:auto;padding:76px 5% 94px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:16px}.hero .eyebrow{color:#f1d69f}.hero h1{font-size:clamp(48px,6vw,82px);line-height:1.2;letter-spacing:-3px;margin-bottom:25px;font-weight:800;max-width:640px;overflow-wrap:anywhere}.hero-copy{font-size:17px;color:#f1f2df;line-height:2;margin-bottom:32px;white-space:pre-line}.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;border-bottom:1px solid #bec6b5;padding-bottom:7px}.hero-note{font-size:12px;color:#d0d9c8;margin:27px 0 0}.scene-caption{position:absolute;bottom:30px;right:5%;font-size:11px;letter-spacing:1px;color:#fff;text-shadow:0 1px 3px #000}.scene-caption span{color:var(--gold);margin-right:8px}#title-logo{max-width:min(480px,85vw);max-height:155px;object-fit:contain;margin-bottom:20px}.notice-strip{display:flex;align-items:center;gap:20px;max-width:1150px;margin:0 auto;padding:23px 24px;border-bottom:1px solid var(--line);font-size:13px}.notice-strip p{margin:0}.notice-strip a{margin-left:auto;font-weight:700;white-space:nowrap}.tag{color:#496948;font-weight:800;font-size:11px;letter-spacing:1px}.content-section{max-width:1200px;margin:auto;padding:76px 38px 82px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:20px}.section-head h2{margin-bottom:0}.section-head .eyebrow{color:#8a754b}.section-index{font-size:11px;color:#7d887c;letter-spacing:1px;white-space:nowrap}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-card{border:1px solid var(--line);background:#fffefa;padding:27px;min-height:205px;border-radius:5px;box-shadow:0 4px 15px #243e3705}.news-card .meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:19px;font-size:11px;color:var(--muted)}.news-card h3{font-size:18px;margin-bottom:12px;letter-spacing:-.5px}.news-card p{font-size:13px;color:#58655d;margin-bottom:0;white-space:pre-line;overflow-wrap:anywhere}.news-card details summary{font-size:12px;color:var(--green);margin-top:16px;cursor:pointer}.news-card details p{margin-top:12px}.more{display:block;padding:12px 25px;margin:28px auto 0;border:1px solid #c7cdbf;color:var(--green);background:transparent;border-radius:3px;font-size:13px}.more:hover{background:#edf0e7}[hidden]{display:none!important}.update-section{background:#e9ede2;border-block:1px solid #dce2d4}.update-layout{max-width:1200px;padding:70px 38px;margin:auto;display:grid;grid-template-columns:1fr 1.8fr;gap:70px}.update-intro .eyebrow{color:#647651}.update-intro h2{font-size:36px}.update-intro>p:not(.eyebrow){font-size:14px;color:#687568}.update-intro .section-index{display:block;margin-top:45px}.update-row{border-top:1px solid #cdd5c6;padding:20px 0}.update-row:last-child{border-bottom:1px solid #cdd5c6}.update-row summary{display:flex;align-items:center;gap:13px;cursor:pointer;list-style:none;font-size:14px;font-weight:700}.update-row summary::-webkit-details-marker{display:none}.version{font-variant-numeric:tabular-nums;min-width:72px}.update-row time{font-size:11px;color:#697663;margin-left:auto;font-weight:400}.update-row .plus{font-size:20px;font-weight:400}.update-row[open] .plus{transform:rotate(45deg)}.update-row p{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;color:#53634f;margin:17px 0 0}.stage{font-size:10px;padding:4px 8px;background:#dbe3d3;color:#496343;border-radius:2px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0}.step{font-family:Georgia,serif;font-size:35px;color:#aa905a}.guide-grid h3{font-size:18px;margin:18px 0 10px}.guide-grid p{font-size:13px;color:var(--muted)}.guide>.button{font-size:14px}footer{padding:35px max(5%,calc((100% - 1124px)/2));background:#203c33;color:#dde6d8}.footer-top{display:flex;gap:28px;align-items:center;border-bottom:1px solid #496053;padding-bottom:24px}.footer-top .brand{margin-right:auto;font-size:21px}.footer-top>a:not(.brand){font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:22px;font-size:11px;color:#acbcaa}.footer-bottom details{max-width:450px}.footer-bottom summary{cursor:pointer}.footer-bottom a{text-decoration:underline}.loading{font-size:14px;color:var(--muted);padding:20px 0}.noscript{padding:20px;text-align:center}.noscript a{text-decoration:underline}@media(min-width:1600px){.hero{min-height:680px}}@media(max-width:800px){.header{height:74px;padding:0 22px;gap:20px}.header nav{gap:18px}.brand{font-size:21px}.hero{min-height:570px}.hero-inner{padding:70px 30px}.hero-art{background-position:62% center}.hero:after{background:linear-gradient(90deg,#0c251fe0,#0c251f6e 70%,#0c251f33)}.content-section{padding:52px 25px}.news-grid{grid-template-columns:1fr 1fr}.update-layout{padding:50px 25px;gap:30px;grid-template-columns:1fr 1.5fr}.guide-grid{gap:25px}.notice-strip{margin:0 20px;padding-inline:0}.section-index{display:none}}@media(max-width:560px){.header{height:auto;min-height:72px;flex-wrap:wrap;padding:15px 20px;gap:12px}.header>.button{margin-left:auto}.header nav{order:3;flex-basis:100%;justify-content:center;border-top:1px solid var(--line);padding-top:13px;gap:35px;font-size:12px}.hero{min-height:530px}.hero-inner{padding:56px 24px 75px}.hero h1{font-size:56px}.hero-copy{font-size:15px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero-actions{gap:23px}.hero-actions .button{padding:17px 23px}.hero-note{font-size:11px}.scene-caption{font-size:9px;right:24px;bottom:22px}.notice-strip{gap:12px;flex-wrap:wrap;font-size:12px;padding:19px 0}.notice-strip p{flex:1}.notice-strip a{margin-left:34px}.news-grid{grid-template-columns:1fr}.news-card{min-height:0}.section-head h2,h2{font-size:27px}.section-head .eyebrow{font-size:10px;letter-spacing:1px}.update-layout{grid-template-columns:1fr;gap:18px}.update-intro h2{font-size:29px}.update-intro h2 br{display:none}.update-intro>p:not(.eyebrow) br{display:none}.guide-grid{grid-template-columns:1fr;gap:12px;margin:25px 0}.guide-grid article{padding:15px 0;border-bottom:1px solid var(--line)}.guide-grid h3{display:inline;margin-left:18px}.step{font-size:28px}.guide-grid p{margin-top:12px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top .brand{flex-basis:100%}.footer-bottom{flex-direction:column;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.portal-window{position:relative;padding:0;border:1px solid #bfa56c;border-radius:7px;width:min(960px,96vw);max-width:100vw;background:#244d40;color:#fff;overflow:hidden;box-shadow:0 20px 80px #071c18aa}.portal-window::backdrop{background:#09281fd9}.login-close{position:absolute;z-index:2;top:14px;right:16px;padding:8px 10px;border:1px solid #e5d6aa;background:#f8f6eee8;color:#244d40;font-size:12px;font-weight:700}.native-login{min-height:min(650px,90dvh)}body:has(.portal-window[open]){overflow:hidden}@media(max-width:560px){.portal-window{width:100vw;max-width:100vw;margin:0;border:0;border-radius:0}.login-close{top:10px;right:10px}}
.account-button,.notice-strip button{border:0;background:transparent;color:var(--green);font-weight:700}.page-link{display:inline-block;margin-top:25px;color:var(--green);font-size:13px;font-weight:700}.board-preview{border-top:1px solid var(--line)}
body[data-page]:not([data-page="home"]) .hero,body[data-page]:not([data-page="home"]) .notice-strip,body[data-page]:not([data-page="home"]) .home-notices,body[data-page]:not([data-page="home"]) main>.content-section:not(.route-content):not(#route-heading),body[data-page]:not([data-page="home"]) .update-section{display:none}body[data-page="home"] .route-page,body[data-page="home"] .route-content{display:none}.route-page{padding:80px max(5%,calc((100% - 1124px)/2));background:#e8ede2}.route-page h1{font-size:48px;margin-bottom:15px}.route-page p:last-child{color:var(--muted)}
.native-login{padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;background:linear-gradient(90deg,#173c2fe8,#173c2f88),url('/homepage/assets/valley.png') center/cover;color:#fff}.native-login h2{font-size:40px}.native-login>div>p:not(.eyebrow){color:#e4eadc}.native-login form{padding:30px;background:#f8f6ee;color:var(--ink);border:2px solid #c6aa69;border-radius:5px;box-shadow:0 16px 45px #071c1877}.native-login label,.post-window label{display:grid;gap:8px;margin-bottom:15px;font-size:13px;font-weight:700}.native-login input:not([type=checkbox]),.post-window input,.post-window select,.post-window textarea{width:100%;padding:13px;border:1px solid #bfc9ba;border-radius:3px;background:#fffef9;color:var(--ink);font:inherit}.native-login .remember{display:flex;align-items:center;font-weight:400}.native-login #login-status{min-height:26px;font-size:12px;color:#466d58}.native-login #login-status.error,.post-window #post-status{color:#a52c23}.native-login .button{width:100%}.character-option{display:block;width:100%;margin:10px 0;padding:15px;border:1px solid #dac58f;background:#fbf8ee;color:var(--ink);text-align:left;border-radius:3px}
.board-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.board-tabs{display:flex;gap:8px;flex-wrap:wrap}.board-tabs button{padding:10px 14px;border:1px solid var(--line);background:#fffefa;color:var(--ink);border-radius:3px}.board-tabs button.active{background:var(--green);color:#fff}.board-post{padding:24px 0;border-top:1px solid var(--line)}.board-post:last-child{border-bottom:1px solid var(--line)}.board-meta{display:flex;gap:14px;color:var(--muted);font-size:11px}.board-meta time{margin-left:auto}.board-post h3{margin:12px 0 7px}.board-post p{white-space:pre-line;color:#526159;font-size:14px}.post-window{width:min(650px,94vw);padding:0;border:1px solid #bfa56c;background:#f8f6ee;color:var(--ink);border-radius:6px}.post-window::backdrop{background:#09281fd9}.post-window form{padding:28px}.post-head{display:flex;justify-content:space-between;align-items:center}.post-head button{border:0;background:none}.post-window textarea{resize:vertical}.post-window .button{width:100%}
.board-write-actions{display:flex;gap:8px;flex:0 0 auto}.board-write-actions .community-write{background:#fff8df;color:#76520d;border-color:#c9a756}.community-post-window{width:min(760px,94vw)}.community-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:11px}.community-submit-row .button{width:auto;min-width:150px}
@media(max-width:700px){.header nav{overflow-x:auto;justify-content:flex-start}.account-button{margin-left:auto}.native-login{grid-template-columns:1fr;padding:28px 20px}.native-login>div:first-child{display:none}.board-tools{align-items:flex-start;flex-direction:column}.route-page{padding:55px 25px}.route-page h1{font-size:38px}}
.login-guide{padding:12px 14px;margin-bottom:17px;border:1px solid #d2b56e;background:#fff2cc;color:#5a431c;font-size:13px;font-weight:700}
body[data-page="home"] .home-archive{display:none!important}.home-notices{max-width:1200px;margin:auto;padding:58px 38px 72px}.home-notice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-notice-card{padding:26px 28px;border:1px solid var(--line);border-left:4px solid #b7924e;background:#fffefa;border-radius:4px}.home-notice-card .meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:14px;color:var(--muted);font-size:11px}.home-notice-card h3{margin-bottom:10px;font-size:18px}.home-notice-card p{margin:0;color:#536159;font-size:14px;white-space:pre-line}.update-preview{min-width:0;flex:1;overflow:hidden;color:#445448;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.update-row[open] .update-preview{display:none}.notice-window{width:min(620px,92vw);padding:0;border:1px solid #bfa56c;border-radius:6px;background:#f8f6ee;color:var(--ink)}.notice-window::backdrop{background:#09281fc9}.notice-popup-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}.notice-popup-head button{border:0;background:none;color:var(--ink)}#notice-popup-content{padding:32px}#notice-popup-content p{margin-bottom:0;white-space:pre-line}@media(max-width:700px){.home-notices{padding:42px 24px 55px}.home-notice-list{grid-template-columns:1fr}.update-row summary{align-items:flex-start;flex-wrap:wrap}.update-preview{order:3;flex-basis:calc(100% - 35px);margin-left:85px}.update-row summary time{margin-left:auto}}

.route-page{position:relative;display:flex;min-height:430px;box-sizing:border-box;flex-direction:column;justify-content:flex-end;padding:80px max(5%,calc((100% - 1124px)/2));overflow:hidden;background-position:center;background-size:cover;color:#fff;text-shadow:0 2px 12px #10291f}.route-page::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,23,.9) 0%,rgba(7,30,23,.63) 42%,rgba(7,30,23,.06) 76%);content:""}.route-page>*{position:relative;z-index:1;max-width:630px}.route-page .eyebrow{color:#efd692}.route-page p:last-child{color:#eef4e9;font-size:17px}body[data-page="news"] .route-page{background-image:url('/api/site-asset/news')}body[data-page="updates"] .route-page{background-image:url('/api/site-asset/updates')}body[data-page="guide"] .route-page{background-image:url('/api/site-asset/guide')}body[data-page="board"] .route-page{background-image:url('/api/site-asset/board')}.character-guide{margin:0 0 18px;color:var(--muted)}#character-options{display:grid;gap:10px}.character-option:disabled{cursor:wait;opacity:.65}@media(max-width:700px){.route-page{min-height:350px;padding:48px 24px}.route-page::after{background:linear-gradient(90deg,rgba(7,30,23,.9),rgba(7,30,23,.42))}}

.plain-action{width:100%;padding:12px;border:0;background:transparent;color:#31594a;text-decoration:underline;text-underline-offset:4px}.gm-name{color:#9a681d!important;font-weight:800}.account-button.gm-name{border-color:#c7a24d;background:#fff9df}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.register-window,.account-window{width:min(760px,94vw)}.register-window form{max-width:none}.form-help,.account-id{color:var(--muted);font-size:13px}.terms{display:flex!important;align-items:center;gap:10px}.terms input{width:auto!important}.account-window select:disabled{opacity:.8}.account-window form{max-height:90dvh;overflow-y:auto}.profile-section{margin:22px 0;padding-top:20px;border-top:1px solid var(--line)}.profile-section h3{margin-bottom:14px;font-size:16px}.profile-section label span{color:var(--muted);font-size:10px;font-weight:400}.profile-section .form-help{margin:-3px 0 16px}@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.account-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.danger-action{padding:12px 4px;border:0;background:transparent;color:#9a3d32;text-decoration:underline;text-underline-offset:4px}
.profile-shell{max-height:90dvh;overflow-y:auto;padding:30px}.profile-tabs{display:flex;gap:6px;margin:18px 0 24px;padding-bottom:12px;border-bottom:1px solid var(--line)}.profile-tabs button{padding:10px 16px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font:inherit;font-weight:800}.profile-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}.profile-panel{min-height:360px}.profile-character-picker{display:flex;justify-content:flex-end;margin-bottom:18px}.profile-character-picker label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800}.profile-character-picker select{padding:9px;border:1px solid var(--line);background:#fff}.character-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px;border:1px solid var(--line);background:#eef1e8}.character-summary h3{margin:8px 0 5px;font-size:24px}.character-summary p{margin:0;color:var(--muted)}.character-summary dl{display:flex;gap:12px;margin:0}.character-summary dl div{min-width:110px;padding:12px;background:#fffefa;text-align:center}.character-summary dt{color:var(--muted);font-size:10px}.character-summary dd{margin:5px 0 0;font-weight:800}.profile-record{margin-top:20px;padding:18px;border:1px solid var(--line);background:#fffefa}.profile-record h3{margin:0 0 14px;font-size:15px}.profile-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.skill-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.skill-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}.skill-progress span{color:var(--muted)}.skill-progress-track{height:7px;margin-top:7px;background:#dfe4dc}.skill-progress-track i{display:block;height:100%;background:#62836c}.profile-list-item{display:flex;flex-direction:column;gap:5px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.profile-list-item span,.profile-empty,.guild-summary span{color:var(--muted)}.profile-name-chip{display:block;padding:7px 9px;margin-bottom:5px;background:#eef1e8;font-size:11px}.guild-summary{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.pixel-sprite{display:block;position:relative;width:var(--sprite-width);height:var(--sprite-height);overflow:hidden;flex:0 0 auto}.pixel-sprite img{display:block;max-width:none;image-rendering:pixelated;image-rendering:crisp-edges;transform-origin:top left}.character-sprite{border:1px solid #b8c3b4;background:#dce6d8}.character-sprite-layer{position:absolute;display:block;overflow:hidden}.character-sprite-layer img{max-width:none}.wiki-card{position:relative}.wiki-card-sprite{float:right;margin:0 0 10px 14px}.wiki-detail-sprite{float:right;margin:0 0 18px 24px;border:1px solid var(--line);background:#eef1e8}@media(max-width:760px){.profile-shell{padding:22px}.character-summary{grid-template-columns:auto 1fr}.character-summary dl{grid-column:1/-1;width:100%}.character-summary dl div{flex:1}.skill-progress-list,.profile-record-grid{grid-template-columns:1fr}}
.header-logout{padding:7px 10px;border:1px solid #cebfa9;border-radius:3px;background:transparent;color:#755b4a;font-size:11px}.header-logout:hover{border-color:#9a3d32;color:#9a3d32}@media(max-width:900px){.header-logout{display:none}}

.board-table-head,.board-row{display:grid;grid-template-columns:70px 110px minmax(0,1fr) 170px 90px;align-items:center;gap:12px}.board-table-head{padding:12px 16px;border-top:2px solid var(--green);border-bottom:1px solid #bdc8bd;background:#eef1e8;color:#617064;font-size:11px;text-align:center}.board-table-head span:nth-child(3){text-align:left}.board-row{width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);background:#fffefa;color:var(--ink);font-size:13px;text-align:center}.board-row:hover{background:#f2f3e9}.board-row-title{text-align:left;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-row-author{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.board-row-date{color:var(--muted);font-size:11px}.board-row-category{color:#55705e;font-size:11px}.staff-badge,.attachment-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:2px;font-size:9px;font-weight:800;white-space:nowrap}.gm-badge{background:#fff0ad;color:#7c5600}.admin-badge{background:#e6e1ff;color:#554096}.mod-badge{background:#d9f3df;color:#24623a}.attachment-badge{margin-left:8px;background:#e2eee7;color:#315b47}.screenshot-field span{color:var(--muted);font-size:11px;font-weight:400}.screenshot-preview{position:relative;margin:-4px 0 18px;padding:10px;border:1px solid var(--line);background:#fff}.screenshot-preview img{display:block;width:100%;max-height:260px;object-fit:contain}.screenshot-preview button{position:absolute;top:16px;right:16px;padding:7px 10px;border:1px solid #c9b9ab;background:#fff;color:#8c3d33}.post-detail-window{width:min(820px,94vw)}.post-detail-window article{padding:30px}.post-detail-window h2{margin:18px 0 12px}.post-detail-body{min-height:140px;padding:28px 4px;border-top:1px solid var(--line);white-space:pre-line;color:#43534a}.post-detail-screenshot{display:block;max-width:100%;max-height:620px;margin:0 auto 24px;border:1px solid var(--line)}.post-detail-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}@media(max-width:760px){.board-table-head{display:none}.board-row{grid-template-columns:78px minmax(0,1fr) 78px;padding:14px 10px}.board-row-number{display:none}.board-row-category{grid-column:1}.board-row-title{grid-column:2}.board-row-author{display:none}.board-row-date{grid-column:3}.post-detail-window article{padding:22px}}

body[data-page="leaderboard"] .route-page{background-image:url('/api/site-asset/leaderboard');image-rendering:pixelated}body[data-page="wiki"] .route-page{background-image:url('/api/site-asset/wiki');image-rendering:pixelated}.record-toolbar,.wiki-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:18px 20px;border:1px solid var(--line);background:#eef1e8}.record-toolbar label{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800}.record-toolbar select,.wiki-toolbar input{padding:11px 13px;border:1px solid #b9c4b8;background:#fffefa;color:var(--ink);font:inherit}.record-toolbar p,.wiki-result-note{margin:0;color:var(--muted);font-size:12px}.leaderboard-head,.leaderboard-row{display:grid;grid-template-columns:80px minmax(160px,1.4fr) 110px 110px minmax(120px,1fr) 140px;align-items:center;gap:12px}.leaderboard-head{padding:12px 16px;border-top:2px solid var(--green);border-bottom:1px solid #bdc8bd;background:#e8ede5;color:#617064;font-size:11px;text-align:center}.leaderboard-head span:nth-child(2){text-align:left}.leaderboard-row{padding:17px 16px;border-bottom:1px solid var(--line);background:#fffefa;font-size:13px;text-align:center}.leaderboard-row:hover{background:#f4f2e8}.leaderboard-name{text-align:left;font-weight:800}.leaderboard-rank{font-family:Georgia,serif;font-size:18px}.leaderboard-rank.rank-1{color:#9c701e}.leaderboard-rank.rank-2{color:#66737b}.leaderboard-rank.rank-3{color:#945e3c}.leaderboard-exp{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.wiki-toolbar{align-items:flex-start}.wiki-tabs{display:flex;gap:8px;flex-wrap:wrap}.wiki-tabs button{padding:10px 14px;border:1px solid var(--line);border-radius:3px;background:#fffefa;color:var(--ink)}.wiki-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}.wiki-toolbar form{display:flex;gap:8px}.wiki-toolbar .button{padding:11px 18px}.wiki-result-note{margin:-8px 0 20px}.wiki-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wiki-card{min-height:190px;padding:23px;border:1px solid var(--line);border-radius:4px;background:#fffefa;color:var(--ink);text-align:left}.wiki-card:hover{border-color:#9f895d;background:#faf7e9;transform:translateY(-2px)}.wiki-card h3{margin:13px 0 9px;font-size:17px}.wiki-card p{display:-webkit-box;overflow:hidden;margin-bottom:18px;color:#56635b;font-size:12px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.wiki-card small{color:#7b6a48}.wiki-pages{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:32px}.wiki-pages button{padding:10px 16px;border:1px solid #b9c4b8;background:#fffefa;color:var(--green)}.wiki-pages button:disabled{opacity:.45}.wiki-pages span{font-size:12px;font-weight:800}.wiki-detail-window{width:min(780px,94vw)}.wiki-detail-window article{max-height:88dvh;overflow-y:auto;padding:30px}.wiki-detail-window h2{margin:18px 0 12px}.wiki-detail-description{padding-bottom:22px;border-bottom:1px solid var(--line);white-space:pre-line}.wiki-detail-stats{display:grid;grid-template-columns:140px minmax(0,1fr);margin:0}.wiki-detail-stats dt,.wiki-detail-stats dd{margin:0;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.wiki-detail-stats dt{font-size:12px;font-weight:800}.wiki-detail-stats dd{color:#526159;font-size:12px}.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}@media(max-width:900px){.leaderboard-head,.leaderboard-row{grid-template-columns:55px minmax(130px,1fr) 90px 110px}.leaderboard-head span:nth-child(5),.leaderboard-row span:nth-child(5){display:none}.wiki-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.record-toolbar,.wiki-toolbar{align-items:stretch;flex-direction:column}.record-toolbar label,.wiki-toolbar form{justify-content:space-between}.record-toolbar select,.wiki-toolbar input{min-width:0;flex:1}.leaderboard-head,.leaderboard-row{grid-template-columns:45px minmax(110px,1fr) 90px}.leaderboard-head span:nth-child(3),.leaderboard-row span:nth-child(3){display:none}.leaderboard-head span:nth-child(6),.leaderboard-row span:nth-child(6){display:none}.wiki-grid{grid-template-columns:1fr}.wiki-detail-stats{grid-template-columns:105px minmax(0,1fr)}}
.wiki-detail-map{clear:both;margin:20px 0;padding:16px;border:1px solid var(--line);background:#eef1e8}.wiki-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.wiki-map-head h3{margin:0;font-size:15px}.wiki-map-head select{max-width:240px;padding:8px;border:1px solid var(--line);background:#fff}.wiki-detail-map canvas{display:block;width:100%;height:auto;border:1px solid #9eaa9c;background:#15271f;image-rendering:pixelated;image-rendering:crisp-edges}.wiki-detail-map p{margin:9px 0 0;color:var(--muted);font-size:11px}@media(max-width:650px){.wiki-map-head{align-items:stretch;flex-direction:column}.wiki-map-head select{max-width:none}}
.wiki-detail-rich{display:grid;gap:18px;margin:22px 0}.wiki-rich-section{padding:18px;border:1px solid var(--line);background:#eef1e8}.wiki-rich-section>h3{margin:0 0 14px;font-size:16px}.wiki-rich-note{margin:-3px 0 14px;color:var(--muted);font-size:11px}.wiki-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wiki-related-card{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:12px;min-height:66px;padding:8px 12px;border:1px solid #cbd2c5;background:#fffefa;color:var(--ink);text-align:left}.wiki-related-card:hover{border-color:#9f895d;background:#faf7e9}.wiki-related-card>span:last-child{display:grid;gap:4px;min-width:0}.wiki-related-card strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.wiki-related-card small{color:var(--muted);font-size:10px}.wiki-related-sprite{width:48px;height:48px;justify-self:center;image-rendering:pixelated;image-rendering:crisp-edges}.quest-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quest-summary-grid>div{padding:13px;border:1px solid #d3d8cd;background:#fffefa}.quest-summary-grid strong{font-size:11px}.quest-summary-grid p{margin:7px 0 0;color:#526159;font-size:11px;line-height:1.65}.quest-stage-list{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:quest-stage}.quest-stage-list li{padding:13px 15px;border-left:3px solid #9f895d;background:#fffefa}.quest-stage-list li>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.quest-stage-list li strong{color:#765b27;font-size:12px}.quest-stage-list li span{color:var(--muted);font-size:10px}.quest-stage-list p{margin:8px 0 0;color:#3f5047;font-size:12px;line-height:1.7}.quest-stage-list small{display:block;margin-top:7px;color:#79663d;font-size:10px}@media(max-width:650px){.wiki-related-grid,.quest-summary-grid{grid-template-columns:1fr}}

.character-picker{max-width:720px;padding:28px}.character-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:24px 0}.character-choice{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:#f8f0d8;color:#254534;border:2px solid #66825b;border-radius:8px;cursor:pointer;font:inherit}.character-choice:hover,.character-choice:focus-visible{background:#fff9e8;border-color:#bb8b3e;outline:2px solid #bb8b3e}.character-choice .character-sprite{position:relative;width:var(--sprite-width,96px);height:var(--sprite-height,144px)}
/* 블리어: 캐릭터 기록을 위한 모험가 프로필 */
#profile-window{width:min(1040px,calc(100vw - 24px));max-width:1040px;background:#f5f1e5;color:#254438;padding:0;border:1px solid #c4ccb2;border-radius:18px;box-shadow:0 24px 90px #10271db3}
.profile-shell{padding:30px}.profile-tabs{position:sticky;top:-1px;z-index:2;background:#f5f1e5;padding:12px 0;border-bottom:1px solid #cbd2bc}.profile-tabs button{padding:12px 24px;border-radius:8px}.profile-tabs button.active{background:#254d3c;color:#fff4d9}
.character-summary.character-showcase{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:26px;border:1px solid #c9cfb7;border-radius:14px;background:linear-gradient(135deg,#e4ead5,#faf6e8);overflow:hidden}
.character-portrait-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:236px;border:1px solid #829873;border-radius:10px;background:linear-gradient(#173c2f55,#173c2f33),url('/api/site-asset/home') center/cover;image-rendering:pixelated;isolation:isolate}
.character-portrait-stage .character-sprite{z-index:1;flex-shrink:0;align-self:center;margin-top:24px}.portrait-caption{position:absolute;top:12px;left:12px;font-size:11px;letter-spacing:.12em;color:#fff5da;background:#173c2fd9;padding:4px 9px;border-radius:3px}.portrait-ground{position:absolute;bottom:25px;left:calc(50% - 54px);width:108px;height:18px;border-radius:50%;background:#183b2f66;z-index:0}
.character-identity{align-self:center}.character-identity h3{font-size:clamp(28px,4vw,40px);line-height:1.25;margin:12px 0;overflow-wrap:anywhere}.character-identity p{line-height:1.7}.character-motto{color:#65785d;font-size:14px}
.character-showcase .character-stat-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.character-stat-cards>div{background:#fffdf5;border:1px solid #d5dbc6;border-radius:9px;padding:16px;min-width:0}.character-stat-cards dt{font-size:12px;color:#697b63}.character-stat-cards dd{margin:8px 0 0;font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.3;color:#294d3d;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.profile-record{margin-top:20px;background:#fffdf6;border:1px solid #d8ddcb;border-radius:12px;padding:22px}.profile-record h3{font-size:20px;margin:0 0 18px}.record-eyebrow{font-size:12px;color:#7b855f;margin:0 0 6px}.skill-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.skill-progress-track{height:8px;border-radius:3px;background:#e5e9da;overflow:hidden}.skill-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#3d7657,#a9bb70);border-radius:3px}.skill-progress>div:first-child{gap:12px;flex-wrap:wrap;font-size:13px}.profile-record-grid{gap:16px}.profile-list-item{padding:13px 0;border-bottom:1px solid #e5e7d9}.profile-name-chip{background:#edf1e2;color:#38573f;padding:7px 11px;border-radius:5px}.profile-display-settings{margin-top:22px;border:1px solid #ccd3ba;border-radius:10px;padding:16px 20px}.profile-display-settings summary{font-weight:700;cursor:pointer}.profile-display-settings form{display:grid;gap:12px;margin-top:18px}.profile-display-settings .button{justify-self:start}.profile-section{background:#fffdf6;padding:22px;border:1px solid #d8ddcb;border-radius:10px;margin:18px 0}.account-id{padding:16px 20px;background:#e4ead8;border-radius:8px}.profile-character-picker{margin:16px 0}
@media(max-width:600px){.profile-shell{padding:16px}#profile-window .post-head{align-items:flex-start;gap:12px}.character-summary.character-showcase{grid-template-columns:1fr;padding:16px;gap:16px}.character-portrait-stage{min-height:210px}.character-identity{text-align:center}.character-showcase .character-stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-stat-cards>div{padding:12px}.skill-progress-list,.profile-record-grid{grid-template-columns:1fr}.profile-record,.profile-section{padding:16px}.profile-tabs button{padding:10px 16px}}

#profile-character-sprite{background:transparent;border:0;border-radius:0}.profile-shell .post-head{margin-bottom:12px}.profile-character-picker label{display:flex;align-items:center;gap:12px;white-space:nowrap}
/* 블리어: 페이지를 이동해도 유지되는 내 캐릭터 패널 */
.member-panel[hidden]{display:none}.member-panel{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100vw - 1200px)/2));background:#edf1e3f5;border-bottom:1px solid #c4cfb5;color:#294b3c}.member-identity{display:flex;align-items:center;gap:14px;min-width:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit;padding:0}.member-identity-text{display:grid;gap:4px;min-width:0}.member-identity strong{overflow-wrap:anywhere;font-size:18px}.member-caption{font-size:10px;letter-spacing:.12em;color:#768264}#member-level{font-size:12px;color:#65775d}#member-sprite{background:transparent;border:0;flex-shrink:0;max-height:96px}.member-actions{display:flex;align-items:center;gap:14px}.member-actions>button:not(.button){border:0;background:none;font:inherit;font-size:13px;color:#45614b;cursor:pointer}.member-panel button:focus-visible{outline:2px solid #936d35;outline-offset:3px}.post-author{display:inline-flex;align-items:center;gap:7px;min-width:0}.post-author>span:last-child{overflow-wrap:anywhere}.post-author-sprite{background:transparent!important;border:0!important;flex-shrink:0}.post-author .staff-badge{margin-right:4px}
@media(min-width:1500px){body.has-member-panel{padding-right:242px}.member-panel{position:fixed;right:16px;top:105px;width:210px;box-sizing:border-box;display:block;padding:18px;border:1px solid #bdc9ab;border-radius:12px;box-shadow:0 8px 25px #29442a15}.member-identity{width:100%;flex-direction:column;text-align:center;gap:12px}.member-actions{flex-direction:column;gap:12px;margin-top:18px}.member-actions .button{width:100%}.member-identity strong{font-size:20px}}
@media(max-width:600px){.member-panel{padding:8px 12px;gap:8px;align-items:center}.member-identity{gap:7px}.member-identity strong{font-size:14px}.member-caption{display:none}#member-level{font-size:11px}#member-sprite{transform:scale(.65);transform-origin:center;margin:-15px -9px}.member-actions{display:grid;grid-template-columns:auto auto;gap:6px 10px;flex-shrink:0}.member-actions .button{grid-column:1/-1;padding:8px 12px;font-size:12px}.member-actions>button:not(.button){padding:0;font-size:11px}.board-row .post-author-sprite{display:none}}
@media(max-width:700px){.header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:100%;gap:8px 10px;overflow:visible;justify-content:stretch}.header nav a{display:flex;min-height:34px;align-items:center;justify-content:center;padding:5px 3px;white-space:normal;word-break:keep-all;text-align:center;line-height:1.35}.header nav .forum-link{border:1px solid #c6aa69;background:#fff8df;color:#76520d}}

/* 모바일 로그인은 내용 높이와 터치 입력 크기를 기준으로 배치한다. */
@media (max-width: 700px) {
  #game-window.portal-window { width: min(420px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); margin: auto; border: 1px solid #bfa56c; border-radius: 10px; overflow-y: auto; overscroll-behavior: contain; }
  #game-window .native-login { min-height: 0; padding: 22px 14px 16px; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #game-window .native-login > div:first-child { display: block; min-width: 0; padding-right: 68px; }
  #game-window .native-login > div:first-child p { display: none; }
  #game-window .native-login h2 { margin: 0; font-size: 22px; line-height: 1.4; letter-spacing: -.5px; }
  #game-window .login-close { top: 12px; right: 12px; min-height: 36px; padding: 7px 10px; }
  #game-window .native-login form { min-width: 0; padding: 18px 16px; border-width: 1px; border-radius: 6px; }
  #game-window .native-login label { gap: 6px; margin-bottom: 12px; font-size: 13px; }
  #game-window .native-login input:not([type=checkbox]) { height: 44px; min-height: 44px; padding: 10px 12px; font-size: 16px; line-height: 1.4; }
  #game-window .native-login .remember { gap: 8px; font-size: 12px; line-height: 1.5; }
  #game-window .remember input { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; }
  #game-window #login-status { min-height: 0; margin: 10px 0; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
  #game-window #login-status:empty { display: none; }
  #game-window .button { min-height: 44px; padding: 10px 14px; font-size: 14px; }
  #game-window .plain-action { min-height: 40px; margin-top: 8px; font-size: 13px; }
  #game-window .login-guide { margin-bottom: 12px; padding: 10px; font-size: 12px; line-height: 1.6; }
}

/* 상단 메뉴가 늘어나도 한글이 글자 단위로 꺾이지 않게 한다. */
.header .brand,.header nav a,.header .account-button,.header .header-logout,.header>.button{flex:0 0 auto;white-space:nowrap}
.header nav .test-lab-link{border:1px solid #c6aa69;background:#fff8df;color:#76520d;padding:7px 10px;border-radius:3px}
.header nav{min-width:0;overflow-x:auto;scrollbar-width:none}
.header nav::-webkit-scrollbar{display:none}
@media(min-width:801px){.header{gap:24px}.header nav{gap:clamp(16px,1.5vw,28px)}}

.profile-public-setting{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;padding:12px 14px;border:1px solid var(--line);background:#f7f8f0}.profile-public-setting input{width:18px;height:18px;margin:0}.post-edit-form{margin:18px 0;padding:18px;border:1px solid var(--line);background:#f8f7ef}.post-edit-form label{display:block;margin-bottom:12px}.post-edit-actions{display:flex;justify-content:flex-end;gap:8px}.post-comments{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.post-comments-head{display:flex;align-items:center;justify-content:space-between}.post-comments-head h3{margin:0}.post-comments-head span{color:var(--muted);font-size:11px}.post-comment-list{display:grid;gap:8px;margin:14px 0}.post-comment-item{position:relative;padding:14px 16px;border:1px solid var(--line);background:#fffefa}.post-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.post-comment-meta time{color:var(--muted)}.post-comment-item p{margin:10px 0 0;white-space:pre-line;color:#43534a}.comment-delete{position:absolute;right:10px;bottom:8px;font-size:10px}.post-comment-form{padding:16px;border:1px solid var(--line);background:#f4f5ec}.post-comment-form label{display:block;margin-bottom:7px;font-weight:700}.post-comment-form textarea{min-height:82px}.post-comment-form .button{width:auto;margin-top:8px}.post-detail-actions{gap:8px}
@media(max-width:760px){.post-edit-form{padding:14px}.post-comment-item{padding:12px}.post-comment-form{padding:13px}.post-detail-actions{flex-wrap:wrap}}
