@font-face{font-family:'SG';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/sg-500-la.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'SG';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sg-700-la.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'IN';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/in-400-la.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'IN';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/in-600-la.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--bg:#fafafa;--paper:#fff;--ink:#0f172a;--mute:#5b6476;--line:#e5e7eb;--acc:#2563eb;--acc-d:#1d4ed8;--soft:#eef3ff;--rad:10px;--max:1180px;--g:20px;--head:'SG',system-ui,sans-serif;--ff:'IN',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;--c-bg:var(--bg);--c-paper:#fff;--c-ink:var(--ink);--c-mute:var(--mute);--c-line:var(--line);--c-acc:var(--acc);--c-accd:var(--acc-d);--c-soft:var(--soft);--c-rad:10px}
/* engine common (themed by vars: --bg --paper --ink --mute --line --acc --acc-d --soft --rad --head --ff) */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--ff);overflow-x:clip}
img,svg,video,iframe{max-width:100%;height:auto}
a{color:var(--acc-d);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.15;margin:0 0 .5em}
h2{font-size:clamp(25px,3.2vw,34px)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;color:#000;padding:8px 14px}.skip:focus{left:8px}
.frame,.wrap{width:100%;max-width:var(--max,1160px);margin:0 auto;padding:0 var(--g,20px)}
.ic{flex:none}
.btn-n,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--acc);color:#fff;font-weight:700;border-radius:var(--rad);padding:0 18px;min-height:46px;text-decoration:none}
.btn-n:hover,.btn:hover{background:var(--acc-d);color:#fff}
.ghost{border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:6px 14px;font-weight:600;font-size:14px;color:var(--mute)}
.forge__go:disabled{opacity:.6}
.is-loading{opacity:.45}
.acts{display:flex;flex-wrap:wrap;gap:6px}
.act{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:3px 10px;font-size:13px;min-height:32px}
.act.is-on{border-color:var(--acc);color:var(--acc-d)}
.cm-h{font:700 17px var(--head);margin:0 0 8px}
.cm-chips,.cm-links{display:flex;flex-wrap:wrap;gap:8px}
.cm-chip,.cm-links a{border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:6px 12px;font-size:15px;text-decoration:none;color:var(--ink);min-height:40px;display:inline-flex;align-items:center;gap:6px}
.cm-chip small{color:var(--mute);font-size:12px}
.cm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.cm-nick{display:flex;border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);overflow:hidden}
.cm-nick>button:first-child{flex:1;border:0;background:none;text-align:left;padding:8px 12px;font-size:16px;min-width:0;overflow-wrap:anywhere}
.cm-like{border:0;border-left:1px solid var(--line);background:var(--soft);padding:0 10px;font-size:13px}
.cm-like.is-on{color:var(--acc-d)}
.cm-more{margin-top:10px}
.cm-add{display:flex;gap:8px}
.cm-add input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--rad);padding:9px 12px;background:var(--paper)}
.cm-msg{font-size:14px;color:#15803d;margin:8px 0 0}.cm-msg.is-err{color:#b91c1c}
.blaze{display:flex;flex-wrap:wrap;gap:8px}
.blaze__i{border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:8px 14px;font-size:17px;min-height:44px;display:inline-flex;gap:8px;align-items:center}
.blaze__i small{font-size:12px;color:var(--mute)}
.blaze__i:hover{border-color:var(--acc)}
.rise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rise__i{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:10px 12px;text-align:left;min-height:48px}
.rise__n{font-weight:700;color:var(--acc-d)}.rise__t{flex:1;font-weight:600}.rise__c,.rise__g{font-size:12px;color:var(--mute)}
.kept{display:flex;flex-wrap:wrap;gap:8px}
.kept__i{display:inline-flex;border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);overflow:hidden}
.kept__i button{border:0;background:none;padding:7px 12px;font-size:16px;min-height:42px}
.kept__i .kept__x{color:var(--mute);border-left:1px solid var(--line)}
.kept__empty{color:var(--mute);margin:0}
.faq{display:grid;gap:8px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:2px 16px}
.faq summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;font-weight:700;padding:12px 0;list-style:none;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq details p{margin:0 0 14px;color:var(--mute)}
.judge{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:20px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.judge__head{display:flex;gap:14px;align-items:center}
.judge__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--rad);background:var(--soft);color:var(--acc-d);flex:none}
.judge__t{font-size:20px;margin:0}
.judge__s{margin:2px 0 0;font-size:14px;color:var(--mute)}
.judge__btns{display:flex;gap:8px}
.judge__b{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:0 14px;font-weight:700;min-height:46px}
.judge__b--up[aria-pressed=true]{border-color:#16a34a;color:#15803d}
.judge__b--down[aria-pressed=true]{border-color:#dc2626;color:#b91c1c}
.judge__form,.judge__thx{flex-basis:100%;margin:0}
.judge__form{display:grid;gap:8px}
.judge__form textarea{border:1px solid var(--line);border-radius:var(--rad);padding:10px;width:100%;background:var(--bg)}
.judge .btn{justify-self:start;min-height:42px}
.judge__thx{color:#15803d;font-weight:700}
.drawer{position:fixed;inset:0;z-index:80}
.drawer__bg{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.drawer__box{position:absolute;right:0;top:0;bottom:0;width:min(340px,88vw);background:var(--paper);padding:18px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.drawer__head{display:flex;justify-content:space-between;align-items:center;font:700 20px var(--head)}
.drawer__x{border:0;background:var(--soft);width:44px;height:44px;border-radius:var(--rad);display:grid;place-items:center}
.drawer__list{list-style:none;margin:0;padding:0}
.drawer__list a{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.qform{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:var(--rad);padding:4px 4px 4px 12px}
.qform input{flex:1;min-width:0;border:0;background:none;padding:8px 0;outline:none}
.qform button{border:0;background:var(--acc);color:#fff;border-radius:var(--rad);padding:8px 14px;font-weight:700;min-height:40px}
.qform .ic{color:var(--mute)}
.notice{position:fixed;left:50%;bottom:22px;transform:translate(-50%,16px);opacity:0;pointer-events:none;z-index:90;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--rad);font-size:15px;max-width:calc(100% - 32px);transition:opacity .2s,transform .2s}
.notice.show{opacity:1;transform:translate(-50%,0)}
.notice .ic{color:#86efac}
.notice__t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uptop,.navbar{display:none!important}
@media (max-width:760px){.rise{grid-template-columns:repeat(2,minmax(0,1fr))}.judge{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:center;gap:16px;min-height:58px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 20px var(--head)}
.hd__nav{margin-left:auto}
.hd__links{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.hd__links a{text-decoration:none;color:var(--mute);font-weight:600;font-size:15px}
.hd__links a:hover{color:var(--acc)}
.hd__menu{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;place-items:center}
.idx{padding:34px 0 30px}
.idx__h{font-size:clamp(38px,6vw,68px);letter-spacing:-.03em;line-height:1}
.idx__h span{color:var(--acc)}
.idx__p{color:var(--mute);margin:10px 0 18px;max-width:640px}
.idx__bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;position:sticky;top:58px;z-index:5;background:var(--bg);padding:10px 0}
.idx__search{flex:1;min-width:240px;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:0 14px;min-height:54px}
.idx__search input{flex:1;min-width:0;border:0;outline:none;font-size:19px;background:none}
.idx__count{font:600 14px var(--mono);color:var(--mute)}
.idx__groups{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 16px}
.idx__groups button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 12px;font-size:14px;font-weight:600;color:var(--mute);min-height:38px}
.idx__groups [aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.gcard button{display:grid;grid-template-rows:auto 1fr auto auto;width:100%;height:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px 12px;text-align:left;gap:2px;transition:border-color .15s,transform .15s}
.gcard button:hover{border-color:var(--acc);transform:translateY(-2px)}
.gcard__no{font:600 11px var(--mono);color:#a0a7b4}
.gcard__s{font-size:38px;font-weight:400;line-height:1.3;text-align:center;padding:6px 0;overflow-wrap:anywhere}
.gcard__n{font-size:12px;font-weight:600;line-height:1.3;color:var(--ink);min-height:2.6em}
.gcard code{font:12px var(--mono);color:var(--acc-d)}
.gcard button.is-copied{border-color:#16a34a;background:#f0fdf4}
.idx__none{color:var(--mute)}
.namer{padding:40px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.namer__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.namer__head h2{margin:0}
.namer__form{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:4px 4px 4px 14px;flex:1;max-width:480px}
.namer__form:focus-within{border-color:var(--acc)}
.namer__form input{flex:1;min-width:0;border:0;outline:none;font-size:18px;font-weight:600;padding:8px 0}
.namer__clear{border:0;background:var(--bg);width:32px;height:32px;border-radius:8px;color:var(--mute);flex:none}
.forge__go{border:0;background:var(--acc);color:#fff;font-weight:700;border-radius:9px;padding:0 16px;min-height:44px;flex:none}
.namer__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px;color:var(--mute);margin-bottom:8px}
.namer__tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:8px}
.namer__tabs::-webkit-scrollbar{display:none}
.gtab{flex:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 12px;font-weight:600;font-size:14px;color:var(--mute);min-height:38px;white-space:nowrap}
.gtab[aria-selected=true]{background:var(--soft);border-color:var(--acc);color:var(--acc-d)}
.namer__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.oi{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;font-size:17px;min-height:48px;text-align:left}
.oi span{overflow-wrap:anywhere;min-width:0}
.oi .ic{color:#a0a7b4}
.oi:hover{border-color:var(--acc)}
.namer__extra{margin-top:20px;display:grid;gap:18px}
.sec{padding-top:44px;padding-bottom:6px}
.sec__row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.how div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.how b{font:700 18px var(--head)}
.how p{margin:6px 0 0;color:var(--mute);font-size:15px}
kbd{font:600 13px var(--mono);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 6px;background:var(--bg)}
.ft{margin-top:50px;border-top:1px solid var(--line);padding:30px 0;text-align:center;background:#fff}
.ft p{max-width:640px;margin:8px auto;font-size:15px;color:var(--mute)}
.ft__emo{font-size:26px!important;color:var(--ink)!important;letter-spacing:.3em}
.ft__links{list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.ft__links a{text-decoration:none;color:var(--ink);font-weight:600}
.ft__note,.ft__copy{font-size:13px!important}
@media (max-width:900px){.hd__nav{display:none}.hd__menu{display:grid;margin-left:auto}.namer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.how{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){:root{--g:14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.namer__grid{grid-template-columns:minmax(0,1fr)}.idx__bar{top:58px}}
/* content pages (shared, themed by --c-* vars) */
.pagetop{padding:34px var(--g) 18px}
.pagetop__t{font-size:clamp(28px,4vw,42px);margin:6px 0 8px}
.pagetop__d{color:var(--c-mute);margin:0}
.pagetop .qform{max-width:560px;margin-top:14px}
.trail ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:14px;color:var(--c-mute)}
.trail li+li::before{content:'›';margin-right:6px}
.trail a{color:var(--c-mute)}
.entry__cat{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--c-accd);text-decoration:none}
.entry__m{font-size:14px;color:var(--c-mute);margin:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start;padding-bottom:40px}
.split__main{display:grid;gap:24px;min-width:0}
.narrow{max-width:820px;padding-bottom:40px;display:grid;gap:24px}
.sheet{background:var(--c-paper);border:1px solid var(--c-line);padding:28px;border-radius:var(--c-rad)}
.sheet__cover{margin:-28px -28px 24px;border-radius:var(--c-rad) var(--c-rad) 0 0;overflow:hidden}
.sheet__cover img{display:block;width:100%}
.prose{overflow-wrap:anywhere}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:26px;margin-top:1.4em}
.prose h3{font-size:21px;margin-top:1.2em}
.prose img{border-radius:8px}
.prose table{border-collapse:collapse;width:100%;min-width:480px}
.prose th,.prose td{border:1px solid var(--c-line);padding:8px 10px;text-align:left}
.prose th{background:var(--c-soft)}
.cs-scroll,.wp-block-table{overflow-x:auto;margin:1em 0}
.prose blockquote{margin:1em 0;padding:4px 18px;border-left:4px solid var(--c-acc);background:var(--c-soft)}
.tagz a{display:inline-block;margin:0 6px 6px 0;border:1px solid var(--c-line);border-radius:999px;padding:3px 10px;font-size:14px;text-decoration:none}
.entrys{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.entry{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--c-rad);overflow:hidden;display:flex;flex-direction:column}
.entry__img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--c-soft)}
.entry__img img{width:100%;height:100%;object-fit:cover;display:block}
.entry__ph{display:grid;place-items:center;height:100%;font-size:22px;color:var(--c-acc)}
.entry__in{padding:14px 16px 16px}
.entry__t{font-size:19px;margin:4px 0 6px}
.entry__t a{color:var(--c-ink);text-decoration:none}
.entry__t a:hover{color:var(--c-accd)}
.zone__head h2{font-size:24px}
.pgr{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}
.pgr .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;border:1.5px solid var(--c-line);border-radius:10px;text-decoration:none;color:var(--c-ink);font-weight:700;background:var(--c-paper)}
.pgr .current{background:var(--c-acc);color:#fff;border-color:var(--c-acc)}
.aside{display:grid;gap:18px;position:sticky;top:84px}
.widget{background:var(--c-paper);border:1px solid var(--c-line);padding:18px;border-radius:var(--c-rad)}
.widget__t{font-size:18px}
.widget ul{margin:0;padding-left:18px}
.void,.lost{text-align:center;padding:40px 0}
.void__sym,.lost__n{font:700 46px var(--head);color:var(--c-acc);margin:0 0 10px}
.lost .qform{max-width:480px;margin:20px auto 0}
.lost__acts{margin:18px 0}
.talk__t{font-size:22px}
.talk__list{list-style:none;padding:0}
.talk__list .comment-body{border-bottom:1px solid var(--c-line);padding:12px 0}
.talk__list .avatar{border-radius:50%;float:left;margin-right:10px}
.comment-form input:not([type=submit]):not([type=checkbox]),.comment-form textarea{width:100%;border:1.5px solid var(--c-line);border-radius:10px;padding:10px;background:var(--c-paper)}
.comment-form label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.comment-form .btn,.comment-form [type=submit]{border:0;background:var(--c-acc);color:#fff;font-weight:700;padding:10px 18px;border-radius:10px;min-height:44px}
.upd{color:var(--c-mute);font-size:14px}
@media (max-width:1024px){.split{grid-template-columns:1fr}.aside{position:static}}
@media (max-width:760px){.sheet{padding:20px}.sheet__cover{margin:-20px -20px 18px}.entrys{grid-template-columns:1fr}}
