/* RoiKib Modern v3.1: non-destructive refinements to standard Discuz X3.5 pages. */
.rk-v3{--rk31-border:#e4eaf5;--rk31-ink:#1a2b50;--rk31-blue:#365ce3;--rk31-muted:#6f7f99}
.rk-v3 :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #f5be5e;outline-offset:3px}
.rk-v3 .rk3-header .desktop-nav{gap:18px}
.rk-v3 .rk3-header .head-actions{gap:8px;align-items:center}
.rk-v3 .rk3-header .head-actions .btn{white-space:nowrap}
.rk-v3 .rk3-header .head-actions .btn-ghost{max-width:130px;overflow:hidden;text-overflow:ellipsis}
.rk-v3 .rk3-logout{font-size:13px;font-weight:800;color:#af3950;border:1px solid #f1dae0;background:#fff6f7;padding:9px 12px;border-radius:9px;white-space:nowrap}
.rk-v3 .rk3-logout:hover{color:#95223c;background:#ffeef2}
.rk-v3 .rk3-header .rk3-more{display:block;position:relative;align-self:center;flex-shrink:0}
.rk-v3 .rk3-header .rk3-more summary{list-style:none;cursor:pointer;color:#586781;font-size:14px;font-weight:800;white-space:nowrap;padding:8px 3px}
.rk-v3 .rk3-header .rk3-more summary::-webkit-details-marker{display:none}
.rk-v3 .rk3-header .rk3-more[open] summary{color:#365ce3}
.rk-v3 .rk3-header .rk3-more-links{position:absolute;top:calc(100% + 19px);right:-26px;min-width:230px;max-width:290px;max-height:65vh;overflow-y:auto;z-index:55;background:#fff;border:1px solid var(--rk31-border);border-radius:15px;box-shadow:0 18px 48px rgba(24,45,98,.17);padding:9px;margin:0;list-style:none}
.rk-v3 .rk3-header .rk3-more-links li{display:block;margin:0;padding:0;float:none}
.rk-v3 .rk3-header .rk3-more-links li>a{display:block!important;font-size:14px;padding:10px 12px;color:#385071;font-weight:750;line-height:1.5;white-space:normal;border-radius:8px}
.rk-v3 .rk3-header .rk3-more-links li>a:hover{background:#eff3ff;color:#3159d6}
.rk-v3 .rk3-header .mobile-menu{left:0;right:0;max-height:calc(100vh - 72px);overflow-y:auto;padding-bottom:20px}
.rk-v3 .rk3-header .mobile-menu .rk3-mobile-logout{color:#bf3452;font-weight:900}
.rk-v3 .rk3-mobile-extra{border-top:1px solid #edf0f7;margin:9px 0 0;padding:15px 0 0}
.rk-v3 .rk3-mobile-extra strong{display:block;font-size:12px;color:#8390a6;margin:2px 16px 5px}
.rk-v3 .rk3-mobile-extra ul{list-style:none;padding:0;margin:0}
.rk-v3 .rk3-mobile-extra li{display:block;margin:0;padding:0}
.rk-v3 .rk3-mobile-extra li>a{display:block;font-size:14px;padding:10px 18px;color:#405470}

/* CSS-target posting chooser: no JavaScript and no extra homepage length until opened. */
.rk-v3 .rk3-compose-chooser{display:none;scroll-margin-top:96px;position:relative;margin:18px 0 6px;padding:23px;border-radius:17px;background:#fff;border:1px solid var(--rk31-border);box-shadow:0 14px 35px rgba(35,59,107,.07)}
.rk-v3 .rk3-compose-chooser:target{display:block;animation:rk31-reveal .18s ease-out}
.rk-v3 .rk3-compose-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}
.rk-v3 .rk3-compose-heading h2{margin:3px 0 4px;color:var(--rk31-ink);font-size:23px;line-height:1.4;font-weight:900}
.rk-v3 .rk3-compose-heading p{font-size:13px;line-height:1.6;color:var(--rk31-muted);margin:0}
.rk-v3 .rk3-compose-close{font-weight:800;color:#365ce3;font-size:13px;white-space:nowrap}
.rk-v3 .rk3-compose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rk-v3 .rk3-compose-room{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:11px;border:1px solid #e6ebf5;color:#304366;background:#f9faff;min-height:54px;font-size:14px;font-weight:850;line-height:1.5;min-width:0}
.rk-v3 .rk3-compose-room>span:nth-child(2){flex:1;min-width:0}
.rk-v3 .rk3-compose-room>span:first-child{color:#3c65e0;font-size:18px}
.rk-v3 .rk3-compose-room>b{color:#8ba1d8}
.rk-v3 .rk3-compose-room:hover{background:#eef3ff;border-color:#bdccf3;color:#254ac2}
.rk-v3 .rk3-compose-chooser:target .rk3-compose-heading{border-bottom:1px solid #f0f2f8;padding-bottom:13px}
@keyframes rk31-reveal{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Forum, topic, reply and editor visual alignment without touching post processing. */
.rk-v3.pg_forumdisplay .boardnav .bml>.bm_h h1{font-size:17px!important;line-height:1.45}
.rk-v3.pg_forumdisplay .boardnav .bml>.bm_h h1 .xs1{font-size:12px!important;color:#8996ad}
.rk-v3.pg_forumdisplay .boardnav .bml{margin-bottom:13px;background:#fff}
.rk-v3.pg_guide #ct .ct{background:transparent;border:0}
.rk-v3.pg_guide #ct .tl,.rk-v3.pg_guide #ct #threadlist{border:1px solid var(--rk31-border);border-radius:16px;background:#fff}
.rk-v3.pg_guide #ct .tl tr:hover td{background:#f8faff}
.rk-v3.pg_viewthread .rk3-thread-context{gap:12px;flex-wrap:wrap;min-height:66px}
.rk-v3 .rk3-thread-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.rk-v3 .rk3-thread-actions a{font-size:13px;font-weight:850;padding:8px 13px;border-radius:9px;background:#eaf0ff;color:#3155ce;white-space:nowrap}
.rk-v3 .rk3-thread-actions a:last-child{background:#365ce3;color:#fff}
.rk-v3 .rk3-thread-actions a:hover{filter:brightness(.96)}
.rk-v3.pg_viewthread #postlist{overflow:hidden}
.rk-v3.pg_viewthread #postlist .plc .pi{min-height:0}
.rk-v3.pg_viewthread #postlist #thread_subject{overflow-wrap:anywhere}
.rk-v3.pg_viewthread #postlist .t_f{color:#2e405f!important}
.rk-v3.pg_viewthread #postlist .plc,.rk-v3.pg_viewthread #postlist .pls{vertical-align:top}
.rk-v3.pg_post #ct{background:#fff;border:1px solid var(--rk31-border);border-radius:16px;padding:22px!important;margin-bottom:25px!important;box-shadow:0 9px 30px rgba(31,55,105,.05)}
.rk-v3.pg_post #postform .bm{box-shadow:none;border:0;margin:0}
.rk-v3.pg_post #postform #subject,.rk-v3.pg_post #postform input.px{font-size:16px!important;max-width:100%}
.rk-v3.pg_post #postform textarea{font-size:16px!important;line-height:1.8}
.rk-v3.pg_post #postform .pn.pnc{padding:9px 18px;font-size:15px}

/* The search app has its own Discuz header; in v3.1 it inherits the same site chrome. */
.rk-v3#nv_search #ct.cl.w{width:calc(100% - 56px)!important;max-width:1100px!important;min-height:380px;margin:32px auto 50px!important;padding:36px!important;border-radius:18px;background:#fff;border:1px solid var(--rk31-border);box-shadow:0 9px 35px rgba(28,54,103,.055)}
.rk-v3#nv_search #ct .mw{width:100%;max-width:800px;float:none;margin:0 auto;padding:0}
.rk-v3#nv_search form.searchform{max-width:800px;margin:auto;padding:0}
.rk-v3#nv_search form.searchform:before{content:'ค้นหากระทู้ใน RoiKib';display:block;margin:0 0 19px;color:#203966;font-size:26px;font-weight:900;line-height:1.5}
.rk-v3#nv_search #scform{max-width:none;width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.rk-v3#nv_search #scform_tb{padding:8px 0;display:flex;flex-wrap:wrap;gap:12px}
.rk-v3#nv_search #scform_tb a{font-size:14px;font-weight:800;color:#637490}
.rk-v3#nv_search #scform_tb a:hover{color:#365ce3}
.rk-v3#nv_search #scform_srchtxt{width:100%;min-height:45px;font-size:16px;padding:10px 15px;color:#1a2b50;border:1px solid #dbe3f2;border-radius:10px 0 0 10px}
.rk-v3#nv_search #scform_submit{min-height:45px;border-radius:0 10px 10px 0;background:#3159d9;color:#fff;padding:8px 20px}
.rk-v3#nv_search .searchform>p{font-size:13px;color:#7a8ba7;margin:12px 0}
.rk-v3#nv_search .tl{background:#fff;border:1px solid var(--rk31-border);border-radius:13px;overflow:hidden;margin-top:22px}
.rk-v3#nv_search .tl td,.rk-v3#nv_search .tl th{padding:12px 9px;font-size:14px}
.rk-v3#nv_search #ct a{overflow-wrap:anywhere}

/* Member pages: preserve Discuz form IDs and validation while improving clarity. */
.rk-v3#nv_member #ct,.rk-v3#nv_member #main_message{max-width:1144px;width:calc(100% - 56px);margin:0 auto 30px;box-shadow:none}
.rk-v3#nv_member #ct .bm,.rk-v3#nv_member #main_message,.rk-v3#nv_member .loginform{border:1px solid var(--rk31-border);border-radius:16px;background:#fff}
.rk-v3#nv_member .loginform,.rk-v3#nv_member #registerform{font-size:16px;color:#32435e}
.rk-v3#nv_member .loginform table,.rk-v3#nv_member #registerform table{max-width:100%}
.rk-v3#nv_member .loginform input.px,.rk-v3#nv_member #registerform input.px,.rk-v3#nv_member .loginform select{height:43px;font-size:16px!important;padding:8px 12px;border:1px solid #d9e2f0;border-radius:9px;color:#263b61}
.rk-v3#nv_member .loginform .pn,.rk-v3#nv_member #registerform .pn{font-size:15px!important;padding:9px 20px!important;border-radius:10px!important}
.rk-v3#nv_member .loginform .tfm th,.rk-v3#nv_member #registerform .tfm th{font-size:15px}
.rk-v3#nv_member #registerform .xg1{font-size:13px;color:#7b89a0}

/* Portal now has useful content even when the optional DIY area has no modules. */
.rk-v3 .rk3-portal{padding-top:25px;padding-bottom:16px}
.rk-v3 .rk3-portal .breadcrumb{font-size:12px;margin:0 0 18px}
.rk-v3 .rk3-portal-hero{padding:48px 55px;border-radius:22px;background:linear-gradient(115deg,#142c60,#3966d5);color:#fff;overflow:hidden}
.rk-v3 .rk3-portal-hero .eyebrow{color:#c6d5f9;font-weight:900;font-size:12px}
.rk-v3 .rk3-portal-hero h1{color:#fff;margin:15px 0;font-size:37px;font-weight:900;line-height:1.35}
.rk-v3 .rk3-portal-hero p{max-width:620px;font-size:15px;color:#dbe5ff;line-height:1.9}
.rk-v3 .rk3-portal-actions{display:flex;gap:10px;margin-top:23px;flex-wrap:wrap}
.rk-v3 .rk3-portal-actions .btn-white{background:#fff;color:#264bc9}
.rk-v3 .rk3-portal-actions .btn-glass{border:1px solid #9db5f5;color:#fff;background:#ffffff15}
.rk-v3 .rk3-portal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}
.rk-v3 .rk3-portal-links a{display:flex;flex-direction:column;gap:7px;background:#fff;border:1px solid var(--rk31-border);padding:25px;border-radius:16px;color:#1e345e}
.rk-v3 .rk3-portal-links a>span{font-size:25px;color:#365ce3}
.rk-v3 .rk3-portal-links strong{font-size:19px}
.rk-v3 .rk3-portal-links small{font-size:13px;color:#8390a8}
.rk-v3 .rk3-portal-links a:hover{border-color:#b9cbef;background:#f9fbff}

@media(max-width:1160px){
  .rk-v3 .rk3-header .desktop-nav,.rk-v3 .rk3-header .head-actions{display:none}
  .rk-v3 .rk3-header .menu-toggle{display:flex}
  .rk-v3 .rk3-header .header-inner{justify-content:space-between}
}
@media(max-width:850px){
  .rk-v3 .rk3-compose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rk-v3 .rk3-thread-actions{margin-left:0;width:100%}
  .rk-v3#nv_search #ct.cl.w{padding:25px!important}
}
@media(max-width:720px){
  .rk-v3 .rk3-compose-chooser{scroll-margin-top:76px;padding:17px 14px}
  .rk-v3 .rk3-compose-heading{display:block}
  .rk-v3 .rk3-compose-heading h2{font-size:21px}
  .rk-v3 .rk3-compose-heading p{font-size:13px}
  .rk-v3 .rk3-compose-close{display:inline-block;margin-top:8px}
  .rk-v3 .rk3-compose-room{font-size:13px;min-height:60px;padding:9px;gap:6px}
  .rk-v3 .rk3-compose-room>span:first-child{display:none}
  .rk-v3 .rk3-thread-actions{display:flex;flex-wrap:wrap}
  .rk-v3 .rk3-thread-actions a{font-size:12px;padding:8px 11px}
  .rk-v3.pg_post #ct{width:calc(100% - 30px)!important;padding:12px!important}
  .rk-v3#nv_search #ct.cl.w{width:calc(100% - 30px)!important;margin:16px auto 25px!important;padding:20px 13px!important;min-height:300px}
  .rk-v3#nv_search form.searchform:before{font-size:21px}
  .rk-v3#nv_search #scform_srchtxt{font-size:16px}
  .rk-v3#nv_member #ct,.rk-v3#nv_member #main_message{width:calc(100% - 30px)}
  .rk-v3#nv_member .loginform input.px,.rk-v3#nv_member #registerform input.px{max-width:100%}
  .rk-v3 .rk3-portal{padding-top:14px}
  .rk-v3 .rk3-portal-hero{padding:28px 21px;border-radius:18px}
  .rk-v3 .rk3-portal-hero h1{font-size:27px}
  .rk-v3 .rk3-portal-hero p{font-size:14px}
  .rk-v3 .rk3-portal-links{grid-template-columns:1fr;gap:9px}
  .rk-v3 .rk3-portal-links a{padding:17px}
}
@media(max-width:390px){.rk-v3 .rk3-compose-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rk-v3 .rk3-compose-chooser:target{animation:none}}
