.pub{--p-ground:#fbf9fd;--p-surface:#ffffff;--p-ink:#211632;--p-muted:#6b6280;--p-line:#e7e1ef;--p-soft:#f1eaf8;--p-accent:#5a2a8c;--p-btn-bg:#4b1d78;--p-btn-fg:#ffffff;--p-yellow:#f5c518;--p-yellow-ink:#2e0f4f;--p-pink:#d6337f;--p-royal-bg:#fff4cc;--p-royal-fg:#7a5a00;--p-royal-line:#f0d57a;--p-plain-bg:#eef0f4;--p-plain-fg:#3e4a5e;--p-hero-a:#2e0f4f;--p-hero-b:#4b1d78;--p-hero-c:#6a2fa0;--p-shadow:0 1px 2px rgba(46,15,79,.06),0 10px 28px -18px rgba(46,15,79,.35);--p-display:var(--font-chakra),var(--font-sarabun),"Noto Sans Thai",sans-serif;--p-body:var(--font-sarabun),"Noto Sans Thai",-apple-system,"Segoe UI",sans-serif;min-height:100vh;display:flex;flex-direction:column;background:var(--p-ground);color:var(--p-ink);font-family:var(--p-body);font-size:16px;line-height:1.7}[data-theme=dark] .pub{--p-ground:#120d1a;--p-surface:#1b1426;--p-ink:#ede7f5;--p-muted:#a99fb8;--p-line:#2e2540;--p-soft:#2a1d3d;--p-accent:#d2b5f3;--p-btn-bg:#c9a7f0;--p-btn-fg:#1e0b33;--p-yellow:#f2c94c;--p-yellow-ink:#1e0b33;--p-pink:#f27bb3;--p-royal-bg:#2f2610;--p-royal-fg:#f2d27a;--p-royal-line:#5e4a14;--p-plain-bg:#232033;--p-plain-fg:#c3c8d6;--p-hero-a:#1a0930;--p-hero-b:#33145a;--p-hero-c:#4b1d78;--p-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 28px -18px rgba(0,0,0,.7)}.pub *,.pub :after,.pub :before{box-sizing:border-box}.pub h1,.pub h2,.pub h3{font-family:var(--p-display);line-height:1.3;margin:0;text-wrap:balance}.pub p{margin:0}.pub a{color:var(--p-accent)}.pub a:hover{text-decoration:underline}.pub a:focus-visible,.pub button:focus-visible{outline:3px solid var(--p-yellow);outline-offset:2px;border-radius:4px}.pub img{max-width:100%}.pub-wrap{width:100%;max-width:1160px;margin:0 auto;padding-inline:20px}.pub-main{flex:1 0 auto}.pub .pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--p-display);font-weight:600;font-size:15px;line-height:1.2;padding:11px 20px;border-radius:6px;border:0;cursor:pointer;text-decoration:none;white-space:nowrap}.pub .pub-btn:hover{text-decoration:none;filter:brightness(1.06)}.pub .pub-btn.primary{background:var(--p-yellow);color:var(--p-yellow-ink)}.pub .pub-btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}.pub .pub-btn.ghost:hover{background:rgba(255,255,255,.1)}.pub .pub-btn.solid{background:var(--p-btn-bg);color:var(--p-btn-fg)}.pub .pub-btn.sm{font-size:13.5px;padding:7px 14px}.pub-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--p-surface);border-bottom:1px solid var(--p-line)}.pub-nav-inner{gap:18px;min-height:64px}.pub .pub-brand,.pub-nav-inner{display:flex;align-items:center}.pub .pub-brand{gap:10px;color:var(--p-ink);margin-right:auto}.pub .pub-brand,.pub .pub-brand:hover{text-decoration:none}.pub-brand img{width:40px;height:40px}.pub-brand strong{display:block;font-family:var(--p-display);font-size:18px;line-height:1.1;color:var(--p-accent);letter-spacing:.02em}.pub-brand small{display:block;font-size:12px;color:var(--p-muted);line-height:1.3}.pub-links{display:flex;align-items:center;gap:4px}.pub .pub-links>a{color:var(--p-ink);font-size:14.5px;font-weight:500;padding:8px;border-radius:4px;text-decoration:none;white-space:nowrap}.pub .pub-links>a:hover{background:var(--p-soft)}.pub .pub-links>a.on{color:var(--p-accent);box-shadow:inset 0 -2px 0 var(--p-pink);border-radius:0}.pub-nav-actions{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.pub-menu-btn,.pub-theme{font:inherit;font-size:14px;background:transparent;color:var(--p-ink);border:1px solid var(--p-line);border-radius:6px;padding:6px 10px;cursor:pointer}.pub-menu-btn{display:none}@media (min-width:1025px) and (max-width:1320px){.pub-brand small{display:none}}@media (max-width:1024px){.pub-menu-btn{display:inline-block}.pub-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;background:var(--p-surface);border-bottom:1px solid var(--p-line);box-shadow:var(--p-shadow)}.pub-links.open{display:flex}.pub .pub-links>a{padding:11px 4px;border-bottom:1px solid var(--p-line)}.pub .pub-links>a.on{box-shadow:inset 3px 0 0 var(--p-pink);padding-left:12px}.pub-nav-actions{margin:12px 0 0;justify-content:space-between}}.pub-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--p-hero-a) 0,var(--p-hero-b) 55%,var(--p-hero-c) 100%)}.pub-gear{position:absolute;right:-140px;top:-130px;width:520px;height:520px;pointer-events:none}.pub-gear:after,.pub-gear:before{content:"";position:absolute;border-radius:50%}.pub-gear:before{inset:0;background:repeating-conic-gradient(rgba(245,197,24,.15) 0 9deg,transparent 9deg 22.5deg);-webkit-mask:radial-gradient(circle closest-side,transparent 0 81%,#000 81.5% 100%,transparent 100.5%);mask:radial-gradient(circle closest-side,transparent 0 81%,#000 81.5% 100%,transparent 100.5%)}.pub-gear:after{inset:9%;border:38px solid rgba(245,197,24,.15)}.pub-gear.two{right:auto;left:-230px;top:auto;bottom:-310px;width:460px;height:460px;opacity:.65}.pub-gear.two:after{border-width:34px}.pub .keep{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.pub-gear{animation:pub-spin 90s linear infinite}.pub-gear.two{animation-direction:reverse}}@keyframes pub-spin{to{transform:rotate(1turn)}}.pub-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);grid-gap:24px;gap:24px;align-items:center;padding-block:56px 48px}.pub-kicker{font-family:var(--p-display);font-size:13.5px;font-weight:600;letter-spacing:.08em;color:var(--p-yellow)}.pub-hero h1{font-size:clamp(30px,5vw,50px);font-weight:700;margin-top:10px;max-width:18ch}.pub-hero h1 em{font-style:normal;color:var(--p-yellow);white-space:nowrap}.pub-hero-en{margin-top:8px;font-size:15px;opacity:.8;max-width:72ch}.pub-cta{margin-top:26px}.pub-cta,.pub-dates{display:flex;flex-wrap:wrap;gap:10px}.pub-dates{list-style:none;margin:28px 0 0;padding:0}.pub-dates li{display:flex;flex-direction:column;padding:8px 14px;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.pub-dates li.now{border-color:var(--p-yellow)}.pub-dates span{font-size:12.5px;opacity:.8}.pub-dates b{font-family:var(--p-display);font-weight:600;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-dates small{font-size:12px;color:var(--p-yellow)}.pub-dates li.done small{color:rgba(255,255,255,.6)}.pub-hero-art{display:flex;justify-content:center}.pub-hero-art img{height:auto;width:min(100%,190px);filter:drop-shadow(0 16px 20px rgba(0,0,0,.35))}.pub-count{display:flex;align-items:center;gap:8px;margin-top:22px;flex-wrap:wrap}.pub-count div{min-width:68px;text-align:center;padding:6px 12px;border-radius:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}.pub-count b{display:block;font-family:var(--p-display);font-size:26px;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-count small{font-size:12px;opacity:.8}.pub-count p{font-size:13px;opacity:.85;margin-left:4px}@media (max-width:720px){.pub-hero-inner{grid-template-columns:1fr;padding-block:40px 36px}.pub-hero-art{display:none}}.pub-stats{background:var(--p-surface);border-bottom:1px solid var(--p-line)}.pub-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.pub-stats-row div{padding:16px 12px;display:flex;flex-direction:column;border-right:1px solid var(--p-line)}.pub-stats-row div:last-child{border-right:0}@media (max-width:560px){.pub-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))}.pub-stats-row div{border-right:0;padding:12px 6px}.pub-stats-row b{font-size:23px}}.pub-stats-row b{font-family:var(--p-display);font-size:28px;font-weight:600;color:var(--p-accent);line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-stats-row span{font-size:13.5px;color:var(--p-muted)}.pub-section{padding-block:48px}.pub-section.alt{background:var(--p-surface);border-block:1px solid var(--p-line)}.pub-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:20px}.pub-section-head h2{font-size:clamp(22px,3vw,28px);font-weight:600}.pub-section-head a{font-size:14.5px;font-weight:500}.pub-empty{color:var(--p-muted);padding:20px 0}.pub-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:18px;gap:18px}.pub .pub-news-card{display:flex;flex-direction:column;background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;overflow:hidden;color:var(--p-ink);text-decoration:none;transition:box-shadow .15s ease,transform .15s ease}.pub .pub-news-card:hover{text-decoration:none;box-shadow:var(--p-shadow);transform:translateY(-2px)}.pub-news-cover{aspect-ratio:16/9;max-width:100%;background:var(--p-soft);position:relative}.pub-news-cover img{width:100%;height:100%;object-fit:cover;display:block}.pub-news-cover.empty{display:grid;place-items:center;background:linear-gradient(135deg,var(--p-hero-b),var(--p-hero-c))}.pub-news-cover.empty[data-cat=training]{background:linear-gradient(135deg,#7a2d8f,#d6337f)}.pub-news-cover.empty[data-cat=gallery]{background:linear-gradient(135deg,#b4502b,#e9a23b)}.pub-news-cover.empty[data-cat=result]{background:linear-gradient(135deg,#6b4f00,#d9a90d)}.pub-news-cover-label{font-family:var(--p-display);font-weight:600;font-size:20px;color:rgba(255,255,255,.92)}.pub-news-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}.pub-news-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--p-muted)}.pub-pin{color:var(--p-pink);font-weight:700}.pub-news-body h3{font-size:17px;font-weight:600}.pub-news-body p{font-size:14.5px;color:var(--p-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pub-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:14px;gap:14px}.pub .pub-cat{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;color:var(--p-ink);text-decoration:none}.pub .pub-cat:hover{text-decoration:none;border-color:var(--p-accent)}.pub-cat-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pub-code{font-family:var(--p-display);font-weight:600;font-size:15px;color:var(--p-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-mode{font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:1px 8px;border-radius:3px;background:var(--p-soft);color:var(--p-accent)}.pub-mode.online{background:color-mix(in srgb,var(--p-pink) 14%,transparent);color:var(--p-pink)}.pub-cat h3{font-size:16px;font-weight:600}.pub-cat-level{font-size:13.5px;color:var(--p-ink)}.pub-cat-meta{font-size:13px;color:var(--p-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-trophy{align-self:flex-start;margin-top:2px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:3px;background:var(--p-plain-bg);color:var(--p-plain-fg)}.pub-trophy.royal{background:var(--p-royal-bg);color:var(--p-royal-fg);box-shadow:inset 0 0 0 1px var(--p-royal-line)}.pub-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-gap:12px;gap:12px}.pub .pub-info{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:8px;border:1px solid var(--p-line);background:var(--p-ground);color:var(--p-ink);text-decoration:none}.pub .pub-info:hover{text-decoration:none;border-color:var(--p-accent)}.pub-info b{font-family:var(--p-display);font-weight:600;color:var(--p-accent)}.pub-info span{font-size:13.5px;color:var(--p-muted)}.pub-page{padding-block:36px 56px}.pub-page-head{margin-bottom:20px}.pub-eyebrow{font-family:var(--p-display);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--p-pink)}.pub-page-head h1{font-size:clamp(28px,4vw,38px);font-weight:700;margin-top:4px}.pub-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.pub .pub-chips a{font-size:14px;padding:5px 14px;border-radius:999px;border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-ink);text-decoration:none}.pub .pub-chips a.on{background:var(--p-btn-bg);border-color:var(--p-btn-bg);color:var(--p-btn-fg)}.pub-article{max-width:760px;margin:0 auto}.pub-article-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--p-muted)}.pub-article h1{font-size:clamp(26px,4vw,36px);font-weight:700;margin-top:8px}.pub-article-lead{font-size:18px;color:var(--p-muted);margin-top:12px}.pub-article-cover{margin:24px 0 0;border-radius:8px;overflow:hidden;border:1px solid var(--p-line)}.pub-article-cover img{display:block;width:100%;height:auto}.pub-article-body{margin-top:24px;display:flex;flex-direction:column;gap:16px;font-size:17px;line-height:1.85}.pub-article-body p{white-space:pre-line;overflow-wrap:anywhere}.pub .pub-attach{display:flex;align-items:center;gap:12px;margin-top:28px;padding:14px 16px;border-radius:8px;border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-ink);text-decoration:none}.pub .pub-attach:hover{text-decoration:none;border-color:var(--p-accent)}.pub-attach b{font-family:var(--p-display);font-weight:600;color:var(--p-accent)}.pub-attach span{font-size:13.5px;color:var(--p-muted);overflow-wrap:anywhere}.pub-back{display:inline-block;margin-top:32px;font-size:15px}.pub-footer{background:var(--p-surface);border-top:1px solid var(--p-line);padding-block:28px;margin-top:auto}.pub-footer-inner{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:18px 32px;gap:18px 32px;align-items:start}.pub-footer-brand{display:flex;gap:12px;align-items:center}.pub-footer-brand img{width:44px;height:44px}.pub-footer-brand strong{display:block;font-family:var(--p-display);font-weight:600}.pub-footer-brand span{display:block;font-size:13.5px;color:var(--p-muted)}.pub-footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;justify-content:flex-end}.pub-footer-copy{grid-column:1/-1;font-size:12.5px;color:var(--p-muted);border-top:1px solid var(--p-line);padding-top:14px}@media (max-width:720px){.pub-footer-inner{grid-template-columns:1fr}.pub-footer-links{justify-content:flex-start}}.pub .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pub .pub-btn.outline{background:transparent;color:var(--p-accent);box-shadow:inset 0 0 0 1.5px var(--p-accent)}.pub .pub-btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.pub-hint{font-size:14px;color:var(--p-muted)}.pub-reg-state{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:999px;font-size:14px;font-weight:600}.pub-reg-state.open{background:color-mix(in srgb,#1f7a4d 14%,transparent);color:#1f7a4d}.pub-reg-state.closed{background:var(--p-plain-bg);color:var(--p-plain-fg)}[data-theme=dark] .pub-reg-state.open{color:#5cc98f}.pub-reg-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:20px;gap:20px;align-items:start}@media (max-width:860px){.pub-reg-grid{grid-template-columns:1fr}}.pub-panel{background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:14px}.pub-panel h2{font-size:20px;font-weight:600}.pub-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.pub-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}.pub-steps li b{display:block;font-family:var(--p-display);font-weight:600}.pub-steps li span{font-size:14px;color:var(--p-muted)}.pub-note{font-size:14px;background:var(--p-soft);border-radius:6px;padding:10px 12px}.pub-tabs{display:flex;border-bottom:1px solid var(--p-line);gap:4px}.pub-tabs button{font:inherit;font-family:var(--p-display);font-weight:600;font-size:15px;background:none;border:0;padding:8px 14px;color:var(--p-muted);cursor:pointer;box-shadow:inset 0 -2px 0 transparent}.pub-tabs button.on{color:var(--p-accent);box-shadow:inset 0 -2px 0 var(--p-pink)}.pub-form{display:flex;flex-direction:column;gap:14px}.pub-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:12px;gap:12px}.pub-row:has(>.narrow){grid-template-columns:minmax(110px,.35fr) repeat(auto-fit,minmax(min(100%,200px),1fr))}@media (max-width:520px){.pub-row:has(>.narrow){grid-template-columns:1fr}}.pub-field{display:flex;flex-direction:column;gap:4px;min-width:0}.pub-field>span{font-size:13.5px;font-weight:600;color:var(--p-ink)}.pub-field input,.pub-field select{font:inherit;font-size:15px;color:var(--p-ink);background:var(--p-ground);border:1px solid var(--p-line);border-radius:6px;padding:9px 10px;width:100%;min-height:42px}.pub-field input[type=file]{padding:7px}.pub-field input:focus-visible,.pub-field select:focus-visible{outline:3px solid color-mix(in srgb,var(--p-accent) 35%,transparent);border-color:var(--p-accent)}.pub fieldset:disabled .pub-field input,.pub fieldset:disabled .pub-field select{opacity:.75}.pub-field small{font-size:13px}.pub-consent{display:grid;grid-template-columns:20px 1fr;grid-gap:8px;gap:8px;font-size:13.5px;color:var(--p-muted);align-items:start}.pub-consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--p-btn-bg)}.pub-alert{background:#fdecea;color:#9b1c12}.pub-alert,.pub-success{border-radius:6px;padding:9px 12px;font-size:14px}.pub-success{background:#e6f4ec;color:#17603c}[data-theme=dark] .pub-alert{background:#3a1714;color:#f5b3ab}[data-theme=dark] .pub-success{background:#14301f;color:#9fe0bc}.pub-ok-text{color:#1f7a4d}.pub-bad-text{color:#b42318}[data-theme=dark] .pub-ok-text{color:#5cc98f}[data-theme=dark] .pub-bad-text{color:#f08a80}.pub-head-row{align-items:flex-start;gap:16px}.pub-head-row,.pub-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap}.pub-toolbar{align-items:center;gap:12px;margin-bottom:16px}.pub-toolbar .pub-reg-state{margin-top:0}.pub-status{display:inline-block;font-size:12.5px;font-weight:600;padding:1px 9px;border-radius:999px}.pub-status.draft{background:var(--p-plain-bg);color:var(--p-plain-fg)}.pub-status.wait{background:var(--p-soft);color:var(--p-accent)}.pub-status.warn{background:#fbf0dc;color:#8a5300}.pub-status.ok{background:#e6f4ec;color:#17603c}.pub-status.bad{background:#fdecea;color:#9b1c12}[data-theme=dark] .pub-status.warn{background:#2e2213;color:#e8a94a}[data-theme=dark] .pub-status.ok{background:#14301f;color:#9fe0bc}[data-theme=dark] .pub-status.bad{background:#3a1714;color:#f5b3ab}.pub-app-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.pub-app{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;padding:16px 18px;flex-wrap:wrap}.pub-app-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 320px}.pub-app-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pub-app h3{font-size:18px;font-weight:600}.pub-staff-note{font-size:14px;background:#fbf0dc;color:#6b4200;border-radius:6px;padding:8px 10px;margin-top:6px}[data-theme=dark] .pub-staff-note{background:#2e2213;color:#f1c27d}.pub .pub-cat.static:hover{border-color:var(--p-line)}.pub-rule-list{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--p-muted)}.pub-rule-list li:before{content:"·";margin-right:6px;color:var(--p-accent);font-weight:700}.pub-editor{display:flex;flex-direction:column;gap:16px;margin-top:10px}.pub-editor-head h1{font-size:clamp(22px,3.2vw,30px);font-weight:700;margin-top:6px}.pub-banner{border-radius:8px;padding:12px 14px;font-size:15px}.pub-banner.ok{background:#e6f4ec;color:#17603c}.pub-banner.warn{background:#fbf0dc;color:#6b4200}.pub-banner.bad{background:#fdecea;color:#9b1c12}.pub-banner.wait{background:var(--p-soft);color:var(--p-accent)}[data-theme=dark] .pub-banner.ok{background:#14301f;color:#9fe0bc}[data-theme=dark] .pub-banner.warn{background:#2e2213;color:#f1c27d}[data-theme=dark] .pub-banner.bad{background:#3a1714;color:#f5b3ab}.pub-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:20px;gap:20px;align-items:start}@media (max-width:960px){.pub-editor-grid{grid-template-columns:1fr}}.pub-editor-form{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:16px}.pub-panel.sticky{position:-webkit-sticky;position:sticky;top:80px}@media (max-width:960px){.pub-panel.sticky{position:static}}.pub-person{border:1px solid var(--p-line);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--p-ground)}.pub-person-head{display:flex;justify-content:space-between;align-items:center}.pub-person-head b{font-family:var(--p-display);font-weight:600}.pub-person-photo{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.pub-cert-links{display:flex;flex-wrap:wrap;gap:6px 16px}.pub-verify{max-width:640px}.pub-verify.ok{border-top:4px solid #1f7a4d}.pub-verify.bad{border-top:4px solid #b42318}.pub-verify-state{font-family:var(--p-display);font-size:20px;font-weight:600;margin:0 0 14px}.pub-verify-list{margin:0;display:flex;flex-direction:column;gap:8px}.pub-verify-row{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:12px;gap:12px}.pub-verify-row dt{color:var(--p-muted)}.pub-verify-row dd{margin:0;font-weight:600;overflow-wrap:anywhere}.pub-verify-code{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}@media (max-width:480px){.pub-verify-row{grid-template-columns:1fr;gap:0}}.pub-person-photo>.pub-hint{flex:1 1 200px;margin:0;font-size:13.5px}.pub-photo{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pub-photo-frame{position:relative;width:108px;aspect-ratio:3/4;border-radius:6px;border:2px dashed var(--p-line);background:var(--p-surface);display:grid;place-items:center;overflow:hidden;font-size:40px;color:var(--p-muted)}.pub-photo-frame.has{border-style:solid;border-color:var(--p-accent)}.pub-photo-frame img{width:100%;height:100%;object-fit:cover;display:block}.pub-photo-busy{position:absolute;inset:0;display:grid;place-items:center;font-size:12.5px;color:var(--p-ink);background:color-mix(in srgb,var(--p-surface) 82%,transparent)}.pub-photo-actions{display:flex;gap:6px;flex-wrap:wrap}.pub-cam{position:fixed;inset:0;z-index:60;background:rgba(15,8,25,.72);display:grid;place-items:center;padding:16px}.pub-cam-box{width:min(420px,100%);max-height:100%;overflow:auto;background:var(--p-surface);color:var(--p-ink);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.pub-cam-head{display:flex;justify-content:space-between;align-items:center}.pub-cam-stage{position:relative;width:100%;aspect-ratio:3/4;background:#000;border-radius:8px;overflow:hidden}.pub-cam-stage video{width:100%;height:100%;object-fit:cover;display:block}.pub-cam-stage video.mirror{transform:scaleX(-1)}.pub-cam-guide{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.pub-cam-guide span{width:62%;height:62%;margin-top:-8%;border-radius:50%;border:3px solid var(--p-yellow);box-shadow:0 0 0 999px rgba(0,0,0,.38)}.pub-cam-actions{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.pub-link-btn{font:inherit;font-size:14px;background:none;border:0;color:var(--p-accent);cursor:pointer;padding:2px 0;text-decoration:underline;text-align:left}.pub-link-btn.danger{color:#b42318}.pub-fee b{font-family:var(--p-display);font-size:22px;color:var(--p-accent)}.pub-bank{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 14px;gap:4px 14px;margin:0;font-size:15px}.pub-bank dt{color:var(--p-muted)}.pub-bank dd{margin:0;font-weight:600}.pub-bank .mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.03em}.pub-checks,.pub-slip-link{font-size:14px}.pub-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pub-checks li{display:grid;grid-template-columns:20px 1fr;grid-gap:6px;gap:6px;align-items:start;overflow-wrap:anywhere}.pub-checks li>span:first-child{font-weight:700}.pub-checks li.ok>span:first-child{color:#1f7a4d}.pub-checks li.no>span:first-child{color:#b42318}[data-theme=dark] .pub-checks li.ok>span:first-child{color:#5cc98f}[data-theme=dark] .pub-checks li.no>span:first-child{color:#f08a80}.pub-actions{display:flex;flex-wrap:wrap;gap:8px}.pub-panel>.pub-btn.outline.sm{align-self:flex-start}.pub-lang{font:inherit;font-family:var(--p-display);font-weight:600;font-size:13.5px;background:transparent;color:var(--p-accent);border:1px solid var(--p-line);border-radius:6px;padding:5px 10px;cursor:pointer;min-width:44px}.pub-lang:hover{background:var(--p-soft)}.pub-edition-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.pub .pub-edition{display:grid;grid-template-columns:88px minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:16px 20px;background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;color:var(--p-ink);text-decoration:none}.pub a.pub-edition:hover{text-decoration:none;border-color:var(--p-accent);box-shadow:var(--p-shadow)}.pub-edition.muted{opacity:.75}.pub-edition-no{font-family:var(--p-display);font-weight:700;font-size:44px;line-height:1;color:var(--p-accent);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pub-edition-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pub-edition-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pub-edition-top b{font-size:18px}.pub-edition-go,.pub-edition-top b{font-family:var(--p-display);font-weight:600}.pub-edition-go{font-size:14.5px;color:var(--p-accent);white-space:nowrap}@media (max-width:560px){.pub .pub-edition{grid-template-columns:56px minmax(0,1fr)}.pub-edition-no{font-size:32px}.pub-edition-go{grid-column:2}}.pub-archive-stats{margin-bottom:28px;padding:0;overflow:hidden}.pub-archive-section{margin-top:32px;display:flex;flex-direction:column;gap:16px}.pub-archive-section h2{font-size:clamp(20px,3vw,26px);font-weight:600}.pub-trophy-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:16px;gap:16px}.pub-trophy-group{background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.pub-trophy-group.royal{border-color:var(--p-royal-line);box-shadow:inset 0 3px 0 var(--p-royal-line)}.pub-trophy-group h3{font-size:16px;font-weight:600;color:var(--p-royal-fg)}.pub-trophy-group:not(.royal) h3{color:var(--p-plain-fg)}.pub-trophy-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pub-trophy-group li{display:grid;grid-template-columns:30px minmax(0,1fr);grid-gap:2px 8px;gap:2px 8px;border-top:1px solid var(--p-line);padding-top:10px}.pub-trophy-group li:first-child{border-top:0;padding-top:0}.pub-trophy-event{font-size:14px;font-weight:600}.pub-trophy-group .pub-podium-teams{grid-column:2}.pub-podium-teams{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pub-podium-teams li{display:flex;flex-direction:column;border:0!important;padding:0!important}.pub-podium-teams b{font-weight:600;font-size:14.5px}.pub-podium-teams span{font-size:13px;color:var(--p-muted)}.pub-table-wrap{overflow-x:auto;background:var(--p-surface);border:1px solid var(--p-line);border-radius:8px}.pub-podium{width:100%;min-width:760px;border-collapse:collapse;font-size:14px;table-layout:fixed}.pub-podium th:first-child{width:56px}.pub-podium th:nth-child(2){width:25%}.pub-podium td{overflow-wrap:anywhere}.pub-podium th{text-align:left;font-size:13px;font-weight:600;color:var(--p-muted);padding:10px 12px;border-bottom:1px solid var(--p-line);background:var(--p-soft)}.pub-podium td{padding:12px;border-top:1px solid var(--p-line);vertical-align:top}.pub-podium td.pub-code{width:48px}