/* Generated by scripts/build-site-css.cjs --write; edit original sources. */
/* Source: /css/site-audit.css */
/* Shared by the production home and article entry points. */
.duplicate-links{margin-top:10px;font-size:13px;color:var(--muted)}
.duplicate-links summary{cursor:pointer;min-height:36px;line-height:36px}
.duplicate-links a{display:block;padding:10px;color:var(--blue);text-decoration:none;border-top:1px solid var(--line)}
body[data-feed-view=thumb] .duplicate-links{grid-column:1 / -1;grid-row:3;min-width:0}
.item[data-duplicate-of]{display:none!important}
.empty .xmain{display:block;width:max-content;max-width:100%;margin:16px auto 0;padding:12px 22px;text-decoration:none}
.shop-art{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:14px;background:var(--elev);color:var(--text);font-size:44px}
.shop-art span{font-size:13px;color:var(--muted)}
.shop-conditions{display:grid;gap:10px;padding:14px;background:var(--elev);border-radius:12px;list-style:none}
.shop-conditions li{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.5}
.shop-conditions .met{color:var(--blue)}
.service-card .shop-status{display:block;color:var(--muted);font-size:13px;margin:10px 0}
.gift-code{font:700 20px/1.5 ui-monospace,monospace;letter-spacing:.06em;overflow-wrap:anywhere}
.fchannel .channel-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;font-weight:400}
.fchannel .channel-activity{color:var(--blue)}
@media(min-width:1180px) and (pointer:fine){
 body:not(.in-detail):not(.in-x):not(.in-search){max-width:800px!important}
 body:not(.in-detail):not(.in-x):not(.in-search) .desktop-rail{left:calc(50% - 632px)}
 body:not(.in-detail):not(.in-x):not(.in-search) .desktop-insights{left:calc(50% + 432px)}
 body[data-feed-view=thumb] :is(#feed,#sres) .listing-meta{font-size:12px;white-space:normal;max-width:210px;text-align:right;line-height:1.6}
 body[data-feed-view=thumb] :is(#feed,#sres) .title{font-size:15px}
}
@media(max-width:440px){.fbar{gap:6px}.fbar a{font-size:13px}.shop-conditions li{flex-wrap:wrap}.listing-meta{line-height:1.6!important}}
@media(prefers-reduced-motion:no-preference){.service-card,.fchannel{transition:background-color .16s ease}.fchannel:hover{background:var(--elev)}}


/* Source: /js/site-ui/theme-v2.css */
/* 揶쏆뮉??1??ｍ???뽯툧 v26): ???궢 疫꼲??疫꿸퀣? 揶? ??롫뼊 5?? 疫꼲 ?怨멸쉭 ?믩챶??? ??롫뼊 獄? ??쇱벉 疫꼲 餓?
   index.html / post.html ???紐껋뵬?????????쇰퓠????? 揶쏆늿? ?怨쀪퐨??뽰맄??겸봺???????뵬????용┸?? ?袁⑹뵠?꾩꼷? Lucide(?紐껋뵬??SVG, class="lu"). */

/* ---------- 疫꿸퀣? 揶?(疫꿸퀡????쎄쾿, ??깆뵠?紐껊뮉 data-theme=light) ---------- */
:root{--bg:#25272a;--surface:#14161a;--elev:#17191d;--line:#25282e;--line2:#353a42;--ln2:#1d2025;--thb:#1d2025;--text:#f2f3f5;--muted:#a2a8b2;--dim:#8e95a2;--accent:#f2f3f5;--on-accent:#101114;--pt:#ff5a4f;--heart:var(--pt)}
[data-theme=light]{--bg:#fff;--surface:#fff;--elev:#f6f7f9;--line:#eceef1;--line2:#d9dce1;--ln2:#f2f3f5;--thb:#eef0f2;--text:#16181d;--muted:#5d636d;--dim:#6e7681;--accent:#16181d;--on-accent:#fff;--pt:#f0443a}

svg.lu{flex:none}

/* ---------- ??롫뼊 5?? ?? ?怨멸맒, 疫꼲?怨뚮┛(揶쎛????, ???뵝(獄쏄퀣?), ???類ｋ궖 ---------- */
body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
nav button{flex-direction:column;gap:3px;min-height:56px;padding:8px 0 6px;font-size:10.5px;font-weight:600;color:var(--dim);user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .12s cubic-bezier(.2,.8,.2,1),color .15s ease}
nav button:active{transform:scale(.92)}
nav button.on{color:var(--text)}
nav button svg.lu{width:23px;height:23px}
nav button .nl{line-height:1}
nav button[data-nav=write]{color:var(--text)}
nav button[data-nav=write] svg.lu{width:42px;height:28px;padding:4px 12px;border-radius:10px;background:var(--text);color:var(--bg);stroke-width:2}
nav button .nbadge{top:3px;left:calc(50% + 4px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--pt);font-size:10px;font-weight:700;box-shadow:0 0 0 2px var(--bg)}

/* ---------- 疫꼲 ?怨멸쉭: ?믩챶????살쨮, ??뺛걠 1餓? ?⑤벊?, ?遺얜궖疫? + 2px ??꾨┛ 筌욊쑵六얕쳸?---------- */
.dbar{padding:8px 10px 8px 6px!important;gap:2px}
.dbar b{position:static;flex:1;min-width:0;margin:0 6px;text-align:left;font-size:15px;font-weight:700;pointer-events:auto}
.dbar .ibtn{width:36px;height:36px}
.dbar .ibtn svg.lu{width:20px;height:20px}
.dwrap{padding:16px 16px 12px!important}
.dlabel{font-size:13px;color:var(--muted)}
.dtitle{margin:3px 0 0!important;font-size:22px!important;font-weight:700!important;line-height:1.38!important;letter-spacing:-.035em!important}
.dhead{margin:10px 0 14px}
.dhead .meta,.dhead .meta span{font-size:12.5px;color:var(--dim)}

/* ---------- 疫꼲 ?怨멸쉭 ??롫뼊 獄? ?ル뿭釉?? ??쎄쾿?? ?蹂? ?怨뚮┛ ---------- */
body.in-detail{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.dfoot{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:25;display:flex;align-items:center;gap:10px;width:100%;max-width:640px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}
body.in-detail .dfoot.kb{padding-bottom:10px}
.dfoot button{display:inline-flex;align-items:center;gap:5px;flex:none;min-height:42px;padding:0 2px;border:0;border-radius:0;background:none;color:var(--text);font-size:14.5px;font-weight:700}
/* 글 좋아요는 본문이 끝나는 곳의 버튼(시안), 하단 바는 댓글 입력만 */
.plk{display:flex;justify-content:center;padding:20px 16px 8px}
.plk .dlike{display:inline-flex;align-items:center;gap:6px;height:40px;min-height:40px;padding:0 18px;border:1px solid var(--line);border-radius:20px;background:none;color:var(--text);font-size:14px;font-weight:700}
.plk .dlike svg{width:18px;height:18px}
.plk .dlike .likecount{font-weight:inherit}
.plk .dlike.on{color:var(--pt);border-color:var(--pt)}
.plk .dlike.on svg{fill:currentColor}
.dfoot .dcm{flex:1;justify-content:space-between;min-width:0;padding:5px 5px 5px 14px;border-radius:10px;background:var(--elev);color:var(--dim);font-size:14.5px;font-weight:400}
.dfoot .dcm em{padding:7px 14px;border-radius:8px;font-size:13.5px;font-style:normal;font-weight:700;color:var(--dim)}

/* ---------- ??쇱벉 疫꼲(?온??疫꼲): 筌뤴뫖以?餓?筌뤴뫁堉?---------- */
#detail .reading-related{padding:0;border-top:0}
#detail .reading-related h3{margin:0;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--elev);font-size:13px;font-weight:700;color:var(--muted)}
#detail .reading-related a,#detail .reading-related a:last-child{padding:14px 16px;gap:12px;border-bottom:1px solid var(--ln2)}
#detail .reading-related a:after{content:none}
#detail .reading-related .related-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16.5px;font-weight:500;line-height:1.4;letter-spacing:-.025em;word-break:keep-all}

/* ================= 揶쏆뮉??2??ｍ???뽯툧 v26): ?蹂?, ?臾믩땾 ??덇땀, 筌?쑬瑗??怨멸쉭, 野꺜?? ???뵝 ================= */
:root{--sr-bg:rgba(255,90,79,.14)}
[data-theme=light]{--sr-bg:rgba(240,68,58,.1)}

/* ---------- ?蹂??????: ??ъ구 8?癒?봺 ?꾨뗀諭? ?ル뿭釉?? 疫꼲???源낆쨯 甕곌쑵??---------- */
.chead{padding:14px 16px!important;font-size:14px!important;font-weight:700;border-bottom:1px solid var(--line)!important}
.cm{gap:9px!important;padding:12px 16px!important;border-bottom:1px solid var(--ln2)!important}
.cm.re{padding-left:40px!important;background:var(--elev)!important}
.cm .meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dim)}
.cm .anon-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:600}
.cm .ct{margin-top:4px!important;font-size:15px!important;line-height:1.5!important}
.cm .ctime{margin-top:4px;font-size:12px;color:var(--dim)}
.cacts{margin-top:5px!important}
.cacts .cl,.cacts .creply{font-size:12px!important;color:var(--dim)!important}
.cacts .cl svg{width:14px!important;height:14px!important}
.cmc{border-bottom:1px solid var(--ln2)!important}
.cmc .go{padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700}
.cmc textarea{border-radius:12px!important}

/* ---------- ?臾믩땾 ??덇땀: 野껉퀗???遺얇늺(?얜챷?? 筌?쑬瑗?揶쏆뮇苑????袁⑥┷ ??쀫뱜(?醫됲? ?대??? ---------- */
.sdic{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--thb);color:var(--text);font-style:normal}
.sdic svg{width:28px;height:28px}
.sdic.sr{background:var(--sr-bg);color:var(--pt)}
.rcpt{padding:96px 32px 0;text-align:center}
.rcpt h4{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}
.rcpt p{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--dim)}
.rcpt p b{color:var(--text)}
.rcpt .rcpt-sub{margin-top:14px;font-size:13px}
.rcpt .xmain{width:auto;min-width:160px;margin-top:26px;padding:0 28px;border-radius:999px}
.sheet .sdone{text-align:center}
.sheet .sdone .sdic{width:56px;height:56px;margin-bottom:12px}
.sheet .sdone h3{margin:0;font-size:17px;font-weight:700}
.sheet .sdone p{margin:6px 0 18px;font-size:14px;line-height:1.6;color:var(--muted)}
.sheet .sdone .xmain{width:100%;margin:0 0 8px;border-radius:999px}
.sheet .sdone .xmain.secondary{background:transparent;border-color:transparent;color:var(--muted)}

/* ---------- 筌?쑬瑗??怨멸쉭: ??彛??뚣끇苡? ?觀????삠걟 ?袁⑹뵠?? ?닌됰즴 甕곌쑵??---------- */
.channel-hero-photo{height:150px!important;position:relative}
.channel-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),var(--bg))}
.channel-hero-identity{margin-top:-34px!important}
.channel-hero-identity .channel-avatar{width:68px!important;height:68px!important;border-radius:20px!important;border:3px solid var(--bg)!important}
.channel-hero-identity h2{font-size:23px!important;font-weight:800;letter-spacing:-.035em}
.channel-hero-identity small{display:block;font-size:13px!important;color:var(--dim)!important}
.channel-actions .fmini{border-radius:999px!important;height:42px;min-height:42px;font-size:14.5px;font-weight:700}
.channel-actions #channelSubscribe{background:var(--text);color:var(--bg)}
.channel-toolbar select{border-radius:999px!important;font-weight:600}

/* ---------- 野꺜?? ??낆젾 ?怨몄쁽, ?袁り숲 ???튋, ?硫몃┛ 野꺜??깅선 ????---------- */
.sinput{border-radius:10px!important}
.sinput:focus-within{border-color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--text)}
#searchFilters select{border-radius:999px!important;font-weight:600;color:var(--muted)}
#trendbox,#trendbox.card{border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
#trendbox .trend{grid-template-columns:1fr 1fr!important;gap:0 14px!important;padding:0 16px!important}
#trendbox .trow{padding:0 2px!important;min-height:40px;border:0!important;border-bottom:1px solid var(--ln2)!important;border-radius:0!important}
#trendbox .trow .rk{width:16px;font-size:14px}
#trendbox .trow .kw{font-size:14.5px;font-weight:500}

/* ---------- ???뵝 筌뤴뫖以?---------- */
.nrow{gap:12px!important;padding:14px 16px!important;border-bottom:1px solid var(--ln2)!important;align-items:flex-start}
.nrow.un{background:var(--elev)!important}
.nrow .ni{width:36px!important;height:36px!important;border-radius:50%!important;background:var(--thb)!important;border:0!important;color:var(--muted)!important;font-size:11px!important}
.nrow .nt{font-size:14.5px!important;font-weight:600!important}
.nrow .nm{font-size:13px!important;color:var(--muted)!important}
.nrow .nd{font-size:12px!important}
.nrow.un::before{box-shadow:none!important}

/* ================= 시안 final14 맞춤(2차): 홈 머리, 더보기, 댓글, 검색, 알림, 채널 ================= */
/* 홈 머리: 로고 + 검색 + 메뉴, 분류 줄, 정렬 알약 + 실시간 */
#bRefresh,#bTheme,.feed-view-bar{display:none!important}
header .top{padding:12px 16px 6px}
header #chips{display:block!important;padding:0!important;gap:0!important;overflow:visible!important;border:0!important;background:none!important}
.v2cats{display:flex;gap:18px;padding:2px 16px 0;overflow-x:auto;scrollbar-width:none}
.v2cats::-webkit-scrollbar{display:none}
.v2cats button{position:relative;flex:none;padding:6px 0 10px;font-size:14.5px;font-weight:500;color:var(--dim)}
.v2cats button.on{color:var(--text);font-weight:700}
.v2cats button.on:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--text)}
.v2cats .ex{position:sticky;right:-16px;margin-left:auto;padding:0 16px 4px 28px;background:linear-gradient(90deg,transparent,var(--bg) 45%);color:var(--muted)}
.v2cats .ex:after{display:none}
.v2cats .ex svg{width:19px;height:19px}
.v2tb{display:flex;align-items:center;gap:6px;padding:8px 16px;border-top:1px solid var(--line);background:var(--elev)}
.v2tb button{padding:5px 11px;border-radius:6px;font-size:13px;font-weight:500;color:var(--dim)}
.v2tb button.on{background:var(--line);color:var(--text);font-weight:700}
.v2tb .so{display:flex;align-items:center;gap:3px;margin-left:auto;padding:5px 0;background:none!important;font-size:12.5px;font-weight:500;color:var(--dim)}
.v2tb .so svg{width:14px;height:14px}
.item .anon-id,.listing-meta .anon-id{color:var(--dim)!important;font-weight:500}

/* 익명 8자리 코드 아이콘 */
.idn{display:inline-block;width:20px;height:20px;border-radius:5px;overflow:hidden;flex:none;vertical-align:middle}
.idn .ib{fill:hsl(var(--h) 35% 20%)}.idn .if{fill:hsl(var(--h) 75% 68%)}
[data-theme=light] .idn .ib{fill:hsl(var(--h) 70% 93%)}[data-theme=light] .idn .if{fill:hsl(var(--h) 65% 46%)}
.dhead .meta{display:flex;align-items:center;gap:6px}
.dhead .idn{width:24px;height:24px;margin-right:2px}
.dhead .meta .anon-id{font-size:13px;font-weight:700}

/* 더보기 시트: 아이콘 왼쪽 한 줄 목록 */
.sheet .mgroup{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}
.sheet .mgroup+.mgroup{margin-top:6px!important;padding-top:6px!important;border-top:1px solid var(--line)!important}
.sheet .mrow{display:flex!important;justify-content:flex-start!important;align-items:center;gap:16px;width:100%;padding:14px 4px!important;border:0!important;border-radius:0!important;background:none!important;font-size:15px;font-weight:500;color:var(--text);text-align:left}
.sheet .mrow svg.lu{width:20px;height:20px;color:var(--muted)}
.sheet .mrow.danger,.sheet .mrow.danger svg.lu{color:var(--pt)}

/* 댓글 머리와 행 */
body #detail .chead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px!important;font-size:14px!important;font-weight:700}
.chead .cn{color:var(--pt)}
.comment-sort{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;color:var(--dim)}
.comment-sort button{min-height:36px;color:var(--dim)}
.comment-sort button[aria-pressed=true]{color:var(--text);font-weight:700}
body #cmBox .cm{display:flex;gap:9px!important;padding:12px 16px!important}
body #cmBox .cm.re{margin:0!important;padding-left:40px!important;background:var(--elev)!important}
.cm .idn{width:24px;height:24px;margin-top:1px}
body #cmBox .cm .meta{display:flex;align-items:center;gap:6px;min-height:0;padding-right:0;font-size:12px;color:var(--dim)}
body #cmBox .cm .meta .anon-id{font-size:12.5px;color:var(--muted)!important}
.cm .badge-w{padding:0;background:none;font-size:12px;font-weight:500;color:var(--dim)}
.cm .ctime{margin:0;font-size:12px;color:var(--dim)}
.cm .meta [data-cmenu]{margin-left:auto}
.cm .cacts{display:flex;gap:14px;margin-top:5px}
.cm .cacts button{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font-size:12px;font-weight:500;color:var(--dim)}
.cm .cacts .cl.on{color:var(--pt)}.cm .cacts .cl.on svg{fill:currentColor}
.cm .cacts svg.lu{width:13px;height:13px}

/* 검색: 최근 검색어 칩과 인기 검색어 */
.shead{padding:16px 16px 10px!important;font-size:14px;font-weight:700}
.shead #rAll{font-size:13px;font-weight:400;color:var(--dim)}
.shead>span:first-child{flex:1;justify-content:space-between}
.shead .sub{font-size:13px;font-weight:400;color:var(--dim)}
#tRefresh{display:none!important}
.schips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}
.schip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0!important;border-radius:999px;background:var(--elev);font-size:14px;color:var(--muted)}
.schip .x{display:inline-flex;color:var(--dim)}.schip .x svg{width:12px;height:12px}

/* 알림 */
.xnoti{justify-content:space-between;padding:14px 16px}
.xnoti b{font-size:20px;font-weight:800}
.xnoti #nAll{padding:0;border:0;background:none;font-size:15px;font-weight:500;color:var(--muted)}
#nBox .sechead{padding:14px 16px 6px;font-size:12.5px;font-weight:700;color:var(--dim)}
.nrow .ni svg{width:18px;height:18px}
.nrow .ndot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--pt)}
.nrow.un:before{display:none!important}
.nrow .nb{flex:1;min-width:0}

/* 채널: 구독 상태 알약, 정렬 칩, 검색 상자 */
.channel-actions #channelSubscribe.on{background:var(--thb);color:var(--text)}
.channel-toolbar{margin:14px 0 10px}
.channel-toolbar select{flex:none!important;min-height:36px;padding:0 12px;font-weight:700}
#channelSearch{position:relative}
#channelSearch input{height:48px;padding:0 48px 0 16px;border:0;border-radius:12px;background:var(--elev)}
#channelSearch button{position:absolute;right:4px;top:2px;border:0;background:none;color:var(--dim)}

/* 본문 미디어는 같은 안쪽 폭, 사진은 작은 원본을 과하게 늘리지 않는다. */
#dBody>div>img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto 14px;border-radius:0}
body #cmBox .cm .ct{margin-top:4px!important;font-size:15px!important;line-height:1.5!important}
body #cmBox .cm .cacts{gap:14px!important;margin-top:5px!important}
body #cmBox .cm .cacts button,body #cmBox .cm .cacts .cl{min-height:0!important;padding:0!important;font-size:12px!important;font-weight:500!important}
body #cmBox .cm .meta [data-cmenu]{width:24px;height:24px;min-height:0;padding:0}
#trendbox,#trendbox.card{padding:0!important;margin:0!important}
#trendbox .trow .df{display:none!important}
.schips{margin:0!important}
.schip .x{width:auto!important;height:auto!important;background:none!important;border-radius:0!important}
#trendbox .shead{padding:16px 16px 10px!important}
.xnoti #nAll{background:none!important;border:0!important;min-height:0!important}
#channelSearch button{border:0!important;background:none!important}
body #dBody>div>img{width:auto!important;max-width:100%!important;height:auto!important;margin:0 auto 14px!important;border-radius:0!important}

/* ================= 개편 3단계(시안 final14 7, 8번과 6번 일부): 로그인, 2단계 인증, 내정보, 설정, 상점, 선물, 포인트 내역 ================= */
/* 하위 화면 머리: 뒤로가기 왼쪽, 제목 가운데 */
body #xpage .xtop{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:0;padding:4px 10px 6px;min-height:50px;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
body #xpage .xtop b{grid-column:2;text-align:center;font-size:15px;font-weight:700}
body #xpage .xtop .sp{display:none}
body #xpage .xtop:has(b:empty){border-bottom:0}

/* 공통 입력, 버튼, 탭, 오류 */
body #xpage .xin,body .sheet .xin{width:100%;min-height:46px;margin:10px 0 0;padding:12px 14px;border:0;border-radius:10px;background:var(--elev);font-size:15px}
body #xpage textarea.xin{min-height:110px}
body #xpage .fpage label{display:block;margin:16px 0 6px;font-size:13px;font-weight:600;color:var(--muted)}
body #xpage .fpage>.xmain,body #xpage .fpage form>.xmain,body #xpage .xcta>.xmain,body .sheet>.xmain{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin:18px 0 0;padding:0;border-radius:12px;font-size:15.5px;font-weight:700}
body .sheet>.xmain{margin-top:14px}
body #xpage .xmain.secondary{border:0}
body #xpage .xerr{min-height:0;margin:8px 16px 0;font-size:12.5px;line-height:1.4;color:var(--pt)}
body #xpage .xerr:empty{margin:0}
body #xpage .xtabs{margin:0 16px 4px;border-bottom:1px solid var(--line)}
body #xpage .xtabs>*{display:block;flex:1;position:relative;padding:12px 0;text-align:center;font-size:15px;font-weight:600;color:var(--dim)}
body #xpage .xtabs>*.on{color:var(--text);font-weight:700}
body #xpage .xtabs>*.on::after{left:0;right:0;bottom:0;height:2px;border-radius:0;background:var(--text)}
body #xpage .fpage .xtabs{margin:10px 0 4px}
body #xpage .xtabs>a{text-decoration:none}
body .sheet>h3{font-size:17px;font-weight:700}

/* 로그인과 가입: 왼쪽 위 앱 아이콘, 왼쪽 정렬 제목, 아래 고정 버튼 */
body #xpage .xform.xlogin{padding:0 0 130px}
.xlogin .xlhd{padding:6px 20px 0}
body #xpage .xlogin img.appic{display:block;width:48px;height:48px;margin:0;border-radius:12px}
.xlogin .ah{margin:16px 0 0;font-size:26px;font-weight:800;letter-spacing:-.035em;line-height:1.25}
.xlogin .as{margin:6px 0 0;font-size:14px;color:var(--muted)}
body #xpage .xlogin .xtabs{margin:18px 16px 4px}
body #xpage .xlogin .xin{width:calc(100% - 32px);margin:10px 16px 0}
body #xpage .xlogin .xforgot{display:block;width:auto;margin:14px 16px 0;padding:0;font-size:13px;color:var(--dim);text-align:left;text-decoration:none}
body #xpage .xchk{align-items:flex-start;gap:9px;margin:16px 16px 0;font-size:13px;line-height:1.5;color:var(--muted)}
body #xpage .xchk a{color:var(--text);text-decoration:underline}
.xchk input{-webkit-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin:1px 0 0;border:1.5px solid var(--line2);border-radius:6px;background:transparent center/14px no-repeat}
.xchk input:checked{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101114' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
[data-theme=light] .xchk input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
body #xpage .xcta{position:fixed;left:50%;bottom:0;z-index:15;transform:translateX(-50%);width:100%;max-width:640px;padding:10px 16px max(26px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}
body #xpage .xcta .xmain{margin:0}
body #xpage .xcta .xnote{margin:0 0 10px;font-size:12.5px;line-height:1.6;text-align:center;color:var(--dim)}

/* 2단계 인증 코드: 6칸, 입력 중인 칸 강조, 틀리면 붉은 테두리 */
.sheet:has(.tfsheet){padding:10px 16px max(26px,env(safe-area-inset-bottom));border:0}
.tfsheet h3{margin:0;font-size:17px;font-weight:700}
.tfsheet p{margin:3px 0 14px;font-size:13px;color:var(--dim)}
.tf-box{position:relative;display:flex;gap:8px;justify-content:center;padding:10px 0 0}
.tf-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px}
.tf-box i{display:flex;align-items:center;justify-content:center;width:44px;height:54px;border-radius:12px;background:var(--elev);font-size:24px;font-style:normal;font-weight:800}
.tf-box i.cur{background:var(--bg);box-shadow:inset 0 0 0 2px var(--accent)}
.tf-box.err i{box-shadow:inset 0 0 0 1.5px var(--pt)}
.tf-er{padding:10px 0 0;text-align:center;font-size:13px;font-weight:600;color:var(--pt)}
.tf-er:empty{padding:0}
body .sheet .tfsheet .tfgo{display:flex;align-items:center;justify-content:center;width:calc(100% - 32px);height:50px;margin:18px 16px 0;border-radius:999px;font-size:15.5px;font-weight:800}

/* 내정보 */
body #xpage .mehead{display:block;margin:0!important;padding:8px 16px 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body #xpage .mehead .nm{font-size:22px!important;font-weight:800!important;letter-spacing:-.03em!important}
body #xpage .mehead .em{margin-top:3px!important;font-size:13px!important;color:var(--dim)!important}
body #xpage .mehead .lvl{display:none!important}
body #xpage .meactions{gap:8px;margin:12px 0 0;padding:0 16px}
body #xpage .mebtn{height:40px;border:1px solid var(--line);border-radius:10px;background:none;font-size:14px;font-weight:600}
body #xpage .me-coupons{min-height:0;margin:12px 16px 0;padding:14px 16px;border-radius:12px;font-size:14.5px;font-weight:600}
body #xpage .me-coupons small{margin-top:3px;font-size:12px;color:var(--dim)}
body #xpage .me-coupon-end{font-size:12.5px;color:var(--dim)}
body #xpage .mstats{display:flex!important;gap:0!important;margin:12px 16px 0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:12px!important;background:none!important}
body #xpage .mstats button{flex:1;min-height:0;padding:13px 0!important;text-align:center}
body #xpage .mstats button+button{border-left:1px solid var(--line)!important}
body #xpage .mstats b{display:block;margin-bottom:2px;font-size:18px!important;font-weight:700!important}
body #xpage .mstats span{margin:0!important;font-size:12.5px!important;font-weight:400!important;color:var(--dim)!important}
body #xpage #meTabs{margin:14px 0 0!important;border-bottom:1px solid var(--line)!important}
body #xpage #meTabs button{flex:1;min-height:0;padding:12px 0!important;font-size:14px!important;font-weight:600!important;color:var(--dim)!important}
body #xpage #meTabs button.on{color:var(--text)!important;font-weight:700!important}
body #xpage #meTabs button.on::after{left:0;right:0;bottom:0;height:2px;border-radius:0}
body #xpage .mrowl{padding:15px 16px;border-bottom:1px solid var(--ln2)}
body #xpage .mrowl .t{font-size:16px;font-weight:600}
body #xpage .mrowl .s{margin-top:4px;font-size:12.5px;color:var(--dim)}

/* 하위 화면 공통: 한 줄 목록, 작은 버튼, 제목, 안내 */
body #xpage .fpage{max-width:none;padding:0 16px 30px}
body #xpage .fpage h2{margin:22px 0 8px;font-size:15px;font-weight:700}
body #xpage .fpage p{margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
body #xpage .frow{width:calc(100% + 32px);margin:0 -16px;padding:14px 16px;gap:12px;border-bottom:1px solid var(--ln2)}
body #xpage .frow .fcopy b{display:block;font-size:15.5px;font-weight:600;line-height:1.4}
body #xpage .frow small{margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--dim)}
body #xpage .frow>button,body #xpage .hiddenrow button,body #xpage .fmini{padding:7px 12px;border:0;border-radius:8px;background:var(--thb);font-size:12.5px;font-weight:700;color:var(--text)}
body #xpage .channel-actions .fmini{padding:0 14px}
.fchev{flex:none;width:18px;height:18px;background:var(--dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/18px no-repeat}
body #xpage .fbar{gap:8px;margin:0;padding:12px 0}
body #xpage .fbar>button,body #xpage .fbar>a{padding:7px 12px;border:0;border-radius:999px;background:var(--elev);font-size:13px;font-weight:600;color:var(--muted)}
body #xpage .fbar>button.on{background:var(--line);color:var(--text)}
body #xpage .fmore{padding:18px;font-size:14px;color:var(--dim)}
body #xpage .hiddenrow{padding:15px 16px;border-bottom:1px solid var(--ln2)}
.hiddenrow b{font-weight:500}
.fdanger{color:var(--pt)}

/* 설정 목록과 콘텐츠 설정 */
body #xpage .preflist{padding:0 0 30px}
body #xpage .prefaccount,body #xpage .prefrow{min-height:0;padding:14px 16px;border-bottom:1px solid var(--ln2)}
body #xpage .prefcopy{font-size:15.5px;font-weight:600;line-height:1.4}
body #xpage .prefcopy small{margin-top:3px;font-size:12.5px;font-weight:400;color:var(--dim)}
body #xpage .prefrow:not(.blue):not(.danger)::after{content:"";width:18px;height:18px;background:var(--dim);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/18px no-repeat}
body #xpage .prefrow:has(.prefend)::after,body #xpage .prefrow:has(.prefend):after,body #xpage a.prefrow:has(.prefend)::after{content:none!important;display:none!important}
body #xpage .prefdivide{height:8px;margin:0;background:var(--elev)}
body #xpage .prefrow.blue .prefcopy{color:var(--text)}
body #xpage .prefrow.danger .prefcopy{color:var(--pt)}
body #xpage .prefcontrol{min-height:0;padding:15px 16px;gap:12px;border-bottom:1px solid var(--ln2)}
body #xpage .prefcontrol .prefcopy{font-size:15.5px;font-weight:600}
body #xpage .prefvalue{font-size:13px;color:var(--dim)}
body #xpage .prefswitch{width:44px;height:26px;padding:3px;background:var(--line)}
body #xpage .prefswitch:after{background:#fff}
body #xpage [aria-checked="true"] .prefswitch{background:var(--accent)!important}
body #xpage [aria-checked="true"] .prefswitch:after{background:var(--on-accent)}
body #xpage .preffont .prefcopy{grid-column:1;grid-row:1}
body #xpage .prefseg{grid-column:2;grid-row:1;display:flex;gap:2px;width:auto;padding:3px;border-radius:8px;background:var(--elev)}
body #xpage .prefseg:before{display:none}
body #xpage .prefseg button{padding:5px 12px;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--dim)}
body #xpage .prefseg button.on{background:var(--accent);color:var(--on-accent)}

/* 키워드 관리, 계정 보안 */
body #xpage form[data-keyword]{display:flex;gap:8px;margin-top:10px}
body #xpage form[data-keyword] .xin{flex:1;margin:0}
body #xpage form[data-keyword] .fmini{padding:0 18px;border-radius:10px;font-size:14px;color:var(--muted)}
body #xpage #factors .fmini{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin-top:12px;padding:0;border-radius:12px;background:var(--elev);font-size:15.5px;font-weight:700}
body #xpage #factors form .fmini{background:var(--accent);color:var(--on-accent)}
.fqrcode{border:1px solid var(--line);border-radius:10px}

/* 포인트 상점, 내 기프티콘, 포인트 선물, 포인트 내역 */
#shopWallet{margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:14px}
#shopWallet[hidden]{display:none}
body #xpage #shopWallet h2{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em}
body #xpage #shopWallet p{margin:6px 0 0;font-size:12.5px;line-height:1.55;color:var(--dim)}
body #xpage #shopWallet .fmini{display:inline-flex;margin-top:12px}
body #xpage .service-card{margin:12px 0;padding:14px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:none}
.service-card .im2,.service-card>img{display:flex;align-items:center;justify-content:center;width:100%;height:110px;border-radius:10px;background:var(--thb);color:var(--dim);object-fit:cover}
.service-card .im2 svg{width:28px;height:28px}
body #xpage .service-card h3{margin:10px 0 0;font-size:15.5px;font-weight:600}
body #xpage .service-card p{margin:3px 0 0;font-size:12.5px;color:var(--dim)}
.service-card .pc{display:block;margin-top:8px;font-size:17px;font-weight:800}
body #xpage .service-card>.xmain{display:flex;align-items:center;justify-content:center;width:100%;height:40px;margin:10px 0 0;padding:0;border-radius:10px;font-size:14px;font-weight:700}
body #xpage .service-card>.xmain[disabled]{background:var(--elev);color:var(--text);opacity:1}
.service-card small{font-size:12px;font-weight:600;color:var(--dim)}
.stc{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}
.stc.pd{background:var(--thb);color:var(--muted)}
.stc.ok{background:var(--accent);color:var(--on-accent)}
.stc.rj{background:var(--pt);color:#fff}
body #xpage .service-card p strong{font-weight:700;color:var(--text)}
body #xpage .service-card a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;margin-top:8px;overflow:hidden;border-radius:10px;background:var(--thb);font-size:13px;color:var(--dim)}
.service-card a img{height:64px;width:auto}
.gift-code{font-size:15px;font-weight:700;letter-spacing:.03em;color:var(--text)}
.pamt{text-align:right}
.pamt b{font-size:15.5px}
.pamt small{display:block;font-size:12px;color:var(--dim)}
#pointsBalance{display:none}
body #xpage .rcpt .xmain{display:inline-block;width:auto;min-width:160px;height:auto;margin-top:26px;padding:0 28px;border-radius:999px}

/* 하위 화면은 시안처럼 하단 탭 없이 */
body:is(.in-x,.in-x-full,.settings-view) nav{display:none!important}
body:is(.in-x,.in-x-full,.settings-view){padding-bottom:0!important}
body #xpage .fbar>button,body #xpage .fbar>a{min-height:0;height:auto}
body #xpage .prefaccount .prefend{color:var(--dim)}body #xpage .frow .fe{flex:none;font-size:13px;color:var(--dim)}
body #xpage .preffont{row-gap:0}
body #xpage .hiddenrow{display:flex;align-items:center;gap:12px;margin:0 -16px;padding:15px 16px}
body #xpage .hiddenrow b{flex:1;min-width:0;font-size:15.5px}body #xpage .frow>button,body #xpage .hiddenrow button,body #xpage .fmini{min-height:0}

/* 채널 목록과 상세: 최종 시안(35차) 모양 */
.channel-directory-tabs{display:flex!important;gap:0!important;margin:12px 0 4px!important;border-bottom:1px solid var(--line)}
.channel-directory-tabs button{flex:1;padding:12px 0!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;color:var(--muted)!important;font-size:15px;font-weight:600}
.channel-directory-tabs button.on{color:var(--text)!important;font-weight:700;border-bottom-color:var(--text)!important}
.channel-directory-filter select,.channel-toolbar select{-webkit-appearance:none;appearance:none;width:auto!important;min-height:34px;padding:0 30px 0 12px!important;border:0!important;border-radius:999px!important;background:var(--elev) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px!important;color:var(--text)!important;font-size:13.5px;font-weight:700}
.channel-actions #channelSubscribe.on{background:var(--elev);color:var(--text)}
.fchannel>span:last-child{color:var(--dim)}

body #xpage .xerr .xforgot{display:inline;margin:0;color:var(--text);font-size:12.5px;text-decoration:underline}
body #xpage #factors .tf-box{padding-top:14px}
body #xpage #factors+.frow{margin-top:18px;border-top:1px solid var(--ln2)}

/* 글 상세 하단 바: 좋아요 + 실제 댓글 입력(시안 final14) */
.dfoot{flex-wrap:wrap}
.dfoot .drt{display:flex;flex:0 0 calc(100% + 32px);align-items:center;justify-content:space-between;order:-1;margin:-10px -16px 0;padding:9px 16px;border-top:1px solid var(--line);background:var(--elev);font-size:13px;color:var(--muted)}
.dfoot .drt[hidden]{display:none}
.dfoot .drt b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text)}
.dfoot .drt button{display:inline-flex;min-height:0;padding:0;color:var(--muted)}
.dfoot .dcm{display:flex;align-items:center;min-height:42px;overflow:hidden}
.dfoot .dcm input{flex:1;min-width:0;height:32px;border:0;outline:0;background:none;color:var(--text);font-size:16px}
.dfoot .dcm input::placeholder{color:var(--dim)}
.dfoot .dcm .go{flex:none;min-height:0;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:700;color:var(--dim)}
.dfoot .dcm .go.on{background:var(--accent);color:var(--on-accent)}
.dfoot .dcm .cmlogin{flex:1;justify-content:flex-start;min-height:42px;padding:0;border-radius:0;background:none;font-size:14.5px;font-weight:400;color:var(--dim)}.dfoot .dcm .cmlogin{border:0;outline:0;box-shadow:none}

/* 글 상세 하단: 베스트 댓글, 다음 글, 분류 인기글(시안 final14) */
.bestc{border-bottom:1px solid var(--line)}
.bestc .bhead{padding:14px 16px 2px;font-size:13px;font-weight:700;color:var(--dim)}
.bestc .cm .meta .anon-id::after{content:"베스트";margin-left:6px;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--pt)}
#detail .reading-related.v2{padding:0;border-top:1px solid var(--line)}
#detail .reading-related.v2 h3{margin:0;padding:16px 16px 6px;border:0;background:none;font-size:13px;font-weight:700;color:var(--dim)}
.dfoot .dcm .cmlogin{justify-content:space-between;align-items:center;min-height:32px;padding:0}
.dfoot .dcm .cmlogin span{flex:1;min-width:0;text-align:left}
.dfoot .dcm .cmlogin em{flex:none}
.dfoot{align-items:center}
.dfoot .dcm .cmlogin,.dfoot .dcm .cmlogin:hover{border:0!important;border-radius:0!important;padding:0!important;background:none!important;font-size:14.5px!important;font-weight:400}
/* 검색 조건: 최종 시안의 알약 줄과 조건 시트 */
#searchFilters .spills{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0 4px}
#searchFilters .spill{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--elev);color:var(--text);font-size:13.5px;font-weight:700}
#searchFilters .spill svg.lu{width:14px;height:14px;color:var(--muted)}
#searchResultCount{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sheet .sfsec{padding:14px 0 0}.sheet .sfsec h4{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--muted)}
.sheet .sfch{display:flex;gap:8px;flex-wrap:wrap}.sheet .sfch button{padding:9px 14px;border-radius:999px;background:var(--elev);color:var(--muted);font-size:13.5px;font-weight:600}
.sheet .sfch button.on{background:var(--accent);color:var(--on-accent)}
.sheet .sffoot{display:flex;gap:8px;padding:18px 0 4px}.sheet .sffoot button{flex:1;height:46px;border-radius:999px;background:var(--elev);color:var(--text);font-size:15px;font-weight:700}.sheet .sffoot button.on{background:var(--accent);color:var(--on-accent)}
/* 머리글 크기 보정: 홈 아이콘 간격, 글 상세 머리글 높이와 아이콘 */
html body:not(.in-detail):not(.in-search):not(.in-x)>header .top>div{gap:10px}
html body:not(.in-detail):not(.in-search):not(.in-x)>header .top .ibtn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}
html body.in-detail .dbar{min-height:52px!important;padding:calc(6px + env(safe-area-inset-top)) 8px 6px!important;align-items:center}
html body.in-detail .dbar .ibtn{width:40px!important;height:40px!important;min-width:40px;display:inline-flex;align-items:center;justify-content:center}
html body.in-detail .dbar .ibtn svg{width:22px!important;height:22px!important}
html body.in-detail .dbar #dShare{margin-left:auto}html body.in-detail .dbar #dMenu{margin-left:2px}
html body.in-detail .dbar b{left:96px;right:96px;font-size:16px;line-height:22px}
/* 목록 정보 줄은 항상 왼쪽 정렬, 칸 폭 전체(PC에서 210px 오른쪽 정렬로 들쭉날쭉하던 문제) */
html body .item .listing-meta{max-width:none!important;width:auto!important;text-align:left!important}

/* QR 로그인: PC 로그인 카드(왼쪽 이메일, 오른쪽 QR), 휴대폰 스캔 화면, 허용 시트 */
html body.desk-login #xpage{position:fixed!important;inset:0!important;z-index:80;display:flex!important;align-items:center;justify-content:center;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:var(--bg)}
body.desk-login #xpage>.xtop{position:absolute;top:16px;left:16px;border:0;background:none}
.pcl{display:flex;width:880px;max-width:calc(100vw - 48px);min-height:560px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}
.pcl-l{width:50%;padding:52px 56px;box-sizing:border-box}
body #xpage .pcl-l .xform.xlogin{padding:0}
body #xpage .pcl-l .xlhd{padding:0}
body #xpage .pcl-l .xtabs{margin:20px 0 0}
body #xpage .pcl-l .xin{width:100%;margin:10px 0 0}
body #xpage .pcl-l .xtabs+.xin{margin-top:14px}
body #xpage .pcl-l .xerr{margin:8px 0 0}
body #xpage .pcl-l>.xmain{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin:18px 0 0;padding:0;border-radius:12px;font-size:15.5px;font-weight:700}
.pcl-r{width:50%;border-left:1px solid var(--line);padding:44px 40px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;background:var(--surface)}
.pcl-r h4{margin:0;font-size:17px;font-weight:800;display:flex;align-items:center;gap:6px}
.pcl-r h4 svg{width:20px;height:20px}
.pcl-r .qsub{margin:6px 0 14px;font-size:13.5px;color:var(--muted);text-align:center}
.qrb{position:relative;width:200px;height:200px;padding:10px;background:#fff;border-radius:12px;box-sizing:border-box}
.qrb svg{display:block;width:100%;height:100%}
.qrb.dim svg{opacity:.16}
.qrx{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.qrx button{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border-radius:999px;background:#16181d;color:#fff;font-size:14px;font-weight:700}
.qrx svg{width:16px;height:16px}
.qtm{margin-top:12px;font-size:13px;font-weight:700;color:var(--muted)}
.qtm.ex{color:var(--pt)}
.qst{margin:16px 0 0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--muted);text-align:left;width:100%;box-sizing:border-box}
.qst b{color:var(--text)}
body #xpage .qscan{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:#000;color:#fff}
body #xpage .qscan .xtop{position:relative;z-index:1;border:0;background:none;color:#fff;padding-top:calc(8px + env(safe-area-inset-top))}
body #xpage .qscan .xtop b,body #xpage .qscan .xtop .ibtn{color:#fff}
.qscan .scv{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.qscan video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qscan .scf{position:relative;width:240px;height:240px}
.qscan .scf i{position:absolute;width:38px;height:38px;border:4px solid #fff;border-radius:6px}
.qscan .scf i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.qscan .scf i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.qscan .scf i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.qscan .scf i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.qscan .scp{margin:0;padding:0 20px calc(70px + env(safe-area-inset-bottom));text-align:center;font-size:14px;line-height:1.6;color:rgba(255,255,255,.8)}
.qscan .scp span{font-size:12.5px;opacity:.75}
.qkv{margin-top:8px}
.qkv>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;font-size:14px;border-bottom:1px solid var(--line)}
.qkv>div:last-child{border-bottom:0}
.qkv span:first-child{color:var(--dim)}
.qwarn{margin-top:12px;padding:11px 12px;border-radius:10px;background:var(--elev);color:var(--pt);font-size:13px;line-height:1.5;font-weight:600}
body .sheet>#qrNo{margin-top:8px;background:var(--elev);color:var(--text);border:0}
body #xpage .fqrbtn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;text-decoration:none;background:var(--elev);color:var(--text)}
body #xpage .fqrbtn+#logoutOthers{margin-top:10px}
body #xpage #qrBox .xmain{display:inline-flex;align-items:center;justify-content:center;height:48px}body #xpage .xtop:has(.xtr){grid-template-columns:84px minmax(0,1fr) 84px}
body #xpage .xtop .xtr{grid-column:3;display:flex;justify-content:flex-end;align-items:center}

/* 감사 반영: 담픽 정보, 분류 편집 입구, 글쓰기 익명 안내, 출석률 */
body #xpage .fabout{padding:30px 24px 10px;text-align:center}
body #xpage .fabout img{display:block;margin:0 auto;border-radius:12px}
body #xpage .fabout p{margin:18px 0 0;font-size:14px;line-height:1.7;color:var(--text)}
body #xpage .fabout small{display:block;margin:10px 0 14px;font-size:12.5px;color:var(--dim)}
body .sheet #categorySheetTitle{display:flex;align-items:center;justify-content:space-between}
body .sheet .section2-cat-edit{padding:4px 2px;font-size:13.5px;font-weight:600;color:var(--muted)}
body #xpage .wc-anon{display:flex;align-items:center;gap:10px;margin:0 16px 10px;padding:12px 14px;border-radius:10px;background:var(--surface);font-size:13px;line-height:1.45;color:var(--muted)}
body #xpage .wc-anon-ic{display:flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--thb)}
body #xpage .fattend{margin:12px 0 0;padding:18px;border:1px solid var(--line);border-radius:14px}
body #xpage .fattend>div:first-child,body #xpage .fattend>div:last-child{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:700}
body #xpage .fattend>div:last-child{font-size:12px;font-weight:500;color:var(--dim)}
body #xpage .fattend>div:last-child b{color:var(--pt);font-weight:700}
body #xpage .fattend-bar{height:8px;margin:10px 0;border-radius:4px;background:var(--line)}
body #xpage .fattend-bar i{display:block;height:100%;border-radius:4px;background:var(--text)}body #xpage .fattend+p{margin-top:12px}

/* PC 배치(시안 PC 화면): 오른쪽 열 고정 내용, 설정·채널 2단, 메뉴 2열 카드, 글쓰기 위쪽 버튼 */
.desk-aside,#wPreview{display:none}
@media(min-width:1180px) and (pointer:fine){
  .desk-aside,body.in-detail .reading-related.v2:not([hidden]){display:block;position:fixed;top:0;bottom:0;left:var(--dside-left,auto);width:var(--dside-w,216px);z-index:5;margin:0;padding:20px 18px;border-left:1px solid var(--line);overflow:auto;background:var(--bg)}
  .desk-aside h4,body.in-detail .reading-related.v2 h3{margin:0 0 6px;padding:0;font-size:14.5px;font-weight:700}
  body.in-detail .reading-related.v2 h3:not(:first-child){margin-top:18px}
  body.in-detail .reading-related.v2 .item{padding:12px 0!important}
  body.in-detail .reading-related.v2 .title{font-size:14.5px!important}
  body[data-feed-view=thumb].in-detail .reading-related.v2 .body:has(.thumb:not(.feed-video)){grid-template-columns:minmax(0,1fr) 52px}
  body[data-feed-view=thumb].in-detail .reading-related.v2 .thumb:not(.feed-video){width:52px;height:52px!important}
  .desk-aside .desk-recent{display:flex;flex-direction:column;gap:3px;padding:9px 0;color:var(--text);text-decoration:none;font-size:14px}
  .desk-aside .desk-recent small{color:var(--dim);font-size:12.5px}
  .desk-aside .desk-empty{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--dim)}
  .desk-aside.wc-side ol{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.8;color:var(--muted)}
  body #xpage .desk-aside.wc-side .wc-anon{margin:18px 0 0}
  body #xpage .wc>.wc-anon,body #xpage .wc-foot,body #xpage #wSave{display:none}
  body #xpage .wc-desk{display:inline-flex;align-items:center}
  body #xpage #wPreview{margin-right:8px;background:none;border:0;color:var(--muted);font-weight:600}
  body #xpage .wc-go-top{height:36px;background:var(--text);color:var(--bg);border:0;border-radius:999px;font-weight:700;padding:0 22px}
  body #xpage .wc-go-top:disabled{opacity:.4}
  .sheet .wc-preview h3{margin:0 0 12px;font-size:20px;font-weight:800}
  .sheet .wc-preview-body{max-height:60vh;overflow:auto;font-size:15.5px;line-height:1.7}
  .sheet .wc-preview-body img,.sheet .wc-preview-body video{max-width:100%;height:auto;border-radius:8px}
  body #xpage .menu-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;border:0;background:none}
  body #xpage .menu-card .menu-item{border:1px solid var(--line);border-radius:12px;padding:13px 14px}
  body #xpage .menu-card .menu-arr,body #xpage .menu-recent{display:none}
  html body.desk-set #xpage{display:grid!important;grid-template-columns:340px minmax(0,1fr);align-items:start}
  body.desk-set #xpage>*{grid-column:2;min-width:0}
  body.desk-set #xpage>.pcsl{grid-column:1;grid-row:1/span 60;align-self:stretch;min-height:100vh;border-right:1px solid var(--line)}
  body.desk-set #xpage>.pcsl [data-pref].sel{background:var(--surface)}
  body.desk-wide .fpage:has(>#channelInfo){display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;column-gap:0}
  body.desk-wide .fpage:has(>#channelInfo)>*{grid-column:2;min-width:0}
  body.desk-wide .fpage:has(>#channelInfo)>#channelInfo{grid-column:1;grid-row:1/span 10;position:sticky;top:0;align-self:start;padding-right:16px;border-right:1px solid var(--line)}
}@media(min-width:1180px) and (pointer:fine){body.desk-set #xpage>.xtop #xBack{visibility:hidden}}
body #xpage .section2-notifications .nrow .nt-sub{margin:8px 0 0}
body #xpage .section2-notifications .nrow .nt-sub p{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted)}

/* 시안 대조(2차): 휴대폰 화면 치수 */
body #detail .dbody>div>img{width:auto!important;max-width:100%!important;height:auto!important;margin-left:auto!important;margin-right:auto!important;border-radius:0!important;box-shadow:none!important}
body #detail .dbody .vp{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;border-radius:0!important;box-shadow:none!important}
body #detail .dbody .ytc img{width:100%!important;max-width:100%!important;height:100%!important;object-fit:cover;margin:0!important}
body #xpage .fpage .menu-group{margin:18px 0 0}
body #xpage .menu-card{border-radius:14px}
body #xpage .menu-item{padding:11px 14px}
body #xpage .menu-title{font-weight:600}
body #xpage .menu-icon{background:var(--bg)}
body #xpage .menu-arr{width:18px;height:18px;font-size:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat}
body #xpage .fchannel{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;min-height:73px;padding:12px 0}
body #xpage .fchannel>b:first-child,body #xpage .fchannel .channel-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden}
body #xpage .fchannel b{font-size:15.5px;font-weight:600}
html body #xpage #channelGenre,html body #xpage #channelSort,html body #xpage #channelKind{width:auto!important;height:28px!important;min-height:28px!important;padding:0 24px 0 10px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important}
body #xpage .channel-search .xin{padding-right:40px;background:var(--elev) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b919b' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") right 14px center/18px no-repeat}
body #xpage #channelFeed{margin-left:-16px;margin-right:-16px}
body #xpage .channel-actions .fmini{font-size:14.5px}
body[data-feed-view=thumb] :is(#sres,#channelFeed) .item .body{align-content:start;grid-template-rows:min-content 1fr}
body[data-feed-view=thumb] :is(#sres,#channelFeed) .listing-meta .anon-id{display:inline;min-height:0;line-height:inherit!important;font-family:inherit;letter-spacing:0;color:var(--muted)!important;font-weight:500}
html body #spage .sbar2{padding:7px 14px 7px 8px!important;min-height:0!important}
html body #spage .sbar2 .sinput{height:38px!important;min-height:0!important;border-radius:10px!important}
html body #spage .spill{height:29px!important;font-size:13px!important;font-weight:600!important}
html body #spage .trend,html body #spage .shead{padding-left:0!important;padding-right:0!important}
html body #spage .trend .rk{font-weight:700!important}
html body #spage .trend .kw{font-weight:400!important}
body #xpage .fpage>h2{font-size:18px;font-weight:700}
body #xpage .fcalendar{gap:6px 0}
body #xpage .fcalendar span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto;padding:0;border-radius:50%;font-size:14px}
body #xpage .fcalendar span:nth-child(-n+7){height:26px;font-size:12px;font-weight:600;color:var(--dim)}
body #xpage .fcalendar .done{background:var(--elev);color:var(--text);font-weight:700}
body #xpage .fcalendar .today{outline:0;box-shadow:inset 0 0 0 1.5px var(--text)}
body #xpage .fattend~.xmain{margin-top:16px}
body #xpage .fattend~.fattend-note{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--dim)}
body #xpage .section2-notifications .xnoti b{font-size:15px;font-weight:700}
#appNotice{padding:6px 14px!important}body #xpage .fabout img{height:34px;width:auto;border-radius:0}body #xpage .fabout .lg-dark,[data-theme=dark] body #xpage .fabout .lg-light{display:none}[data-theme=dark] body #xpage .fabout .lg-dark{display:block}
/* 시안 글쓰기: 위쪽 가운데 제목과 등록 버튼, 상자 없는 제목, 첨부 버튼은 아래 */
body #xpage .wc-top>b{position:absolute;left:50%;transform:translateX(-50%);pointer-events:none}
body #xpage #wSave{display:none}
body #xpage .wc-go-top{display:inline-flex;align-items:center;height:34px;padding:0 18px;border:0;border-radius:999px;background:var(--text);color:var(--bg);font-weight:700}
body #xpage .wc-go-top:disabled{opacity:.4}
body #xpage .wc-foot .wc-go{display:none}
body #xpage .wc-foot:has(#wNote[style*="none"]){display:none}
body #xpage .wc-title{border:0!important;border-bottom:1px solid var(--line)!important;background:none!important;border-radius:0!important;margin:0!important;padding:0 16px!important;box-shadow:none!important}body #xpage .wc-title #wCnt{display:none}
body #xpage .wc-title input{height:53px!important;padding:0!important;border:0!important;background:none!important;font-size:20px!important;font-weight:700!important}
body #xpage .wc-tools{order:8;position:sticky;bottom:0;z-index:5;background:var(--bg);border-top:1px solid var(--line);border-bottom:0}
body #xpage .wc-set{order:7}
body #xpage .wc-foot{order:9}
body #xpage .wc-side{order:10}body.me-solo #meHead,body.me-solo #meTabs{display:none!important}

/* 시안 대조(3차): 남은 화면 */
body #xpage .fpage>h2{font-size:15px}
body #xpage .fpage:has(>.fcalendar)>h2{font-size:18px}
body #xpage .fpage label{margin-top:6px}
body #xpage .fpage label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px;font-weight:400;color:var(--text)}
body #xpage .fpage input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--text);flex:none}
body #xpage .fpage textarea.xin{min-height:110px;height:110px}
body #xpage .fpage .frow+p{margin-top:13px}
body #xpage .fpage .fnote{margin:24px 0 0;text-align:center;font-size:13px;color:var(--dim)}
body #xpage .fpage .msg-tabs{margin:0 0 4px;display:flex}
body #xpage .fpage .msg-tabs>button{flex:1;height:42px;font-size:15px;font-weight:700}
body #xpage .msg-new{margin-left:6px;font-style:normal;font-size:12px;font-weight:700;color:var(--pt)}
body #xpage #chatMessages{display:flex;flex-direction:column;gap:10px;min-height:calc(100dvh - 230px);padding:6px 0 12px}
body #xpage .chat-msg{align-self:flex-start;max-width:78%}
body #xpage .chat-msg small{display:block;margin:0 0 4px 4px;font-size:12px;color:var(--dim)}
body #xpage .chat-msg p{margin:0;padding:10px 14px;border-radius:16px 16px 16px 4px;background:var(--elev);font-size:14.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
body #xpage .chat-msg.mine{align-self:flex-end}
body #xpage .chat-msg.mine small{text-align:right;margin-right:4px}
body #xpage .chat-msg.mine p{border-radius:16px 16px 4px 16px;background:var(--text);color:var(--bg)}
body #xpage .chat-compose{position:sticky;bottom:0;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
body #xpage .chat-compose .fmini{width:68px;height:46px;border-radius:10px;font-size:14px;font-weight:700}
body #xpage .deal-filter{display:flex;align-items:center;gap:8px;height:52px;padding:0}
html body #xpage .deal-filter #dealMall{width:auto!important;flex:none;height:28px!important;min-height:28px!important;margin:0!important;padding:0 24px 0 10px!important;border-radius:8px!important;font-size:13px!important;font-weight:600!important}
body #xpage .deal-filter #dealWishes{height:28px;min-height:28px;padding:0 12px;border-radius:8px;font-size:13px}
body #xpage .deal-filter label{margin:0 0 0 auto!important;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text)}
body #xpage .deal-filter input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--text)}
body #xpage #dealQuery{padding-right:40px;background:var(--elev) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b919b' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") right 14px center/18px no-repeat}
body #xpage .service-card .pc{font-size:17px;font-weight:800;color:var(--text)}
body #xpage .deal-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body #xpage .deal-acts .fmini{height:40px;border-radius:10px;font-size:14px;font-weight:700}
body #xpage .deal-acts a.fmini{background:var(--text);color:var(--bg)}
body #xpage .service-card p strong{font-size:14px}
.empty b{font-size:18px!important;font-weight:700!important}
.empty .more,.empty #xRetry{border:0!important;border-radius:999px!important;background:var(--text)!important;color:var(--bg)!important;font-weight:700}
.sk{min-height:97px;align-items:flex-start}
.sk::after{content:"";flex:none;width:68px;height:68px;margin-left:12px;border-radius:8px;background:var(--elev)}
.photo-bar .photo-count{flex:1;text-align:center;font-size:16px;font-weight:600;color:#fff}
.photo-bar .photo-sp{width:48px;flex:none}
.photo-hint{position:absolute;left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom));margin:0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.7);pointer-events:none}body #xpage .fpage form>a:not(.xmain):not(.fmini){display:inline-block;margin-top:4px;font-size:13px;color:var(--muted);text-decoration:underline}
/* 댓글 더보기(수정·삭제·신고, 관리자 삭제): 시안 줄 오른쪽 끝에 작게 */
html body #detail #cmBox .cm .meta [data-cmenu]{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:28px;height:28px;color:var(--dim)}
html body #detail #cmBox .cm .meta [data-cmenu] svg{width:16px;height:16px}

/* channel alert bell (mockup .chb .bl: 42px circle next to the subscribe button) */
.channel-actions{display:flex;gap:8px}.channel-actions #channelSubscribe{flex:1}
#channelAlert{flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:50%;border:1.2px solid var(--line2);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
#channelAlert[hidden]{display:none}#channelAlert svg{width:20px;height:20px}#channelAlert[aria-pressed=true] svg{fill:currentColor}
/* 답글 대상 표시 */
body #cmBox .ct .cm-to{color:var(--blue,#3182f6);font-weight:600}
.short-c-text .cm-to{color:var(--blue,#3182f6);font-weight:600}

/* 일관성: 모든 화면 헤더 50px, 제목 15px 굵게 가운데, 하단 메뉴 75px */
html body #xpage .section2-notifications .xnoti{min-height:50px;height:50px;padding:0 16px!important;align-items:center}
html body #xpage .section2-notifications .xnoti b{font-size:15px!important;font-weight:700!important}
html body #xpage .wc-top{min-height:50px!important;height:50px!important;padding-top:0!important;padding-bottom:0!important;align-items:center}
html body #xpage .wc-top>b{font-size:15px!important;font-weight:700!important}
html body #spage .sbar2{height:50px!important;min-height:50px!important;padding-top:6px!important;padding-bottom:6px!important;box-sizing:border-box}
html body.in-x>nav{padding:8px 0 max(22px,env(safe-area-inset-bottom))!important;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}html body.in-x>nav button{height:44px!important;min-height:44px!important;padding-top:0!important;padding-bottom:0!important}

/* 내 정보: 이번 주 활동 요약 (시안 16, 확정) */
body #xpage .sm-box{margin:12px 16px 0;padding:16px;border-radius:16px;background:var(--surface)}
body #xpage .sm-box h5{margin:0 0 12px;font-size:13px;font-weight:700;color:var(--muted)}
body #xpage .sm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
body #xpage .sm-row div{padding:12px 6px;border-radius:12px;background:var(--bg);text-align:center}
body #xpage .sm-row b{display:block;font-size:20px;font-weight:800;letter-spacing:-.03em}
body #xpage .sm-row small{display:block;margin-top:2px;font-size:11.5px;color:var(--dim)}
body #xpage .sm-bar{display:flex;gap:5px;margin-top:14px}
body #xpage .sm-bar i{flex:1;height:8px;border-radius:4px;background:var(--line)}
body #xpage .sm-bar i.on{background:var(--text)}
body #xpage .sm-cap{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);text-decoration:none}
/* 26묶음: 움직임 규칙과 고도화 (시안 26) */
#toast{translate:0 16px;transition:opacity .2s ease,translate .2s ease!important}
#toast[aria-hidden="false"]{translate:0 0}
.sheetbg.closing{opacity:0;pointer-events:none;transition:opacity .18s ease}
.sheetbg.closing .sheet{transform:translateY(40px);transition:transform .18s ease}
#appNotice.closing{height:0!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;opacity:0;overflow:hidden;transition:height .2s ease,padding .2s ease,opacity .2s ease}
@keyframes dpLikePop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.95)}100%{transform:scale(1)}}
.dlike.on svg,.act.heart.on svg,.cm .on svg{animation:dpLikePop .28s ease}
nav button svg{transition:transform .15s ease}
nav button.on svg{transform:translateY(-3px)}
.read-dim .title,.read-dim .list-title-text,.read-dim .listing-meta{transition:color .2s ease,opacity .2s ease}
@keyframes dpPhotoIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.photo-dialog .photo-stage img{animation:dpPhotoIn .22s ease}
@keyframes dpNewIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
#feed .item.np-in{animation:dpNewIn .16s ease both}
html body #coreNewPosts{position:fixed;left:50%;transform:translateX(-50%);z-index:30;width:auto;display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border:0;border-radius:999px;background:var(--text);color:var(--bg);font-size:13px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.18)}
html body #coreNewPosts em{color:inherit}
body.in-detail #coreNewPosts,body.in-x #coreNewPosts,body.in-search #coreNewPosts{display:none!important}
@media(min-width:1180px) and (pointer:fine){html body #coreNewPosts{left:calc(var(--body-left,0px) + 335px)}}
.ptr{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));z-index:1200;display:none;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;transform:translateX(-50%);box-shadow:0 4px 16px rgba(0,0,0,.2)}
.ptr.on{display:inline-flex}
.ptr .ptr-ic{display:flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:var(--elev);color:var(--text)}
@keyframes dpSpin{to{transform:rotate(360deg)}}
.ptr.spin .ptr-ic{animation:dpSpin .6s linear infinite}
html body .foffline{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px calc(9px);padding-top:calc(9px + env(safe-area-inset-top));background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;border-bottom:1px solid var(--line)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html body .ptr{width:max-content;max-width:calc(100vw - 32px);white-space:nowrap;line-height:1.2}html body .ptr .ptr-tx{white-space:nowrap}

/* 내 정보: 이번 주 활동 (재디자인) - 한 문장 요약, 요일 붙은 출석 7칸, 연속 출석과 출석 버튼 */
body #xpage .wk2{margin:12px 16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
body #xpage .wk2-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
body #xpage .wk2-hd b{font-size:15px;font-weight:700}
body #xpage .wk2-hd span{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums}
body #xpage .wk2-sum{margin:6px 0 14px;font-size:13.5px;line-height:1.5;color:var(--muted)}
body #xpage .wk2-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
body #xpage .wk2-days span{display:flex;flex-direction:column;align-items:center;gap:6px}
body #xpage .wk2-days small{font-size:11.5px;font-weight:600;color:var(--dim)}
body #xpage .wk2-days i{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--elev);font-style:normal;font-size:10.5px;font-weight:700;color:var(--text)}
body #xpage .wk2-days .on i{background:var(--text);color:var(--bg)}
body #xpage .wk2-days .on i svg{width:15px;height:15px}
body #xpage .wk2-days .today i{background:transparent;border:1.5px dashed var(--text)}
body #xpage .wk2-days .today small{color:var(--text)}
body #xpage .wk2-days .later i{opacity:.45}
body #xpage .wk2-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
body #xpage .wk2-ft b{color:var(--text)}
body #xpage .wk2-go{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;background:var(--text);color:var(--bg);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
body #xpage .wk2-done{font-size:13px;color:var(--dim);white-space:nowrap}body #xpage .wk2-days .later i{opacity:1;background:transparent;border:1px solid var(--line)}
@keyframes dpSlideR{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}@keyframes dpSlideL{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}#detail .dwrap.slide-r{animation:dpSlideR .24s ease}#detail .dwrap.slide-l{animation:dpSlideL .24s ease}

/* 26차: 처음 온 사람 안내 - 시안 welcome() */
.dp-welbg{align-items:center;padding:0 28px;z-index:1300}
.dp-wel{width:100%;max-width:340px;background:var(--bg);border-radius:20px;padding:26px 22px 22px;text-align:center;animation:menu-sheet-enter .2s ease}
.dp-wel .idn{display:block;width:64px;height:64px;border-radius:14px;overflow:hidden;margin:0 auto 16px}
.dp-wel h2{margin:0;font-size:19px;line-height:1.4;letter-spacing:-.03em;color:var(--text)}
.dp-wel p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.dp-wel-ok{display:flex;width:100%;height:40px;margin-top:18px;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--text);color:var(--bg);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.sheetbg.closing .dp-wel{opacity:0;transform:scale(.97);transition:opacity .18s ease,transform .18s ease}

/* 26차: 홈 상단 하루 인기 3개 - 시안 homeDigest() */
.dg{margin:12px 16px 4px;padding:12px 14px 6px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.dg-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13.5px;color:var(--muted)}
.dg-hd b{font-weight:700;color:var(--text)}
.dg-x{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px -6px -4px 0;border:0;background:none;color:var(--muted);cursor:pointer}
.dg-x .lu{width:16px;height:16px}
.dg-r{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--text);text-decoration:none}
.dg-r em{width:12px;font-style:normal;font-weight:800;color:var(--pt)}
.dg-r span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-r small{font-size:12.5px;font-weight:700;color:var(--pt)}

/* 26차: PC 쪽지함 2단 - 시안 pcInbox(), 모바일은 기존 시트 */
.msg2 .msg-pane{display:none}
@media(min-width:1180px) and (pointer:fine){
  html body.desk-wide #xpage .fpage.msg2{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;padding:0}
  html body.desk-wide #xpage .msg2 .msg-l{min-width:0;overflow:hidden;min-height:calc(100vh - 60px);border-right:1px solid var(--line);padding:8px 0 0}
  html body.desk-wide #xpage .msg2 .msg-l .xtabs{margin:0 16px}
  html body.desk-wide #xpage .msg2 [data-message]{width:100%;margin:0;padding-left:16px;padding-right:16px}
  html body.desk-wide #xpage .msg2 [data-message].on{background:var(--surface)}
  html body.desk-wide #xpage .msg2 .fchev{display:none}
  html body.desk-wide #xpage .msg2 .msg-pane{display:block;position:sticky;top:0;padding:20px 26px}
  html body.desk-wide #xpage .msg2 .msg-pane .msg-empty{margin:40px 0 0;font-size:14px;color:var(--muted);text-align:center}
  html body.desk-wide #xpage .msg2 .msg-pane .msg-meta{font-size:13px;color:var(--muted)}
  html body.desk-wide #xpage .msg2 .msg-pane .msg-body{margin:10px 0 18px;font-size:15.5px;line-height:1.75;color:var(--text);white-space:pre-wrap;word-break:break-word}
  html body.desk-wide #xpage .msg2 .msg-pane .xin{width:100%;max-width:480px;min-height:96px;margin:0;resize:vertical}
  html body.desk-wide #xpage .msg2 .msg-acts{display:flex;gap:8px;margin-top:10px}
  html body.desk-wide #xpage .msg2 .msg-acts button{width:auto;min-width:100px;height:42px;margin:0;padding:0 22px;border:0;border-radius:999px;font-size:15px;font-weight:700}
  html body.desk-wide #xpage .msg2 .msg-acts .xmain{min-width:120px}
  html body.desk-wide #xpage .msg2 .msg-acts .fmore{background:var(--surface);color:var(--text)}
  html body.desk-wide #xpage .msg2 .msg-acts .fdanger{color:var(--pt)}
}
/* Channel photos belong only in the compact square avatar, never a header cover. */
/* Keep a compact desktop navigation row after removing its old photo backdrop. */
@media(min-width:1000px){html body.dc-shell #appScroll #xpage #featureBody.handoff-channel-page{padding-top:48px!important}}
html body #featureBody.handoff-channel-page #channelInfo{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:12px;align-items:center}
html body #featureBody.handoff-channel-page #channelInfo .channel-hero-photo{display:none!important;height:0!important;min-height:0!important;max-height:0!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;background:none!important}
html body #featureBody.handoff-channel-page #channelInfo .handoff-channel-cover{position:static;display:block;width:56px;height:56px;min-height:0;margin:0!important;padding:0;background:none}
html body #featureBody.handoff-channel-page #channelInfo .handoff-channel-cover>.channel-avatar{position:static;display:grid;width:56px!important;height:56px!important;border-radius:16px!important;overflow:hidden;margin:0;border:0!important}
html body #featureBody.handoff-channel-page #channelInfo .channel-hero-identity{margin:0!important;padding:0;min-width:0;align-items:center!important;flex-wrap:wrap}
html body #featureBody.handoff-channel-page #channelInfo>.channel-description,html body #featureBody.handoff-channel-page #channelInfo>.channel-actions{grid-column:1/-1}
html body .dc-channel-icon{overflow:hidden}
html body .dc-channel-icon>img{display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:inherit}
html body .dc-channel-icon>img.channel-logo{background:#fff;padding:2px;box-sizing:border-box}


/* Source: /css/desktop-shell.css */
/* Exact desktop dimensions and tokens from design_handoff_dampick/Dampick.dc.html. */
#desktopHeader,#desktopKeywords,#desktopAccountCard,.dc-side-ad,.dc-list-meta{display:none}
.dc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1000px){
 html{overflow-x:clip}
 html body.dc-shell,html body.dc-shell.desk-wide,html body.dc-shell:not(.in-detail):not(.in-x):not(.in-search){width:min(810px,calc(100vw - 510px))!important;max-width:min(810px,calc(100vw - 510px))!important;margin-left:max(210px,calc((100vw - 1320px)/2 + 210px))!important;margin-right:0!important;padding-top:56px!important;min-height:100vh;border-left:1px solid var(--line);border-right:1px solid var(--line)}
 html body.dc-shell{--surface:#f6f7f9;--elev:#f6f7f9;--line:#eceef1;--dim:#6b7280;--muted:#4e5560;--text:#16181d;--accent:#16181d;--on-accent:#fff;--pt:#d92d20}
 [data-theme=dark] body.dc-shell{--surface:#2d3034;--elev:#2d3034;--line:#3c4045;--dim:#8f949b;--muted:#b0b5bb;--text:#eceef0;--accent:#eceef0;--on-accent:#25272a;--pt:#ff6a5f}
 body.dc-shell #desktopHeader{display:flex;position:fixed;top:0;left:max(0px,calc((100vw - 1320px)/2))!important;width:min(1320px,100vw)!important;height:56px;z-index:100;align-items:center;gap:16px;padding:0 20px;background:var(--bg);border:1px solid var(--line);border-top:0}
 #desktopHeader .dc-brand{display:flex;align-items:center;width:190px;flex:none}
 #desktopHeader .dc-brand img{width:101px;height:28px;object-fit:contain}
 .dc-logo-dark,[data-theme=dark] .dc-logo-light{display:none}[data-theme=dark] .dc-logo-dark{display:block}
 #desktopHeader .dc-search{position:absolute;left:50%;top:8px;transform:translateX(-50%);width:min(520px,calc(100% - 640px));height:40px;box-sizing:border-box;border:1px solid var(--lk,#1b64da);border-radius:8px;background:var(--bg,#fff);flex-direction:row-reverse;display:flex;align-items:center;gap:8px;padding:0 14px;color:var(--dim)}
 #desktopHeader .dc-search input{flex:1;min-width:0;max-width:100%;background:none;border:0;color:var(--text);font:inherit;font-size:14px;outline:none;padding:0}
 #desktopHeader .dc-header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
 #desktopHeader .dc-header-actions a{position:relative;display:flex;align-items:center;justify-content:center;color:var(--muted);text-decoration:none}
 #desktopHeader .dc-header-actions a[aria-current=page]{color:var(--text)}
 .dc-header-divider{width:1px;height:20px;background:var(--line);margin:0}
 #desktopHeader .dc-header-actions .dc-compose{height:38px;gap:6px;padding:0 18px;border-radius:19px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:700}
 :is(#desktopHeaderNoti,#desktopHeaderMail).has-unread:after{content:'';position:absolute;top:0;right:1px;width:8px;height:8px;border-radius:50%;background:var(--pt);box-shadow:0 0 0 2px var(--bg)}
 body.dc-shell .desktop-rail,body.dc-shell .desktop-insights{display:flex!important;flex-direction:column;top:56px;bottom:0;background:var(--bg);border-color:var(--line);box-sizing:border-box;box-shadow:none}
 /* The reference's 210px rail sits inside the app's 1px outer border. */
 body.dc-shell .desktop-rail{left:max(0px,calc((100vw - 1320px)/2))!important;width:calc(210px + 1px);padding:20px 14px;gap:2px;border-left:1px solid var(--line)}
 body.dc-shell .desktop-rail .desktop-brand,body.dc-shell .desktop-rail .desktop-write,body.dc-shell .desktop-rail a[hidden]{display:none!important}
 body.dc-shell .desktop-rail>a{min-height:42px;padding:10px 12px;gap:12px;font-weight:700;font-size:15px;border-radius:10px;color:var(--text)}
 body.dc-shell .desktop-rail>a svg{width:22px;height:22px}
 body.dc-shell .desktop-rail>a[aria-current=page]{background:var(--line);font-weight:700}
 .dc-channel-heading{display:flex;justify-content:space-between;align-items:center;padding:22px 12px 8px;font-size:13px;color:var(--dim)}
 body.dc-shell .dc-channel-heading a,.dc-channel-heading button{display:flex;align-items:center;gap:4px;min-height:0;padding:0;font-size:12px;font-weight:600;color:var(--dim);border:0;background:none;text-decoration:none;cursor:pointer}
 body.dc-shell .desktop-rail .dc-channel-link{display:flex;align-items:center;gap:12px;min-height:40px;padding:7px 12px;font-size:15px;font-weight:700;color:var(--text);border-radius:10px}
 .dc-channel-link>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-channel-link.is-current{background:var(--line)}
 .dc-channel-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:#fff;font-size:13px;font-weight:800;flex:none}.dc-channel-icon svg{width:16px!important;height:16px!important}
 body.dc-shell .dc-channel-more,body.dc-shell .desktop-rail .dc-channel-empty{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:500;color:var(--muted);border:0;background:none;cursor:pointer;text-decoration:none}
 body.dc-shell .desktop-insights{left:calc(max(0px,(100vw - 1320px)/2) + min(100vw,1320px) - 300px)!important;right:auto!important;width:300px!important;padding:20px 18px;border-right:1px solid var(--line)}
 body.dc-shell #desktopAccountCard{display:flex;flex-direction:column;gap:6px;border-radius:12px;border:1px solid var(--line);padding:14px 16px;margin-bottom:16px;background:var(--bg);box-shadow:none;flex:none}
 #desktopAccountCard .dc-user-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
 #desktopAccountCard .dc-user-nick:any-link{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #desktopAccountCard .dc-user-sub{font-size:14px;font-weight:500;color:var(--dim);white-space:nowrap}
 #desktopAccountCard .dc-user-logout{flex:none!important;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;color:var(--dim,#8f949b)!important;font:inherit!important;font-size:13px!important;font-weight:500!important;cursor:pointer!important;padding:0!important;margin:0!important;line-height:1!important;outline:none!important}
 #desktopAccountCard .dc-user-logout:hover{color:var(--text,#16181d)!important;background:transparent!important}
 #desktopAccountCard .dc-user-stats{font-size:13px;color:var(--muted);margin:0}
 #desktopAccountCard .dc-user-quick{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:10px!important;padding-top:12px!important;border-top:1px solid var(--line,#eceef1)!important;gap:8px!important}
 #desktopAccountCard .dc-user-quick-btn{flex:1!important;min-width:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;font-weight:600!important;color:var(--text,#16181d)!important;text-decoration:none!important;cursor:pointer!important;padding:6px 0!important;border:none!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;box-shadow:none!important;text-align:center!important;font-family:inherit!important}
 #desktopAccountCard .dc-user-quick-btn:hover{color:var(--link,var(--accent,#1b64da))!important;background:transparent!important}
 #desktopAccountCard :is(.dc-user-nick,.dc-user-quick-btn):focus-visible{outline:2px solid var(--text);outline-offset:2px}
 #desktopAccountCard>span{display:block;font-size:12px;font-weight:600;color:var(--muted)}#desktopAccountCard>strong,.dc-balance{display:block;margin-top:2px;font-size:26px;font-weight:800;color:var(--text);text-decoration:none;line-height:1.2}
 #desktopAccountCard>p{font-size:13px;margin:12px 0;color:var(--muted)}#desktopAccountCard>strong{font-size:20px}
 .dc-week{display:flex;justify-content:space-between;margin-top:12px}.dc-week>span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--text)}.dc-week i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-style:normal;border:1px solid var(--line)}.dc-week .checked i{background:var(--accent);color:var(--on-accent);border:0}.dc-week .today i{border:1.5px solid var(--text)}.dc-week .later{opacity:.4}
 .dc-account-actions{display:flex;gap:8px;margin-top:14px}.dc-account-actions a,#desktopAccountCard>.dc-attend{display:flex;align-items:center;justify-content:center;flex:1;height:36px;border-radius:10px;background:var(--line);color:var(--text);font-size:13px;font-weight:700;text-decoration:none}.dc-account-actions .dc-attend,#desktopAccountCard>.dc-attend{background:var(--accent);color:var(--on-accent)}
 .dc-aside-heading{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:none;text-align:left;color:var(--text);font-size:15px;font-weight:700;padding:0;margin:0 0 8px;cursor:pointer}.dc-aside-heading svg{color:var(--dim)}
 body.dc-shell #desktopHot a{padding:10px 0;font-size:14px;border-bottom:1px solid var(--line)}body.dc-shell #desktopHot small{font-size:11px}
 body.dc-shell #desktopHotWrap{display:block!important}body.dc-shell #desktopTrend{display:block;margin-top:24px}body.dc-shell #desktopTrendList{display:flex;flex-wrap:wrap;gap:8px}#desktopTrendList[hidden],#desktopHot[hidden]{display:none!important}
 body.dc-shell #desktopTrendList button{border:0;background:var(--surface);color:var(--muted);padding:7px 12px;border-radius:999px;font-size:13px;cursor:pointer}#desktopTrendList button b{color:var(--pt);margin-right:5px}
 body.dc-shell .dc-side-ad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:none;height:250px;margin-top:24px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;color:var(--dim)}.dc-side-ad b{font-size:12px;letter-spacing:.04em}
 body.dc-shell .dc-side-ad{width:300px;margin-left:-18px;margin-right:-18px;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
 /* A filled 300px ad needs the full 300px rail, including classic scrollbar space. */
 body.dc-shell .desktop-insights:has(.dc-side-ad:not([hidden])){border-left:0;border-right:0;box-shadow:inset 1px 0 var(--line),inset -1px 0 var(--line);scrollbar-width:none}
 body.dc-shell .desktop-insights:has(.dc-side-ad:not([hidden]))::-webkit-scrollbar{display:none}
 body.dc-shell .dc-side-ad[hidden]{display:none!important}
 body.dc-shell .dc-side-ad ins{flex:none;width:300px;height:250px}
 .desktop-policies button{border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}
 body.dc-shell .desktop-insights .desktop-policies{margin-top:auto;padding-top:24px;font-size:12px;line-height:1.8}
 body.dc-shell #desktopMe{display:none!important}body.dc-shell.desk-me #xpage .me-coupons{display:block!important}
 html body.dc-shell:not(.in-x):not(.in-search):not(.in-detail)>header{top:56px!important;padding:0!important;background:var(--bg);z-index:25}
 body.dc-shell>header>.top,body.dc-shell>header>#sbar{display:none!important}
 body.dc-shell>header>#chips{order:0!important}body.dc-shell #chips .v2tb{display:flex;gap:6px;align-items:center;height:50px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
 body.dc-shell #chips .v2tb button,body.dc-shell #chips .subscription-feed-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:32px;height:32px;padding:0 12px;border:0;border-radius:9px;background:none;color:var(--muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
 body.dc-shell #chips .v2tb button.on{background:var(--line);color:var(--text);font-weight:700}body.dc-shell #chips #bLive{margin-left:auto;font-size:12px;padding-right:0;gap:5px}
 body.dc-shell #desktopKeywords{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:12px 16px;min-height:56px;order:1}body.dc-shell #desktopKeywords button{flex:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:13px;line-height:16px;color:var(--muted);background:var(--bg);cursor:pointer}
 body.dc-shell>header>#appNotice{order:2!important;padding:8px 14px!important;font-size:13px!important;min-height:40px}body.dc-shell #appNotice .notice-badge{background:#f5c400;color:#463b00;padding:2px 10px;font-size:11px}
 body.dc-shell .feed-view-bar,body.dc-shell .dg{display:none!important}
 body.dc-shell .core-new-posts{position:static!important;width:100%;margin:0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;height:44px;background:var(--bg)!important;color:var(--text)!important;box-shadow:none!important;font-size:14px}
 body.dc-shell[data-feed-view=thumb] #feed .item,body.dc-shell[data-feed-view=board] #feed .item{padding:14px 16px!important;min-height:76px;border-bottom:1px solid var(--line);background:var(--bg)}
 body.dc-shell[data-feed-view=thumb] #feed .item .body,body.dc-shell[data-feed-view=board] #feed .item .body{display:grid!important;grid-template-columns:minmax(0,1fr) 56px!important;grid-template-rows:auto auto!important;column-gap:16px;row-gap:5px;align-items:center;position:relative;min-height:46px;padding:0!important}
 body.dc-shell[data-feed-view=thumb] #feed .title,body.dc-shell[data-feed-view=board] #feed .title{grid-column:1;grid-row:1;font-size:15px!important;line-height:22px;font-weight:500!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0!important;margin:0!important}
 body.dc-shell #feed .title .list-title-text{font-size:inherit;font-weight:inherit}body.dc-shell #feed .meta,body.dc-shell #feed .listing-meta,body.dc-shell #feed .list-comment-count{display:none!important}
 body.dc-shell #feed .dc-list-meta{display:block;grid-column:1;grid-row:2;font-size:13px;line-height:18px;color:var(--muted)}.dc-list-meta b{font-weight:700;color:var(--pt)}
 body.dc-shell[data-feed-view=thumb] #feed .item .body .thumb{display:block!important;grid-column:2!important;grid-row:1/span 2!important;width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;aspect-ratio:1!important;border-radius:12px!important;overflow:hidden;margin:0!important;position:relative!important}
 body.dc-shell[data-feed-view=thumb] #feed .item .body .thumb img,body.dc-shell[data-feed-view=thumb] #feed .item .body .thumb video{width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;object-fit:cover!important;border-radius:12px!important}
 body.dc-shell[data-feed-view=thumb] #feed .thumb [data-feed-mute]{display:none!important}
 body.dc-shell[data-feed-view=thumb] #feed .thumb.feed-video:after{display:none!important;content:none!important}
 body.dc-shell[data-feed-view=board] #feed .thumb{display:none!important}
 body.dc-shell #xpage,body.dc-shell #detail,body.dc-shell #spage{top:56px!important;min-height:calc(100vh - 56px)}
 body.dc-shell #xpage .xtop,body.dc-shell .dbar,body.dc-shell #spage .shead{top:56px!important}
 body.dc-shell #xpage:has(>:is(.account-page,.points-page,.menu-page,.inquiry-page,.coupons-page))> .xtop{display:none!important}
 body.dc-shell #xpage:has(>:is(.account-page,.points-page,.menu-page,.inquiry-page,.coupons-page)){padding-top:0!important}
 body.dc-shell #xpage .fpage:has(>#channelInfo){display:block!important;max-width:none!important;padding:16px!important}
 body.dc-shell #xpage .fpage>#channelInfo{position:static!important;padding:0!important;border:0!important;grid-column:auto;grid-row:auto}
 body.dc-shell .channel-hero-photo{height:190px!important}.channel-official-avatar svg{width:40px;height:40px}
 body.dc-shell .dfoot,body.dc-shell #xpage .xcta{width:var(--dc-main-width,810px)!important;max-width:var(--dc-main-width,810px)!important}
 body.dc-shell #toast{max-width:calc(100vw - 40px)}
}
@media(prefers-reduced-motion:reduce){#desktopHeader *, .desktop-rail *, .desktop-insights *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

#desktopAccountCard[hidden]{display:none!important}

/* Reference sidebar cards. Keyword search remains available on the search screen. */
@media(min-width:1000px){
 html body.dc-shell #desktopAccountCard{margin-bottom:16px}
 html body.dc-shell :is(#desktopHotWrap,.dc-hot-channel-card){flex:none;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:16px;background:var(--bg)}
 html body.dc-shell #desktopHotWrap .dc-aside-heading{padding:13px 14px 8px;margin:0;font-size:15px}
 #desktopPopularStamp{margin-left:8px;color:var(--dim);font-size:11px;font-weight:400}
 html body.dc-shell :is(#desktopHot,#desktopHotChannels){padding:0 14px}
 html body.dc-shell :is(#desktopHot,#desktopHotChannels) a{display:flex;align-items:center;gap:9px;padding:9px 0;border:0;border-top:1px dashed var(--line);font-size:14px;color:var(--text);text-decoration:none}
 html body.dc-shell :is(#desktopHot,#desktopHotChannels) em{display:flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border-radius:4px;background:var(--surface);color:var(--dim);font-size:11px;font-style:normal;font-weight:700}
 html body.dc-shell :is(#desktopHot,#desktopHotChannels) a:nth-child(-n+3) em{background:var(--text);color:var(--bg)}
 html body.dc-shell :is(#desktopHot,#desktopHotChannels) a>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html body.dc-shell #desktopHot .dc-rank-unknown{flex:none;font-size:11px;font-weight:700;color:var(--dim)}
 html body.dc-shell .dc-sidebar-more{display:block;text-align:right;padding:9px 14px;background:var(--surface);color:var(--muted);font-size:12px;text-decoration:underline}
 .dc-hot-channel-card h3{padding:13px 14px 8px;margin:0;font-size:15px;font-weight:700}
 .dc-hot-channel-card h3 small{margin-right:6px;font-size:11px;font-weight:800;color:var(--pt)}
 html body.dc-shell:not(.in-search) #desktopTrend{display:none!important}
}

.dc-sidebar-more[hidden]{display:none!important}

@media(min-width:1000px){
 html body.dc-shell #desktopAccountCard.dc-user-card{border-radius:12px;padding:14px 16px;border:1px solid var(--line);box-shadow:none}
 #desktopAccountCard.dc-user-card .dc-user-nick{font-size:16px;font-weight:800}
 #desktopAccountCard.dc-user-card .dc-user-logout{height:auto;background:transparent!important;color:var(--dim,#8f949b)!important;border:0!important;box-shadow:none!important;font-size:13px;font-weight:500;cursor:pointer}
 #desktopAccountCard.dc-user-card .dc-user-logout:hover{color:var(--text,#16181d)!important}
 #desktopAccountCard.dc-user-card .dc-user-stats{font-size:13px;color:var(--muted);margin:4px 0 0 0}
 #desktopAccountCard.dc-user-card .dc-user-quick{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
 #desktopAccountCard.dc-user-card .dc-user-quick-btn{min-height:auto;font-size:13px;font-weight:600;box-shadow:none!important;border:none!important;background:transparent!important;color:var(--text,#16181d);text-decoration:none;cursor:pointer;padding:4px 0}
 #desktopAccountCard.dc-user-card .dc-user-quick-btn:hover{color:var(--link,var(--accent,#1b64da))}
}
#desktopHeader .dc-search svg{color:var(--lk,#1b64da)}


/* Source: /js/site-ui/core-screens.css */
/* final14 · 1. 핵심 화면: home/list/detail only. */
body:is(.in-x,.in-search,.in-detail) #dp-install-banner {display:none!important}
html.dp-install-visible body[data-pwa-layout="portal"]:not(.in-x):not(.in-search) {padding-top:0!important}
html.dp-install-visible body[data-pwa-layout="portal"]:not(.in-x):not(.in-search) > header,
html.dp-install-visible body[data-pwa-layout="portal"].in-detail .dbar {top:0!important}
body:not(.in-x):not(.in-search):not(.in-detail) > header,
body.in-detail .dbar {
  background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;
}
body:not(.in-x):not(.in-search):not(.in-detail) > header {border-bottom:0}
body:not(.in-x):not(.in-search):not(.in-detail) > header .top {
  padding:calc(4px + env(safe-area-inset-top)) 16px 6px!important;
}
body:not(.in-x):not(.in-search):not(.in-detail) .brand img {height:26px;width:auto}
body:not(.in-x):not(.in-search):not(.in-detail) header .top > div {gap:16px}
body:not(.in-x):not(.in-search):not(.in-detail) header .top .ibtn {width:23px;height:26px;border-radius:0}
body:not(.in-x):not(.in-search):not(.in-detail) header .top .ibtn svg {width:23px;height:23px;stroke-width:1.8}
.v2cats {position:relative;padding-right:50px}
.v2cats button.on:after {display:none}
.v2cats .ex {position:absolute;right:0;top:0;bottom:0;width:56px;margin:0;padding:0 14px 4px 0;display:flex;align-items:center;justify-content:flex-end}
.v2tb {border-bottom:1px solid var(--line)}
.v2tb button {line-height:normal}
body[data-feed-view=thumb] #feed .item {align-items:flex-start;contain-intrinsic-size:auto 97px}
body[data-feed-view=thumb] #feed .item .body {align-content:start;grid-template-rows:min-content 1fr}
body[data-feed-view=thumb] #feed .item .title {word-break:keep-all;overflow-wrap:anywhere}
body[data-feed-view=thumb] #feed .item .listing-meta {line-height:15px!important}
body[data-feed-view=thumb] #feed .listing-meta .anon-id {display:inline;min-height:0;line-height:inherit!important;font-family:inherit;letter-spacing:0;color:var(--muted)!important;font-weight:500}
body[data-feed-view=thumb] #feed .read-dim .listing-meta,
body[data-feed-view=thumb] #feed .read-dim .listing-meta .anon-id {color:var(--dim)!important}
body[data-feed-view=thumb] #feed .read-dim .thumb {opacity:.55}
body[data-feed-view=thumb] #feed .read-dim .meta {opacity:1}
.core-new-posts {display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 14px;background:var(--bg);border-bottom:1px solid var(--line);font-size:13px;font-weight:700}
.core-new-posts em {color:var(--pt);font-style:normal;font-weight:900}
.core-new-posts svg.lu {width:14px;height:14px;flex:none}
body[data-feed-view=thumb] #feed > .endmsg {display:none}
body:not(.in-x):not(.in-search) > nav {background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;padding:8px 0 max(22px,env(safe-area-inset-bottom))}
body:not(.in-x):not(.in-search) > nav button {padding:0;min-height:0;gap:3px;justify-content:flex-start}
body:not(.in-x):not(.in-search) > nav button .nbadge {top:-5px;left:calc(50% + 5.5px)}
body:not(.in-x):not(.in-search) > nav .nl {line-height:13px}
body:not(.in-x):not(.in-search) > nav button[data-nav=write] {color:var(--dim)}
body.in-detail .dbar {gap:0;padding:calc(4px + env(safe-area-inset-top)) 14px 10px!important;min-height:0;margin-bottom:1px}
body.in-detail .dbar .reading-progress {bottom:-1px}
body.in-detail .dbar .ibtn {width:20px;height:20px}
body.in-detail .dbar #dBack {width:20px;margin-right:6px;color:var(--text)}
body.in-detail .dbar b {position:absolute;left:76px;right:76px;margin:0;text-align:center;font-size:15px;line-height:20px;font-weight:700;pointer-events:none}
body.in-detail .dbar #dBack svg {width:20px;height:20px;stroke-width:1.8}
body.in-detail .dbar #dShare {margin-left:auto}
body.in-detail .dbar #dMenu {margin-left:14px}
body.in-detail .dbar .lu {width:19px;height:19px;stroke-width:1.7}
body.in-detail .dwrap {padding:16px 16px 0!important}
body.in-detail .dtitle {overflow-wrap:anywhere;word-break:keep-all}
body.in-detail .dhead {margin:10px 0 14px}
body.in-detail .dhead .idn {width:20px;height:20px;margin:0}
body.in-detail .dhead .meta {gap:7px}
body.in-detail .dhead .meta .anon-id {font-size:12.5px;font-weight:600;letter-spacing:0;color:var(--muted)!important}
body.in-detail .dbody {margin-top:0}
body.in-detail #dBody > div > img {margin-bottom:0!important}
body.in-detail #dBody > div:last-child > :last-child {margin-bottom:0}
body #detail .chead {padding:11px 16px!important;background:var(--elev);border-top:1px solid var(--line);font-size:14px!important;font-weight:700!important;line-height:16px}
body #detail .chead .cn {font-weight:inherit}
body #detail .comment-sort {gap:4px;font-size:12.5px}
body #detail .comment-sort button {min-height:0;padding:0}
body #cmBox .cm .ct {margin-top:2px!important;font-size:14.5px!important;line-height:1.5!important;overflow-wrap:anywhere}
body #detail #cmBox .cm {align-items:flex-start}
body #detail #cmBox .cm.re {border-bottom:1px solid var(--ln2)!important}
body #detail #cmBox .cm > .idn {margin-top:1px;border-radius:6px}
body #detail #cmBox .cm .meta {height:14px;min-height:14px!important;line-height:14px!important;align-items:center;flex-wrap:nowrap}
body #detail #cmBox .cm .meta .anon-id,
body #detail #cmBox .cm .meta .badge-w,
body #detail #cmBox .cm .meta .ctime {line-height:14px!important;white-space:nowrap}
body #detail #cmBox .cm .ct,
body #detail #cmBox .cm .cacts,
body #detail #cmBox .cm .reply-toggle {margin-left:0;padding-left:0;text-align:left}
body #detail #cmBox .cm .cacts {min-height:14px;align-items:center;font-size:12px}
body #detail #cmBox .cm .cacts button {line-height:14px!important;font-weight:400!important;gap:4px!important;justify-content:flex-start}
body #detail #cmBox .cm .cacts svg.lu {width:13px!important;height:13px!important}
body #detail #cmBox .cm .meta .anon-id {color:var(--muted)!important;font-weight:600!important;letter-spacing:0}
body #detail #cmBox .cm .ctime {line-height:14px!important;margin:0;color:var(--dim)!important}
body #detail #cmBox .badge-w {padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:var(--dim)!important;font-size:12px!important;font-weight:400!important}
body #detail #cmBox .cm.re:before {display:none}
body #detail #cmBox .cm .meta [data-cmenu] {display:none}
body #cmBox .cm .cacts b {font-weight:400}
.best-label {order:1;font-size:11px;font-style:normal;font-weight:800;margin:0 6px 0 2px;color:var(--pt)}
.best-comment .ctime {order:2}
.best-comment [data-cmenu] {order:3}
.core-best .cm.re {display:none}
/* The core mockup reserves actions for best comments in the bottom section. */
body #detail #cmBox:has(.core-best) > .cm .cacts {display:none}
/* Next/popular cards belong to the best-comment bottom layout in section 1. */
body #detail #cmBox:not(:has(.core-best)) {padding-bottom:86px}
body.in-detail .dfoot {gap:12px;padding:10px 16px max(24px,env(safe-area-inset-bottom));align-items:flex-end}
body.in-detail .dfoot[hidden] {display:none!important}
/* Directional chrome owns translate/opacity; a filled entry animation would override it. */
html:root body.in-detail #detail .dfoot:not([hidden]) {animation:none}
html:root body:has(>#appScroll).in-detail {padding-bottom:var(--reading-composer-height,71px)!important}
html:root body:has(>#appScroll).in-detail.reading-chrome-hidden {padding-bottom:0!important}
html:root body.in-detail>#appScroll {padding-bottom:var(--reading-keyboard-inset,0px)}
html:root body.in-detail #detail .dfoot .dcm textarea#cIn {flex:1;min-width:0;min-height:40px;max-height:96px;resize:none;overflow:auto;padding:10px 0;box-sizing:border-box;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:16px;line-height:20px;white-space:pre-wrap}
html:root body.in-detail #detail .dfoot>.drt,html:root body.in-detail #detail .dfoot>.dcm {width:100%;min-width:0;max-width:100%;box-sizing:border-box}
html:root body.in-detail #detail .drt .reply-context {flex:1;min-width:0}
html:root body.in-detail #detail .drt .reply-context>span {display:block}
html:root body.in-detail #detail .drt .reply-context-copy {display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;line-height:18px;color:var(--muted)}
html:root body.in-detail #detail .dhead .meta {justify-content:space-between;gap:6px 12px}
html:root body.in-detail #detail .dhead .detail-meta-left {display:inline-flex;align-items:center;flex:1 0 auto;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
html:root body.in-detail #detail .dhead .detail-meta-left>i {width:1px;height:10px;flex:none;background:var(--line)}
html:root body.in-detail #detail .dhead .detail-views {white-space:nowrap}
html:root body.in-detail #detail .dhead .detail-time {flex:0 0 auto;max-width:100%;margin-left:auto;white-space:normal;overflow-wrap:anywhere;text-align:right;line-height:1.4}
body.in-detail .dfoot .dlike {height:42px;font-weight:700;padding:0}
body.in-detail .dfoot .dlike .likecount {font-weight:inherit;letter-spacing:0}
body.in-detail .dfoot .dlike svg {width:23px;height:23px}
body.in-detail .dfoot .dlike.on svg {fill:var(--pt)}
.core-composer {flex:1;min-width:0}
body #detail .core-composer .cmc {display:flex;align-items:center;gap:0;margin:0;padding:5px 5px 5px 14px!important;border:0!important;border-radius:10px;background:var(--elev)}
.core-composer .cmc #cIn {flex:1;min-width:0;width:100%;height:32px;min-height:32px;max-height:96px;field-sizing:content;margin:0;padding:6px 0;border:0;border-radius:0!important;background:transparent;color:var(--text);font:inherit;font-size:14.5px;line-height:20px!important;resize:none;outline:none}
.core-composer #cIn::placeholder {color:var(--dim)}
body #detail .core-composer .crow {display:flex;flex:none;gap:0;margin:0;padding:0}
.core-composer #cCnt,.core-composer #cCancel,.core-composer .crow .sp {display:none}
body #detail .core-composer #cGo {min-height:30px!important;height:30px;margin:0;padding:7px 14px!important;border:0;border-radius:8px!important;background:var(--accent);color:var(--on-accent);font-size:13.5px;font-weight:700;line-height:16px}
body #detail .core-composer #cGo:disabled {background:transparent;color:var(--dim);cursor:default;opacity:1}
body #detail .core-composer .cmlogin,body #detail .core-composer .cmtrig {display:flex;justify-content:space-between;align-items:center;width:100%;min-height:32px;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent;color:var(--dim);font-size:14.5px;font-weight:400}
.core-composer .cmlogin em {padding:7px 14px;font-size:13.5px;font-style:normal;font-weight:700}
.core-composer #rt[hidden] {display:none}
#detail .reading-related h3 {padding:16px 16px 6px;border:0;background:var(--bg);font-size:12.5px;line-height:15px;font-weight:700;color:var(--dim)}
#detail .reading-related a {align-items:flex-start}
#detail .reading-related .related-copy {flex:1;min-width:0}
#detail .reading-related .related-title {font-size:16.5px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}
#detail .reading-related .related-meta {display:block;margin-top:6px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dim)}
#detail .reading-related .related-meta .hot {color:var(--pt);font-weight:700}
#detail .reading-related .related-thumb {width:68px;height:68px;flex:none;border-radius:8px;object-fit:cover;object-position:top;background:var(--thb)}
#detail .reading-related p {padding:14px 16px;color:var(--dim);font-size:13px}
@media(max-width:640px){
  body:not(.in-x):not(.in-search) {border-left:0;border-right:0}
  body.in-detail {padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  body.in-detail:not(:has(.core-best)) {padding-bottom:calc(77px + env(safe-area-inset-bottom))}
}

/* 댓글 시간: 시안처럼 본문 바로 아래, 날짜와 시각, 12px 보조색 */
body #detail #cmBox .cm .ctime { margin: 4px 0 0 !important; font-size: 12px; line-height: 1.4 !important; color: #8f949b !important; }
[data-theme=light] body #detail #cmBox .cm .ctime, body[data-theme=light] #detail #cmBox .cm .ctime, [data-theme=light] #detail #cmBox .cm .ctime { color: #6b7280 !important; }

/* Direction changes affect only the reading chrome, never the article layout. */
body.in-detail .dbar,body.in-detail .dfoot {transition:translate .22s ease,opacity .22s ease,visibility .22s;}
body.in-detail .dbar.reading-scroll-hidden {translate:0 calc(-100% - env(safe-area-inset-top, 0px) - 20px)!important;opacity:0;visibility:hidden;pointer-events:none}
body.in-detail .dfoot.reading-scroll-hidden {translate:0 calc(100% + env(safe-area-inset-bottom, 0px) + 20px)!important;opacity:0;visibility:hidden;pointer-events:none}
@media (max-width: 999.98px) {
  body:not(.in-x):not(.in-search):not(.in-detail) > header {translate:none!important;opacity:1!important;pointer-events:auto!important}
  body:not(.in-x):not(.in-search):not(.in-detail) > header .top {overflow:hidden;max-height:calc(52px + env(safe-area-inset-top,0px))}
  html:root body:not(.dc-shell):not(.in-x):not(.in-search):not(.in-detail) > header.header-scroll-hidden .top {max-height:calc(52px + env(safe-area-inset-top,0px))!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}
html body>#appScroll {overflow-anchor:none}

.dfoot .keyboard-close {display:none!important}
.dfoot:focus-within .keyboard-close {display:inline-flex!important;align-items:center;gap:4px;min-height:36px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--muted)}
@media(prefers-reduced-motion:reduce){body.in-detail .dbar,body.in-detail .dfoot,body:not(.in-x):not(.in-search):not(.in-detail) > header{transition:none}}

html body .item .body .title,html .portal-post .title,html .related-title {font-size:calc(var(--reading-list-size,16px) + 1px)!important;line-height:1.35!important}
/* Keep per-scope preferences above the existing handoff list selectors. */
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .title {font-size:calc(var(--reading-list-size,16px) + 1px)!important;line-height:1.35!important}
/* Shared list geometry from ZIP14; user-selected list font sizes remain active. */
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] {height:auto!important;min-height:0!important;max-height:none!important;padding:11px 16px 10px!important;box-sizing:border-box}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body {height:auto;min-height:0!important;padding:0!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;row-gap:0!important;align-content:center!important}
html:root body:is([data-feed-view=thumb],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body:has(.thumb) {grid-template-columns:minmax(0,1fr) 56px!important;column-gap:14px}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .title {display:flex!important;align-items:baseline!important;align-self:end;flex-wrap:nowrap;min-width:0;height:auto;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;-webkit-line-clamp:unset!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .list-title-text {display:block!important;flex:0 1 auto;min-width:0;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis;line-height:inherit!important;-webkit-line-clamp:unset!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .list-comment-count {display:block!important;flex:0 0 auto!important;align-self:auto;margin:0!important;line-height:normal!important;white-space:nowrap}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .hf-list-meta {margin-top:2px;align-self:start;line-height:1.35!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body .thumb {position:relative!important;inset:auto!important;grid-column:2!important;grid-row:1/span 2!important;align-self:center;width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important}
html .dbody,html .dbody :is(p,li,span,div) {font-size:var(--reading-content-size,16px)!important;line-height:1.625}
html:root body.in-detail #detail #cmBox .cm .ct,html:root body #shortSheet .short-c-text {font-size:var(--reading-comment-size,16px)!important;line-height:1.6!important}
.reading-size-control {padding:16px 0;border-bottom:1px solid var(--line)}
.reading-size-control label {display:flex;justify-content:space-between;font-size:14px}
.reading-size-control input {width:100%;margin:16px 0;accent-color:var(--accent)}
.reading-preview {padding:12px;border-radius:12px;background:var(--elev);margin:0;overflow-wrap:anywhere}
.reading-size-control .reading-preview-list {font-size:var(--reading-list-size,16px);line-height:1.3}
.reading-size-control .reading-preview-content {font-size:var(--reading-content-size,16px);line-height:1.625}
.reading-size-control .reading-preview-comment {font-size:var(--reading-comment-size,16px);line-height:1.6}
html[data-reading-thumbnails=false] .item .thumb {display:none!important}
html:root[data-reading-thumbnails=false] body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body .thumb {display:none!important}
html:root[data-reading-thumbnails=false] body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body:has(.thumb) {grid-template-columns:minmax(0,1fr)!important;column-gap:0}
.activity-tabs {display:flex;gap:4px;overflow:auto;margin-bottom:16px}
.activity-tabs button {flex:1;white-space:nowrap;min-height:44px;padding:8px;color:var(--muted)}
.activity-tabs button[aria-pressed=true] {color:var(--accent);border-bottom:2px solid var(--accent)}
.activity-day {font-size:14px;margin:24px 0 8px;color:var(--muted)}
html body #serviceBody .activity-row {height:76px;min-height:76px;max-height:76px;padding:9px 16px;box-sizing:border-box;align-items:center}
html body #serviceBody .activity-row .fcopy {flex:1;min-width:0;display:block}
html body #serviceBody .activity-row .fcopy b {display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--reading-list-size,16px);line-height:1.3}
html body #serviceBody .activity-row .fcopy small {display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Latest approved article metadata: author, views, right-aligned time. */
html:root body.in-detail #detail .dhead{display:block}
html:root body.in-detail #detail .dhead>.meta{display:flex;width:100%;flex-wrap:wrap}
html:root body.in-detail #detail .dhead .detail-views{font-size:12.5px;font-weight:400;color:var(--dim)}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .hf-list-meta{display:flex;align-items:center;gap:5px}
html:root body .hf-list-meta>:is(.hf-list-identity,.hf-views,.hf-sep,time){flex-shrink:0}
html:root body .hf-list-meta>.hf-sep{margin:0}
html:root body .hf-list-meta>.hf-ch{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}
html:root body .hf-list-meta>time{margin-left:0;text-align:left}
html:root body .hf-list-meta.hf-list-ch{justify-content:space-between;gap:10px}
html:root body .hf-list-ch>.hf-ch-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:root body .hf-list-ch .hf-bar{display:inline-block;width:1px;height:10px;margin:0 7px;background:var(--ln);vertical-align:-1px}
html:root body .hf-list-ch .hf-ch-l b{font-weight:600;color:var(--t3)}
html:root body .hf-list-row[data-id] .list-kind-ic{flex:none;align-self:center;margin-right:1px;color:var(--lk)}
html:root body .hf-list-row[data-id] .list-kind-notice{color:var(--t3)}
html:root body .hf-list-row[data-id] .list-kind-hot{color:var(--pt)}
html:root body .channel-notice-strip{box-sizing:border-box;display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;border-left:4px solid #f5c400;background:#fff7d6;color:#3d3300;font-size:13px;line-height:1.4;cursor:pointer}
html:root body .channel-notice-strip[hidden]{display:none}
html:root body #channelFeed.channel-media-grid>:not(.item){grid-column:1/-1}
html:root body .channel-notice-strip .notice-badge{flex:none;padding:2px 10px;border-radius:999px;background:#f5c400;color:#3d3300;font-size:11px;font-weight:700}
html:root body .channel-notice-strip .notice-copy{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
html:root body .channel-notice-strip .notice-chev{flex:none;font-size:20px;line-height:1}

/* Notice list stays compact; detailed exposure controls live in an owner-guarded sheet. */
.ap-notice-row .ap-copy{min-width:0}.ap-notice-badges{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.ap-notice-badges em{font-style:normal;font-size:11px;line-height:20px;border-radius:7px;padding:0 7px;background:var(--elev);color:var(--muted)}.ap-notice-badges em.on{background:color-mix(in srgb,var(--text) 10%,var(--bg));color:var(--text)}.ap-notice-manage{flex:none;min-width:70px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--text);font-weight:600}.ap-notice-manage span{font-size:22px;color:var(--muted)}
#sheetbg.ap-notice-management{align-items:flex-end!important;background:rgba(0,0,0,.45);padding:0 12px!important}#sheetbg.ap-notice-management>.sheet{margin:0 auto!important;width:min(100%,560px)!important;max-width:560px!important;max-height:calc(100dvh - env(safe-area-inset-top) - 20px);overflow:auto;border-radius:22px 22px 0 0!important;padding:12px 16px calc(16px + env(safe-area-inset-bottom))!important;background:var(--bg);color:var(--text)}#apNoticeManage h3{margin:10px 0 6px;font-size:18px;line-height:26px}#apNoticeManage .ap-notice-manage-name{font-size:13px;line-height:20px;color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px}#apNoticeManage .ap-row{padding:18px 0;display:flex;align-items:center;gap:18px}#apNoticeManage .ap-copy{flex:1;min-width:0}#apNoticeManage .ap-copy b{font-size:15px;line-height:22px}#apNoticeManage .ap-copy small{font-size:12px;line-height:19px;margin-top:4px}#apNoticeManage .ap-toggle{min-width:52px!important;width:52px!important;min-height:44px!important;padding:0!important;border:0!important;background:transparent!important;flex:none;display:flex;align-items:center;justify-content:center}#apNoticeManage .ap-toggle-label,#apNoticeManage .ap-toggle-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#apNoticeManage .ap-toggle i{margin:0!important}#apNoticeManage .ap-notice-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}#apNoticeManage .ap-notice-sheet-actions button{min-height:48px;border-radius:13px;background:var(--elev);font-size:14px;font-weight:700}#apNoticeManage .ap-notice-sheet-actions .danger{color:#e02d32;background:transparent;border:1px solid color-mix(in srgb,#e02d32 30%,var(--line))}#apNoticeManage button:focus-visible,.ap-notice-manage:focus-visible{outline:2px solid var(--text);outline-offset:3px}@media(prefers-reduced-motion:reduce){#sheetbg.ap-notice-management>.sheet{animation:none!important;transition:none!important}}

#sheetbg.ap-notice-management .grab{width:40px;height:4px;border-radius:3px;background:var(--line);margin:0 auto 12px;flex:none}

#sheetbg.ap-notice-management>.sheet{opacity:1!important;animation:apNoticeSheetEnter .2s ease-out both!important}#apNoticeManage .ap-toggle[aria-checked="true"] i{background:var(--text)!important}#apNoticeManage .ap-toggle[aria-checked="false"] i{background:var(--line2)!important}@keyframes apNoticeSheetEnter{from{transform:translateY(32px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#sheetbg.ap-notice-management>.sheet{animation:none!important}}

.admin-points-view .ap-notice-row{flex-wrap:nowrap;align-items:center}.admin-points-view .ap-notice-row>.ap-copy{flex:1 1 0}#apNoticeManage .ap-toggle>i:after{background:var(--bg)!important}

#sheetbg.ap-notice-management{opacity:1!important;animation:apNoticeBackdropEnter .2s ease both!important}@keyframes apNoticeBackdropEnter{from{background-color:rgba(0,0,0,0)}to{background-color:rgba(0,0,0,.45)}}@media(prefers-reduced-motion:reduce){#sheetbg.ap-notice-management{animation:none!important}}

/* Admin v12: mobile management shortcuts and paired draft attachment choices. */
@media(min-width:1000px){body.admin-points-view .ap-overview-management{display:none}}
body.admin-points-view .ap-notice-attachments{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:12px 20px}
body.admin-points-view .ap-notice-attachments button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 8px;border:0;border-radius:12px;background:var(--elev);color:var(--text);font-size:14px;font-weight:600;line-height:20px}
body.admin-points-view .ap-notice-attachments button svg{flex:none}
body.admin-points-view .ap-notice-attachments button[aria-pressed=true]{background:var(--text);color:var(--bg)}
body.admin-points-view .ap-notice-attachments button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.admin-points-view .ap-notice-attachments button:disabled{opacity:.45}

/* Public pin metadata uses the shared card in web and hybrid surfaces. */
.feed-pin{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px;padding:1px 5px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.4}


/* Source: /js/site-ui/section2-notifications.css */
/* final14 · 2. 찾기, 알림, 영상 — notifications only. */
body #xpage .section2-notifications .xnoti {
  display:flex;justify-content:space-between;min-height:0;padding:4px 16px 12px;gap:0;background:var(--bg);
  border-bottom:1px solid var(--line);backdrop-filter:none;-webkit-backdrop-filter:none;
}
body #xpage .section2-notifications .xnoti b {text-align:center;font-size:17px;font-weight:800;letter-spacing:-.03em;line-height:normal}
body #xpage .section2-notifications #nAll {
  min-height:0;padding:0!important;margin:0;border:0!important;border-radius:0!important;
  background:none!important;color:var(--text);font-size:16px!important;font-weight:400!important;line-height:normal;
}
body #xpage .section2-notifications #nBox .sechead {padding:16px 16px 6px;font-size:12.5px;font-weight:700;color:var(--dim);line-height:normal}
body #xpage .section2-notifications .nrow {align-items:flex-start;gap:12px!important;padding:14px 16px!important;border-bottom:1px solid var(--ln2)!important;background:var(--bg)!important}
body #xpage .section2-notifications .nrow.un {background:var(--bg)!important}
body #xpage .section2-notifications .nrow:before {display:none!important}
body #xpage .section2-notifications .nrow .ni {width:36px!important;height:36px!important;border:0!important;border-radius:50%!important;background:var(--thb)!important;color:var(--muted)!important}
body #xpage .section2-notifications .nrow .ni svg {width:18px;height:18px;stroke-width:1.8}
body #xpage .section2-notifications .nrow .nt,
body #xpage .section2-notifications .nrow .nm {margin:0!important;color:var(--text)!important;font-size:14.5px!important;font-weight:400!important;line-height:1.45!important;letter-spacing:normal;word-break:keep-all;overflow-wrap:anywhere}
body #xpage .section2-notifications .nrow .nt b {font-weight:700}
body #xpage .section2-notifications .nrow .nd {margin-top:3px!important;color:var(--dim)!important;font-size:12.5px!important;line-height:normal}
body #xpage .section2-notifications .nrow .ndot {margin-top:7px;width:8px;height:8px;flex:none;background:var(--pt)}

/* final mockup: centered title, read-all on the right, tabs under the header */
body #xpage .section2-notifications .xnoti {display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center}
body #xpage .section2-notifications #nAll {justify-self:end;font-size:13px!important;font-weight:600!important;color:var(--muted)}
body #xpage .section2-notifications #nAll[hidden] {display:none}
body #xpage .section2-notifications #nTabs {margin:0 16px}


/* Source: /js/site-ui/section2-search.css */
/* 2. 찾기: 검색, 검색 결과, 분류 선택과 편집. */
body.in-search #portalBody .list-title-text mark{background:rgba(245,196,0,.38);color:inherit;border-radius:3px;padding:0 1px}
body.in-search{padding-bottom:30px}
body.in-search #spage .sbar2{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:4px 14px 10px;background:var(--bg);border:0;box-shadow:none;backdrop-filter:none}
body.in-search #spage #sBack{display:flex;align-items:center;justify-content:center;flex:none;width:23px;height:23px;min-width:0;min-height:0;padding:0;border:0;border-radius:0;color:var(--text);background:none}
body.in-search #spage #sBack svg{width:23px;height:23px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.in-search #spage .sinput{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:38px;padding:10px 12px;background:var(--elev);border:0;border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--text)}
body.in-search #spage .sinput:focus-within{box-shadow:inset 0 0 0 1.5px var(--text)}
body.in-search #spage .sinput>svg{display:block;width:18px;height:18px;flex:none;color:var(--dim);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.in-search #spage #sq{display:block;width:100%;min-width:0;min-height:0;height:18px;margin:0;padding:0;border:0;outline:0;border-radius:0;background:none;box-shadow:none;color:var(--text);font-family:inherit;font-size:15px;font-weight:400;line-height:18px;letter-spacing:0}
body.in-search #spage #sq::placeholder{color:var(--dim)}
body.in-search #spage #sClear,body.in-search #searchSuggestions{display:none!important}
body.in-search #spage #sbody:not(:has(#sres)){padding:6px 16px 0}
body.in-search #spage .shead{display:flex;align-items:center;justify-content:space-between;gap:0;margin:0;padding:14px 0 8px;min-height:0;border:0;font-size:14px;font-weight:700;line-height:normal;letter-spacing:0}
body.in-search #spage .shead b{font-size:14px;font-weight:700;line-height:normal;letter-spacing:0}
body.in-search #spage .shead button,body.in-search #spage .shead .sub{padding:0;margin:0;min-height:0;background:none;border:0;font-size:12.5px;font-weight:500;color:var(--dim);line-height:normal}
body.in-search #spage #trendbox .shead{padding-top:26px}
body.in-search #spage #trendbox .shead>span{width:100%;justify-content:space-between}
body.in-search #spage #tRefresh{display:none}
body.in-search #spage .schips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
body.in-search #spage .schip{display:flex;align-items:center;gap:6px;min-height:0;padding:7px 12px;border:0;border-radius:999px;background:var(--elev);color:var(--muted);font-size:14px;font-weight:400;line-height:normal;letter-spacing:0;cursor:pointer;user-select:none;transition:transform .12s cubic-bezier(.2,.8,.2,1)}
body.in-search #spage .schip:active{transform:scale(.93)}
body.in-search #spage .schip .x{display:flex;align-items:center;justify-content:center;width:13px;height:13px;padding:0;border-radius:0;background:none;color:var(--dim)}
body.in-search #spage .schip .x svg{width:13px;height:13px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.in-search #spage .trend{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:0;grid-auto-rows:40px;margin:0;padding:0}
body.in-search #spage .trow{display:flex;align-items:center;gap:9px;width:100%;height:40px;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--ln2);border-radius:0;background:none;text-align:left;font-size:14.5px;line-height:normal;white-space:nowrap;overflow:hidden;user-select:none;transition:background-color .12s ease}
body.in-search #spage .trow:active{background:var(--elev)}
body.in-search #spage .trow .rk{width:14px;flex:none;text-align:left;color:var(--dim);font-size:14.5px;font-weight:800;line-height:normal}
body.in-search #spage .trow .rk.hot3{color:var(--pt);font-size:14.5px}
body.in-search #spage .trow .kw{font-size:14.5px;font-weight:400;line-height:normal;letter-spacing:0}
body.in-search #spage .trow .df{display:none}
body.in-search #spage #searchFilters{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:0;padding:2px 16px 8px!important}
body.in-search #spage #searchFilters[hidden],body.in-search #spage #searchResultCount[hidden]{display:none}
body.in-search #spage #searchFilters select{appearance:none;min-height:0;max-width:calc((100vw - 48px)/3);height:30px;margin:0;padding:7px 30px 7px 12px;border:0;border-radius:999px;background:var(--elev);color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;line-height:16px;letter-spacing:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235d636d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-size:14px;background-position:right 12px center;background-repeat:no-repeat}
body.in-search #spage #searchCategory{order:0;background-color:var(--line);color:var(--text)}
body.in-search #spage #searchPeriod{order:1}
body.in-search #spage #searchSort{order:2}
body.in-search #spage #searchResultCount{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.in-search #spage #sres .endmsg{color:var(--dim);font-size:12px}
#sheetbg.section2-category-sheet{background:rgba(0,0,0,.45);align-items:flex-end}
#sheetbg.section2-category-sheet .sheet{width:100%;max-width:720px;margin:0 auto;padding:10px 16px 30px;border:0;border-radius:22px 22px 0 0;background:var(--bg);color:var(--text);box-shadow:none}
#sheetbg.section2-category-sheet .grab{width:40px;height:4px;margin:0 auto 14px;border-radius:2px;background:var(--line)}
.section2-category-sheet h2{margin:0;padding:0;font-size:17px;font-weight:700;line-height:normal;letter-spacing:0}
.section2-category-sheet p{margin:3px 0 14px;padding:0;color:var(--dim);font-size:13px;line-height:normal}
.section2-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.section2-category-grid button{display:flex;align-items:center;justify-content:center;min-height:0;height:46px;padding:0;border:0;border-radius:10px;background:var(--elev);color:var(--muted);font:inherit;font-size:15px;font-weight:500;line-height:normal;letter-spacing:0}
.section2-category-grid button.on{background:var(--line);color:var(--text);font-weight:700}
body.section2-categories #xpage{padding:0}
.section2-cat-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:4px 14px 10px;border-bottom:1px solid var(--line);background:var(--bg)}
.section2-cat-top>button:first-child{display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:0;border:0;background:none;color:var(--text)}
.section2-cat-top svg{width:23px;height:23px}
.section2-cat-top>b{font-size:16px;font-weight:700;line-height:normal}
.section2-cat-done{padding:7px 16px;border:0;border-radius:999px;background:var(--text);color:var(--bg);font:inherit;font-size:14px;font-weight:700;line-height:normal}
.section2-cat-help{margin:0;padding:16px 16px 12px;color:var(--muted);font-size:14px;line-height:1.5}
.section2-cat-row{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--ln2);font-size:15.5px;line-height:normal}
.section2-cat-row .gp{display:flex;align-items:center;width:22px;min-width:22px;min-height:0;height:26px;padding:0;border:0;background:none;color:var(--dim);touch-action:none;cursor:grab}
.section2-cat-row .gp svg{width:18px;height:18px}
.section2-cat-row .nm{flex:1}
.section2-cat-row .swt{position:relative;display:inline-block;flex:none;width:44px;height:26px;min-height:0;padding:0;border:0;border-radius:13px;background:var(--line)}
.section2-cat-row .swt:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.section2-cat-row .swt[aria-checked=true]{background:var(--text)}
.section2-cat-row .swt[aria-checked=true]:after{left:21px;background:var(--bg)}
.section2-cat-row .swt:disabled{opacity:.4}
.section2-cat-row.dragging{opacity:.5}
/* Match the recent-query line box to its 16px icon plus 4px button padding. */
body.in-search #spage .portal-recent>button[data-query]{display:block;min-height:24px;line-height:24px;padding:0}
body.in-search #spage .portal-recent>button[data-remove-recent]{align-items:center;justify-content:center;min-height:24px;line-height:1}
body.in-search #spage .portal-recent svg{display:block}

/* Site search: match the home search field; keep all search controls. */
@media(max-width:999px){html body.in-search #spage.portal-search>.sbar2.portal-bar{display:block!important;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 12px!important}html body.in-search #spage.portal-search{padding-top:66px!important}}
#spage.portal-search .portal-ring{box-sizing:border-box;height:44px;padding:0;border:1.5px solid var(--lk);border-radius:8px;background:none}
html body.in-search #spage.portal-search .portal-bar .sinput{display:flex;align-items:center;gap:8px;flex:none;height:100%!important;min-height:0!important;box-sizing:border-box;margin:0;padding:0 14px 0 8px;border:0!important;border-radius:6.5px!important;background:var(--bg)!important;box-shadow:none!important;outline:0!important}
html body.in-search #spage.portal-search .portal-bar .sinput>svg{display:block;flex:none;width:22px;height:22px;color:var(--lk);stroke:var(--lk);fill:none;stroke-width:1.8}
html body.in-search #spage.portal-search .portal-bar .sinput>#sBack{display:flex!important;align-items:center;justify-content:center;flex:none;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;margin:0;padding:0!important}
html body.in-search #spage.portal-search .portal-bar .sinput>#sBack svg{width:24px!important;height:24px!important;color:var(--tx);stroke:var(--tx);fill:none}
html body.in-search #spage.portal-search #sq{flex:1;min-width:0;height:100%;padding:0;background:transparent;font-size:15px!important;font-weight:400!important;line-height:normal}
html body.in-search #spage.portal-search #sq::placeholder{color:var(--t3,var(--dim));font-weight:400}
html body.in-search #spage.portal-search #sClear:not([hidden]){display:flex!important;align-items:center;justify-content:center;flex:none;width:18px;height:18px;min-height:0;padding:0;color:var(--t3,var(--dim))}
html body.in-search #spage.portal-search #sClear svg{width:18px;height:18px}
#spage.portal-search .portal-home{display:flex;flex-direction:column;min-height:calc(100vh - 66px);max-width:680px;margin:0 auto;padding:0}
#spage.portal-search .portal-recent{display:flex;align-items:center;gap:12px;height:58px;box-sizing:border-box;padding:0 6px 0 16px;border:0}
#spage.portal-search .portal-recent-ic{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--s,var(--surface))}
#spage.portal-search .portal-recent-ic svg{color:var(--t2,var(--muted));stroke:var(--t2,var(--muted));fill:none}
#spage.portal-search .portal-recent>button[data-query]{flex:1;min-width:0;min-height:0;height:100%;padding:0;font-size:17px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#spage.portal-search .portal-recent>small{flex:none;font-size:14px;color:var(--t3,var(--dim))}
#spage.portal-search .portal-recent>button[data-remove-recent]{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;min-height:0;padding:0;border-radius:0;background:none;color:var(--t2,var(--muted))}
#spage.portal-search .portal-recent>button[data-remove-recent] svg{color:var(--t2,var(--muted));stroke:var(--t2,var(--muted));fill:none}
#spage.portal-search .portal-gap{height:10px;margin-top:8px;background:var(--s,var(--surface))}
#spage.portal-search .portal-home-title{display:flex;justify-content:space-between;align-items:center;padding:22px 16px 6px}
#spage.portal-search .portal-home-title b{font-size:20px;font-weight:800;letter-spacing:-.03em}
#spage.portal-search .portal-home-title span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:400;color:var(--t3,var(--dim))}
#spage.portal-search .portal-home-title span svg{color:var(--t3,var(--dim));stroke:var(--t3,var(--dim));fill:none}
#spage.portal-search .portal-trending{display:block}
#spage.portal-search .portal-trending button{display:flex;align-items:center;gap:14px;width:100%;height:56px;box-sizing:border-box;padding:0 20px 0 16px;border:0;border-radius:0;background:none;text-align:left;cursor:pointer}
#spage.portal-search .portal-trending b{flex:none;width:26px;text-align:center;font-size:16px;font-weight:800}
#spage.portal-search .portal-trending span{flex:1;min-width:0;font-size:17px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#spage.portal-search .portal-trending em{flex:none;font-style:normal;font-size:15px;font-weight:900;color:#ff5a3c}
#spage.portal-search .portal-record{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ln);background:var(--bg);font-size:14px;color:var(--t2,var(--muted))}
#spage.portal-search .portal-record>span{display:flex;align-items:center;gap:8px;white-space:nowrap}
#spage.portal-search .portal-record>span i{width:3px;height:3px;border-radius:50%;background:var(--t3,var(--dim))}
#spage.portal-search .portal-record button{padding:0;min-height:0;background:none;border:0;font:inherit;font-size:14px;color:var(--t2,var(--muted));cursor:pointer}
#spage.portal-search .portal-record>button[data-close-search]{font-weight:600}
/* 홈 위쪽: 1. 검색창(안에 1위 인기 검색어), 2. 탭(전체·인기·구독·랭킹·클립), 3. 추천 채널 띠. 모바일 전용 */
.dc-home-top,.dc-home-search,.dc-home-trend{display:none}
@media(min-width:1000px){.dc-home-top,.dc-home-search,.dc-home-trend{display:none!important}}
@media(max-width:999.98px){
  .dc-home-search.is-home,.dc-home-trend.is-home{display:block;background:var(--bg,#fff)}
  .dc-home-search .dc-hs{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:calc(100% - 32px);height:44px;margin:10px 16px 12px;padding:0 14px;border:1.5px solid var(--lk,#1b64da);border-radius:8px;background:transparent;color:var(--t3,#6b7280);font:inherit;font-size:15px;text-align:left;cursor:pointer}
  .dc-home-search .dc-hs svg{flex:none;color:var(--lk,#1b64da)}
  .dc-hs .dc-hs-t{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap}
  .dc-hs .dc-hs-b{flex:none;padding:3px 7px;border-radius:4px;background:var(--lk,#1b64da);color:#fff;font-size:11px;font-style:normal;font-weight:800}
  .dc-hs .dc-hs-k{min-width:0;height:20px;overflow:hidden}
  .dc-hs .dc-hs-roll{display:block}
  .dc-hs .dc-hs-k b{display:block;height:20px;line-height:20px;overflow:hidden;text-overflow:ellipsis;color:var(--tx,#16181d);font-weight:700}
  .dc-rec{display:flex;align-items:center;gap:14px;overflow-x:auto;scrollbar-width:none;padding:13px 16px;white-space:nowrap;border-bottom:1px solid var(--ln,#eceef1);font-size:15px;font-weight:600}
  .dc-rec[hidden]{display:none}
  .dc-rec .dc-rec-tag{flex:none;padding:3px 10px;border:1.5px solid var(--lk,#1b64da);border-radius:999px;color:var(--lk,#1b64da);font-size:12px;font-weight:700}
  .dc-rec a{flex:none;color:var(--t2,#4b5260);font-weight:600;text-decoration:none}
  .dc-rec a.first{color:var(--tx,#16181d);font-weight:800}
}
/* 모바일 위쪽 바에는 검색 아이콘이 없다(시안). 홈 검색창이 이 버튼을 눌러 검색을 연다 */
@media(max-width:999px){html body header #bSearch{display:none!important}}

/* 홈 탭: 5개 균등 5등분 (전체·인기·구독·랭킹·클립), 선택은 파란 굵은 글자 + 3px 파란 밑줄 (DCLIST 1) */
@media(max-width:999.98px){
  html body:not(.dc-shell) header #chips{border-bottom:1px solid var(--ln,#eceef1)}
  html body:not(.dc-shell) header #chips .v2tb{display:flex!important;width:100%!important;height:45px!important;box-sizing:border-box!important;padding:0!important;gap:0!important;overflow-x:hidden!important}
  html body:not(.dc-shell) header #chips .v2tb.v2tb>*{flex:1 1 0!important;min-width:0!important;width:20%!important;padding:13px 0 12px!important;text-align:center!important;justify-content:center!important;font-size:16px!important;font-weight:500!important;color:var(--tx,#16181d)!important;box-shadow:none!important;white-space:nowrap!important}
  html body:not(.dc-shell) header #chips .v2tb>.on,html body:not(.dc-shell) header #chips .v2tb>[aria-current=page]{color:var(--lk,#1b64da)!important;font-weight:700!important;box-shadow:inset 0 -3px 0 var(--lk,#1b64da)!important}
}
@media(min-width:1000px){
  html body header #chips{border-bottom:1px solid var(--ln,#eceef1)}
  html body header #chips .v2tb>*{padding:13px 0 12px!important;font-weight:500!important;color:var(--tx,#16181d)!important;box-shadow:none!important}
  html body header #chips .v2tb>.on,html body header #chips .v2tb>[aria-current=page]{color:var(--lk,#1b64da)!important;font-weight:700!important;box-shadow:inset 0 -3px 0 var(--lk,#1b64da)!important}
}

/* 랭킹 탭 행: 왼쪽 순위 번호(1~3위 붉은색) + 정보 줄 맨 앞 조회 칩 (DCLIST 1) */
html body #feed .item>.rank-no{flex:none;width:20px;padding:0!important;white-space:nowrap;font-size:19px;font-weight:700;line-height:28px;color:var(--t3,#6b7280)}
html body #feed .item>.rank-no.top{color:var(--pt,#d92d20)}
html body #feed .item>.rank-no+.body{flex:1;min-width:0}
#feed .item .rank-views{padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--pt,#d92d20) 12%,transparent);color:var(--pt,#d92d20);font-size:14px}
/* PC에서는 왼쪽 메뉴에 영상이 있으므로 홈 탭에서는 숨긴다 */
@media(min-width:1000px){html body header #chips .v2tb>a[href="#/shorts"]{display:none!important}}

/* 목록 행 크기: 디시인사이드 안드로이드 앱 5.3.20(view_post_list_item_basic)의 실제 값. 제목 15, 정보 줄 12, 위아래 8, 제목-정보 3 (dp=px) */
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id]{padding:8px 16px 8px!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .title,html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .title .list-title-text{font-size:max(14px,calc(var(--reading-list-size,16px) - 1px))!important;line-height:1.35!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .list-comment-count{font-size:13px!important;line-height:1.35!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .hf-list-meta,html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .hf-list-meta *{font-size:12px!important;line-height:1.35!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .hf-list-meta{margin-top:2px!important}
/* 썸네일 38px: 썸네일 유무와 상관없이 모든 줄이 54px (8 + 38 + 8) */
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body:has(.thumb){grid-template-columns:minmax(0,1fr) 38px!important;column-gap:12px!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body .thumb{width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;border-radius:12px!important;background:var(--thb)!important}
html:root body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body .thumb :is(img,video){width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important}
/* 채널 화면 (시안 17, 일반 채널 기준): 설명 아래 간격, 탭 40px, 글 N개 줄, 공지 띠 */
html body #featureBody.handoff-channel-page .channel-navigation{display:block!important;padding:0!important}
html body #featureBody.handoff-channel-page .channel-screen-tabs{width:100%;box-sizing:border-box;margin:10px 0 0!important}
html body #featureBody.handoff-channel-page .channel-screen-tabs>button{height:40px!important;padding:12px 0!important;line-height:16px!important}
html body #featureBody.handoff-channel-page .channel-meta:not(.is-info){display:flex!important;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;width:100%;position:static;min-height:48px!important;padding:6px 16px!important;border-bottom:1px solid var(--line);font-size:13px;color:var(--dim)}
html body #featureBody.handoff-channel-page .channel-meta.is-info{display:none!important}
html body #featureBody.handoff-channel-page #channelPostCount{display:inline!important;min-width:0;font-weight:500!important}
html body #featureBody.handoff-channel-page .channel-sort{display:flex;flex:0 0 auto;margin-left:auto}
html body #featureBody.handoff-channel-page .channel-meta #channelSort{flex:0 0 auto;margin-left:auto;padding:10px 0 10px 12px!important;white-space:nowrap;line-height:15px!important}
html body #featureBody.handoff-channel-page .channel-screen-tabs>button[aria-selected=true]{box-shadow:inset 0 -3px var(--lk)!important}
html:root body .channel-notice-strip .notice-chev{display:flex;align-items:center;font-size:16px;line-height:1}


/* Source: /js/site-ui/search-home.css */
/* Search starting page only. Load after section2-search and prototype18-exact. */
html body #spage.portal-search .portal-home.portal-home-start{display:block;min-height:0;max-width:680px;margin:0 auto;padding:24px 24px 20px;box-sizing:border-box;color:var(--tx);background:var(--bg)}
html body #spage.portal-search .portal-home-start .portal-home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:32px;margin:0 0 8px}
html body #spage.portal-search .portal-home-start h2{margin:0;font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.02em}
html body #spage.portal-search .portal-home-start .portal-home-section-heading button{flex:none;min-height:36px;padding:0 4px;border:0;background:none;font:inherit;font-size:13px;color:var(--t2,var(--muted));cursor:pointer}
html body #spage.portal-search .portal-home-start .portal-home-section-heading button:disabled{color:var(--t2,var(--muted));opacity:.6;cursor:default}
html body #spage.portal-search .portal-home-start .portal-recent{height:48px;gap:10px;padding:0;border:0}
html body #spage.portal-search .portal-home-start .portal-recent-ic{width:28px;height:28px;background:none;color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .portal-recent>button[data-query]{font-size:15px;line-height:1.5;color:var(--tx)}
html body #spage.portal-search .portal-home-start .portal-recent>small{font-size:12px;font-variant-numeric:tabular-nums;color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .portal-recent>button[data-remove-recent]{width:40px;height:40px;border:0;background:none}
html body #spage.portal-search .portal-home-start .portal-home-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 0;padding:20px 0 10px;border-top:1px solid var(--ln)}
html body #spage.portal-search .portal-home-start .portal-home-title b{font-size:16px;font-weight:700;line-height:1.5;letter-spacing:-.02em}
html body #spage.portal-search .portal-home-start .p18-search-recommend{margin:0;padding:0}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel{display:flex;align-items:center;gap:12px;height:auto;min-height:72px;padding:12px 0;box-sizing:border-box;border:0;border-bottom:1px solid var(--ln);background:none;color:var(--tx);text-decoration:none}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel:last-child{border-bottom:0}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel-icon{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;overflow:hidden;border-radius:50%;background:var(--s,var(--surface));color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .portal-channel-icon svg{fill:none;stroke:currentColor}
html body #spage.portal-search .portal-home-start .portal-channel-icon img{position:absolute;inset:0;display:block;width:100%;height:100%;background:var(--bg)}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel-copy{display:block;flex:1;min-width:0}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel-copy>b{display:block;font-size:15px;font-weight:600;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel-copy small{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .portal-channel-copy small:empty{display:none}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel>button{flex:none;min-width:62px;width:auto;min-height:36px;height:36px;margin:0;padding:0 12px;border:1px solid var(--ln);border-radius:6px;background:transparent;font:inherit;font-size:13px;font-weight:600;line-height:1;color:var(--tx);white-space:nowrap;cursor:pointer}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel>button.on{border-color:transparent;background:var(--s,var(--surface));color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel>button:disabled{opacity:.6;cursor:wait}
html body #spage.portal-search .portal-home-start .portal-home-message{margin:0;padding:12px 0;font-size:14px;line-height:1.6;color:var(--t2,var(--muted));overflow-wrap:anywhere}
html body #spage.portal-search .portal-home-start .portal-home-message button{display:block;min-height:40px;margin-top:8px;padding:0 12px;border:1px solid var(--ln);border-radius:6px;background:var(--bg);font:inherit;font-size:13px;font-weight:600;color:var(--tx);cursor:pointer}
html body #spage.portal-search .portal-home-start .portal-home-skeleton{display:block;height:48px;margin-top:12px;border-radius:4px;background:var(--s,var(--surface))}
html body #spage.portal-search .portal-home-start .portal-record{position:static;inset:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 0 0;border-top:1px solid var(--ln);background:none}
html body #spage.portal-search .portal-home-start .portal-record button{min-height:40px;padding:0 4px;font-size:13px;line-height:1.5;color:var(--t2,var(--muted))}
html body #spage.portal-search .portal-home-start .portal-record>span{white-space:normal}
html body #spage.portal-search .portal-home-start .portal-trending button{height:48px;padding:0 4px}
html body #spage.portal-search .portal-home-start .portal-trending span{font-size:15px}
html body #spage.portal-search .portal-home-start button:focus-visible,
html body #spage.portal-search .portal-home-start a:focus-visible{outline:2px solid var(--lk);outline-offset:3px}
@media (hover:hover){
 html body #spage.portal-search .portal-home-start button:not(:disabled):hover{background:var(--s,var(--surface));color:var(--tx)}
 html body #spage.portal-search .portal-home-start .portal-channel:hover .portal-channel-copy>b{color:var(--lk)}
}
@media (max-width:599px){
 html body #spage.portal-search .portal-home.portal-home-start{padding:16px 16px 20px}
 html body #spage.portal-search .portal-home-start .portal-home-title{margin-top:16px;padding-top:16px}
 html body #spage.portal-search .portal-home-start .p18-search-recommend .portal-channel>button{min-height:44px;height:44px}
 html body #spage.portal-search .portal-home-start .portal-home-section-heading button{min-height:44px}
 html body #spage.portal-search .portal-home-start .portal-recent>button[data-remove-recent]{width:44px;height:44px}
 html body #spage.portal-search .portal-home-start .portal-record button{min-height:44px}
}


/* Source: /js/site-ui/section2-shorts.css */
/* Section 2: video and its comment sheet. Scoped so core screens keep their layout. */
body.in-shorts{--short-layout-height:100dvh;padding-bottom:0;overflow:hidden}
body.in-shorts #dp-install-banner{display:none!important}
body.in-shorts #xpage:has(>.shortbox){position:relative;height:calc(100dvh - 75px - env(safe-area-inset-bottom))!important;overflow:hidden;transition:height .28s cubic-bezier(.16,1,.3,1)}
body.in-shorts #xpage>.shortbox{height:100%!important;flex:1!important;min-height:0!important}
body.in-shorts #xpage>.short-top{position:absolute;top:0;left:0;right:0;padding:48px 16px 0;display:flex;align-items:center;justify-content:space-between;z-index:12;pointer-events:none;color:#fff}
body.in-shorts .short-top button{border:0;background:transparent;min-height:0;padding:0;color:inherit;pointer-events:auto}
body.in-shorts .short-tabs{display:flex;gap:18px;font-size:16px;font-weight:600;color:rgba(255,255,255,.65)}
body.in-shorts .short-tabs button{font-size:inherit;font-weight:600;line-height:19px}
body.in-shorts .short-tabs button.on{font-weight:800;color:#fff}
body.in-shorts #shortSearch{display:flex;align-items:center;justify-content:center;width:23px;height:23px}
body.in-shorts .short-icon{display:block;width:23px;height:23px;flex:none}
body.in-shorts .shortcard video{object-fit:cover!important;object-position:top!important}
body.in-shorts .short-shade{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.72),transparent 26%,transparent 52%,rgba(0,0,0,.82));pointer-events:none}
body.in-shorts .shortmeta{left:16px!important;right:76px!important;bottom:24px!important;padding:0!important;background:none!important;z-index:5!important;color:#fff}
body.in-shorts .short-who{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body.in-shorts .short-who .idn{display:block;width:28px;height:28px;border-radius:7px}
body.in-shorts .idn .ib{fill:hsl(var(--h) 35% 20%)}
body.in-shorts .idn .if{fill:hsl(var(--h) 75% 68%)}
body.in-shorts .shortmeta button{font-size:17px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:-.025em!important;margin-top:9px!important;text-shadow:none!important}
body.in-shorts .shortmeta p{font-size:13px;line-height:15px;color:rgba(255,255,255,.75);margin:4px 0 0}
body.in-shorts .shortactions{right:12px!important;bottom:84px!important;gap:20px!important}
body.in-shorts .shortactions button{gap:4px!important;min-height:0!important;font-size:12.5px!important;font-weight:700!important;line-height:15px!important}
body.in-shorts .shortactions .action-icon{width:29px!important;height:29px!important;border-radius:0!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
body.in-shorts .shortactions .action-icon svg{width:29px!important;height:29px!important}
body.in-shorts .shortactions b{font-size:12.5px!important;font-weight:700!important;line-height:16px!important;text-shadow:none!important}
body.in-shorts .shortactions button.on .action-icon{background:none!important;border:0!important;color:#ff5a4f!important}
body.in-shorts .shortactions button.on svg{fill:#ff5a4f!important;color:#ff5a4f!important}
body.in-shorts .shortactions button[data-short-scrap].on .action-icon{color:#f5c400!important}
body.in-shorts .shortactions button[data-short-scrap].on svg{fill:#f5c400!important;color:#f5c400!important}
body.in-shorts .short-cat-pill{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;margin-left:6px;font-family:sans-serif}
body.in-shorts .short-title-more{color:rgba(255,255,255,.65);font-weight:500;font-size:15px;margin-left:4px}
body.in-shorts .shortsound{display:flex!important;bottom:20px!important;right:12px!important;width:44px!important;height:44px!important}
body.in-shorts .short-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25);z-index:6}
body.in-shorts .short-progress i{display:block;height:100%;width:0;background:#fff}
body.in-shorts .short-playing{display:none;position:absolute;left:12px;bottom:26px;align-items:center;gap:4px;background:rgba(0,0,0,.55);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:14px;color:#fff}
body.in-shorts .short-playing .short-icon{width:14px;height:14px}
body.in-shorts>nav{height:calc(75px + env(safe-area-inset-bottom));padding:8px 0 calc(22px + env(safe-area-inset-bottom));border-top:1px solid #25282e;background:#101114;backdrop-filter:none;color:#7b818b}
body.in-shorts>nav button{padding:0;min-height:0;gap:3px;justify-content:flex-start}
body.in-shorts>nav button .nl{line-height:13px}
body.in-shorts>nav button.on{color:#f2f3f5}
body.in-shorts>nav button[data-nav=write] svg{background:#f2f3f5;color:#101114}
body.in-shorts>nav .nbadge{top:-5px;left:calc(50% + 5.5px)}
body.in-shorts.short-panel-open>nav{display:none!important}
body.in-shorts #shortSheetBackdrop{display:none!important}
body.in-shorts #shortSheetPanel{background:#101114;color:#f2f3f5;border-radius:18px 18px 0 0;box-shadow:none;max-height:none;max-width:none;padding-top:8px;border:0}
body.in-shorts .short-sheet-drag{cursor:grab}
body.in-shorts .short-sheet-handle{width:40px;height:4px;border-radius:2px;background:#25282e;margin:0 auto 10px}
body.in-shorts .short-sheet-head{padding:0 16px;min-height:20px;font-size:16px;line-height:20px}
body.in-shorts .short-sheet-head b{font-size:16px;font-weight:800;color:#f2f3f5}
body.in-shorts .short-sheet-head b span{font-size:16px;font-weight:700;color:#a2a8b2;margin:0}
body.in-shorts .short-sheet-x{width:20px;height:20px;min-height:0;border:0;border-radius:0;background:none;color:#a2a8b2;padding:0}
body.in-shorts .short-sheet-x svg{width:20px;height:20px}
body.in-shorts .short-sheet-title{padding:3px 16px 0;margin:0;border:0;display:block;font-size:13px;line-height:15px;color:#7b818b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.in-shorts .short-sheet-sort{display:flex;gap:6px;padding:10px 16px 6px;border:0}
body.in-shorts .short-sheet-sort button{border:0;border-radius:999px;padding:5px 12px;background:#17191d;color:#7b818b;font-size:13px;line-height:15px;font-weight:600;min-height:0}
body.in-shorts .short-sheet-sort button.on{background:#25282e;color:#f2f3f5}
body.in-shorts .short-sheet-list{display:block;padding:0;gap:0;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
body.in-shorts .short-c-item{display:flex;align-items:flex-start;gap:9px;padding:12px 16px;border-bottom:1px solid #1d2025;cursor:pointer}
body.in-shorts .short-c-item>.idn{width:24px;height:24px;border-radius:6px;display:block;margin-top:1px}
body.in-shorts .short-c-item.is-reply{gap:9px;padding-left:40px;background:#17191d;border-radius:0}
body.in-shorts .short-c-body{flex:1;min-width:0}
body.in-shorts .short-c-meta{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin:0;font-size:12px;line-height:14px;color:#7b818b}
body.in-shorts .short-c-author{color:#a2a8b2;font-weight:400;font-size:12px;line-height:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body.in-shorts .short-c-time{color:#7b818b;font-size:12px;line-height:14px;display:inline;margin:0}
body.in-shorts .short-c-text{font-size:14.5px;line-height:1.5;margin-top:2px;color:#f2f3f5;word-break:normal;white-space:pre-wrap}
body.in-shorts .short-c-acts{display:flex;align-items:center;gap:14px;margin-top:5px;color:#7b818b;font-size:12px;line-height:14px}
body.in-shorts .short-c-acts button{display:flex;align-items:center;gap:4px;min-height:0;height:auto;padding:0;border:0;border-radius:0;background:none;font-size:12px;line-height:14px;font-weight:400;color:#7b818b}
body.in-shorts .short-c-acts b{font-weight:400;line-height:15px}
body.in-shorts .short-c-acts svg{width:13px;height:13px}
body.in-shorts .short-c-like.on{color:#ff5a4f}
body.in-shorts .short-c-like.on svg{fill:currentColor}
body.in-shorts .short-c-more{margin:0 0 0 45px;padding:8px 4px;min-height:0;font-size:12px;line-height:16px;color:#3182f6}
body.in-shorts .short-sheet-empty,body.in-shorts .short-sheet-loading{padding:48px 24px 0;text-align:center;font-size:14px;line-height:1.7;color:#7b818b}
body.in-shorts .short-sheet-form{display:flex;align-items:center;gap:10px;padding:10px 16px calc(24px + env(safe-area-inset-bottom));border-top:1px solid #25282e;background:#101114;margin:0;flex-shrink:0}
body.in-shorts #shortSheetMe{display:block;width:30px;height:30px;flex:none}
body.in-shorts #shortSheetMe .idn{display:block;width:30px;height:30px;border-radius:8px}
body.in-shorts #shortSheetInput{flex:1;min-width:0;height:auto;min-height:0;border:0;border-radius:20px;padding:10px 14px;background:#17191d;color:#f2f3f5;font-size:14.5px!important;line-height:17px;outline:none;box-shadow:none}
body.in-shorts #shortSheetInput::placeholder{color:#7b818b;opacity:1}
body.in-shorts #shortSheetSubmit{display:block;width:auto;height:auto;min-height:0;flex:none;border:0;border-radius:999px;padding:8px 14px;background:#f2f3f5;color:#101114;font-size:13.5px;font-weight:700;line-height:16px;opacity:1;transform:none}
body.in-shorts #shortSheetSubmit:disabled{background:#1d2025;color:#7b818b;opacity:1;cursor:default}
body.in-shorts .short-sheet-reply{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 16px;border-top:1px solid #25282e;background:#17191d;color:#a2a8b2;font-size:12.5px;line-height:16px}
body.in-shorts .short-sheet-reply[hidden]{display:none}
body.in-shorts .short-sheet-reply b{font-weight:700;color:#f2f3f5}
body.in-shorts .short-sheet-reply button{width:16px;height:16px;min-height:0;padding:0;border-radius:0;background:none;color:#7b818b}
body.in-shorts .short-sheet-reply button svg{width:16px;height:16px}
@media(max-width:999px){
 body.in-shorts.short-panel-open #xpage:has(>.shortbox){height:calc(var(--short-layout-height) * .38)!important}
 body.in-shorts.short-panel-open .short-tabs,body.in-shorts.short-panel-open #shortSearch{visibility:hidden}
 body.in-shorts.short-panel-open .shortcard video{object-fit:cover!important;object-position:center 22%!important}
 body.in-shorts.short-panel-open .short-shade,body.in-shorts.short-panel-open .short-progress{display:none}
 body.in-shorts.short-panel-open .short-playing{display:flex}
 body.in-shorts .short-sheet-panel{height:calc(var(--short-layout-height) * .62 + 18px);bottom:0;left:max(0px,calc((100vw - 560px)/2));right:auto;width:min(560px,100vw);margin:0}
 body.in-shorts.short-keyboard-open #xpage:has(>.shortbox){height:calc(var(--short-layout-height) * .13)!important}
 body.in-shorts.short-keyboard-open #shortSheetPanel{top:calc(var(--short-layout-height) * .13 - 18px);bottom:auto;height:calc(var(--short-visible-height) - var(--short-layout-height) * .13 + 18px)}
 body.in-shorts.short-keyboard-open .short-playing{display:none}
 body.in-shorts.short-keyboard-open .short-sheet-form{padding-bottom:10px}
}
@media(min-width:1000px){
 body.in-shorts #shortSheetPanel{top:56px;bottom:0;left:var(--dside-left);right:auto;width:300px;max-width:300px;height:auto;max-height:none;margin:0;border-radius:0;border:0;border-left:1px solid #25282e;padding-top:16px;transform:translateX(24px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s ease}
 body.in-shorts #shortSheetPanel.is-open{transform:none;opacity:1;pointer-events:auto}
 body.in-shorts .short-sheet-handle{display:none}
 body.in-shorts .short-sheet-drag{cursor:default}
 html body.in-shorts .shortcard video,html body.in-shorts.short-panel-open .shortcard video{object-fit:contain!important;object-position:center!important}
}
@media(prefers-reduced-motion:reduce){body.in-shorts #xpage:has(>.shortbox),body.in-shorts #shortSheetPanel{transition:none!important}}

/* The player occupies the actual app pane, below the PC header. */
html body.in-shorts>#appScroll{overflow:hidden}
/* The outer frame must not become a focus-scroll container; only shortBox scrolls. */
html body.in-shorts #appScroll>#xpage:has(>.shortbox){width:100%!important;height:100%!important;overflow:clip}
body.in-shorts #xpage>.short-top{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 12px 0;align-items:center}
body.in-shorts .short-top .short-tabs{justify-content:center}
body.in-shorts #shortExit,body.in-shorts #shortSearch{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;pointer-events:auto;text-decoration:none}
body.in-shorts #shortExit:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(min-width:1000px){body.in-shorts #xpage>.short-top{padding-top:12px}}
@media(max-width:999px){
 html body.in-shorts.short-panel-open #appScroll>#xpage:has(>.shortbox){height:38%!important}
 html body.in-shorts.short-keyboard-open #appScroll>#xpage:has(>.shortbox){height:13%!important}
}

/* v11 player frame and controls; dimensions follow the source video template. */
html body.in-shorts #xpage>.short-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 12px) 14px 0;pointer-events:none}
html body.in-shorts #xpage .short-top #shortExit,html body.in-shorts #xpage .short-top #shortSound{position:static!important;flex:none;display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;min-height:0;padding:0;border:0!important;border-radius:50%!important;background:rgba(0,0,0,.45)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#fff;pointer-events:auto}
html body.in-shorts #xpage .short-top :is(#shortExit,#shortSound) svg{width:22px;height:22px}
html body.in-shorts .short-tabs{gap:18px;font-size:16px;font-weight:700;color:#8f949b}
html body.in-shorts .short-tabs button{font-weight:700;line-height:normal}
html body.in-shorts .short-tabs button.on{font-weight:700;color:#fff}
html body.in-shorts #xpage .shortmeta{bottom:calc(env(safe-area-inset-bottom) + 34px)!important}
html body.in-shorts #xpage .shortmeta button{font-size:18px!important}
html body.in-shorts #xpage .shortmeta p{line-height:normal}
html body.in-shorts #xpage .short-who{gap:8px;font-size:14px}
html body.in-shorts #xpage .short-who .idn{border-radius:6px}
html body.in-shorts #xpage .short-who .idn .ib{fill:hsl(var(--h) 35% 20%)!important}
html body.in-shorts #xpage .short-who .idn .if{fill:hsl(var(--h) 75% 68%)!important}
html body.in-shorts #xpage .shortactions{right:14px!important;bottom:calc(env(safe-area-inset-bottom) + 34px)!important;gap:22px!important;width:44px;font-size:13px;font-weight:700}
html body.in-shorts #xpage .shortactions button{font-size:13px!important;line-height:normal!important;gap:4px!important}
html body.in-shorts #xpage .shortactions b{font-size:13px!important;line-height:normal!important}
html body.in-shorts #xpage .shortactions .action-icon{width:29px!important;height:29px!important;border:0!important;background:none!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;filter:none!important}
html body.in-shorts #xpage .shortactions .action-icon svg{width:29px!important;height:29px!important}
html body.in-shorts #xpage .shortactions button:active .action-icon{transform:none!important}
html body.in-shorts #xpage .short-progress{bottom:calc(env(safe-area-inset-bottom) + 10px);height:3px}
html body.in-shorts #xpage .shortcard video{object-fit:cover!important;object-position:top!important}
@media(min-width:1000px){
 html body.in-shorts #appScroll>#xpage:has(>.shortbox){justify-content:center;align-items:center;background:var(--s)!important}
 html body.in-shorts #appScroll>#xpage>.shortbox{flex:none!important;width:auto!important;max-width:100%;height:calc(100% - 32px)!important;aspect-ratio:9/16;border-radius:16px}
 html body.in-shorts #xpage>.short-top{top:16px;left:50%;right:auto;transform:translateX(-50%);width:min(100%,calc((100dvh - 88px)*9/16))}
}
html body #sheetbg.short-share-sheet{left:50%;right:auto;width:calc(100% - 2px);max-width:1318px;transform:translateX(-50%)}
html body #sheetbg.short-share-sheet>.sheet{width:100%;max-width:560px;padding:10px 0 20px;background:var(--bg);border:0;box-shadow:none}
html body #sheetbg.short-share-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg.short-share-sheet h3{padding:0 16px;margin:0;font-size:18px;font-weight:700;line-height:normal}
html body #sheetbg.short-share-sheet p{padding:0 16px;margin:4px 0 6px;color:var(--t3);font-size:13px;line-height:1.6}
html body #shortCopyLink{display:flex;align-items:center;gap:14px;width:100%;padding:14px 20px;border:0;background:none;color:var(--tx);font-size:16px;font-weight:400;line-height:normal}
html body #shortCopyLink svg{flex:none}
html body #shortCopyLink span{flex:1;text-align:left}
/* Toast geometry and palette are shared by handoff-common.css. */
@media(max-width:999px){html body #sheetbg.short-share-sheet{max-width:558px}}

/* v11 comments are a pane alongside (PC) or below (mobile) the player. */
html body.in-shorts #appScroll>#xpage:has(>.shortbox){--short-pane-width:calc(min(810px,calc(100vw - 510px)) - 2px);--short-comment-panel-width:clamp(360px,calc(var(--short-pane-width) * .55),460px);--short-comment-video-width:min(calc((100dvh - 88px)*9/16),calc(var(--short-pane-width) - var(--short-comment-panel-width) - 40px))}
html body.in-shorts #xpage>#shortSheetPanel{position:absolute;display:flex;flex-direction:column;min-height:0;max-height:none;max-width:none;margin:0;padding:0;overflow:hidden;background:var(--bg);color:var(--tx);box-shadow:none}
html body.in-shorts #xpage>#shortSheetPanel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
html body.in-shorts #xpage .short-sheet-drag{flex:none;cursor:default}
html body.in-shorts #xpage .short-sheet-head{display:flex;justify-content:space-between;align-items:center;min-height:0;padding:8px 12px 0 20px;font-size:16px;line-height:normal}
html body.in-shorts #xpage .short-sheet-head b,html body.in-shorts #xpage .short-sheet-head b span{font-size:16px;font-weight:700;color:var(--tx)}
html body.in-shorts #xpage .short-sheet-x{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;background:none;color:var(--t2)}
html body.in-shorts #xpage .short-sheet-x svg{width:22px;height:22px}
html body.in-shorts #xpage .short-sheet-subhead{display:flex;justify-content:space-between;gap:8px;padding:0 20px 12px;border-bottom:1px solid var(--ln);font-size:13px;color:var(--t3)}
html body.in-shorts #xpage .short-sheet-title{flex:1;min-width:0;padding:0;margin:0;color:var(--t3);font-size:13px;line-height:normal}
html body.in-shorts #xpage .short-sheet-sort{display:flex;flex:none;gap:8px;padding:0;border:0}
html body.in-shorts #xpage .short-sheet-sort button{min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--t3);font-size:13px;font-weight:700;line-height:normal}
html body.in-shorts #xpage .short-sheet-sort button.on{background:none;color:var(--tx)}
html body.in-shorts #xpage .short-c-item{gap:12px;padding:16px 20px;border-bottom:1px solid var(--ln2);background:transparent}
html body.in-shorts #xpage .short-c-item.is-reply{padding-left:40px;background:var(--s)}
html body.in-shorts #xpage .short-c-item>.idn{width:24px;height:24px;margin-top:0;border-radius:6px;flex:none}
html body.in-shorts #xpage .short-c-meta{display:block;font-size:12px;line-height:normal;color:var(--t3)}
html body.in-shorts #xpage .short-c-author{font-size:13px;line-height:normal;color:var(--t2);font-weight:700}
html body.in-shorts #xpage .short-c-text{margin:4px 0 0;font-size:16px;line-height:1.6;color:var(--tx);overflow-wrap:anywhere}
html body.in-shorts #xpage .short-c-time{display:block;margin:4px 0 0;font-size:12px;line-height:normal;color:var(--t3)}
html body.in-shorts #xpage .short-sheet-form{display:block;flex:none;margin:0;padding:12px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--ln);background:var(--bg)}
html body.in-shorts #xpage .short-sheet-compose{gap:8px;min-height:56px;padding:6px 6px 6px 14px;background:var(--s);border-radius:12px}
html body.in-shorts #xpage .short-sheet-form input{padding:0!important;border:0;border-radius:0;background:none;color:var(--tx);font-family:inherit;font-size:16px!important;font-weight:400;line-height:normal}
html body.in-shorts #xpage .short-sheet-form button{padding:11px 18px;border:0;background:var(--ctl);color:var(--on);font-size:15px;font-weight:700;line-height:normal;border-radius:10px}
html body.in-shorts #xpage .short-sheet-form button:disabled{background:var(--ln);color:var(--t3)}
html body.in-shorts #xpage #shortSheetSubmit{flex:none;min-width:56px;min-height:44px;padding:10px 14px;border-radius:8px}
html body.in-shorts #xpage .short-author-fields{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}
html body.in-shorts #xpage .short-author-fields:empty{display:none}
html body.in-shorts #xpage .short-author-fields label{display:inline-flex;align-items:center;gap:8px;min-height:32px;font-size:13px;line-height:1.5;color:var(--t2)}
html body.in-shorts #xpage .short-author-fields input[type=checkbox]{flex:none;width:16px;height:16px;min-height:16px;margin:0;padding:0!important;accent-color:var(--lk)}
html body.in-shorts #xpage .short-author-fields>input:not([hidden]){flex:1 1 96px;min-height:40px;padding:8px 10px!important;border:1px solid var(--ln);border-radius:6px;background:var(--bg)}
html body.in-shorts #xpage .short-sheet-reply{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 20px;border:0;background:var(--bg);color:var(--t2);font-size:13px;font-weight:400;line-height:1.5}
html body.in-shorts #xpage .short-sheet-reply[hidden]{display:none}
html body.in-shorts #xpage .short-sheet-reply b{font-weight:800;color:var(--lk)}
html body.in-shorts #xpage .short-sheet-reply button{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;max-width:calc(100% - 72px);height:44px;min-height:44px;margin:0;padding:0 8px;border-radius:6px;background:var(--s);color:var(--tx)}
html body.in-shorts #xpage .short-reply-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.in-shorts #xpage .short-reply-chip svg{flex:none}
html body.in-shorts #xpage :is(.short-sheet-x,.short-reply-chip,#shortSheetSubmit):focus-visible,html body.in-shorts #xpage .short-sheet-compose:focus-within{outline:2px solid var(--lk);outline-offset:2px}
html body.in-shorts #xpage .short-sheet-reply button svg{width:20px;height:20px}
html body.in-shorts #xpage .short-sheet-empty,html body.in-shorts #xpage .short-sheet-loading{padding:48px 24px;text-align:center;font-size:14px;line-height:normal;color:var(--t3)}
html body.in-shorts #xpage .short-c-more{display:block;width:calc(100% - 40px);margin:0 0 0 40px;padding:10px 16px;background:var(--s);color:var(--lk);font-size:14px;font-weight:700;text-align:left;border-radius:0}
html body.in-shorts #xpage #shortCommentsMore{display:block;width:calc(100% - 32px);margin:12px 16px;padding:12px 16px;border:1px solid var(--ln);border-radius:12px;background:var(--bg);color:var(--t2);font-size:14px}
@media(max-width:1179px){
 html body.in-shorts.short-panel-open #appScroll>#xpage:has(>.shortbox){height:100%!important;justify-content:flex-start}
 html body.in-shorts.short-panel-open #appScroll>#xpage>.shortbox{flex:none!important;width:100%!important;height:34%!important;aspect-ratio:auto;margin-right:0}
 html body.in-shorts.short-panel-open #xpage>.short-top,html body.in-shorts.short-panel-open #xpage .shortactions,html body.in-shorts.short-panel-open #xpage .shortmeta{display:none!important}
 html body.in-shorts.short-panel-open #xpage .short-shade,html body.in-shorts.short-panel-open #xpage .short-progress{display:block}
 html body.in-shorts.short-panel-open #xpage .short-playing{display:flex;top:12px;left:12px;bottom:auto;padding:4px 10px;font-size:12px;line-height:normal}
 html body.in-shorts.short-panel-open #xpage .short-playing svg{display:none}
 html body.in-shorts #xpage>#shortSheetPanel{top:34%;bottom:0;left:0;right:0;width:100%;height:auto;border:0;border-radius:16px 16px 0 0}
}
@media(min-width:1180px){
 html body.in-shorts.short-panel-open #appScroll>#xpage>.shortbox{width:var(--short-comment-video-width)!important;aspect-ratio:auto;margin-right:calc(var(--short-comment-panel-width) + 16px)}
 html body.in-shorts.short-panel-open #xpage>.short-top{left:calc(50% - (var(--short-comment-panel-width) + 16px)/2);width:var(--short-comment-video-width)}
 html body.in-shorts #xpage>#shortSheetPanel{top:16px;bottom:16px;left:calc(50% + var(--short-comment-video-width)/2 - var(--short-comment-panel-width)/2 + 8px);right:auto;width:var(--short-comment-panel-width);height:auto;border:1px solid var(--ln);border-radius:16px}
}


/* Source: /css/mobile-handoff.css */
/* Mobile dimensions from Dampick.dc.html. Keep feed and large-photo preferences. */
html[data-theme=light] body{--bg:#fff;--surface:#f6f7f9;--elev:#f6f7f9;--line:#eceef1;--ln2:#f2f3f5;--text:#16181d;--muted:#4e5560;--dim:#6b7280;--pt:#d92d20;--blue:#1b64da;--thb:#eef0f2;--accent:#16181d;--on-accent:#fff}
html[data-theme=dark] body{--bg:#25272a;--surface:#2d3034;--elev:#2d3034;--line:#3c4045;--ln2:#33363a;--text:#eceef0;--muted:#b0b5bb;--dim:#8f949b;--pt:#ff6a5f;--blue:#6aa8ff;--thb:#33363a;--accent:#eceef0;--on-accent:#25272a}
.mobile-header-link{display:none}
body:is(.in-x,.in-detail,.in-search,.in-shorts,.menu-open) #dpDigest{display:none!important}
.channel-category-icon svg{width:26px;height:26px}
body #featureBody #channelGroups{gap:0}
body #featureBody #channelGroups button{flex:1;min-height:0;padding:12px 0;font-size:14px;font-weight:600;text-align:center}
body #featureBody #channelGroups button:after{left:0;right:0}
.handoff-channel-cover{position:relative;margin:0 -16px 30px}
body .handoff-channel-cover .channel-hero-photo{width:100%!important;height:auto!important;aspect-ratio:3.2/1;min-height:112px;max-height:260px;margin:0!important}
body .handoff-channel-cover .channel-hero-photo:after{display:none}
body .handoff-channel-cover .channel-official-cover>svg{position:absolute;right:24px;top:50%;margin-top:-60px;width:120px;height:120px;opacity:.22;color:#fff}
body .handoff-channel-cover>.channel-avatar{position:absolute;left:16px;bottom:-26px;width:56px!important;height:56px!important;border-radius:16px!important;border:3px solid var(--bg)!important;display:grid;place-items:center}
body .handoff-channel-cover>.channel-avatar svg{width:28px;height:28px}
body .handoff-channel-cover+.channel-hero-identity{margin-top:0!important;align-items:flex-start!important;gap:12px!important}
body .handoff-channel-cover+.channel-hero-identity>div:first-child{flex:1;min-width:0;padding:6px 0 0}
body .handoff-channel-cover+.channel-hero-identity h2{font-size:22px!important;line-height:1.25!important;font-weight:800;letter-spacing:-.03em}
body #channelInfo .channel-actions{margin:6px 0 0;gap:8px;flex:none;flex-wrap:nowrap}
body #channelInfo .channel-actions #channelSubscribe{flex:none;height:38px;min-height:38px;min-width:0;padding:0 18px;border-radius:999px;font-size:14px;font-weight:700;background:var(--accent);color:var(--on-accent)}
body #channelInfo .channel-actions #channelAlert{width:38px;height:38px;min-width:0;min-height:38px;flex:0 0 38px;border:0;background:var(--elev);color:var(--muted)}
body #channelInfo .channel-actions #channelAlert:disabled{opacity:1;cursor:default}
body #channelInfo .channel-actions #channelAlert[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}
body #channelInfo .channel-actions #channelAlert svg{width:18px;height:18px}
body #channelInfo .channel-description{font-size:14px!important;line-height:1.55!important;margin:10px 0 4px!important;color:var(--muted)}
body #featureBody .channel-screen-tabs{display:flex;flex-wrap:wrap;gap:8px;overflow:visible;padding:8px 0;border:0;margin:0}
body #featureBody .channel-screen-tabs>button{min-height:0;padding:10px 16px;border:0;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}
body #featureBody .channel-screen-tabs>button[aria-selected=true]{background:var(--elev);color:var(--text);font-weight:700}
body #featureBody .channel-screen-tabs #channelSort{margin-left:auto;font:inherit;font-size:14px;font-weight:600;border:0;background:transparent;color:var(--muted);padding:10px 0;max-width:100%}
body #featureBody .channel-screen-tabs #channelWrite{font-size:14px;padding:10px 16px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:700;text-decoration:none;border:0}
body #featureBody .channel-toolbar[hidden],body #featureBody #channelSearch[hidden]{display:none!important}
body #featureBody #channelSearch{margin:8px 0}
body #channelInformation .handoff-channel-about,body #channelInformation .handoff-channel-rule{padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
body #channelInformation .handoff-channel-about>b{font-size:15px;font-weight:700}
body #channelInformation :is(.handoff-channel-about,.handoff-channel-rule)>p{margin-top:4px;line-height:1.55;color:var(--dim);font-size:13px}
body #channelInformation .frow{font-size:14px;justify-content:space-between}
body #channelInformation .frow>b{font-weight:400}
body #channelFeed.channel-media-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0 -16px}
body #channelFeed.channel-media-grid .item{border-radius:0}
body #xpage .wc .wc-body{padding:14px 16px;min-height:230px;flex:1}
body #xpage .wc #wBlocks{min-height:230px;font-size:16px;line-height:1.6}
body #xpage .wc #wBlocks[data-empty=true]:before{font-size:16px;line-height:1.6}
body #xpage .wc>.wc-anon{display:none}
body #xpage .wc .wc-tools{gap:24px!important;padding:12px 16px 16px!important;overflow-x:auto;align-items:center;background:var(--bg)!important;backdrop-filter:none!important;border-bottom:0!important}
body #xpage .wc .wc-tools>button{width:auto!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;min-height:20px;display:flex;gap:6px;align-items:center;background:none!important;color:var(--muted);font-size:13px;font-weight:400;flex:none;white-space:nowrap}
body #xpage .wc .wc-tools>button svg{width:20px;height:20px}
body #xpage .wc .wc-tools .wc-len{margin-left:auto;font-size:12px;flex:none}
body #xpage .wc .wc-tools #wSet{margin:0;order:0;border:0;background:none}
body #xpage .wc .wc-draft{padding:12px 14px;border-radius:12px;font-size:13px;font-weight:400}
body #xpage .wc .wc-draft #wLoad{padding:8px 12px;font-size:13px}
body #xpage .wc .wc-draft #wDrop{font-size:13px;text-decoration:none}
body #xpage .wc .wc-board-wrap{padding:12px 0 0!important}
body #xpage .wc .wc-category-picker{padding:14px 16px;font-size:16px;min-height:0}
@media(max-width:999px){
 html body:not(.dc-shell){width:100%;max-width:560px!important;margin:0 auto!important;box-shadow:none!important;--dim:#6b7280;--muted:#4e5560;--pt:#d92d20}
 html[data-theme=dark] body:not(.dc-shell){--dim:#8f949b;--muted:#b0b5bb;--pt:#ff6a5f;--surface:#2d3034;--elev:#2d3034;--line:#3c4045}
 html body:not(.dc-shell):not(.in-x):not(.in-search):not(.in-detail)>header .top{padding:calc(16px + env(safe-area-inset-top)) 16px 6px!important;min-height:0;gap:8px}
 body:not(.dc-shell) header .top>.brand{flex:none}
 body:not(.dc-shell) header .brand img{width:94px!important;height:26px!important;object-fit:contain}
 body:not(.dc-shell) header .top>div{gap:16px!important;align-items:center}
 body:not(.dc-shell) header .ibtn{width:25px!important;height:25px!important;flex:none;color:var(--muted)}
 body:not(.dc-shell) header .ibtn svg{width:25px!important;height:25px!important}
 body:not(.dc-shell) .mobile-header-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
 body:not(.dc-shell) #chips .v2cats{padding:2px 56px 0 16px;position:relative;gap:18px}
 body:not(.dc-shell) #chips .v2cats button{font-size:16px;padding:8px 0 11px}
 body:not(.dc-shell) #chips .v2cats button.on:after{display:block;height:3px;background:var(--pt)}
 body:not(.dc-shell) #chips .v2cats .ex{position:sticky;right:-56px;min-width:44px;padding:0 14px 4px 28px;margin-left:auto}
 body:not(.dc-shell) #chips .v2tb{display:flex!important;width:100%!important;gap:0!important;padding:0!important;border-bottom:1px solid var(--line);overflow-x:auto!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 body:not(.dc-shell) #chips .v2tb>:is(button,a){flex:1 1 0!important;min-width:0!important;width:20%!important;font-size:15px!important;padding:12px 0!important;border-radius:0!important;line-height:normal;color:var(--dim);text-decoration:none;text-align:center!important;justify-content:center!important;display:inline-flex!important;align-items:center!important}
 body:not(.dc-shell) #chips #bLive{font-size:12px;white-space:nowrap;padding:8px 0;margin-left:auto}
 body:not(.dc-shell) #chips .v2tb::-webkit-scrollbar{display:none}
 body:not(.dc-shell)>nav{max-width:560px;background:var(--bg);padding:10px 0 max(16px,env(safe-area-inset-bottom))!important;align-items:center}
 body:not(.dc-shell)>nav button{min-height:42px!important;gap:4px!important;font-size:12px;padding:0!important;justify-content:center!important}
 body:not(.dc-shell)>nav button svg.lu{width:26px;height:26px}
 body:not(.dc-shell)>nav button[data-nav=write] svg.lu{width:36px;height:36px;padding:9px;border-radius:10px}
 body:not(.dc-shell)>nav button[data-nav=write] .nl{display:none}
 body:not(.dc-shell) :is(.dfoot,.xcta,#shorts){max-width:560px}
 body:not(.dc-shell) #toast{max-width:calc(100% - 32px);white-space:normal;overflow-wrap:anywhere}
 body:not(.dc-shell) :is(#featureBody,#serviceBody,#channelInformation){min-width:0;overflow-wrap:anywhere}
 body:not(.dc-shell) #channelInformation .frow>*{min-width:0}
 body:not(.dc-shell) #channelFeed.channel-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
 body:not(.dc-shell) .channel-hero-photo{aspect-ratio:3.2/1;height:auto;min-height:112px;max-height:260px}
 body:not(.dc-shell) .channel-hero-identity .channel-avatar{width:56px;height:56px;border:3px solid var(--bg);border-radius:16px}
 body:not(.dc-shell) .channel-hero-identity{min-width:0}
 body:not(.dc-shell) .channel-hero-identity>div{min-width:0;overflow-wrap:anywhere}
 body:not(.dc-shell) :is(.channel-toolbar,#channelSearch,#channelInformation,#channelMore)[hidden]{display:none!important}
 body:not(.dc-shell) .channel-screen-tabs{gap:24px;scrollbar-width:none}
 body:not(.dc-shell) .channel-screen-tabs button{min-height:48px}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item,
 body:not(.dc-shell)[data-feed-view=board] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item{padding:14px 16px!important;min-width:0}
 body:not(.dc-shell):is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .body{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-items:center;align-content:center;min-width:0;padding:0!important}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .body:has(.thumb){grid-template-columns:minmax(0,1fr) 56px!important;column-gap:12px}
 body:not(.dc-shell):is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .title{font-size:17px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:-.025em;margin:0!important;grid-row:1;grid-column:1;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 body:not(.dc-shell):is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item :is(.meta,.listing-meta,.list-comment-count,.acts,.ex,.list-thumb-empty){display:none!important}
 body:not(.dc-shell):is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .dc-list-meta{display:block;grid-row:2;grid-column:1;min-width:0;margin-top:6px;font-size:14px;line-height:20px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body:not(.dc-shell) .dc-list-meta b{color:var(--pt);font-weight:600}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .body .thumb{display:block!important;grid-row:1/span 2;grid-column:2;width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;margin:0!important;border:0;border-radius:10px;overflow:hidden;position:relative;aspect-ratio:1}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .item .thumb :is(img,video){width:100%!important;height:100%!important;min-height:0!important;object-fit:cover}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .thumb [data-feed-mute]{display:none}
 body:not(.dc-shell)[data-feed-view=thumb] :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed) .feed-video:after{display:none!important;content:none!important}
 body:not(.dc-shell)[data-feed-view=board] #subscribedFeed .thumb{display:none}
 body:not(.dc-shell) #channelFeed.channel-media-grid .dc-list-meta{display:none!important}
}
@media (min-width: 600px) and (max-width: 999px){
 html body:not(.dc-shell){max-width:720px!important;width:100%}
 body:not(.dc-shell)>nav,body:not(.dc-shell) :is(.dfoot,.xcta,#shorts){max-width:720px}
}
@media(prefers-reduced-motion:reduce){.mobile-header-link,.channel-screen-tabs{transition:none!important;scroll-behavior:auto!important}}

/* 목록 줄 메타: 분류는 굵게 보조색, 댓글은 10개 이상일 때만 빨강 굵게 (시안) */
html body .dc-list-meta .dc-cat { font-weight: 600; color: #4e5560; }
html[data-theme=dark] body .dc-list-meta .dc-cat { color: #b0b5bb; }
html body:not(.dc-shell) .dc-list-meta b, html body.dc-shell .dc-list-meta b { font-weight: 700; }

/* 공지 배너: 시안 값 (노란 알약 배지, 안쪽 여백 10px 14px, 닫기 아이콘 작게) */
html body #appNotice .notice-badge { background: #f5c400 !important; color: #3d3300 !important; font-weight: 700 !important; }
html body:not(.dc-shell) #appNotice { padding: 10px 14px !important; }
html body:not(.dc-shell) #appNotice button { width: 24px !important; height: 24px !important; margin: -3px 0 !important; }

/* PC 목록 줄: 시안 값 (제목 17px/500, 줄간격 1.4, 자간 -.025em, 메타 14px 위 간격 6px) */
body.dc-shell[data-feed-view=thumb] #feed .title, body.dc-shell[data-feed-view=board] #feed .title { font-size: 17px !important; line-height: 1.4 !important; letter-spacing: -.025em; }
body.dc-shell[data-feed-view=thumb] #feed .item .body, body.dc-shell[data-feed-view=board] #feed .item .body { row-gap: 6px; }
body.dc-shell #feed .dc-list-meta { font-size: 14px; line-height: 1.2; }
body:not(.dc-shell) .dc-list-meta { line-height: 1.2 !important; }


/* Source: /css/handoff-common.css */
/* Shared motion values from the current Dampick.dc.html handoff. */
/* Suppress accidental double-tap zoom while retaining browser panning and pinch zoom. */
html,body,body *{touch-action:manipulation}
body{--ctl:var(--accent);--on:var(--on-accent);--s:var(--surface);--ln:var(--line);--tx:var(--text);--t2:var(--muted);--t3:var(--dim);--lk:var(--blue)}
/* User-facing black theme. Legacy names are aliases of the same palette. */
html[data-theme=dark]{--bg:#000000!important;background:var(--bg);color-scheme:dark}
html[data-theme=dark] body:not(.admin-points-view){--bg:#000000!important;--s:#121214!important;--ln:#2a2c30!important;--ln2:#1c1d20!important;--thb:#1c1d20!important;--tx:#eceef0!important;--t2:#b3b8be!important;--t3:#8a8f96!important;--pt:#ff6a5f!important;--lk:#6aa8ff!important;--ctl:#eceef0!important;--on:#000000!important;--surface:var(--s)!important;--elev:var(--s)!important;--line:var(--ln)!important;--line2:var(--ln2)!important;--text:var(--tx)!important;--muted:var(--t2)!important;--dim:var(--t3)!important;--blue:var(--lk)!important;--accent:var(--ctl)!important;--on-accent:var(--on)!important;background:var(--bg);color:var(--tx)}
@keyframes hfFade{from{opacity:0}to{opacity:1}}
@keyframes hfSheet{from{transform:translateY(28px);opacity:.6}to{transform:translateY(0);opacity:1}}
@keyframes hfToast{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes hfPopup{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
body button,body [role=button],body a,body .item{transition:background-color .15s,box-shadow .15s,opacity .15s,transform .12s}
html body :is(button,[role=button],a):active{transform:scale(.98)!important}
body .sheetbg{animation:hfFade .2s ease-out}
body .sheetbg>.sheet{animation:hfSheet .26s cubic-bezier(.2,.8,.2,1);border-radius:20px 20px 0 0}
body .sheetbg.closing{transition:opacity .2s ease}
body .sheetbg.closing>.sheet{transform:translateY(28px);transition:transform .2s ease}
/* Base sheets share the prototype geometry; dedicated screen styles win. */
body .hf-base-sheet{background:rgba(0,0,0,.45)}
body .hf-base-sheet>.sheet{max-width:560px;max-height:88%;padding:10px 0 20px;border:0;border-radius:20px 20px 0 0;background:var(--bg);color:var(--tx);overflow-y:auto}
body .hf-base-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
body .hf-base-sheet>:where(.sheet)>h3{margin:0;padding:0 16px;font-size:18px;font-weight:700}
body .hf-base-sheet>:where(.sheet)>p{margin:4px 0 6px;padding:0 16px;font-size:13px;line-height:1.6;color:var(--t3)}
body .hf-base-sheet>.sheet>:where(.row){padding-right:16px;padding-left:16px}
body #toast[aria-hidden=false]{animation:hfToast .22s ease-out;translate:none;transition:none!important}
body #toast{position:fixed!important;top:auto!important;bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;width:max-content;max-width:min(480px,calc(100vw - 32px))!important;box-sizing:border-box;padding:12px 16px!important;border:1px solid var(--line);border-radius:14px!important;background:var(--surface)!important;color:var(--text)!important;font-size:14px!important;font-weight:600;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left;box-shadow:0 6px 24px rgba(0,0,0,.18);display:flex;align-items:center;gap:8px;pointer-events:none!important;z-index:99999!important}
@media(min-width:1000px){body.dc-shell #toast{left:calc(var(--desk-body-left) + var(--dc-main-width)/2)!important}}
#homeWrite{display:none}
#mobileHeaderNoti{position:relative}
#mobileHeaderNoti.has-unread:after{content:'';position:absolute;top:0;right:1px;width:8px;height:8px;border-radius:50%;background:var(--pt);box-shadow:0 0 0 2px var(--bg)}
@media(max-width:999px){
 html body>header .top{height:auto!important;min-height:0!important;padding:16px 16px 6px!important}
 html body>header .top .brand img{width:94px!important;height:26px!important}
 html body>header .top>div{gap:16px!important;align-items:center}
 html body>header .top :is(.ibtn,.mobile-header-link){width:25px!important;height:25px!important;min-height:0!important;padding:0!important;border-radius:0}
 html body>header .top :is(.ibtn,.mobile-header-link) svg{width:25px!important;height:25px!important}
 html body:not(.in-x):not(.in-search):not(.in-detail)>#homeWrite{display:none;align-items:center;justify-content:center;position:fixed;right:max(16px,calc((100vw - 560px)/2 + 16px));bottom:24px;width:54px;height:54px;border-radius:50%;background:var(--ctl);color:var(--on);box-shadow:0 4px 12px rgba(0,0,0,.28);z-index:24}
}
@media(min-width:560px) and (max-width:999px){
 html body:not(.dc-shell){margin-left:calc((100vw - 560px)/2)!important;margin-right:0!important}
 html body[data-pwa-layout=portal] #dp-install-banner{left:50vw!important}
}

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



/* Compact board rows: exact values from the current handoff template. */
.hf-list-meta{display:none}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id]{display:flex!important;align-items:center;gap:14px!important;padding:11px 16px 10px!important;min-height:0;border:0;border-bottom:1px solid var(--ln);border-radius:0;margin:0;box-sizing:border-box;background:var(--bg);content-visibility:auto;contain-intrinsic-size:auto 68px}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id]:hover{background:var(--surface)}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body{flex:1;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-content:center;align-items:center;min-width:0;min-height:0!important;padding:0!important;row-gap:0!important}
html body:is([data-feed-view=thumb],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body:has(.thumb){grid-template-columns:minmax(0,1fr) 56px!important;column-gap:14px}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .title{display:flex!important;align-items:baseline;gap:5px;grid-row:1;grid-column:1;margin:0!important;min-width:0;font-size:17px!important;font-weight:500!important;letter-spacing:-.02em!important;line-height:1.35!important;-webkit-line-clamp:unset;overflow:visible;color:var(--text)}
html body .hf-list-row[data-id] .list-title-text{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit;text-decoration:none}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .list-comment-count{display:inline-block!important;flex:none;padding:0;border-radius:0;background:none;color:var(--lk);font-size:15px;font-weight:500;letter-spacing:normal;line-height:normal}
html body .hf-list-row[data-id] .list-comment-count.is-hot{color:var(--lk)!important}
html body :is(#feed,#sres,#portalBody,#channelFeed,#subscribedFeed,.channel-search-results,#meBox) .hf-list-row[data-id] .list-comment-count:before{content:'['}
html body :is(#feed,#sres,#portalBody,#channelFeed,#subscribedFeed,.channel-search-results,#meBox) .hf-list-row[data-id] .list-comment-count:after{content:']'}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] :is(.meta,.listing-meta,.dc-list-meta,.ex,.acts,.list-thumb-empty){display:none!important}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .hf-list-meta{display:block;grid-row:2;grid-column:1;min-width:0;margin-top:2px;font-size:14px;font-weight:400;line-height:1.35;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .hf-list-meta>.hf-ch{font-weight:400;color:var(--t3)}
html body .hf-list-meta>.hf-sep{display:inline;margin:0 5px;color:var(--t3);background:none}
html body .hf-list-meta>.hf-ch>em{margin-right:1px;color:var(--dim);font-style:normal}
html body .hf-list-meta .hf-like.is-hot{color:var(--pt)}
html body .hf-list-identity{display:inline-flex;align-items:center;gap:5px;vertical-align:bottom}
html body .hf-list-identity .idn{width:14px!important;height:14px!important;min-width:14px;border-radius:4px;margin:0!important;flex:none}
html body .hf-list-identity .anon-id{font-family:inherit;font-size:13px;font-weight:600;color:var(--t2)!important;background:none;padding:0;letter-spacing:normal}
html body:is([data-feed-view=thumb],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body .thumb{display:block!important;grid-column:2;grid-row:1/span 2;width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important;margin:0!important;overflow:hidden;border:0;border-radius:12px;background:var(--thb)}
html body .hf-list-row[data-id] .thumb :is(img,video){width:100%;height:100%;object-fit:cover;object-position:top}
html body .hf-list-row[data-id].read-dim .list-title-text{color:var(--dim)}
html body .hf-list-row[data-id].is-blind .list-title-text{color:var(--t3)}
html body .hf-list-row[data-id] .list-blind-lock{flex:none;align-self:center;margin-right:1px;color:var(--t3)}
html body .hf-list-row[data-id].read-dim .title{opacity:1}
html body .hf-list-row[data-id].read-dim .thumb{opacity:.55}
html body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id]:is(.read-hide,[hidden]){display:none!important}

/* Home chrome and the notice/new-post bands live above the shared feed. */
html body #coreNewPosts{position:sticky!important;top:10px!important;left:auto!important;transform:none!important;z-index:3;width:max-content!important;max-width:calc(100% - 32px);height:44px;padding:0 16px 0 8px;border:1px solid var(--line)!important;border-radius:22px!important;margin:10px auto -54px!important;background:var(--bg)!important;color:var(--text)!important;box-shadow:0 6px 18px rgba(0,0,0,.14)!important;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px!important;font-weight:700;animation:omDown .25s ease-out}
html body #coreNewPosts .new-avatars{display:flex;padding-left:6px}html body #coreNewPosts .new-avatars .idn{width:28px;height:28px;margin-left:-6px;border:2px solid var(--bg);border-radius:8px;box-sizing:border-box}
html body #coreNewPosts em{color:var(--pt);font-style:normal}
html body #appNotice .notice-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body #chips .v2tb .subscription-feed-link.on{background:var(--line);color:var(--text);font-weight:700}
html body #chips .v2tb{height:auto!important;align-items:center}
html body #chips .v2tb>:is(button,a){height:auto!important;min-height:0!important;padding:8px 14px!important;line-height:normal;border-radius:8px}
html body #chips .v2tb #bLive{height:auto!important;min-height:0!important;padding:0!important;line-height:normal;font-size:13px}
html body .hf-notice-popup{left:50%;right:auto;width:calc(100% - 2px);max-width:1318px;transform:translateX(-50%);align-items:center;padding:0 28px}
html body .hf-notice-popup>.sheet{width:100%;max-width:340px;padding:24px 0 14px;border:0;background:var(--bg);color:var(--tx);box-shadow:none;border-radius:20px;text-align:center;animation:hfPopup .22s ease-out}
html body .hf-notice-popup .grab{display:none}
html body .hf-notice-popup h3{padding:0 24px;margin:0;font-size:18px;line-height:1.4;letter-spacing:-.03em;white-space:pre-line}
html body .hf-notice-popup p{padding:0 24px;margin:8px 0 10px;font-size:14px;line-height:1.6;color:var(--muted);white-space:pre-line}
html body .hf-popup-tag{display:inline-block;margin-bottom:10px;padding:2px 10px;border-radius:999px;background:#f5c400;color:#3d3300;font-size:11px;font-weight:700}
html body .hf-popup-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}
html body .hf-popup-actions button{flex:1;min-width:110px;height:50px;padding:0;border:0;border-radius:14px;font-size:15px;font-weight:700;color:var(--t2);background:var(--s)}
html body .hf-popup-actions #popupClose{color:var(--on-accent);background:var(--accent)}
@media(max-width:999px){html body .hf-notice-popup{max-width:558px}}
@media(max-width:999px){
 html body .hf-category-strip{position:relative}
 html body:not(.dc-shell) #chips .hf-category-strip .v2cats{padding:2px 56px 0 16px}
 html body:not(.dc-shell) #chips .hf-category-strip .v2cats button{line-height:normal}
 html body:not(.dc-shell) #chips .hf-category-strip>.ex{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:flex-end;width:56px;margin:0;padding:0 14px 4px 0;background:linear-gradient(90deg,transparent,var(--bg) 45%);color:var(--muted)}
 html body #chips .hf-category-strip>.ex svg{width:19px;height:19px}
 html body:not(.dc-shell) #chips .v2tb{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
 html body:not(.dc-shell) #chips #bLive{font-size:13px}
 html.dp-install-visible body[data-pwa-layout=portal]:not(.in-x):not(.in-search):not(.in-detail){padding-top:var(--dp-install-height,36px)!important}
 html.dp-install-visible body[data-pwa-layout=portal]:not(.in-x):not(.in-search):not(.in-detail)>header{top:var(--dp-install-height,36px)!important}
 html body[data-pwa-layout=portal] #dp-install-banner{width:calc(100% - 2px);max-width:558px;padding:10px 14px;border:0;background:var(--accent);color:var(--on-accent);font-size:13px}
 html body[data-pwa-layout=portal] #dp-install-banner .dpib-row{gap:10px}
 html body[data-pwa-layout=portal] #dp-install-banner .dpib-sub{margin:0;font-size:13px;font-weight:400;line-height:normal;color:inherit;white-space:normal}
 html body[data-pwa-layout=portal] #dp-install-banner .dpib-go{min-height:0;height:auto;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:13px;font-weight:700;line-height:normal;text-decoration:underline;text-underline-offset:3px}
 html body[data-pwa-layout=portal] #dp-install-banner .dpib-x{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0;padding:0;color:inherit;font-size:13px;line-height:normal;opacity:.7}
}
@media(min-width:1000px){
 html body.handoff-auth{width:100%!important;max-width:none!important;margin:0!important;border:0!important;box-shadow:none!important}
 html body .hf-category-strip,html body #dp-install-banner{display:none!important}
 html.dp-install-visible body.dc-shell[data-pwa-layout=portal]{padding-top:56px!important}
 html.dp-install-visible body.dc-shell[data-pwa-layout=portal] :is(header,.dbar,.sbar2,.xtop,.wc-top){top:56px!important}
 html body.dc-shell #chips .v2tb{border-top:1px solid var(--line)}
 html body.dc-shell #chips .v2tb button,html body.dc-shell #chips .subscription-feed-link{padding:0 14px;border-radius:8px;color:var(--dim)}
 html body.dc-shell #chips #bLive{font-size:13px}
 html body.dc-shell #desktopKeywords button{height:32px;padding:0 14px;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
}

/* The handoff scrolls the content pane while header and mobile navigation stay outside it. */
html:has(body>#appScroll){height:100%;overflow:hidden}
html body:has(>#appScroll){display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0!important;overflow:hidden;padding-bottom:0!important}
html body>#appScroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative}
html body:has(>#appScroll)>header{flex:none;top:0!important}
@media(max-width:999px){html body:has(>#appScroll){box-sizing:border-box;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
html body>#appScroll>:is(#feed,#detail,#spage,#xpage){min-height:0!important;top:0!important}
html body>#appScroll :is(.dbar,.xtop,.sbar2,.shead,.wc-top),html body.dc-shell>#appScroll :is(.dbar,.xtop,.sbar2,.shead,.wc-top){top:0!important}
@media(min-width:1000px){
 html body.dc-shell:not(.handoff-auth)>#appScroll>#xpage:has(>.xtop){padding-top:48px}
 html body.dc-shell:not(.handoff-auth)>#appScroll>#xpage>.xtop{position:fixed;top:56px!important;left:calc(var(--desk-body-left) + 1px);width:calc(var(--dc-main-width) - 2px);z-index:40}
}
@media(max-width:999px){
 html body:has(>#appScroll){padding-bottom:0!important}
 html body:has(>#appScroll):not(.in-detail):not(.in-search):not(.in-x-full):not(.handoff-channel)>#appScroll{padding-bottom:0}
 html body:has(>#appScroll):is(.in-x,.in-x-full,.settings-view,.in-search,.handoff-channel,.handoff-nav-hidden){padding-bottom:0!important}
 html body:has(>#appScroll).in-detail{padding-bottom:calc(77px + env(safe-area-inset-bottom))!important}
 html body:has(>#appScroll).handoff-directory{padding-bottom:0!important}

}
/* Channel screens use the handoff's full-width rows, cover and mobile tab bar. */
html body #featureBody:is(.handoff-channel-directory,.handoff-channel-page){max-width:none!important;padding:0!important;margin:0!important}
html body #featureBody.handoff-channel-directory .channel-search{padding:8px 16px}
html body #featureBody.handoff-channel-directory #channelQuery{width:100%;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--surface);font-size:15px;line-height:normal;box-shadow:none}
html body #featureBody.handoff-channel-directory #channelGroups{margin:6px 0 0;border-bottom:1px solid var(--line);gap:0}
html body #featureBody.handoff-channel-directory #channelGroups button{padding:12px 0;border:0!important;line-height:normal;color:var(--dim)!important;font-weight:600}
html body #featureBody.handoff-channel-directory #channelGroups button.on{color:var(--text)!important;font-weight:700}
html body #featureBody.handoff-channel-directory #channelGroups button.on:after{bottom:0;height:2px;background:var(--text)}
html body #featureBody.handoff-channel-directory .channel-avatar{background:var(--thb)!important}
html body #featureBody.handoff-channel-directory .channel-avatar>b{font-size:inherit!important}
html body #featureBody.handoff-channel-directory .channel-directory-filter{margin:0;padding:16px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.4;color:var(--muted)}
html body #featureBody.handoff-channel-directory .channel-directory-filter>span:last-child{font-size:13px;color:var(--dim)}
html body #featureBody.handoff-channel-directory .fchannel{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;min-height:0;padding:16px;border-bottom:1px solid var(--line)}
html body #featureBody.handoff-channel-directory .fchannel:hover{background:var(--surface)}
html body #featureBody.handoff-channel-directory .channel-avatar{width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--muted);font-size:15px;font-weight:700}
html body #featureBody.handoff-channel-directory .channel-avatar svg{width:22px;height:22px}
html body #featureBody.handoff-channel-directory .fchannel b{font-size:16px;font-weight:600;line-height:1.4}
html body #featureBody.handoff-channel-directory .fchannel small{margin-top:3px;font-size:13px;line-height:1.45;color:var(--dim)}
html body #featureBody.handoff-channel-directory .fchannel>span:last-child{font-size:13px;color:var(--muted)}
html body #featureBody.handoff-channel-directory #channelList>.empty{margin:0;padding:10px 16px;font-size:13px;line-height:1.6;color:var(--dim)}
html body #sheetbg.channel-action-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg);color:var(--tx)}
html body #sheetbg.channel-action-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 14px}
html body #sheetbg.channel-action-sheet h3{margin:0;padding:0 16px;font-size:18px;font-weight:700;line-height:normal}
html body #sheetbg.channel-action-sheet .channel-action-name{margin:4px 0 6px;padding:0 16px;font-size:13px;line-height:1.6;color:var(--dim)}
html body #sheetbg.channel-action-sheet .channel-action-field{display:block;margin:0;padding:8px 16px}
html body #sheetbg.channel-action-sheet :is(input,textarea){width:100%;margin:0;border:0;border-radius:10px;padding:12px 14px;background:var(--surface);color:var(--text);font-family:inherit;font-size:15px!important;font-weight:400;line-height:normal;outline:none;box-shadow:none}
html body #sheetbg.channel-action-sheet textarea{display:inline-block;min-height:110px;resize:vertical;line-height:1.55}
html body #sheetbg.channel-action-sheet .channel-action-submit{padding:8px 16px}
html body #sheetbg.channel-action-sheet .channel-action-submit button{display:flex;align-items:center;justify-content:center;width:100%;height:54px;border:0;border-radius:14px;background:var(--accent);color:var(--on-accent);font-size:16px;font-weight:700}
html body #sheetbg.channel-action-sheet .channel-action-submit button:disabled{background:var(--thb);color:var(--dim);opacity:1}
html body #sheetbg.channel-action-sheet .channel-hide-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
html body #sheetbg.channel-action-sheet .channel-hide-row>span{flex:1;min-width:0;font-size:14px;line-height:1.4}
html body #sheetbg.channel-action-sheet .channel-hide-row button{padding:0;background:none;color:var(--pt);font-size:13px;font-weight:700}
html body #sheetbg.channel-action-sheet .channel-hide-empty{margin:0;padding:10px 16px;text-align:center;color:var(--dim);font-size:13px;line-height:1.6}
html body #channelInformation .channel-manager-link{justify-content:space-between;text-align:left}
html body #channelInformation .channel-manager-link>span{display:block;max-width:none}
html body #channelInformation .channel-manager-link b{display:block;font-size:16px;font-weight:600;line-height:1.4}
html body #channelInformation .channel-manager-link small{display:block;margin-top:3px;color:var(--dim);font-size:13px;font-weight:400;line-height:1.45}
html body #channelInformation .channel-manager-link svg{flex:none;color:var(--dim)}
html body #featureBody.handoff-channel-page .handoff-channel-cover{margin:0 0 30px}
html body #featureBody.handoff-channel-page .channel-hero-photo:after{content:'';display:block;position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,0) 38%);pointer-events:none}
html body #featureBody.handoff-channel-page .channel-hero-photo{position:relative;margin:0!important;aspect-ratio:3.2/1;height:auto!important;min-height:112px;max-height:260px}
html body #featureBody.handoff-channel-page .channel-hero-photo>img{object-position:top!important}
html body #featureBody.handoff-channel-page .channel-official-cover>svg{z-index:1}
html body #featureBody.handoff-channel-page .handoff-channel-cover>.channel-avatar{font-size:24px;font-weight:700;background:var(--thb);color:var(--text)}
html body #featureBody.handoff-channel-page .channel-hero-identity{padding:6px 16px 0}
html body #featureBody.handoff-channel-page .channel-hero-identity>div:first-child{padding:0}
html body #featureBody.handoff-channel-page .channel-hero-identity h2{margin:0!important}
html body #featureBody.handoff-channel-page .channel-hero-identity small{display:block;font-size:13px;line-height:normal;margin-top:4px;color:var(--dim)}
html body #featureBody.handoff-channel-page #channelInfo .channel-actions{margin:0}
html body #featureBody.handoff-channel-page #channelInfo #channelSubscribe.on{background:var(--surface);color:var(--text)}
html body #featureBody.handoff-channel-page #channelInfo #channelAlert{border-radius:50%;font-size:16px}
html body #featureBody.handoff-channel-page .channel-description{padding:0 16px 4px;margin:10px 0 0!important}
html body #featureBody.handoff-channel-page .channel-navigation{display:flex;align-items:center;gap:8px;padding:8px 16px}
html body #featureBody.handoff-channel-page .channel-screen-tabs{flex:1;gap:8px;padding:0}
html body #featureBody.handoff-channel-page .channel-meta{display:flex;align-items:center}
html body #featureBody.handoff-channel-page #channelPostCount{display:none}
html body #featureBody.handoff-channel-page #channelSort{margin:0;border:0;padding:10px 16px;font-size:14px;font-weight:600;color:var(--muted);background:transparent;line-height:normal;max-width:110px}
html body #featureBody.handoff-channel-page #channelWrite{display:flex;align-items:center;gap:6px;height:37px;padding:0 16px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:14px;font-weight:700;text-decoration:none}
html body #featureBody.handoff-channel-page #channelWrite svg{display:none}
html body #featureBody.handoff-channel-page #channelSearch{display:block;margin:0;padding:8px 16px}
html body #featureBody.handoff-channel-page #channelSearch input{display:inline-block;width:100%;min-height:0;height:auto;margin:0;padding:12px 14px;font-size:15px!important;border:0;border-radius:10px;background:var(--surface);line-height:normal;outline:none;box-shadow:none}
html body #featureBody.handoff-channel-page #channelSearch button{display:none}
html body #featureBody.handoff-channel-page #channelSearchResult{margin:0;padding:10px 16px;font-size:13px;line-height:1.6;color:var(--muted)}
html body #featureBody.handoff-channel-page #channelFeed{margin:0!important}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .hf-list-row{padding:0!important;border:0!important;gap:0!important;border-radius:0!important;background:var(--thb)}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .thumb{margin:0!important;border-radius:0!important;width:100%!important;height:100%!important}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .hf-list-meta{display:none!important}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid [data-channel-video]:after{display:none}
.channel-video-time{position:absolute;left:6px;bottom:6px;display:flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600;pointer-events:none}
html body #featureBody.handoff-channel-page #channelInformation>:is(.handoff-channel-about,.handoff-channel-rule,.frow){padding:16px;border-bottom:1px solid var(--line);margin:0;width:auto}
html body #featureBody.handoff-channel-page #channelInformation .frow{line-height:1.4}
html body #featureBody.handoff-channel-page #channelInformation{padding-bottom:24px}
html body #featureBody.handoff-channel-page #channelInformation>.channel-manager-link{display:flex;width:100%;text-align:left}
html body #featureBody.handoff-channel-page #channelInformation .frow>b{font-weight:500}
html body #featureBody.handoff-channel-page #channelInformation .frow>span{font-size:13px;font-weight:500;color:var(--muted)}
html body #featureBody.handoff-channel-page #channelInformation :is(.handoff-channel-about,.handoff-channel-rule)>b{display:block;line-height:1.4}
html body #featureBody.handoff-channel-page #channelInformation :is(.handoff-channel-about,.handoff-channel-rule)>p{margin:3px 0 0;font-size:13px;line-height:1.45}
html body #featureBody.handoff-channel-page #channelInformation>h3{margin:0;padding:18px 16px 6px;color:var(--dim);font-size:13px;font-weight:700}
html body #featureBody.handoff-channel-page #channelInformation .handoff-channel-rule>b{font-size:14px;font-weight:500}
html body #featureBody.handoff-channel-page #channelInformation>a.fmore{display:flex;width:calc(100% - 32px);height:54px;margin:8px 16px;padding:0;align-items:center;justify-content:center;border:1.2px solid var(--accent);border-radius:14px;color:var(--text);font-size:16px;font-weight:700;text-decoration:none}
html body #featureBody.handoff-channel-page #channelInformation>.channel-manager-request{display:flex;align-items:center;justify-content:center;width:calc(100% - 32px);height:54px;margin:8px 16px;padding:0;border:1.2px solid var(--accent);border-radius:14px;background:transparent;color:var(--text);font-size:16px;font-weight:700}
html body #featureBody.handoff-channel-page #channelInformation>.channel-manager-request:disabled{border:0;background:var(--thb);color:var(--dim);opacity:1}
html body #featureBody.handoff-channel-page #channelInformation>.channel-manager-request+a.fmore{margin-top:16px}
html body #featureBody.handoff-channel-page .channel-state-hero{padding:80px 32px 8px;text-align:center}
html body #featureBody.handoff-channel-page .channel-state-hero>span{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--surface);color:var(--dim)}
html body #featureBody.handoff-channel-page .channel-state-hero h4{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:normal;white-space:pre-line}
html body #featureBody.handoff-channel-page .channel-state-hero p{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--dim);white-space:pre-line}
html body #featureBody.handoff-channel-page .channel-empty{padding-top:8px}
html body #featureBody.handoff-channel-page .channel-empty:not(.channel-empty-search)>span{background:transparent}
.channel-empty-ghost{margin:0 -32px 26px;text-align:left}.channel-empty-ghost>div{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--ln2,var(--line))}.channel-empty-ghost>div:last-child{border:0}.channel-empty-ghost i{flex:1;min-width:0;font-style:normal}.channel-empty-ghost b,.channel-empty-ghost small,.channel-empty-ghost em{display:block;background:var(--surface);border-radius:7px}.channel-empty-ghost b{height:13px}.channel-empty-ghost small{height:9px;margin-top:9px;border-radius:5px}.channel-empty-ghost em{width:48px;height:48px;border-radius:10px;flex:none}
html body #featureBody.handoff-channel-page .channel-empty-write{padding:8px 16px}
html body #featureBody.handoff-channel-page .channel-empty-write>a{display:flex;align-items:center;justify-content:center;width:100%;height:54px;border:1.2px solid var(--accent);border-radius:14px;background:transparent;color:var(--text);font-size:16px;font-weight:700;text-decoration:none}
html body #featureBody.handoff-channel-page #channelMore[hidden],
html body #featureBody.handoff-channel-page #channelFeed:has(.channel-empty) + #channelMore,
html body #featureBody.handoff-channel-page #channelFeed:has(.channel-empty-write) + #channelMore{display:none!important}

@media(max-width:999px){
 html body:has(>#appScroll):is(.handoff-channel,.handoff-directory){padding-top:56px!important}
 html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:calc(min(100vw,560px) - 2px);max-width:558px;height:56px;min-height:0;padding:22px 14px 10px;display:flex;align-items:center;gap:10px;background:var(--bg);border-bottom:1px solid var(--line)}
 html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop>.ibtn{width:23px;height:23px;min-height:0;padding:0}
 html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop>.ibtn svg{width:23px;height:23px}
 html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop>b{position:absolute;top:22px;left:98px;right:98px;min-width:0;height:23px;margin:0;line-height:23px;font-size:15px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html body.handoff-channel #xpage>.xtop>.ibtn:last-child{margin-left:auto}
 html body #featureBody.handoff-channel-page .channel-navigation{display:block;padding:0}
 html body #featureBody.handoff-channel-page .channel-screen-tabs{display:flex;flex-wrap:nowrap;gap:0;margin:6px 0 0;padding:0;border-bottom:1px solid var(--line)}
 html body #featureBody.handoff-channel-page .channel-screen-tabs>button{flex:1;min-width:0;min-height:0;padding:12px 0;border-radius:0;font-size:14px;font-weight:500;line-height:normal;background:transparent;color:var(--tx)}
 html body #featureBody.handoff-channel-page .channel-screen-tabs>button[aria-selected=true]{color:var(--lk);font-weight:700;box-shadow:inset 0 -2px var(--lk);border:0;background:transparent}
 html body #featureBody.handoff-channel-page .channel-meta{display:flex;align-items:center;justify-content:space-between;min-height:0;padding:16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.4;color:var(--dim)}
 html body #featureBody.handoff-channel-page #channelPostCount{display:inline}
 html body #featureBody.handoff-channel-page #channelSort{padding:0;font-size:13px;line-height:1.4;min-height:0}
 html body #featureBody.handoff-channel-page .channel-meta.is-info{height:33px;padding:16px}
 html body #featureBody.handoff-channel-page .channel-meta.is-info>*{visibility:hidden}
 html body #featureBody.handoff-channel-page #channelWrite{position:fixed;right:max(16px,calc((100vw - 560px)/2 + 16px));bottom:28px;z-index:24;height:46px;padding:0 18px;border-radius:23px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
 html body #featureBody.handoff-channel-page #channelWrite svg{display:block}
}
html body .hf-list-row .list-title-text{min-height:0!important}
@media(max-width:999px){html body #featureBody.handoff-channel-page #channelSort{height:18.2px!important;min-height:0!important;padding:0!important;line-height:1.4!important;border-radius:0!important}}
html body #featureBody.handoff-channel-directory #channelQuery{min-height:0!important;font-size:15px!important}
html body #featureBody.handoff-channel-directory #channelGroups{margin:6px 0 0!important}
html body #featureBody.handoff-channel-directory .fchannel{margin:0!important;width:100%!important}
html body #featureBody.handoff-channel-page #channelInformation .frow>span:has(.idn){display:inline-flex;align-items:center;gap:4px}
html body #featureBody.handoff-channel-page #channelInformation .idn{width:14px;height:14px;min-width:14px;border-radius:4px;margin:0}

@media(min-width:1000px){
 html body #featureBody.handoff-channel-page .channel-navigation{flex-wrap:wrap}
 html body #featureBody.handoff-channel-page .channel-meta{display:contents}
 html body #featureBody.handoff-channel-page .channel-screen-tabs{display:flex;flex-wrap:nowrap;gap:0;width:100%;margin:6px 0 0;padding:0;border-bottom:1px solid var(--line)}
 html body #featureBody.handoff-channel-page .channel-screen-tabs>button{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;padding:12px 0;border:0;border-radius:0;font-size:14px;line-height:normal;font-weight:500;background:transparent;color:var(--tx);white-space:nowrap}
 html body #featureBody.handoff-channel-page .channel-screen-tabs>button[aria-selected=true]{background:transparent;color:var(--lk);font-weight:700;box-shadow:inset 0 -2px var(--lk)}
 html body #featureBody.handoff-channel-page #channelSort{margin-left:auto}
}

@media(min-width:1000px){html body.dc-shell #xpage #featureBody:is(.handoff-channel-directory,.handoff-channel-page){padding:0!important;margin:0!important;max-width:none!important}}

html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .thumb img{object-position:center!important}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .item:nth-child(3n+2) .thumb img{object-position:30% 20%!important}
html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .item:nth-child(3n) .thumb img{object-position:70% 60%!important}

/* Scrolling over media must not scale a card or flash the browser tap highlight. */
html body .item,html body .thumb,html body :is(img,video){-webkit-tap-highlight-color:transparent}
html body :is(.item,.thumb,img,video):active,html body a:has(img,video):active{transform:none!important}
html body .item .list-title-text:active{transform:none!important}

/* Detail text and related rows follow the current handoff, including its updated vote column. */
html body.in-detail #detail .dwrap{width:100%;max-width:none!important;box-sizing:border-box;padding:16px 0 0!important}
html body.in-detail #detail .dlabel{display:none}
html body.in-detail #detail .dtitle{padding:0 16px;margin:0!important;font-size:22px!important;font-weight:800!important;line-height:1.35!important;letter-spacing:-.035em!important;word-break:keep-all;overflow-wrap:anywhere}
html body.in-detail #detail .dhead{margin:10px 0 0;padding:0 16px 14px}
html body.in-detail #detail .dhead .meta{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:6px;font-size:13px;color:var(--dim);line-height:normal}
html body.in-detail #detail .dhead .meta .anon-id{font-size:13px;font-weight:600}
html body.in-detail #detail .dhead .meta>i{width:1px;height:10px;background:var(--line);align-self:center}
html body.in-detail #detail .dhead .detail-channel{padding:0;color:var(--muted);font-weight:600;text-decoration:none}
html body.in-detail #detail .dbody{padding:0;margin:0;font-size:17px;line-height:1.8}
html body.in-detail #detail .dbody>p{padding:6px 16px 0}
html body.in-detail #detail #cmBox{padding-bottom:0}
html body.in-detail #detail .reading-related.v2{position:static;display:block;width:auto;max-width:none;margin:0;padding:0 0 24px;border:0;overflow:visible;background:var(--bg)}
html body.in-detail #detail .reading-related.v2[hidden]{display:none}
html body.in-detail #detail .reading-related.v2 .handoff-related-heading{display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding:0 16px 6px}
html body.in-detail #detail .reading-related.v2 h3{margin:0;padding:0;border:0;background:none;font-size:19px;font-weight:800;letter-spacing:-.03em;line-height:normal;color:var(--text)}
html body.in-detail #detail .reading-related.v2 .handoff-related-heading a{display:inline;margin:0;padding:0;border:0;font:inherit;text-decoration:none}
html body.in-detail #detail .reading-related.v2 .handoff-related-heading h3 a{color:#1b64da}
html body.in-detail #detail .reading-related.v2 .handoff-related-heading .handoff-related-more{font-size:14px;font-weight:400;color:var(--dim)}
html body.in-detail #detail .reading-related.v2 .hf-list-row{padding:12px 16px!important}
html body.in-detail #detail .reading-related.v2 .list-title-text{display:block;padding:0;border:0;line-height:normal}
html body.in-detail #detail .reading-related.v2 a:after{content:none}
html body.in-detail #detail .reading-related.v2 .thumb{width:56px;height:56px!important;border-radius:12px}


html body.in-detail #detail .dbody>.post-media-body{box-sizing:border-box;padding:0 16px}
html body.in-detail #detail .dbody>.post-media-body>img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto;object-fit:contain!important;margin:0 auto!important;background:var(--thb)}
html body.in-detail #detail .dbody .vp{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
@media(max-width:999px){
 html body.in-detail:has(>#appScroll){padding-top:56px!important}
 html body.in-detail #detail .dbar{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:100%;max-width:560px;height:56px;min-height:0;padding:22px 14px 10px;gap:10px;z-index:40;background:var(--bg);border-bottom:1px solid var(--line)}
 html body.in-detail #detail .dbar .ibtn{width:23px;height:23px;min-height:0;padding:0}
 html body.in-detail #detail .dbar .ibtn svg{width:23px;height:23px}
 html body.in-detail #detail .dbar>b{position:absolute;left:98px;right:98px;margin:0;font-size:15px;font-weight:700;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
 html body.in-detail #detail .dwrap{margin:0;border:0}
}

html body #featureBody.handoff-channel-directory #channelGroups button{font-size:14px}
html body.in-detail #detail .dfoot{padding:10px 16px max(14px,env(safe-area-inset-bottom));gap:8px;align-items:center}
html body.in-detail #detail .dfoot .dcm{min-height:50px;padding:6px 6px 6px 16px;background:var(--surface);font-size:16px}
html body.in-detail #detail .dfoot .dcm #cIn{font-size:16px;line-height:normal}
html body.in-detail #detail .dfoot .dcm .go{min-height:0;padding:11px 18px;border-radius:10px;font-size:15px;line-height:normal}
html body.in-detail #detail .dfoot .cmlogin{display:flex;justify-content:space-between;width:100%;height:40px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;font-size:16px;font-weight:400;color:var(--dim)}
html body.in-detail #detail .dfoot .cmlogin em{padding:11px 18px;font-size:15px;line-height:normal}
html body.in-detail #detail .chead{padding:12px 16px!important;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px!important;font-weight:700!important;line-height:normal}
html body.in-detail #detail .comment-sort{gap:6px;font-size:13px;font-weight:500;color:var(--dim)}
html body.in-detail #detail .comment-sort button{font:inherit}
html body.in-detail #detail #cmBox .cm{gap:10px!important;padding:12px 16px!important;align-items:flex-start}
html body.in-detail #detail #cmBox .cm.re{padding-left:40px!important;background:var(--surface)!important}
html body.in-detail #detail #cmBox .cm .meta{height:auto;min-height:0!important;line-height:normal!important}
html body.in-detail #detail #cmBox .cm .meta .anon-id{font-size:13px;font-weight:600;line-height:normal!important}
html body.in-detail #detail #cmBox .cm .ct{font-size:16px!important;line-height:1.55!important;margin-top:3px!important}
html body.in-detail #detail #cmBox .cm .ctime{margin-top:4px;font-size:12px;line-height:normal!important}
html body.in-detail #detail #cmBox .cm .meta [data-cmenu]{position:static;inset:auto;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-left:auto;padding:0;min-width:0;min-height:0;width:20px;height:20px;color:var(--dim)}
html body.in-detail #detail #cmBox .cm .meta [data-cmenu] svg{width:20px;height:20px}
html body.in-detail #detail #cmBox .badge-w{padding:1px 6px!important;border-radius:999px!important;background:var(--line)!important;color:var(--muted)!important;font-size:11px!important;font-weight:700!important}

@media(hover:none){html body :is(#feed,#sres,#portalBody,#channelFeed,#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row:hover{background:var(--bg)!important}html body #channelFeed.channel-media-grid .hf-list-row:hover{background:var(--thb)!important}}

html body.in-detail #detail .dbody>div>p{padding:6px 16px 0;margin:0;font-size:17px;line-height:1.8;white-space:pre-wrap}
@keyframes hfDetailLike{0%{transform:scale(.6)}45%{transform:scale(1.35)}100%{transform:scale(1)}}

html body.in-detail #detail .dbar{height:56px;min-height:0;padding:22px 14px 10px;gap:10px}
html body.in-detail #detail .dbar .ibtn{width:23px;height:23px;min-height:0;padding:0}
html body.in-detail #detail .dbar .ibtn svg{width:23px;height:23px}
html body.in-detail #detail .dbar>b{position:absolute;left:98px;right:98px;margin:0;font-size:15px;font-weight:700;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

/* The handoff composer has one channel picker and a kind row. */
html body #xpage:has(.wc){min-height:100%;padding:0}
html body #xpage .wc{min-height:100%!important}
html body #xpage .wc .wc-top{justify-content:space-between;gap:0;min-height:0!important;height:auto!important;padding:8px 14px 10px!important}
html body #xpage .wc .wc-top>b{pointer-events:auto;position:static;left:auto;transform:none;padding-top:6px;font-size:16px!important;font-weight:700!important}
html body #xpage .wc .wc-top .sp,html body #xpage .wc #wSave,html body #xpage .wc #wPreview,html body #xpage .wc .wc-side,html body #xpage .wc #wPrefixes{display:none!important}
html body #xpage .wc .wc-top .ibtn{width:23px;height:29px;min-height:0;padding:6px 0 0}
html body #xpage .wc .wc-top .ibtn svg{width:23px;height:23px}
html body #xpage .wc .wc-top .wc-go-top{height:auto;margin-top:6px;padding:8px 16px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:14px;line-height:normal;font-weight:700}
html body #xpage .wc .wc-top .wc-go-top:disabled{opacity:1;background:var(--surface);color:var(--dim)}
html body #xpage .wc .wc-kinds{display:flex;align-items:center;gap:6px;padding:12px 16px 0}
html body #xpage .wc .wc-kinds button{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;line-height:normal;background:var(--surface);color:var(--muted)}
html body #xpage .wc .wc-kinds button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:700}
html body #xpage .wc .wc-board-wrap{padding:0!important;border:0}
html body #xpage .wc .wc-category-picker{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;min-height:0;border-bottom:1px solid var(--line);font-size:16px;line-height:normal;color:var(--muted)}
html body #xpage .wc .wc-category-picker strong{font:inherit;font-weight:400;color:inherit}
html body #xpage .wc .wc-category-picker svg{width:18px;height:18px;color:var(--dim)}
html body #xpage .wc .wc-title{padding:0!important}
html body #xpage .wc .wc-title input{height:auto!important;padding:16px 16px 12px!important;font-size:20px!important;font-weight:700!important;letter-spacing:-.03em;line-height:normal}
html body #xpage .wc .wc-body{padding:14px 16px;min-height:230px;flex:1}
html body #xpage .wc #wBlocks{min-height:202px;font-size:16px;line-height:1.6}
html body #xpage .wc .wc-tools{position:static;top:auto!important;bottom:auto;margin-top:auto;gap:24px!important;padding:12px 16px 16px!important;overflow:visible}
html body #xpage .wc .wc-draft{padding:12px 14px;border-radius:12px;background:var(--surface);font-size:13px;font-weight:400}
html body #xpage .wc .wc-draft>span{font-size:14px;font-weight:700}
html body #xpage .wc .wc-draft small{font-size:13px;font-weight:400;margin-top:2px;line-height:normal}
html body #xpage .wc .wc-draft #wLoad{padding:8px 12px;font-size:13px;line-height:normal}
html body #xpage .wc .wc-draft #wDrop{padding:0;font-size:13px;line-height:normal;text-decoration:none;color:var(--dim)}
html body .wc-channel-options{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}
html body .wc-channel-options button{padding:10px 16px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:14px;font-weight:500}
html body .wc-channel-options button[aria-pressed=true]{background:var(--line);color:var(--text);font-weight:700}
@media(max-width:999px){
 html body:has(#xpage .wc):has(>#appScroll){padding-top:65px!important}
 html body #xpage .wc .wc-top{position:fixed;left:50%;top:0!important;transform:translateX(-50%);width:100%;max-width:560px;padding:16px 14px 10px!important;z-index:40}
}

html body #xpage .wc .wc-category-picker[data-selected=true] strong{font-weight:600;color:var(--text)}

html body #xpage .wc{height:calc(100dvh - 56px);min-height:calc(100dvh - 56px)!important}
@media(max-width:999px){html body #xpage .wc{height:calc(100dvh - 65px);min-height:calc(100dvh - 65px)!important}}

html body #featureBody.handoff-channel-page #channelFeed.channel-media-grid .item:not(:has(.thumb)):before{content:attr(data-channel-letter);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--dim)}
.channel-media-comments{position:absolute;right:6px;bottom:6px;padding:2px 6px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600;pointer-events:none}

html body .wc-write-settings .setrow{gap:12px;padding:16px;border-bottom:1px solid var(--line)}
html body .wc-write-settings .setrow>div{flex:1;min-width:0}
html body .wc-write-settings .setrow b{font-size:16px;font-weight:500;line-height:1.4}
html body .wc-write-settings .setrow small{font-size:13px;line-height:1.45;margin-top:3px;color:var(--dim)}
html body .wc-write-settings .wc-author-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--surface);color:var(--muted)}
html body .wc-write-settings .sw{width:44px;height:26px;border-radius:14px;background:var(--line);transition:background .2s,opacity .2s}
html body .wc-write-settings .sw:after{width:20px;height:20px;top:3px;left:3px;background:#fff;transition:transform .2s}
html body .wc-write-settings .sw.on{background:var(--accent)}
html body .wc-write-settings .sw.on:after{transform:translateX(18px);background:var(--on-accent)}
html body .wc-write-settings>p{padding:12px 16px;font-size:14px;line-height:1.6;color:var(--muted)}
html body .wc-write-settings>h4{padding:22px 16px 8px;font-size:13px;font-weight:700;color:var(--dim)}

/* Latest handoff: PC composing starts in the channel, using the same floating action. */
@media(min-width:1000px){
 html body #featureBody.handoff-channel-page #channelWrite{position:fixed;right:max(316px,calc((100vw - 1320px)/2 + 316px));bottom:28px;z-index:24;height:46px;padding:0 18px;border-radius:23px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
 html body #featureBody.handoff-channel-page #channelWrite svg{display:block}
}
html body.in-detail #detail{padding-bottom:0!important}
html body #cmMore{display:block;width:calc(100% - 32px);margin:14px 16px 6px;padding:14px;border-radius:10px;background:var(--surface);text-align:center;font-size:15px;font-weight:700;color:var(--muted)}

/* Requested reveal motion leaves the centered fixed-position transform intact. */
@keyframes hfCommentBarIn{from{opacity:0;translate:0 100%}to{opacity:1;translate:0 0}}
html body.in-detail #detail .dfoot:not([hidden]){animation:hfCommentBarIn .32s cubic-bezier(.2,.8,.2,1) both}

/* Comment composer dimensions copied from the updated detail template. */
html body.in-detail #detail .dfoot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px;flex-direction:column;align-items:stretch}
html body.in-detail #detail .dfoot .dcm{display:flex;align-items:center;gap:4px;min-height:50px;padding:6px;background:var(--surface);border:0;border-radius:10px;box-shadow:none}
html body.in-detail #detail .dfoot .dcm .go,html body.in-detail #detail .dfoot .cmlogin em{padding:11px 18px;font-size:15px;border-radius:10px}
html body.in-detail #detail .dfoot .dcm .go.on{background:var(--ctl);color:var(--on)}
html body.in-detail #detail .dfoot .cmlogin{height:38px}
html body:has(>#appScroll).in-detail{padding-bottom:calc(71px + env(safe-area-inset-bottom))!important}
html body:has(>#appScroll).in-detail:has(#detail .dfoot[hidden]){padding-bottom:0!important}

html body.in-detail #detail .dfoot .dcm #cIn{flex:1;min-width:0;padding:10px 0;background:transparent}
html body.in-detail #detail .dfoot .cmlogin{font-size:16px!important}
html body.in-detail #detail .dfoot .drt{font-size:13px;padding:0}
html body.in-detail #detail .dbar{height:48px!important;min-height:48px!important;padding:14px 14px 10px!important;gap:14px}
html body.in-detail #detail .dbar .ibtn{width:23px;height:23px;min-height:0;padding:0;border:0;border-radius:0}
@media(max-width:999px){html body.in-detail #detail .dbar{height:56px!important;min-height:56px!important;padding-top:22px!important}}

html body :is(.dbar,.xtop,.shead,.fhead,.wc-top)>b{cursor:pointer}

/* v8 detail actions: the scrap control shares the vote row. */
html body.in-detail #cmBox .reply-toggle[hidden]{display:none}
html body.in-detail #cmBox .reply-toggle{width:100%;margin:0;padding:12px 16px 12px 40px;min-height:0;border-bottom:1px solid var(--line2);background:var(--surface);color:var(--blue);font-size:14px;font-weight:700;text-align:left;display:block}
html body.in-detail #cmBox .reply-toggle:after{content:none}
html body.in-detail #detail #cmBox .cm.re{margin-left:0!important}
html body.in-detail #detail #cmBox .cm.re[hidden]{display:none!important}
/* Requested composer revision: compact pill, without the duplicate count. */
html body.in-detail #detail .dfoot .dcm{min-height:52px;padding:6px 6px 6px 16px;gap:10px;border:1px solid var(--line);border-radius:26px;background:var(--surface)}
html body.in-detail #detail .dfoot .dcm #cIn{padding:8px 0;font-size:15px;line-height:22px}
html body.in-detail #detail .dfoot .dcm .go,html body.in-detail #detail .dfoot .cmlogin em{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:58px;height:36px;min-height:36px;padding:0 16px;border-radius:18px;background:var(--line);color:var(--muted);font-size:13px;font-weight:700;line-height:normal;font-style:normal}
html body.in-detail #detail .dfoot .dcm .go.on{background:var(--ctl);color:var(--on)}
html body.in-detail #detail .dfoot .cmlogin{height:38px;gap:10px;font-size:15px!important}
/* Shared notification/message tabs from the v8 handoff. */
html body #xpage>.inbox-page,html body #xpage>.section2-notifications.inbox-page{padding-top:28px}
html body .inbox-head{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px}
html body .inbox-back,html body .inbox-read-all{width:60px;flex:none}
html body .inbox-back{display:flex;align-items:center;height:23px;min-height:0;padding:0;border:0;border-radius:0;background:none;color:var(--tx)}
html body .inbox-back svg{width:23px;height:23px}
html body .inbox-tabs{display:flex;gap:20px;font-size:16px}
html body .inbox-tabs a{padding-bottom:4px;border-bottom:2px solid transparent;font-weight:600;color:var(--dim);text-decoration:none}
html body .inbox-tabs a.on{font-weight:800;color:var(--text);border-color:var(--text)}
html body .inbox-tabs i{font-style:normal;color:var(--pt)}
html body .inbox-read-all{padding:0;border:0;background:none;font-size:13px;font-weight:600;color:var(--muted);text-align:right;white-space:nowrap}
html body .inbox-chips,html body .inbox-page #nTabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px;margin:0;border:0}
html body #xpage .inbox-page #nTabs{margin:0}
html body .inbox-chips button,html body .inbox-page #nTabs button{flex:none;min-height:0;padding:10px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:500;line-height:normal}
html body .inbox-chips button.on,html body .inbox-page #nTabs button.on{background:var(--surface);color:var(--text);font-weight:700}
html body .inbox-page #nTabs button:after{display:none}
html body .inbox-thread{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);text-align:left}
html body .inbox-thread>.idn{display:block;width:40px;height:40px;border-radius:8px;flex:none}
html body .inbox-thread-copy{flex:1;min-width:0}
html body .inbox-thread-copy b{font-size:14px;font-weight:600}
html body .inbox-thread-copy small{display:block;margin-top:4px;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .inbox-thread-copy em{padding:2px 7px;border-radius:999px;font-size:11px;font-weight:600;font-style:normal;background:var(--surface);color:var(--pt)}
html body .inbox-thread time{font-size:13px;color:var(--dim);flex:none}
html body .inbox-empty{padding:36px 16px;text-align:center;font-size:14px;color:var(--dim)}
html body .inbox-messages .inbox-empty{padding:10px 16px;font-size:13px;line-height:1.6}
html body #appScroll>#xpage:has(>.inbox-conversation){height:100%}
html body .inbox-conversation{height:100%;display:flex;flex-direction:column;min-height:0}
html body .inbox-conversation .xtop{flex:none}
html body .inbox-private-note{margin:0;padding:16px;font-size:13px;line-height:1.6;color:var(--dim);text-align:center;flex:none}
html body .inbox-history{flex:1;min-height:0;overflow:auto;padding:0 16px 16px;overscroll-behavior:contain}
html body .inbox-chat{display:flex;gap:8px;margin:12px 0;align-items:flex-start}
html body .inbox-chat>.idn{display:block;width:32px;height:32px;flex:none;border-radius:8px}
html body .inbox-chat>div{max-width:84%;min-width:0}
html body .inbox-chat p{margin:0;padding:10px 14px;border-radius:14px;background:var(--surface);color:var(--text);font-size:15px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
html body .inbox-chat time{display:block;margin-top:4px;font-size:11px;color:var(--dim)}
html body .inbox-chat.is-mine{justify-content:flex-end;text-align:right}
html body .inbox-chat.is-mine p{background:var(--ctl);color:var(--on);text-align:left}
html body .inbox-compose{display:flex;align-items:center;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex:none}
html body .inbox-compose input{flex:1;min-width:0;height:42px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:16px;color:var(--text);outline:none}
html body .inbox-compose button{padding:10px 16px;border-radius:12px;background:var(--ctl);color:var(--on);font-size:14px;font-weight:700}
html body .inbox-compose button:disabled{opacity:.35}
@media(min-width:1000px){html body #xpage>.inbox-page,html body #xpage>.section2-notifications.inbox-page{padding-top:20px}}
html body .inbox-desktop-detail{display:none}
@media(min-width:1000px){
 html body #appScroll>#xpage:has(.inbox-columns){height:100%}
 html body .inbox-page:has(.inbox-columns){height:100%;display:flex;flex-direction:column;min-height:0}
 html body .inbox-columns{display:flex;flex:1;min-height:0}
 html body .inbox-list-pane{width:340px;flex:none;border-right:1px solid var(--line);overflow:auto}
 html body .inbox-desktop-detail{display:block;flex:1;min-width:0}
 html body .inbox-list-pane .inbox-thread{padding:14px 16px;gap:12px}
 html body .inbox-list-pane .inbox-thread.is-current{background:var(--surface)}
 html body .inbox-list-pane .inbox-thread>.idn{width:36px;height:36px}
 html body .inbox-list-pane .inbox-thread-copy b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
 html body .inbox-list-pane .inbox-thread time{font-size:12px}
 html body .inbox-desktop-detail .xtop{padding:14px 20px;min-height:0;height:51px;border-bottom:1px solid var(--line);background:var(--bg);gap:8px}
 html body .inbox-desktop-detail .xtop b{font-size:15px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
 html body .inbox-desktop-detail .xtop #xBack,html body .inbox-desktop-detail .inbox-private-note,html body .inbox-desktop-detail .inbox-chat>.idn{display:none}
 html body .inbox-desktop-detail .inbox-history{padding:16px 20px}
 html body .inbox-desktop-detail .inbox-chat>div{max-width:70%}
 html body .inbox-desktop-detail .inbox-chat p{padding:9px 12px;line-height:1.45}
 html body .inbox-desktop-detail .inbox-compose{padding:12px 16px}
 html body .inbox-desktop-detail .inbox-compose input{border:0;border-radius:10px;font-size:15px}
 html body .inbox-desktop-detail .inbox-compose button{border-radius:10px;padding:0 18px;height:42px}
}

html body .inbox-tabs{line-height:1.4}
html body .inbox-messages .inbox-head{padding-top:0}
html body .inbox-chips button,html body .inbox-page #nTabs button{background:var(--surface);font-weight:500;line-height:1.4}
html body .inbox-chips button.on,html body .inbox-page #nTabs button.on{background:var(--line);font-weight:700}
html body .inbox-thread>.idn{width:36px;height:36px}
html body .inbox-thread-copy small{margin-top:3px;white-space:normal;line-height:1.5;overflow-wrap:anywhere;color:var(--dim)}
html body .inbox-thread-copy em{background:var(--pt);color:var(--on);font-weight:700}
@media(min-width:1000px){html body .inbox-list-pane .inbox-thread-copy small{white-space:nowrap}}

@media(min-width:1000px){
 html body #xpage>.inbox-page.inbox-messages{padding-top:0}
 /* Keep the shared notification/message navigation visible on desktop. */
 html body .inbox-list-pane .inbox-thread{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:12px;row-gap:3px}
 html body .inbox-list-pane .inbox-thread>.idn{grid-column:1;grid-row:1/3}
 html body .inbox-list-pane .inbox-thread-copy{display:contents}
 html body .inbox-list-pane .inbox-thread-copy b{grid-column:2;grid-row:1}
 html body .inbox-list-pane .inbox-thread-copy small{grid-column:2/4;grid-row:2;margin:0}
 html body .inbox-list-pane .inbox-thread time{grid-column:3;grid-row:1}
 html body .inbox-list-pane .inbox-thread-copy em{display:none}
 html body .inbox-list-pane .inbox-thread.has-unread{grid-template-columns:36px minmax(0,1fr) auto 8px}
 html body .inbox-list-pane .inbox-thread.has-unread:after{content:'';grid-column:4;grid-row:1;width:8px;height:8px;border-radius:50%;background:var(--pt);margin-top:6px}
 html body .inbox-list-pane .inbox-thread.has-unread .inbox-thread-copy small{grid-column:2/5}
 html body .inbox-desktop-detail .xtop{justify-content:space-between;gap:0}
 html body .inbox-desktop-detail .xtop .sp{display:none}
 html body .inbox-desktop-detail .xtop .ibtn,html body .inbox-desktop-detail .xtop .ibtn svg{width:22px;height:22px;min-height:0;padding:0}
}

html[data-theme=dark] body:not(.dc-shell),html[data-theme=dark] body.dc-shell{--pt:#ff6a5f;--blue:#6aa8ff}
html body .inbox-tabs,html body .inbox-chips button,html body .inbox-page #nTabs button{line-height:normal}
html body #xpage>.section2-notifications.inbox-page{padding-top:28px}
html body .section2-notifications.inbox-page #nTabs button.on{background:var(--ctl);color:var(--on)}
html body .inbox-thread-copy em{color:#fff}
@media(min-width:1000px){html body #xpage>.section2-notifications.inbox-page{padding-top:20px}}
html body .inbox-thread-copy{font-size:14px;line-height:1.4}
html body .inbox-thread-copy small{line-height:1.45}
html body .inbox-messages .inbox-chips{padding:8px 16px}
html body .inbox-messages .inbox-chips button{padding:10px 16px}

html body .inbox-conversation .xtop{position:static}
@media(max-width:999px){
 html body .inbox-conversation>.xtop{display:grid;grid-template-columns:84px minmax(0,1fr) 84px;padding:16px 14px 10px;min-height:0;gap:0}
 html body .inbox-conversation>.xtop .sp{display:none}
 html body .inbox-conversation>.xtop>b{grid-column:2;text-align:center;font-size:15px;font-weight:700;padding-top:6px}
 html body .inbox-conversation>.xtop>.ibtn{width:23px;height:29px;min-height:0;padding:6px 0 0;border-radius:0}
 html body .inbox-conversation>.xtop>#threadMenu{grid-column:3;justify-self:end}
 html body .inbox-conversation>.xtop>.ibtn svg{width:23px;height:23px}
}
@media(min-width:1000px){html body .inbox-desktop-detail .inbox-chat{margin:0 0 12px}}

/* v8 menu: shared source dimensions, private profile data from the account API. */
#serviceBody.menu-page{padding:0 0 24px;max-width:none}
.menu-profile{display:flex;align-items:center;gap:12px;padding:16px;color:var(--text);text-decoration:none;text-align:left}
.menu-profile>.idn,.menu-guest-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:56px;height:56px;border-radius:8px;overflow:hidden}
.menu-guest-avatar{background:var(--surface)}.menu-guest-avatar svg{width:28px;height:28px}
.menu-profile-copy{flex:1;min-width:0}.menu-profile-copy b{display:block;font-size:18px;font-weight:700;line-height:1.5}.menu-profile-copy small{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:3px}
.menu-profile>svg{width:18px;height:18px;flex:none;color:var(--dim)}
.menu-label{padding:18px 16px 6px;margin:0;font-size:13px;line-height:1.5;font-weight:700;color:var(--dim);text-align:left}
.menu-grid{display:grid;gap:8px;padding:8px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:78px;border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;text-align:center;box-shadow:none;transition:background .15s}
.menu-cell svg{width:22px;height:22px;flex:none}.menu-cell b{font-size:13px;line-height:normal;font-weight:700}
.menu-session{padding:8px 16px;margin-top:24px}
html body .menu-session .menu-logout,html body .menu-session .menu-login{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:50px;padding:0;border-radius:14px;font-size:15px;font-weight:700;line-height:normal;text-decoration:none}
html body .menu-session .menu-logout{background:transparent;color:var(--pt);border:1.2px solid var(--ln)}
html body .menu-session .menu-logout svg{width:16px;height:16px}
html body .menu-session .menu-login{background:var(--ctl);color:var(--on);border:0}
@media(prefers-reduced-motion:reduce){.menu-cell{transition:none}}

html body #serviceBody.menu-page{padding:0 0 24px!important}
/* Plaza uses the shared handoff chat geometry and an independent bottom input row. */
html body #serviceBody.plaza-page{max-width:none;margin:0;padding:0 0 calc(59px + env(safe-area-inset-bottom));line-height:normal}
html body #serviceBody.plaza-page .plaza-guide{margin:0;padding:10px 16px;font-size:13px;font-weight:400;line-height:1.6;text-align:center;color:var(--t3)}
html body #serviceBody.plaza-page #chatMessages{display:flex;flex-direction:column;gap:12px;min-height:0;padding:12px 16px}
.plaza-msg{display:flex;gap:8px;align-items:flex-end}
.plaza-msg>.idn{width:28px;height:28px;flex:none;border-radius:7px}
.plaza-msg.mine{flex-direction:row-reverse}
.plaza-message{max-width:75%;text-align:left}
.plaza-msg.mine .plaza-message{text-align:right}
html body #serviceBody.plaza-page .plaza-msg.mine .plaza-message>small{font-family:inherit;font-weight:800;color:var(--tx)}
html body #serviceBody.plaza-page .plaza-empty{margin:0;padding:24px 16px;text-align:center;color:var(--t3);font-size:14px;line-height:1.6}
.plaza-message>small{display:block;margin-bottom:3px;font-size:12px;color:var(--t3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html body #serviceBody.plaza-page .plaza-message>p{display:inline-block;margin:0;padding:9px 12px;border-radius:14px;font-size:15px;line-height:1.45;text-align:left;background:var(--s);color:var(--tx);white-space:pre-wrap;overflow-wrap:anywhere}
html body #serviceBody.plaza-page .plaza-message>p.blinded{color:var(--t3);font-style:italic}
html body #serviceBody.plaza-page .plaza-msg.mine .plaza-message>p{background:var(--ctl);color:var(--on)}
html body #serviceBody.plaza-page .chat-compose{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:calc(min(100vw,560px) - 2px);max-width:558px;display:flex;gap:8px;margin:0;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);z-index:40}
html body #serviceBody.plaza-page .chat-compose .xin{flex:1;min-width:0;width:0;height:42px;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--s);font-size:15px;line-height:normal;box-shadow:none}
html body #serviceBody.plaza-page .chat-compose .fmini{width:auto;min-width:0;height:42px;min-height:0;padding:0 18px;border:0;border-radius:10px;background:var(--ctl);color:var(--on);font-size:14px;font-weight:700;line-height:normal}
html body #serviceBody.plaza-page .chat-compose .fmini:disabled{background:var(--thb);color:var(--t3);opacity:1}
@media(min-width:1000px){html body.dc-shell #serviceBody.plaza-page .chat-compose{left:calc(var(--desk-body-left) + 1px);transform:none;width:calc(var(--dc-main-width) - 2px);max-width:none}}
@media(max-width:999px){
 html body #xpage:has(>.plaza-page){padding-top:56px}
 html body #xpage:has(>.plaza-page)>.xtop{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:calc(min(100vw,560px) - 2px);max-width:558px;z-index:40;height:56px;min-height:0;display:grid;grid-template-columns:84px minmax(0,1fr) 84px;padding:16px 14px 10px;gap:0}
 html body #xpage:has(>.plaza-page)>.xtop>b{grid-column:2;text-align:center;font-size:15px;font-weight:700;padding-top:6px;line-height:normal}
 html body #xpage:has(>.plaza-page)>.xtop>.ibtn{display:flex;width:23px;height:29px;min-height:0;padding:6px 0 0;border-radius:0}
 html body #xpage:has(>.plaza-page)>.xtop>.ibtn svg{width:23px;height:23px}
}
html body #serviceBody.menu-page>.menu-label{margin:0;font-size:13px;line-height:normal}
html body #serviceBody.menu-page .menu-profile{border-bottom:1px solid var(--line)}
html body #serviceBody.menu-page .menu-profile-copy b{line-height:normal}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop{height:56px;min-height:0;display:grid;grid-template-columns:84px minmax(0,1fr) 84px;padding:16px 14px 10px;gap:0}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>b{text-align:center;font-size:15px;padding-top:6px;line-height:normal}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>.sp{display:block}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>.ibtn{width:23px;height:29px;min-height:0;padding:6px 0 0;border-radius:0}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>.ibtn svg{width:23px;height:23px}
@media(min-width:1000px){html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop{height:48px;padding-top:8px}}

@media(max-width:999px){html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page)){border-inline:1px solid var(--line);box-sizing:border-box}}
@media(max-width:999px){
 html body.in-x #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page)),html body.settings-view #xpage:has(>.xtop){padding-top:56px}
 html body.in-x #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop,html body.settings-view #xpage>.xtop{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:calc(min(100vw,560px) - 2px);max-width:558px;z-index:40}
}

html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop{top:0!important}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>b{grid-column:2}
html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop>.ibtn{display:flex;grid-column:1}

/* v8 own profile and account activity use the shared feed row. */
.account-page{padding:0 0 24px}
html body .sheetbg{background:rgba(0,0,0,.45)}
.account-profile{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);text-align:left}
.account-profile>.idn{width:56px;height:56px;flex:none;border-radius:8px;overflow:hidden}
.account-profile-copy{flex:1;min-width:0}.account-profile-copy b{display:block;font-size:18px;font-weight:700}.account-profile-copy small{display:block;font-size:13px;color:var(--dim);margin-top:3px;overflow-wrap:anywhere}
.account-profile>button{flex:none;font-size:13px;font-weight:600;color:var(--muted);padding:0;background:transparent;border:0}
html body #xpage .account-page #meBox .hf-list-row[data-id]{min-height:0}
.account-bio{padding:16px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
html body #xpage:has(>.account-page) #meTabs{display:flex;gap:0;margin:6px 0 0!important;padding:0;border-bottom:1px solid var(--line)!important;border-radius:0;background:transparent}
html body #xpage:has(>.account-page) #meTabs button{flex:1;min-height:0;padding:12px 0!important;border-radius:0;font-size:14px!important;font-weight:600!important;line-height:normal;color:var(--dim)!important;background:transparent;box-shadow:none}
html body #xpage:has(>.account-page) #meTabs button.on{font-weight:700!important;color:var(--text)!important;box-shadow:inset 0 -2px var(--text)}
html body #xpage:has(>.account-page) #meTabs button:after{display:none}
.account-comment{display:block;text-align:left;padding:16px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.account-comment b{display:block;font-size:16px;font-weight:600;line-height:normal;white-space:pre-wrap;overflow-wrap:anywhere}.account-comment small{display:block;font-size:13px;color:var(--muted);line-height:normal;margin-top:4px}
.account-empty{padding:16px;text-align:center;color:var(--dim);font-size:13px;line-height:1.6}.account-more{height:28px;text-align:center;color:var(--dim);font-size:13px}
html body.in-x:not(.desk-login) #xpage:has(>.account-page)>.xtop:has(.account-balance){grid-template-columns:84px minmax(0,1fr) 84px}
html body.in-x:not(.desk-login) #xpage:has(>.account-page)>.xtop:has(.account-balance)>.sp{display:none}
.account-balance{grid-column:3;text-align:right;font-size:14px;font-weight:700;white-space:nowrap}
.account-point-filters{display:flex;gap:6px;padding:8px 16px}.account-point-filters button{border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:500;padding:7px 14px;border:0}.account-point-filters button.on{background:var(--line);color:var(--text);font-weight:700}
.account-point-row{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.account-point-row>span{flex:1;min-width:0}.account-point-row b{display:block;font-size:15px;font-weight:600}.account-point-row small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.account-point-row strong{font-size:14px;font-weight:700;flex:none}.account-point-row .spent{color:var(--pt)}

html body.in-x:not(.desk-login) #xpage:has(>:is(.menu-page,.account-page,.inquiry-page,.coupons-page))>.xtop #xBack{display:flex}

/* v8 portal search uses server totals and full result pages. */
html body #spage.portal-search{padding:0 0 24px}
html body.in-search #spage.portal-search>.portal-bar{padding:16px 14px 10px!important;position:sticky;top:0!important;background:var(--bg);gap:8px}
html body.in-search #spage.portal-search .sinput{height:38px;padding:10px 12px;background:var(--surface);border-radius:10px;box-shadow:inset 0 0 0 1.5px var(--ctl)}
html body.in-search #spage.portal-search #sClear{display:flex!important;width:16px;height:16px;min-height:0;padding:0;color:var(--dim);border-radius:0;flex:none}
html body.in-search #spage.portal-search #sClear[hidden]{display:none!important}
.portal-search button{color:inherit;font:inherit;border:0;cursor:pointer}.portal-search a{color:inherit;text-decoration:none}
html body #spage.portal-search .hf-list-row .title{line-height:1.4!important}
html body #spage.portal-search .hf-list-row .list-title-text{display:-webkit-box;line-height:1.4!important;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;letter-spacing:-.025em;overflow-wrap:anywhere}
html body #spage.portal-search .hf-list-row .hf-list-meta{margin-top:6px!important}
html body #spage.portal-search .hf-list-row .body .thumb{border-radius:10px!important}
/* Search uses the shared compact grid; a flex column here collapses text beside fixed-height thumbnails. */
#portalPills{display:flex;gap:8px;padding:2px 16px 10px}#portalPills[hidden]{display:none}
#portalPills>button{display:flex;align-items:center;gap:4px;flex:none;padding:8px 12px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;line-height:normal}
#portalPills>button.on{background:var(--ctl);color:var(--on)}
.portal-tabs{display:flex;padding:0;border-bottom:1px solid var(--line)}
.portal-tabs>button{flex:1;min-width:0;text-align:center;padding:13px 0;margin-bottom:-1px;font-size:15px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;background:transparent;line-height:normal;border-radius:0}
.portal-tabs>button.on{color:var(--text);font-weight:800;border-bottom-color:var(--text)}.portal-tabs small{margin-left:4px;font-size:12px;font-weight:600;color:var(--dim)}
.portal-home{padding:6px 16px 24px}.portal-home-title{display:flex;justify-content:space-between;align-items:center;padding:14px 0 8px;font-size:14px;font-weight:700}.portal-home-title button,.portal-home-title small{font-size:13px;font-weight:500;color:var(--dim);padding:0}.portal-hot-title{padding-top:28px}
.portal-recent{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ln2)}.portal-recent>svg{flex:none;color:var(--dim)}.portal-recent>button[data-query]{flex:1;min-width:0;font-size:15px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0}.portal-recent>button[data-remove-recent]{display:flex;padding:4px;color:var(--dim)}
.portal-trending{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;grid-auto-rows:40px;grid-template-rows:repeat(5,40px);grid-auto-flow:column}.portal-trending button{display:flex;gap:10px;align-items:center;min-width:0;font-size:15px;border-bottom:1px solid var(--ln2);white-space:nowrap;overflow:hidden;padding:0;text-align:left}.portal-trending em{font-style:normal;font-weight:700;width:14px;flex:none;color:var(--dim)}.portal-trending button>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.portal-trending small{font-size:11px;font-weight:700;color:var(--dim)}
.portal-search .hot{color:var(--pt)}.portal-search .down{color:var(--blue)}
.portal-suggestion{display:flex;gap:12px;align-items:center;width:100%;padding:13px 16px;border-bottom:1px solid var(--ln2);text-align:left;background:transparent;border-radius:0;line-height:normal}.portal-suggestion:hover{background:var(--surface)}.portal-suggestion>svg{flex:none;color:var(--dim)}.portal-suggestion>span{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-suggestion small{font-size:12px;color:var(--dim)}.portal-match{color:var(--pt)}
.portal-related{display:flex;gap:8px;align-items:center;padding:14px 16px 6px;overflow-x:auto;scrollbar-width:none}.portal-related>span{flex:none;font-size:13px;color:var(--dim);font-weight:600;margin-right:2px}.portal-related button{flex:none;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--surface);color:var(--muted);line-height:normal}
.portal-channel-title{padding:16px 16px 6px;font-size:15px;font-weight:800;letter-spacing:-.02em}.portal-channel-title small{margin-left:6px;font-size:13px;font-weight:600;color:var(--dim)}
.portal-channel{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ln2)}.portal-channel:hover{background:var(--surface)}.portal-channel-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex:none;background:var(--surface);color:var(--muted)}.portal-channel-copy{flex:1;min-width:0}.portal-channel-copy>b{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px;line-height:normal}.portal-channel em{font-style:normal;font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--surface);color:var(--muted)}.portal-channel-copy small{display:block;font-size:13px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:normal}.portal-channel>button{flex:none;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;background:var(--ctl);color:var(--on);line-height:normal}.portal-channel>button.on{background:var(--surface);color:var(--muted)}
.portal-section-title{display:flex;justify-content:space-between;align-items:center;padding:20px 16px 6px;font-size:15px;font-weight:800;letter-spacing:-.02em}.portal-section-title button{font-size:13px;font-weight:600;color:var(--dim);padding:0}
.portal-post{display:flex;gap:14px;padding:12px 16px;border-bottom:1px solid var(--ln2);align-items:center;cursor:pointer}.portal-post:hover{background:var(--surface)}.portal-score{width:30px;flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:13px;font-weight:600;color:var(--dim);line-height:normal}.portal-score i{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid currentColor}.portal-post-copy{flex:1;min-width:0}.portal-post-copy>a{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.portal-post mark{background:rgba(245,196,0,.38);color:inherit;border-radius:3px;padding:0 1px}.portal-post-meta{margin-top:6px;font-size:13px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:normal}.portal-post-meta>.hot{font-weight:700}.portal-identity{display:inline-flex;align-items:center;gap:4px;vertical-align:bottom}.portal-identity>.idn{width:14px;height:14px;flex:none;border-radius:4px;margin:0}.portal-identity>span:last-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.portal-post>img{width:56px;height:56px;border-radius:10px;flex:none;background:var(--thb);object-fit:cover;object-position:top}
.portal-result-sort{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;color:var(--dim);border-bottom:1px solid var(--ln2)}.portal-result-sort b{color:var(--text)}.portal-result-sort button{display:flex;gap:4px;align-items:center;color:var(--muted);font-weight:600;padding:0;font-size:13px}
.portal-gallery{display:grid;gap:2px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-media{display:block;position:relative;aspect-ratio:1/1;cursor:pointer;overflow:hidden;background:var(--thb)}.portal-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}.portal-media-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--dim)}.portal-video-tag{position:absolute;left:6px;bottom:6px;display:flex;align-items:center;gap:3px;padding:2px 7px 2px 5px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:11px;font-weight:600}.portal-strip{display:flex;gap:6px;padding:0 16px 8px;overflow-x:auto;scrollbar-width:none}.portal-strip>.portal-media{width:112px;flex:none}
.portal-empty-channel{margin:0;text-align:center;font-size:14px;color:var(--dim);padding:56px 16px}.portal-empty-media{margin:0;text-align:center;font-size:14px;color:var(--dim);padding:48px 16px}
.portal-no-results{text-align:center;padding:64px 24px 32px}.portal-no-results h4{font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0}.portal-no-results p{font-size:14px;color:var(--t2);line-height:1.6;margin:8px 0 0}.portal-no-results>small{display:block;font-size:13px;color:var(--t3);margin-top:28px}.portal-no-results>div{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:center;margin-top:12px}.portal-no-results>div button{font-size:14px;font-weight:600;padding:4px 0;background:none;border:0;color:var(--lk)}
.portal-loading{padding:48px 16px;text-align:center;color:var(--dim);font-size:14px}.portal-loading button{display:block;margin:12px auto;padding:10px 16px;border-radius:10px;background:var(--surface)}.portal-sentinel{height:28px;text-align:center;font-size:13px;color:var(--dim)}
#portalFilterOptions{max-height:60vh;overflow:auto}#portalFilterOptions h4{padding:18px 0 6px;margin:0;font-size:13px;font-weight:700;color:var(--dim)}.portal-filter-options{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.portal-filter-options button{padding:7px 14px;border-radius:999px;background:var(--surface);font-size:13px;color:var(--muted)}.portal-filter-options button.on{background:var(--line);color:var(--text);font-weight:700}.portal-filter-actions{display:flex;gap:8px;padding:8px 0}.portal-filter-actions button{flex:1;min-height:46px;border-radius:14px;font-size:15px;font-weight:700;background:var(--surface);color:var(--muted)}.portal-filter-actions button:last-child{background:var(--ctl);color:var(--on)}
@media(min-width:1000px){html body #spage.portal-search>.portal-bar{display:none!important}#portalPills{padding-top:12px}.portal-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}

html body #spage.portal-search .portal-media:active{transform:none!important}

html body.in-search #spage.portal-search>.portal-bar{height:auto!important;min-height:0!important;gap:8px!important}
html body.in-search #spage.portal-search #sBack{display:flex!important;align-items:center;justify-content:center;width:23px!important;height:23px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0;border-radius:0;background:transparent;flex:none}
html body.in-search #spage.portal-search .sinput{padding:10px 12px!important;background:var(--surface)!important;box-shadow:inset 0 0 0 1.5px var(--ctl)!important;border:0!important;outline:0!important}

.portal-search #sq::-webkit-search-cancel-button,.portal-search #sq::-webkit-search-decoration{-webkit-appearance:none;appearance:none}

@media(max-width:999px){html body #spage.portal-search{border-inline:0;box-sizing:border-box}}
.portal-channel-icon{background:var(--thb);color:var(--text)}.portal-channel>button.on{color:var(--text)}
.portal-post.read-dim .portal-post-copy>a{color:var(--dim)}.portal-post.read-hide{display:none}

html body.in-search #spage.portal-search{padding-bottom:0}
html body.in-search #spage.portal-search #portalPills{position:sticky;top:64px;z-index:19;background:var(--bg)}
@media(min-width:1000px){html body.in-search #spage.portal-search #portalPills{top:0}}
@media(max-width:999px){
 html body.in-search:has(>#appScroll) #spage.portal-search{padding-top:calc(120px + env(safe-area-inset-top, 0px))}
 html body.in-search:has(>#appScroll) #spage.portal-search:has(#portalPills[hidden]){padding-top:calc(70px + env(safe-area-inset-top, 0px))}
 html body.in-search:has(>#appScroll) #spage.portal-search>.portal-bar{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:100%;max-width:560px;z-index:20}
 html body.in-search:has(>#appScroll) #spage.portal-search #portalPills{position:fixed;top:68px;left:50%;transform:translateX(-50%);width:100%;max-width:560px;z-index:19}
}

html body #desktopHeader .portal-desktop-clear{display:none;width:16px;height:16px;min-width:0;min-height:0;flex:none;padding:0;border:0;border-radius:0;background:transparent;color:var(--dim)}
html body.in-search #desktopHeader .portal-desktop-clear:not([hidden]){display:flex;align-items:center;justify-content:center}

html body #sheetbg.portal-filter-sheet{left:50%;right:auto;width:calc(100% - 2px);max-width:1318px;transform:translateX(-50%);background:rgba(0,0,0,.45)}
html body #sheetbg.portal-filter-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 16px 20px;border:0;background:var(--bg);box-shadow:none}
html body #sheetbg.portal-filter-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 14px}
html body #sheetbg.portal-filter-sheet h3{font-size:18px;font-weight:700;line-height:normal;margin:0;padding:0}
html body #sheetbg.portal-filter-sheet .portal-filter-options>button{padding:10px 16px;font-size:14px;line-height:normal;font-weight:500}
html body #sheetbg.portal-filter-sheet .portal-filter-options>button.on{font-weight:700}
html body #sheetbg.portal-filter-sheet .portal-filter-actions>button{height:50px;min-height:50px}
@media(max-width:999px){html body #sheetbg.portal-filter-sheet{max-width:558px}}

/* v8 composer: match the source frame, disabled publish chip and character counter. */
html body #xpage .wc .wc-top{background:var(--bg)!important;backdrop-filter:none!important}
html body #xpage .wc .wc-top .ibtn{color:var(--text)}
html body #xpage .wc .wc-top .wc-go-top:disabled{background:var(--thb);color:var(--dim)}
html body #xpage .wc .wc-tools .wc-len{margin-right:0;font-variant-numeric:normal}
@media(max-width:999px){
 html body #xpage:has(>.wc){border-inline:1px solid var(--line)}
 html body #xpage .wc .wc-top{width:calc(100% - 2px);max-width:558px}
}

html body #sheetbg.wc-handoff-sheet{left:50%;right:auto;width:calc(100% - 2px);max-width:1318px;transform:translateX(-50%);background:rgba(0,0,0,.45)}
html body #sheetbg.wc-handoff-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 20px;border:0;background:var(--bg);box-shadow:none}
html body #sheetbg.wc-handoff-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 14px}
html body #sheetbg.wc-handoff-sheet h3{font-size:18px;font-weight:700;line-height:normal;margin:0;padding:0 16px}
html body #sheetbg.wc-handoff-sheet .wc-write-settings>h4{padding:18px 16px 6px;margin:0}
html body #sheetbg.wc-handoff-sheet .wc-write-settings>p{margin:0}
html body #sheetbg.wc-handoff-sheet #wSettingsDone{display:flex;align-items:center;justify-content:center;width:calc(100% - 32px);height:54px;min-height:54px;padding:0;margin:8px 16px;border-radius:14px;font-size:16px;font-weight:700;background:var(--accent);color:var(--on-accent)}
@media(max-width:999px){html body #sheetbg.wc-handoff-sheet{max-width:558px}}

html body #sheetbg.wc-handoff-sheet .wc-write-settings>.setrow{border-top:0;border-bottom-color:var(--ln2)}
html body #sheetbg.wc-handoff-sheet .wc-write-settings>p{padding:10px 16px;font-size:13px;line-height:1.6;color:var(--dim)}
html body #sheetbg.wc-handoff-sheet .wc-write-settings>p.wc-rule-lines{color:var(--muted)}

html body #xpage .wc #wBlocks .wtx,html body #xpage .wc #wBlocks[data-empty="true"]:before{font-size:16px;font-weight:400;line-height:1.6}

/* Let the editable surface use the space above the attachment toolbar. */
html body #xpage .wc .wc-body{display:flex;flex:1;min-height:0;padding:0}
html body #xpage .wc #wBlocks{flex:1;min-width:0;height:auto;min-height:0;padding:14px 16px;overflow-y:auto}
html body #xpage .wc>:not(.wc-body){flex-shrink:0}
html body #xpage .wc .wc-draft[hidden]{display:none!important}

/* ===== Bundle 1 (2026-10 handoff): top bar category name, underline sort tabs, detail actions, random, reply fold, composer ===== */
html body header .hf-top-left{display:flex;align-items:center;gap:10px;min-width:0}
html body header .hf-top-sep{flex:none;width:1px;height:16px;background:var(--line)}
html body header .hf-cat-head{display:flex;align-items:center;gap:2px;min-width:0;min-height:0;height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--text);font-size:17px;font-weight:800;letter-spacing:-.03em;line-height:normal}
html body header .hf-cat-head>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body header .hf-cat-head>svg{flex:none;width:18px;height:18px;color:var(--muted)}
@media(min-width:1000px){html body.dc-shell header .hf-top-sep,html body.dc-shell header .hf-cat-head{display:none}}

html body #chips .v2tb,html body:not(.dc-shell) #chips .v2tb,html body.dc-shell #chips .v2tb{display:flex;align-items:flex-end;gap:0;height:46px!important;padding:0;background:var(--bg);border:0;border-bottom:1px solid var(--line);overflow-x:hidden;scrollbar-width:none}
html body #chips .v2tb::-webkit-scrollbar{display:none}
html body #chips .v2tb>:is(button,a),html body:not(.dc-shell) #chips .v2tb>:is(button,a),html body.dc-shell #chips .v2tb>:is(button,a){flex:1 1 0!important;min-width:0!important;display:inline-flex;align-items:center;justify-content:center;height:auto!important;min-height:0!important;padding:14px 0 12px!important;margin:0;border:0;border-radius:0;background:none;color:var(--dim);font-size:15px!important;font-weight:500;line-height:normal;letter-spacing:-.02em;text-decoration:none;box-shadow:inset 0 -2px transparent;white-space:nowrap}
html body #chips .v2tb>:is(button.on,.subscription-feed-link.on),html body:not(.dc-shell) #chips .v2tb>:is(button.on,.subscription-feed-link.on),html body.dc-shell #chips .v2tb>:is(button.on,.subscription-feed-link.on){background:none;box-shadow:inset 0 -2px var(--text);color:var(--text);font-weight:800}

/* new-post pill follows the scroll right below the notice band */
html body #coreNewPosts{top:8px!important;margin:8px auto!important}

/* detail action row: like / comments / scrap / share */
html body.in-detail #detail .hf-actions{display:flex;align-items:center;gap:26px;padding:22px 16px 20px;font-size:15px;font-weight:600}
html body.in-detail #detail .hf-act{display:inline-flex;align-items:center;gap:7px;min-height:0;height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--muted);font:inherit;font-weight:600;line-height:normal;cursor:pointer}
html body.in-detail #detail .hf-act>b{font-weight:600}
html body.in-detail #detail .hf-act .hf-ic{width:22px;height:22px;flex:none}
html body.in-detail #detail .hf-act .hf-ic-on{display:none}
html body.in-detail #detail .hf-act.hf-like{gap:8px}
html body.in-detail #detail .hf-act.hf-like.on{color:var(--pt)}
html body.in-detail #detail .hf-act.hf-like.on .hf-ic:not(.hf-ic-on){display:none}
html body.in-detail #detail .hf-act.hf-like.on .hf-ic-on{display:block}
html body.in-detail #detail .hf-act.hf-like.pop .hf-ic-on{animation:hfDetailLike .35s cubic-bezier(.2,.8,.2,1)}
html body.in-detail #detail #dScrap.on{color:var(--text)}
html body.in-detail #detail .hf-act:disabled{opacity:1}

/* random tab: next random post */
html body.in-detail #detail .hf-rand{padding:28px 16px 8px}
html body.in-detail #detail .hf-rand>button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;min-height:0;padding:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:800;letter-spacing:-.02em}
html body.in-detail #detail .hf-rand .hf-ic{width:20px;height:20px}

/* replies: two shown, the rest behind a fold */
html body.in-detail #cmBox .hf-fold{display:block;width:100%;margin:0;padding:12px 16px 12px 40px;min-height:0;border:0;border-bottom:1px solid var(--line2);border-radius:0;background:var(--surface);color:var(--blue);font-size:14px;font-weight:700;text-align:left}
html body.in-detail #cmBox .hf-fold[hidden]{display:none}

/* comment bar: "댓글 N | input 등록" in one rounded box */
html body.in-detail #detail .dfoot{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}
html body.in-detail #detail .dfoot .drt{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
html body.in-detail #detail .dfoot .drt[hidden]{display:none}
html body.in-detail #detail .dfoot .drt b{color:var(--blue);font-weight:700}
html body.in-detail #detail .dfoot .dcm{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:50px;padding:6px;border:0;border-radius:10px;background:var(--surface);font-size:16px}
html body.in-detail #detail .dfoot .dcm #cIn{flex:1;min-width:0;padding:10px 0;border:0;background:transparent;font-size:16px;line-height:normal}
html body.in-detail #detail .dfoot .cm-jump{flex:none;display:flex;align-items:center;gap:5px;min-height:0;height:auto;margin-right:6px;padding:8px 10px;border:0;border-right:1px solid var(--line);border-radius:8px;background:none;color:var(--muted);font-size:14px;font-weight:700;line-height:normal}
html body.in-detail #detail .dfoot .cm-jump>b{color:var(--pt);font-weight:700}
html body.in-detail #detail .dfoot .dcm .go,html body.in-detail #detail .dfoot .cmlogin em{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:0;height:auto;min-height:0;padding:11px 18px;border-radius:10px;background:var(--line);color:var(--muted);font-size:15px;font-weight:700;line-height:normal;font-style:normal}
html body.in-detail #detail .dfoot .dcm .go.on{background:var(--ctl);color:var(--on)}
html body.in-detail #detail .dfoot .cmlogin{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--dim);font-size:16px!important;font-weight:400;text-align:left}

/* README: popular searches live in the PC right column, not under the sort tabs */
html body #desktopKeywords{display:none!important}
html body.in-detail #detail .dbar #dMenu{margin-left:auto}
html body.in-detail #detail .dwrap{margin:0!important;border:0}

/* Only the home feed rows keep the 76px minimum; channel, search, my-page and related rows size to their content (Dampick.dc.html). */
html body :is(#feed,#subscribedFeed) .hf-list-row[data-id]{min-height:0}
/* Channel sort toggles directly, like the handoff, with native keyboard button activation. */
html body #featureBody.handoff-channel-page .channel-sort{position:relative;display:inline-flex;align-items:center;margin-left:auto}
html body #featureBody.handoff-channel-page .channel-sort:after{content:'\25BE';margin-left:3px;color:var(--muted);font-size:13px;font-weight:600;pointer-events:none}
html body #featureBody.handoff-channel-page .channel-sort #channelSort{margin:0;-webkit-appearance:none;appearance:none;width:auto!important;padding:0!important;background:none;color:var(--muted);font-size:13px!important;font-weight:600!important}
/* Information tab: manager is a plain value on the right, not a coloured identity chip. */
html body #featureBody.handoff-channel-page #channelInformation .frow .idn{display:none}
html body #featureBody.handoff-channel-page #channelInformation .frow .anon-id{font-family:inherit;font-size:14px;font-weight:400;color:var(--muted)}

/* 2묶음: 채널 빈 목록 안내 (시안 빈 상태와 같은 가운데 정렬·옅은 글자) */
html body #channelFeed>p{margin:0!important;padding:56px 16px!important;text-align:center!important;font-size:14px!important;color:var(--t3,#8b95a1)!important}

/* 2묶음: PC 채널 화면 상단 바 — 시안처럼 뒤로 가기 + 가운데 제목 + 검색, 높이 48px, 커버를 가리지 않음 */
@media(min-width:1000px){
html body.dc-shell:is(.handoff-channel,.handoff-directory) #xpage>.xtop{position:fixed!important;top:56px!important;left:calc(50% - 45px)!important;transform:translateX(-50%)!important;width:calc(100vw - 510px)!important;max-width:810px!important;height:48px!important;min-height:0!important;padding:0 14px!important;display:flex!important;align-items:center!important;gap:10px!important;border-bottom:0!important;z-index:25;background:var(--bg)}
html body.dc-shell:is(.handoff-channel,.handoff-directory) #xpage>.xtop>#xBack{display:flex!important;width:32px;height:32px;min-height:0;padding:0;align-items:center;justify-content:center}
html body.dc-shell:is(.handoff-channel,.handoff-directory) #xpage>.xtop>b{position:absolute!important;left:60px!important;right:60px!important;height:auto!important;margin:0!important;line-height:1.2!important;text-align:center!important}
html body.dc-shell:is(.handoff-channel,.handoff-directory) #xpage>.xtop>.ibtn:last-child{margin-left:0!important}
html body.dc-shell.handoff-directory #xpage>.xtop>.sp{flex:0 0 32px}
html body.dc-shell:is(.handoff-channel,.handoff-directory) #xpage{padding-top:48px!important}
html body.dc-shell.handoff-channel #xpage>.xtop>.ibtn:last-child{margin-left:auto!important}
}

/* 2묶음: 채널 제목 글자 — 시안 실측값(상단 바 15px/700, 커버 아래 채널 이름 22px/800) */
html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop>b{font-size:15px!important;font-weight:700!important}
html body #featureBody.handoff-channel-page .handoff-channel-cover~* h2,html body #featureBody.handoff-channel-page h2{font-weight:800!important}

/* 2묶음: PC 왼쪽 메뉴 '내 채널' 줄(아이콘 옆에 이름 한 줄)과 내 포인트 카드(시안에는 요일 줄 없음) */
@media(min-width:1000px){
html body.dc-shell .desktop-rail #mySubscribedChannels>a.dc-channel-link{display:flex!important;align-items:center!important;gap:12px!important;min-height:40px!important;height:auto!important}
html body.dc-shell #desktopAccountCard .dc-week{display:none!important}
}

/* 2묶음: PC 왼쪽 메뉴 간격·내 포인트 카드 배치(시안: 라벨과 금액 한 줄, 출석 버튼 넓게, 상점은 테두리 버튼) */
@media(min-width:1000px){
html body.dc-shell .desktop-rail #mySubscribedChannels{margin-top:0!important}
html body.dc-shell .desktop-rail #mySubscribedChannels>a.dc-channel-link,html body.dc-shell .desktop-rail #desktopRecentChannels>a.dc-channel-link{margin:0!important}
html body.dc-shell .desktop-rail .dc-channel-link{min-height:42px!important}
html body.dc-shell #desktopAccountCard:not(.dc-user-card){display:grid!important;grid-template-columns:1fr auto;align-items:center;column-gap:8px}
html body.dc-shell #desktopAccountCard>span{grid-column:1;grid-row:1}
html body.dc-shell #desktopAccountCard>.dc-balance,html body.dc-shell #desktopAccountCard>strong{grid-column:2;grid-row:1;margin:0!important;font-size:22px!important;text-align:right}
html body.dc-shell #desktopAccountCard>.dc-account-actions{grid-column:1/-1;grid-row:2;margin-top:12px}
html body.dc-shell #desktopAccountCard .dc-account-actions>a:first-child{flex:2.4!important}
html body.dc-shell #desktopAccountCard .dc-account-actions>a:not(.dc-attend){flex:1!important;background:var(--bg)!important;box-shadow:inset 0 0 0 1px var(--line)}
}
@media(min-width:1000px){
html body.dc-shell .desktop-rail #mySubscribedChannels>a.dc-channel-link{padding:7px 12px!important}
html body.dc-shell #desktopAccountCard .dc-account-actions>a:not(.dc-attend){background:transparent!important}
}
@media(min-width:1000px){html body.dc-shell .desktop-rail #mySubscribedChannels>a.dc-channel-link{min-height:42px!important}}
@media(min-width:1000px){html body.dc-shell .desktop-rail .dc-channel-heading>:is(a,button){min-height:0!important;height:auto!important;padding:0!important;line-height:normal!important}}

/* The prototype reveals pull feedback above the home notice, in document flow. */
html body .ptr{position:static;left:auto;top:auto;z-index:auto;width:100%;max-width:none;height:var(--pull-height,0px);padding:0;gap:6px;border:0;border-radius:0;transform:none;background:none;box-shadow:none;font-size:13px;font-weight:400;line-height:normal;color:var(--dim);overflow:hidden}
html body .ptr.on{display:flex}
html body .ptr{animation:none;justify-content:center;flex:none;color:var(--muted);font-size:13px;font-weight:500;box-sizing:border-box}
html body .ptr .ptr-ic{width:24px;height:24px;background:transparent;color:inherit}
html body .ptr.ready,html body .ptr.spin{color:var(--text)}
html body .ptr .ptr-loader{display:none}
html body .ptr.spin .ptr-ic{width:30px;height:30px;color:var(--blue,#3182f6);animation:dpSpin .8s linear infinite}
html body .ptr.spin .ptr-arrow{display:none}
html body .ptr.spin .ptr-loader{display:block}
html body .ptr.spin .ptr-tx{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html body.in-detail .ptr,html body.in-x .ptr,html body.in-search .ptr,html body.in-shorts .ptr,html body.menu-open .ptr{display:none}

/* Account bundle: the reference auth form owns its complete page, including PC QR. */
html body.handoff-auth{padding:0!important}
html body.handoff-auth #appScroll{top:0!important;bottom:0!important;inset-inline:0!important;width:100%!important;max-width:none!important;margin:0!important}
html body.handoff-auth #xpage{padding:0!important;margin:0 auto!important;max-width:560px!important}
html body.handoff-auth #xpage>.xtop{height:56px;min-height:0;padding:22px 14px 10px;top:0!important;background:var(--bg);border:0;backdrop-filter:none}
html body.handoff-auth #xpage>.xtop>b,html body.handoff-auth #xpage>.xtop>.sp{display:none}
html body.handoff-auth #xpage>.xtop>#xBack{display:flex;width:23px;height:23px;padding:0;min-height:0;align-items:center;justify-content:center}
html body.handoff-auth #xpage>.xtop>#xBack svg{width:23px;height:23px}
html body.handoff-auth .auth-layout{display:block}
html body.handoff-auth .auth-form{padding:0;margin:0;max-width:420px;width:100%}
html body.handoff-auth .auth-brand{padding:20px 20px 22px;text-align:left}
.auth-brand-mark{width:44px;height:44px;border-radius:12px;background:url('/images/dampick-handoff-logo-light.png') left center/auto 100% no-repeat;box-shadow:0 6px 16px rgba(0,0,0,.14)}
[data-theme=dark] .auth-brand-mark{background-image:url('/images/dampick-handoff-logo-dark.png')}
html body.handoff-auth .auth-brand h1{margin:18px 0 0;font-size:26px;font-weight:800;letter-spacing:-.035em;line-height:1.3}
html body.handoff-auth .auth-brand p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--dim)}
.auth-tabs{display:flex;margin-top:6px;border-bottom:1px solid var(--line)}
html body .auth-tabs>button{flex:1;padding:12px 0;font-size:14px;line-height:normal;color:var(--dim);font-weight:600;border:0;border-radius:0;background:none}
html body .auth-tabs>button.on{color:var(--text);font-weight:700;box-shadow:inset 0 -2px var(--text)}
.auth-fields{display:grid;gap:16px;padding:20px 16px 8px}
html body.handoff-auth #xpage .auth-fields .xin{width:100%;height:42px;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--surface);font-size:15px!important;line-height:normal;box-shadow:none}
html body .auth-show{display:block;width:100%;padding:6px 16px;text-align:right;font-size:13px;line-height:19px;font-weight:600;color:var(--muted);border:0;background:none}
.auth-check{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer}
.auth-check input{appearance:none;position:relative;width:24px;height:24px;flex:none;border-radius:7px;border:1.5px solid var(--dim);margin:0;background:transparent}
.auth-check input:checked{border-color:var(--ctl);background:var(--ctl)}
.auth-check input:checked:after{content:'';position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--on);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.auth-check b{display:block;font-size:15px;line-height:1.4;font-weight:600}
.auth-check small{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--dim)}
.auth-submit{padding:8px 16px}
html body.handoff-auth #xpage .auth-submit .xmain{width:100%;height:54px;min-height:0;margin:0;padding:0;border-radius:14px;font-size:16px;line-height:normal;font-weight:700;background:var(--ctl);color:var(--on)}
html body.handoff-auth #xpage .auth-submit .xmain:disabled{opacity:1;background:var(--thb);color:var(--dim);cursor:default}
html body .auth-forgot{display:block;width:100%;padding:6px 16px;line-height:19px;font-size:13px;font-weight:600;color:var(--lk);background:none;border:0}
.auth-mobile-qr>p,.auth-note{margin:0;padding:10px 16px;font-size:13px;line-height:1.6;text-align:center;color:var(--dim)}
.auth-mobile-qr{display:flow-root}
html body .auth-mobile-qr>button{display:block;width:calc(100% - 32px);height:54px;margin:8px 16px;padding:0;border:1px solid var(--ctl);border-radius:14px;background:transparent;color:var(--text);font-size:16px;font-weight:700}
html body.handoff-auth #xpage .auth-error{margin:0;padding:10px 16px;min-height:0;color:var(--pt);font-size:13px;line-height:1.6;text-align:center}
html body.handoff-auth #xpage .auth-error:empty{display:none}
.auth-error[hidden]{display:none}
html body .auth-qr-card{box-sizing:border-box;width:340px;min-height:584px;padding:36px 32px 32px;border:0;border-radius:22px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);text-align:center;display:flex;flex-direction:column;align-items:stretch;justify-content:center}
.auth-qr-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;background:var(--bg);font-size:12px;font-weight:700;color:var(--muted);margin:0 auto}
.auth-qr-pill svg{width:14px;height:14px}
html body .auth-qr-card h4{display:block;margin:12px 0 0;font-size:21px;font-weight:800;letter-spacing:-.03em}
html body .auth-qr-card .qrb{width:216px;height:216px;border-radius:16px;padding:14px;margin:20px auto 0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);box-sizing:border-box}
html body .auth-qr-card .qtm{margin:12px 0 0;font-size:12px;color:var(--dim)}
html body .auth-qr-card .qst{display:flex;flex-direction:column;gap:10px;counter-reset:qr;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--line);list-style:none;text-align:left}
html body .auth-qr-card .qst li{display:flex;align-items:center;gap:10px;padding:0;margin:0;font-size:13px;line-height:normal;color:var(--muted)}
html body .auth-qr-card .qst li:before{counter-increment:qr;content:counter(qr);display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--ctl);color:var(--on);font-size:12px;font-weight:700}
html body .auth-qr-check{margin-top:18px;width:100%;height:42px;border:0;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--text)}
.auth-recovery-copy{font-size:13px;line-height:1.6;color:var(--dim);padding:12px 0}
html body #sheetbg.auth-qr-modal{align-items:center}
html body #sheetbg.auth-qr-modal>.sheet{width:calc(100% - 56px);max-width:340px;max-height:88%;padding:24px 0 14px;border:0;border-radius:20px;background:var(--bg);color:var(--text);text-align:center;transform:none;animation:hfConfirmModal .22s ease-out}
html body .auth-qr-modal .grab{display:none}
html body .auth-mobile-qr-panel h4{margin:0;padding:0 24px;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.03em}
html body .auth-mobile-qr-panel .auth-qr-intro{margin:8px 0 10px;padding:0 24px;font-size:14px;line-height:1.6;color:var(--muted)}
.auth-qr-code-wrap{display:flex;justify-content:center;padding:12px 16px}
html body .auth-mobile-qr-panel .qrb{width:184px;height:184px;padding:12px;margin:0;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none}
html body .auth-mobile-qr-panel .qrb svg{display:block;width:100%;height:100%}
html body .auth-mobile-qr-panel .qtm{padding:10px 16px;margin:0;font-size:13px;font-weight:400;line-height:1.6;color:var(--dim)}
.auth-qr-action{padding:8px 16px}
html body .auth-mobile-qr-panel .auth-qr-action button{display:flex;align-items:center;justify-content:center;width:100%;height:54px;padding:0;margin:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;opacity:1}
html body .auth-mobile-qr-panel .auth-qr-action button:disabled{background:var(--thb);color:var(--dim)}
html body .auth-mobile-qr-panel .auth-qr-action #qrClose{background:var(--surface);color:var(--muted)}
html body #sheetbg.auth-recovery-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 20px;border:0;border-radius:20px 20px 0 0;background:var(--bg);color:var(--text);overflow-y:auto}
html body .auth-recovery-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 14px}
html body .auth-recovery-sheet h3{padding:0 16px;margin:0;font-size:18px;font-weight:700;line-height:1.2}
html body .auth-recovery-sheet .auth-recovery-copy{padding:0 16px;margin:4px 0 6px;font-size:13px;line-height:1.6;color:var(--dim)}
.auth-recovery-field,.auth-recovery-action{padding:8px 16px}
html body #sheetbg.auth-recovery-sheet .auth-recovery-field .xin{display:block;width:100%;height:42px;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--surface);font-size:15px!important;line-height:normal;box-shadow:none}
html body .auth-recovery-sheet .auth-recovery-action .xmain{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;margin:0;padding:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;opacity:1}
html body .auth-recovery-sheet .auth-recovery-action .xmain:disabled{background:var(--thb);color:var(--dim)}
html body .auth-recovery-sheet .auth-recovery-action .xmain.secondary{border:1px solid var(--ctl);background:transparent;color:var(--text)}
html body .auth-recovery-sheet .auth-recovery-action .xmain.ghost{background:transparent;color:var(--muted)}
html body .auth-recovery-sheet .xerr:empty{display:none}
/* Mail recovery opens a separate page; controls share the reference sheet sizes. */
html body #resetBody.xform{max-width:560px;margin-inline:auto;padding:16px 0}
html body #resetBody .auth-recovery-copy{padding:0 16px;margin:4px 0 6px;font-size:13px;line-height:1.6;color:var(--dim)}
html body #resetForm .xin{display:block;width:100%;height:42px;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--surface);font-size:15px!important;line-height:normal;box-shadow:none}
html body #resetForm .xmain{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;margin:0;padding:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;opacity:1}
html body #resetForm .xmain:disabled{background:var(--thb);color:var(--dim)}
html body #resetError{padding:12px 16px;margin:0;font-size:14px;color:var(--pt)}
html body #resetError:empty{display:none}
html body .auth-recovery-sheet .xerr{margin:0;padding:10px 16px;color:var(--pt);font-size:13px;line-height:1.6}
@media(max-width:999px){html body.handoff-auth .auth-form{box-sizing:border-box;border-inline:0;margin-inline:auto}}
@media(max-width:999px){
 html body.handoff-auth #xpage .auth-fields .xin,
 html body #sheetbg.auth-recovery-sheet .auth-recovery-field .xin{font-size:16px!important}
}
@media(min-width:1000px){
 html body.handoff-auth :is(#desktopHeader,.desktop-rail,.desktop-insights){display:none!important}
 html body.handoff-auth #xpage{position:static!important;inset:auto!important;display:block!important;max-width:none!important;width:100%!important;height:auto!important;overflow:visible!important}
 html body.handoff-auth #xpage>.xtop{position:relative!important;left:0;top:0!important;width:100%;height:48px;padding-top:14px;border:0}
 html body.handoff-auth .auth-layout{position:relative;width:796px;margin:0 auto}
 html body.handoff-auth .auth-form{width:400px;max-width:400px;margin:0}
 html body.handoff-auth .auth-layout>.auth-qr-card{position:absolute;left:456px;top:0}
 html body.handoff-auth .auth-mobile-qr{display:none}
}
.dc-user-popover{position:absolute;z-index:60;top:58px;right:18px;width:220px;padding:8px;border-radius:14px;background:var(--bg);box-shadow:0 8px 28px rgba(0,0,0,.16),inset 0 0 0 1px var(--line);text-align:left}
.dc-user-summary{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.dc-user-summary>b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em}
.dc-user-summary>small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
html body #desktopHeader .dc-user-popover>a,html body #desktopHeader .dc-user-popover>button{display:block;width:100%;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:14px;font-weight:600;text-align:left;text-decoration:none}
html body #desktopHeader .dc-user-popover>button{color:var(--muted)}
html body #desktopHeader .dc-user-popover>:is(a,button):hover{background:var(--surface)}
html body #desktopAccountCard.dc-guest-card{display:block!important;margin-bottom:22px}
html body #desktopAccountCard.dc-guest-card>b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em}
html body #desktopAccountCard.dc-guest-card>p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
html body #desktopAccountCard.dc-guest-card .dc-account-actions{display:flex;gap:8px;margin-top:14px}
html body.dc-shell #desktopAccountCard.dc-guest-card .dc-account-actions>a{flex:1!important;min-width:0;height:38px;font-size:14px}
html body .menu-grid button.menu-cell{font:inherit;border:0;width:100%;cursor:pointer}
@keyframes hfConfirmModal{from{opacity:0;transform:translateY(2%) scale(.96)}to{opacity:1;transform:none}}
html body .logout-dialog{align-items:center;justify-content:center;background:rgba(0,0,0,.45)}
html body .logout-dialog .sheet{width:calc(100% - 56px);max-width:340px;border-radius:20px;padding:24px 0 14px;transform:none;background:var(--bg);text-align:center;animation:hfConfirmModal .22s ease-out}
html body .logout-dialog .grab{display:none}
html body .logout-dialog h3{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.03em;margin:0;padding:0 24px}
html body .logout-dialog p{font-size:14px;color:var(--muted);line-height:1.6;margin:8px 0 10px;padding:0 24px}
.logout-actions{display:flex;gap:8px;padding:8px 16px;flex-wrap:wrap}
html body .logout-actions button{flex:1;min-width:110px;height:50px;border-radius:14px;font-size:15px;font-weight:700;background:var(--surface);color:var(--t2);border:0}
html body .logout-actions #logoutConfirm{background:var(--pt);color:#fff}
.auth-inline-error{margin:0;padding:2px 0;font-size:13px;line-height:1.6;color:var(--pt)}
.auth-inline-error[hidden],.auth-error[hidden]{display:none!important}
html body.handoff-auth #xpage .auth-fields .xin[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--pt)}
/* Settings rows use the same source row rhythm as the channel information rows. */
html body.settings-view #xpage>.preflist{padding:0;margin:0}
html body.settings-view #xpage>.xtop{display:grid;grid-template-columns:84px minmax(0,1fr) 84px;gap:0;height:56px;min-height:0;padding:16px 14px 10px;top:0!important;border-bottom:1px solid var(--line);background:var(--bg)}
html body.settings-view #xpage>.xtop>b{font-size:15px;font-weight:700;line-height:normal;text-align:center;padding-top:6px}
html body.settings-view #xpage>.xtop>#xBack{display:flex;width:23px;height:29px;min-height:0;padding:6px 0 0;border:0;border-radius:0}
html body.settings-view #xpage>.xtop>#xBack svg{width:23px;height:23px}
html body.settings-view #xpage>.preflist>:is(.prefrow,.prefaccount){display:flex;align-items:center;gap:12px;min-height:0;padding:16px;border:0;border-bottom:1px solid var(--ln2);background:transparent;color:var(--text)}
html body.settings-view #xpage>.preflist .prefcopy{flex:1;min-width:0;font-size:16px;line-height:1.4;font-weight:500}
html body.settings-view #xpage>.preflist .prefcopy>small{display:block;margin-top:3px;font-size:13px;line-height:1.45;font-weight:400;color:var(--dim)}
html body.settings-view #xpage>.preflist>.danger .prefcopy{color:var(--pt)}
html body.settings-view #xpage>.preflist .prefend svg{width:17px;height:17px;color:var(--dim)}
@media(min-width:1000px){html body.settings-view #xpage>.xtop{height:48px;padding-top:8px}}

/* Profile editor: same two fields as the handoff, with server-side update rules retained. */
html body .profile-edit-sheet .sheet{padding:10px 0 20px;border-radius:20px 20px 0 0;max-width:560px;max-height:88%;background:var(--bg);animation:hfProfileSheet .26s cubic-bezier(.2,.8,.2,1)}
html body .profile-edit-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--line);margin:0 auto 14px}
html body .profile-edit-sheet h3{font-size:18px;font-weight:700;padding:0 16px;margin:0;line-height:1.4}
html body .profile-edit-sheet p{font-size:13px;color:var(--muted);margin:4px 0 6px;padding:0 16px;line-height:1.6}
html body .profile-edit-sheet .xin{display:block;width:calc(100% - 32px);height:42px;margin:16px 16px 0!important;background:var(--surface);border:0;border-radius:10px;padding:12px 14px;font-size:15px;letter-spacing:normal;box-shadow:none}
html body .profile-edit-sheet #nkN{margin-top:14px!important}
html body .profile-edit-sheet .xerr:empty{display:none}
html body .profile-edit-sheet .xerr{margin:8px 16px 0}
html body .profile-edit-sheet .xmain{width:calc(100% - 32px);margin:16px 16px 8px;height:54px;border-radius:14px;font-size:16px;font-weight:700}
@keyframes hfProfileSheet{from{transform:translateY(100%)}to{transform:translateY(0)}}
html body .profile-edit-sheet .sheet{border:0}html body .profile-edit-sheet h3{line-height:normal}html body .profile-edit-sheet .xin{min-height:42px!important}
html body .logout-dialog .sheet{border:0}
/* Inquiry form: the handoff's shared fields, chips, file rows and receipt. */
html body #xpage .inquiry-page{padding:0 0 24px;max-width:none}
html body #xpage .inquiry-page form{margin:0}
html body #xpage .inquiry-page .inq-group{padding:18px 16px 6px;margin:0;font-size:13px;font-weight:700;line-height:normal;color:var(--dim);text-align:left}
html body #xpage .inquiry-page .inq-kinds{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}
html body #xpage .inquiry-page .inq-kinds button{display:flex;align-items:center;gap:4px;border:0;min-height:0;padding:10px 16px;border-radius:999px;font-size:14px;line-height:normal;font-weight:500;background:var(--surface);color:var(--muted)}
html body #xpage .inquiry-page .inq-kinds button[aria-pressed=true]{background:var(--line);color:var(--text);font-weight:700}
html body #xpage .inquiry-page .inq-field{display:block;padding:8px 16px;text-align:left;margin:0}
html body #xpage .inquiry-page .inq-field>span{display:block;font-size:13px;font-weight:600;line-height:normal;color:var(--muted);margin-bottom:6px}
html body #xpage .inquiry-page .inq-field input,html body #xpage .inquiry-page .inq-field textarea{display:block;box-sizing:border-box;width:100%;height:auto;min-height:0;margin:0;border:0;border-radius:10px;padding:12px 14px;background:var(--surface);color:var(--text);font:inherit;font-size:15px!important;font-weight:400;line-height:normal;outline:none;box-shadow:none}
html body #xpage .inquiry-page .inq-field textarea{min-height:110px;resize:vertical;line-height:1.55}
html body #xpage .inquiry-page .inq-field:has(textarea){padding-bottom:12px}
html body #xpage .inquiry-page .inq-field :is(input,textarea)::placeholder{color:var(--dim);opacity:1}
html body #xpage .inquiry-page .inq-add{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}
html body #xpage .inquiry-page .inq-add button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:110px;height:50px;padding:0;border:0;border-radius:14px;background:var(--surface);color:var(--text);font-size:15px;font-weight:700}
html body #xpage .inquiry-page .inq-add svg{width:16px;height:16px}
html body #xpage .inquiry-page .inq-note{padding:10px 16px;margin:0;font-size:13px;line-height:1.6;white-space:pre-line;color:var(--dim)}
html body #xpage .inquiry-page .inq-warning{color:var(--pt)}
html body #xpage .inquiry-page .inq-file,html body #xpage .inquiry-page .inq-consent{display:flex;align-items:center;gap:12px;padding:16px;margin:0;text-align:left;border-bottom:1px solid var(--ln2)}
html body #xpage .inquiry-page .inq-file-icon{width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;flex:none}
html body #xpage .inquiry-page .inq-file-icon svg{width:18px;height:18px}
html body #xpage .inquiry-page .inq-file-copy,html body #xpage .inquiry-page .inq-consent>span{flex:1;min-width:0}
html body #xpage .inquiry-page .inq-file-copy b{display:block;font-size:14px;line-height:1.4;font-weight:400;overflow-wrap:anywhere}
html body #xpage .inquiry-page .inq-file-copy small,html body #xpage .inquiry-page .inq-consent small{display:block;color:var(--dim);font-size:13px;line-height:1.5;margin-top:3px}
html body #xpage .inquiry-page .inq-file button{border:0;background:none;padding:0;color:var(--pt);font-size:14px;font-weight:600;min-height:0}
html body #xpage .inquiry-page .inq-consent{position:relative;border:0;cursor:pointer}
html body #xpage .inquiry-page .inq-consent input{appearance:none;flex:none;width:24px;height:24px;margin:0;border:1.5px solid var(--dim);border-radius:7px;background:transparent}
html body #xpage .inquiry-page .inq-consent input:checked{border-color:var(--ctl);background:var(--ctl)}
html body #xpage .inquiry-page .inq-check-mark{display:none;position:absolute;left:20px;top:calc(50% - 8px);width:16px;height:16px;color:var(--on);stroke-width:2.6;pointer-events:none}
html body #xpage .inquiry-page .inq-consent input:checked+.inq-check-mark{display:block}
html body #xpage .inquiry-page .inq-consent b{display:block;font-size:15px;font-weight:600;line-height:1.4}
html body #xpage .inquiry-page .inq-submit{padding:8px 16px}
html body #xpage .inquiry-page .inq-submit button{width:100%;height:54px;min-height:0;border:0;border-radius:14px;padding:0;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700}
html body #xpage .inquiry-page .inq-submit button:disabled{background:var(--thb);color:var(--dim);opacity:1;cursor:default}
html body #xpage .inquiry-page .inq-receipt{text-align:center;padding:96px 32px 8px}
html body #xpage .inquiry-page .inq-receipt>span{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:var(--ctl);color:var(--on)}
html body #xpage .inquiry-page .inq-receipt svg{width:28px;height:28px}
html body #xpage .inquiry-page .inq-receipt h4{font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0}
html body #xpage .inquiry-page .inq-receipt p{font-size:14px;color:var(--dim);line-height:1.6;margin:6px 0 0;white-space:pre-line}
html body #xpage .inquiry-page .inq-center{text-align:center}
html body #xpage .inquiry-page [hidden]{display:none!important}

html body #xpage .inquiry-page .inq-consent{border-bottom:1px solid var(--ln2)}
html body #xpage .inquiry-page .inq-consent small{line-height:1.45}

/* Latest inbox: scoped overrides replace the legacy embedded notification styles. */
html body #xpage>.inbox-page{border-inline:1px solid var(--line);box-sizing:border-box}
html body #xpage .inbox-page .sechead{padding:18px 16px 8px!important;font-size:13px!important;font-weight:700!important;color:var(--dim);line-height:normal!important}
html body #xpage .inbox-page .nrow{align-items:flex-start}
html body #xpage .inbox-page .nrow.un{background:var(--surface)!important}
html body #xpage .inbox-page .nrow::before{display:none!important;content:none!important}
html body #xpage .inbox-page .nrow .ni{width:38px!important;height:38px!important;flex:none;border-radius:12px!important;background:var(--thb)!important;color:var(--muted)!important}
html body #xpage .inbox-page .nrow.un .ni{background:var(--ctl)!important;color:var(--on)!important}
html body #xpage .inbox-page .nrow .ni svg{color:inherit!important;width:18px!important;height:18px!important}
html body #xpage .inbox-page .nrow .nt{font-size:15px!important;line-height:1.4!important;font-weight:400!important;overflow-wrap:anywhere;word-break:normal!important}
html body #xpage .inbox-page .nrow.un .nt{font-weight:700!important}
html body #xpage .inbox-page .nrow .nt b{font-weight:inherit!important}
html body #xpage .inbox-page .nrow .nm{font-size:13px!important;line-height:normal!important;margin-top:3px!important;color:var(--muted)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body #xpage .inbox-page .nrow .nd{font-size:12px!important;line-height:normal!important;margin-top:4px!important;color:var(--dim)!important}
/* Code avatars retain the prototype's pastel tiles in both themes. */
html body .idn .ib{fill:hsl(var(--h) 70% 93%)!important}
html body .idn .if{fill:hsl(var(--h) 65% 46%)!important}
html[data-theme=dark] body .idn .ib{fill:hsl(var(--h) 35% 20%)!important}
html[data-theme=dark] body .idn .if{fill:hsl(var(--h) 75% 68%)!important}
html body .inbox-compose input{border:0;border-radius:10px;padding:12px 14px}
html body #xpage .inbox-conversation .inbox-compose input{font-size:15px!important}
html body .inbox-compose button{height:42px;min-height:0;padding:0 18px;border-radius:10px;font-size:14px}
html body .inbox-compose button:disabled{background:var(--thb);color:var(--dim);opacity:1}
@media(max-width:999px){
 html body #xpage>.inbox-conversation{border-inline:1px solid var(--line);box-sizing:border-box}
 html body .inbox-compose{padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:0}
}
@media(min-width:1000px){
 html body #xpage>.inbox-page{border-inline:0}
 html body .inbox-list-pane .inbox-thread{row-gap:4px}
 html body .inbox-list-pane .inbox-thread-copy b{font-weight:700;line-height:normal}
 html body .inbox-list-pane .inbox-thread-copy small{font-size:13px;line-height:normal!important}
}

/* v11 home only: equal navigation tabs and an uncluttered header. */
html body:is(.in-detail,.in-search,.in-x) #coreNewPosts{display:none!important}
.home-empty-channel-note{text-align:center;padding:96px 32px 0;font-size:14px;color:var(--t3)}
.home-empty{text-align:center;padding:88px 32px 0}.home-empty>b{display:block;font-size:16px;font-weight:700;color:var(--tx)}.home-empty>p{font-size:14px;color:var(--t3);margin:8px 0 0;line-height:1.6}.home-empty>a{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:22px;background:var(--ctl);color:var(--on);font-size:15px;font-weight:700;margin-top:20px;text-decoration:none}
html body.dc-shell #desktopAccountCard[hidden]{display:none!important}html body.dc-shell #desktopAccountCard.dc-guest-card{display:block!important}html body.dc-shell #desktopAccountCard.dc-guest-card[hidden]{display:none!important}

/* v11: fade the cover itself, leaving the avatar outside the mask. */
html body #featureBody.handoff-channel-page .channel-hero-photo{-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.94) 30%,rgba(0,0,0,.78) 50%,rgba(0,0,0,.5) 68%,rgba(0,0,0,.22) 84%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.94) 30%,rgba(0,0,0,.78) 50%,rgba(0,0,0,.5) 68%,rgba(0,0,0,.22) 84%,transparent 100%)}
html body #featureBody.handoff-channel-page #channelFeed:not(.channel-media-grid) .hf-list-row[data-id]{min-height:0}
.channel-photo-viewer{position:fixed;inset:0;z-index:1100;background:#000;color:#fff;display:flex;flex-direction:column}.channel-photo-top{display:flex;justify-content:space-between;align-items:center;padding:24px 16px 10px;font-weight:600}.channel-photo-viewer button{border:0;background:none;color:inherit;cursor:pointer}.channel-photo-top button{display:flex;padding:0;width:24px;height:24px}.channel-photo-top>span:last-child{width:24px}.channel-photo-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:0;width:100%}.channel-photo-stage img{max-width:100%;max-height:100%;object-fit:contain}.channel-photo-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(20px + env(safe-area-inset-bottom))}.channel-photo-bottom>span{min-width:0;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-photo-bottom>button{flex:none;height:36px;padding:0 16px;border-radius:18px;font-size:14px;font-weight:700;background:rgba(255,255,255,.16)}

/* v11 detail actions and composer. */
html body.in-detail #detail .hf-actions{justify-content:center;padding:18px 16px 18px}
html body.in-detail #detail .hf-actions .hf-like{height:36px;padding:0 14px 0 12px;border:0;border-radius:18px;background:var(--s);color:var(--tx);gap:6px;font-size:14px;font-weight:600}
html body.in-detail #detail .hf-actions .hf-like>.hf-ic{width:18px;height:18px;margin-right:0}
html body.in-detail #detail .hf-actions .hf-like.on{background:color-mix(in srgb,var(--pt) 10%,transparent);color:var(--pt)}
html body.in-detail #detail .dhead .idn{width:20px;height:20px;min-width:20px;border-radius:6px;font-size:13px}
html body.in-detail #detail .dbar>b{font-size:15px!important;font-weight:700!important;color:var(--t2)}
html body.in-detail #detail .dfoot .dcm{border-radius:12px}
html body.in-detail #detail .dfoot .dcm #cIn{padding-left:10px}
html body.in-detail #detail .dfoot .cmlogin>span{padding-left:10px}
html body.in-detail #detail .dfoot .drt{flex:none;order:0;margin:0;padding:2px 2px 0;border:0;background:none;gap:10px;color:var(--tx);font-size:15px;font-weight:600}
html body.in-detail #detail .dfoot .drt b{color:var(--lk);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}
@media(max-width:999px){html body.in-detail #detail .dfoot{width:calc(min(100vw,560px) - 2px);max-width:558px}}
@media(min-width:1000px){html body.dc-shell.in-detail #detail .dfoot{left:calc(var(--body-left,0px) + 1px)!important;width:calc(var(--dc-main-width,810px) - 2px)!important;max-width:calc(var(--dc-main-width,810px) - 2px)!important}}

@media(min-width:1000px){html body.in-detail #detail .dtitle{font-size:24px!important}}
html body.in-detail #detail .dhead .meta .anon-id{font-family:inherit;color:var(--t2)}
html body.in-detail #detail .dhead .meta>span:last-child{font-size:13px}

html body.in-detail #detail .dbar .ibtn{width:23px!important;height:23px!important;min-width:23px!important;min-height:0!important;padding:0!important}
html body.in-detail #detail .dfoot #rtX{width:32px;height:32px;min-height:0;padding:0;margin-right:-6px;border-radius:50%;color:var(--t2);align-items:center;justify-content:center}
html body.in-detail #detail .dfoot #rtX svg{width:20px;height:20px}
html body.in-detail #detail .dbar>b{pointer-events:auto}
/* Keep the detail title in the source's 72px side slots + 14px inset + 10px gap. */
html body.in-detail #detail .dbar>b{left:96px;right:96px;height:auto;line-height:normal}
html body.in-detail #detail .dbar .ibtn svg{width:23px!important;height:23px!important;stroke-width:1.8}
@media(min-width:1000px){html body.dc-shell.in-detail #detail .dbar{width:calc(var(--dc-main-width,810px) - 2px)}}
@media(max-width:999px){
 html body.in-detail:has(>#appScroll){padding-top:57px!important}
 html body.in-detail #detail .dbar{width:calc(100% - 2px);max-width:558px}
}

/* v11 shorts uses the same composer and reply dimensions as post detail. */
html body #shortSheetPanel .short-sheet-form{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--ln);background:var(--bg);gap:0}
html body #shortSheetPanel .short-sheet-compose{display:flex;align-items:center;gap:4px;min-height:50px;width:100%;padding:6px;border-radius:12px;background:var(--s)}
html body #shortSheetPanel .short-sheet-form input{flex:1;min-width:0;height:auto;border:0;border-radius:0;background:none;color:var(--tx);padding:10px 0 10px 10px;font-size:16px;line-height:normal;box-shadow:none}
html body #shortSheetPanel .short-sheet-form button{width:auto;min-height:0;height:auto;padding:11px 18px;border-radius:10px;background:var(--ctl);color:var(--on);font-size:15px;font-weight:700;line-height:normal}
html body #shortSheetPanel .short-sheet-form button:disabled{background:var(--ln);color:var(--t3);opacity:1}
html body #shortSheetPanel .short-sheet-reply{font-size:15px;font-weight:600;background:var(--bg);color:var(--t2);border-color:var(--ln)}
html body #shortSheetPanel .short-sheet-reply b{color:var(--lk);font-weight:800}
html body #shortSheetPanel .short-sheet-reply button{width:32px;height:32px;color:var(--t2)}
html body #shortSheetPanel .short-sheet-reply button svg{width:20px;height:20px}

/* v11 post action sheet: source dimensions and colors. */
html body #sheetbg.post-more-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg);color:var(--tx)}
html body #sheetbg.post-more-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg.post-more-sheet .mgroup+.mgroup{margin:0!important;padding:0!important;border:0!important}
html body #sheetbg.post-more-sheet .mrow{gap:14px;padding:14px 20px!important;font-size:16px;font-weight:400;color:var(--tx)}
html body #sheetbg.post-more-sheet .mrow svg.lu{width:22px;height:22px;color:inherit}
html body #sheetbg.post-more-sheet .mrow.danger{color:var(--pt)}
html body #sheetbg.post-more-sheet .post-more-separator{height:1px;margin:6px 16px;background:var(--ln)}
html body #sheetbg.post-more-sheet{background:rgba(0,0,0,.45)}

html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet){background:rgba(0,0,0,.45)}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet)>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg);color:var(--tx)}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet) .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet) h3{margin:0;padding:0 16px;font-size:18px;font-weight:700;line-height:normal}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet) .mrow{min-height:0;display:flex;align-items:center;gap:14px;width:100%;padding:14px 20px!important;margin:0;border:0;border-radius:0;background:none;color:var(--tx);font-size:16px;font-weight:400;line-height:normal;text-align:left}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet) .mrow svg{width:22px;height:22px;flex:none}
html body #sheetbg:is(.comment-menu-sheet,.thread-menu-sheet) .mrow.danger{color:var(--pt)}
html body #cmBox .cm.is-comment-editing{display:none!important}

/* Source confirmation modal; deletion waits for the server acknowledgement. */
html body #sheetbg.post-delete-modal{background:rgba(0,0,0,.45)}
html body #sheetbg.post-delete-modal>.sheet{position:absolute;left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:calc(100% - 56px);max-width:340px;max-height:88%;margin:0;padding:24px 0 14px;border:0;border-radius:20px;background:var(--bg);color:var(--tx);text-align:center;animation:postDeleteModal .22s ease-out}
html body #sheetbg.post-delete-modal .grab{display:none}
html body #sheetbg.post-delete-modal h3{margin:0;padding:0 24px;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.03em}
html body #sheetbg.post-delete-modal p{margin:8px 0 10px;padding:0 24px;color:var(--t2);font-size:14px;line-height:1.6}
html body #sheetbg.post-delete-modal .post-delete-actions{display:flex;gap:8px;padding:8px 16px;flex-wrap:wrap}
html body #sheetbg.post-delete-modal button{flex:1;min-width:110px;height:50px;margin:0;border:0;border-radius:14px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center}
html body #sheetbg.post-delete-modal :is(#dpNo,#commentCancel){background:var(--s);color:var(--t2)}
html body #sheetbg.post-delete-modal :is(#dpYes,#commentConfirm){background:var(--pt);color:#fff}
@media(max-width:999px){html body #sheetbg:is(.post-delete-modal,.comment-menu-sheet,.thread-menu-sheet,.post-report-sheet,.post-more-sheet){left:50%;right:auto;width:calc(min(100vw,560px) - 2px);transform:translateX(-50%)}}
@keyframes postDeleteModal{from{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){html body #sheetbg.post-delete-modal>.sheet{animation:none}}

html body.in-detail #detail .dfoot .dcm .go:disabled{color:var(--t3)}

/* v11 report sheet shares the source action rows and field/button sizes. */
html body #sheetbg.post-report-sheet{background:rgba(0,0,0,.45)}
html body #sheetbg.post-report-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg);color:var(--tx)}
html body #sheetbg.post-report-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg.post-report-sheet h3{font-size:18px;font-weight:700;line-height:normal;padding:0 16px;margin:0}
html body #sheetbg.post-report-sheet .report-reason{display:flex;width:100%;align-items:center;gap:14px;padding:14px 20px;min-height:0;border:0;border-radius:0;background:none;color:var(--tx);font-size:16px;font-weight:400;line-height:normal;text-align:left}
html body #sheetbg.post-report-sheet .report-reason span{flex:1}
html body #sheetbg.post-report-sheet .report-reason+.report-reason{box-shadow:inset 0 1px 0 var(--ln)}
html body #sheetbg.post-report-sheet .report-reason svg{display:none;width:20px;height:20px}
html body #sheetbg.post-report-sheet .report-reason[aria-checked=true] svg{display:block}
html body #sheetbg.post-report-sheet .report-detail{display:block;padding:8px 16px;text-align:left}
html body #sheetbg.post-report-sheet .report-detail span{display:block;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:6px;line-height:normal}
html body #sheetbg.post-report-sheet textarea{display:inline-block;width:100%;min-height:110px;resize:vertical;background:var(--s);border:0;border-radius:10px;padding:12px 14px;color:var(--tx);font-size:15px;line-height:1.55}
html body #sheetbg.post-report-sheet .report-submit{padding:8px 16px}
html body #sheetbg.post-report-sheet #rGo{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;padding:0;border:0;border-radius:14px;font-size:16px;font-weight:700;background:var(--pt);color:#fff;opacity:1}
html body #sheetbg.post-report-sheet #rGo:disabled{background:var(--thb);color:var(--t3)}

/* v11 content preferences: source sections, inline choices and switches. */
html body #xpage>.handoff-content-settings{padding-bottom:24px}
html body #xpage>.handoff-content-settings .content-group{padding:18px 16px 6px;margin:0;font-size:13px;font-weight:700;line-height:normal;color:var(--t3);text-align:left}
html body #xpage>.handoff-content-settings .prefcontrol{display:flex;align-items:center;gap:12px;width:100%;min-height:0;padding:16px;border:0;border-bottom:1px solid var(--ln2);border-radius:0;background:none;color:var(--tx);text-align:left}
html body #xpage>.handoff-content-settings .prefcopy{flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.4}
html body #xpage>.handoff-content-settings .prefcopy small{display:block;margin-top:3px;font-size:13px;font-weight:400;line-height:1.45;color:var(--t3)}
html body #xpage>.handoff-content-settings .prefend{flex:none}
html body #xpage>.handoff-content-settings .prefseg{display:flex;flex:none;gap:2px;width:auto;padding:4px;border-radius:10px;background:var(--s)}
html body #xpage>.handoff-content-settings .prefseg:before{display:none}
html body #xpage>.handoff-content-settings .prefseg button{display:flex;align-items:center;justify-content:center;flex:none;min-width:64px;height:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--t3);font-size:13px;font-weight:600;line-height:normal;white-space:nowrap}
html body #xpage>.handoff-content-settings .prefseg button.on{background:var(--ctl);color:var(--on);box-shadow:none}
html body #xpage>.handoff-content-settings .prefswitch{width:44px;height:26px;padding:3px;border-radius:14px;background:var(--ln);transition:background-color .2s,opacity .2s}
html body #xpage>.handoff-content-settings .prefswitch:after{width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s}
html body #xpage>.handoff-content-settings [aria-checked=true] .prefswitch{background:var(--ctl)}
html body #xpage>.handoff-content-settings [aria-checked=true] .prefswitch:after{background:var(--on);transform:translateX(18px)}
html body #xpage>.handoff-notification-settings .prefcontrol:disabled{opacity:1;cursor:default}
html body #xpage>.handoff-notification-settings .prefcontrol:disabled .prefswitch{opacity:.4}
html body #xpage>.handoff-hidden-settings{max-width:760px;margin:0 auto;padding:0 0 24px}
html body #xpage>.handoff-hidden-settings :is(.frow,.hiddenrow){display:flex;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:16px;border:0;border-bottom:1px solid var(--ln2);border-radius:0;color:var(--tx);text-decoration:none;text-align:left}
html body #xpage>.handoff-hidden-settings :is(.fcopy b,.hiddenrow b){font-size:16px;line-height:1.4;font-weight:500;min-width:0;flex:1;overflow-wrap:anywhere}
html body #xpage>.handoff-hidden-settings .fcopy small{font-size:13px;line-height:1.45;color:var(--t3);margin-top:3px}
html body #xpage>.handoff-hidden-settings .hiddenrow button{flex:none;padding:0;border:0;background:none;color:var(--lk);font-size:13px;line-height:normal;font-weight:700;white-space:nowrap}
html body #xpage>.handoff-hidden-settings .frow button{flex:none;padding:0;border:0;border-radius:0;background:none;color:var(--lk);font-size:13px;line-height:normal;font-weight:700;white-space:nowrap}
html body #xpage>.handoff-hidden-settings .hidden-empty{padding:10px 16px;margin:0;text-align:center;font-size:13px;line-height:1.6;color:var(--t3)}
html body #xpage>.handoff-keyword-settings{max-width:760px;margin:0 auto;padding:0 0 24px;background:var(--bg)}
html body #xpage>.handoff-keyword-settings h2{padding:18px 16px 6px;margin:0;font-size:13px;font-weight:700;line-height:normal;color:var(--t3);text-align:left}
html body #xpage>.handoff-keyword-settings p{padding:10px 16px;margin:0;font-size:13px;line-height:1.6;white-space:pre-line;color:var(--t3);font-weight:400}
html body #xpage>.handoff-keyword-settings form{display:flex;gap:8px;padding:8px 16px;margin:0}
html body #xpage>.handoff-keyword-settings input.xin{flex:1;min-width:0;width:auto;min-height:0;height:auto;background:var(--s);border:0;border-radius:10px;padding:12px 14px;margin:0;font-size:15px;font-weight:400;line-height:normal;color:var(--tx);box-shadow:none}
html body #xpage>.handoff-keyword-settings input.xin::placeholder{color:var(--t3);opacity:1}
html body #xpage>.handoff-keyword-settings form button{flex:none;min-height:0;border:0;border-radius:10px;padding:0 18px;margin:0;font-size:14px;font-weight:700;line-height:normal;background:var(--ctl);color:var(--on)}
html body #xpage>.handoff-keyword-settings .frow{display:flex;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:16px;border:0;border-bottom:1px solid var(--ln2);border-radius:0;background:none;color:var(--tx);text-align:left}
html body #xpage>.handoff-keyword-settings .fcopy{font-size:15px;font-weight:500;line-height:1.4}
html body #xpage>.handoff-keyword-settings .frow button{flex:none;padding:0;border:0;border-radius:0;background:none;color:var(--pt);font-size:13px;line-height:normal;font-weight:600;white-space:nowrap}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings){max-width:760px;margin:0 auto;padding:0 0 24px;background:var(--bg)}
html body #xpage>.handoff-security-settings h2{padding:18px 16px 6px;margin:0;font-size:13px;font-weight:700;line-height:normal;color:var(--t3)}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) p{padding:10px 16px;margin:0;font-size:13px;line-height:1.6;color:var(--t3);font-weight:400;white-space:pre-line}
html body #xpage>.handoff-security-settings .security-field{display:block;padding:8px 16px;margin:0;text-align:left}
html body #xpage>.handoff-security-settings .security-field>span{display:block;margin-bottom:6px;font-size:13px;font-weight:600;line-height:normal;color:var(--t2)}
html body #xpage>.handoff-security-settings .security-field input.xin{display:inline-block;width:100%;min-height:0;height:auto;margin:0;padding:12px 14px;border:0;border-radius:10px;font-size:15px;line-height:normal;font-weight:400;letter-spacing:normal;background:var(--s);color:var(--tx);box-shadow:none}
html body #xpage>.handoff-security-settings .security-field input.xin::placeholder{color:var(--t3);opacity:1}
html body #xpage>.handoff-security-settings .security-field input.has-error{box-shadow:inset 0 0 0 1.5px var(--pt)}
html body #xpage>.handoff-security-settings p.security-error{color:var(--pt)}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) .security-button-wrap{padding:8px 16px}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) .security-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:54px;min-height:0;margin:0;padding:0;border:0;border-radius:14px;font-size:16px;line-height:normal;font-weight:700;background:var(--ctl);color:var(--on)}
html body #xpage>.handoff-security-settings .security-button:disabled{opacity:1;background:var(--thb);color:var(--t3)}
html body #xpage>.handoff-security-settings .security-button.outline{background:transparent;color:var(--tx);border:1.2px solid var(--ctl)}
html body #xpage>.handoff-device-settings .security-button.danger-outline{background:transparent;color:var(--pt);border:1.2px solid var(--ln)}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) .frow{display:flex;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:16px;border:0;border-bottom:1px solid var(--ln2);border-radius:0;background:none;color:var(--tx);text-align:left;text-decoration:none}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) .fcopy b{display:block;font-size:16px;line-height:1.4;font-weight:500}
html body #xpage>.handoff-device-settings .fcopy small{font-size:13px;line-height:1.45;margin-top:3px;color:var(--t3)}
html body #xpage>:is(.handoff-security-settings,.handoff-device-settings) .frow button{flex:none;padding:0;border:0;border-radius:0;background:none;color:var(--pt);font-size:13px;font-weight:600;line-height:normal}
html body #xpage>.handoff-device-settings .device-icon{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--s);color:var(--t2)}
html body #xpage>.handoff-security-settings #factors+.frow{margin-top:0;border-top:0}
html body #xpage>:is(.handoff-security-settings,.handoff-keyword-settings) input.xin{font-size:15px!important}
@media(max-width:999px){html body.settings-view>#appScroll>#xpage{min-height:100dvh!important;border-inline:1px solid var(--ln)}}
@media(prefers-reduced-motion:reduce){html body #xpage>.handoff-content-settings :is(.prefswitch,.prefswitch:after){transition:none!important}}

/* Opt-in large photos use the existing loading policy; hidden thumbnails win. */
html[data-big-photos=true]:not([data-reading-thumbnails=false]) body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body:has(.thumb){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important}
html[data-big-photos=true]:not([data-reading-thumbnails=false]) body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body .thumb{display:block!important;position:relative;inset:auto;transform:none;grid-column:1;grid-row:3;width:100%!important;height:230px!important;min-height:230px!important;max-height:230px!important;margin:10px 0 0!important;border-radius:14px!important}
html body #xpage .handoff-content-settings a.prefrow{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--ln2)}
html body #xpage .handoff-content-settings a.prefrow:after,html body #xpage .handoff-content-settings a.prefrow::after{content:none!important;display:none!important}
@media(max-width:600px){html body #xpage>.handoff-content-settings .content-choice{flex-wrap:wrap}html body #xpage>.handoff-content-settings .content-choice>.prefcopy{flex-basis:100%}html body #xpage>.handoff-content-settings .content-choice>.prefseg{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}html body #xpage>.handoff-content-settings .prefseg button{min-width:0;height:auto;min-height:38px;padding:7px 4px;white-space:normal;line-height:1.3}}

html body #xpage>#featureBody.handoff-device-settings p{margin:0}
html body #xpage>.handoff-privacy-settings{padding:0 0 24px;background:var(--bg)}
html body #xpage>.handoff-privacy-settings p{padding:10px 16px;margin:0;font-size:13px;line-height:1.6;font-weight:400;color:var(--t3)}
html body #xpage>.handoff-privacy-settings .privacy-export-wrap{padding:8px 16px}
html body #xpage>.handoff-privacy-settings #exportAccount{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;padding:0;margin:0;border:1.2px solid var(--ctl);border-radius:14px;background:transparent;color:var(--tx);font-size:16px;line-height:normal;font-weight:700}
html body #sheetbg.withdrawal-sheet .sheet{padding:10px 0 20px;border:0;border-radius:20px 20px 0 0;max-width:560px;max-height:88%;background:var(--bg);overflow-y:auto;animation:hfProfileSheet .26s cubic-bezier(.2,.8,.2,1)}
html body #sheetbg.withdrawal-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg.withdrawal-sheet h3{padding:0 16px;margin:0;font-size:18px;line-height:normal;font-weight:700}
html body #sheetbg.withdrawal-sheet p{padding:0 16px;margin:4px 0 6px;font-size:13px;line-height:1.6;font-weight:400;color:var(--t3)}
html body #sheetbg.withdrawal-sheet .withdrawal-field{display:block;padding:8px 16px;margin:0;text-align:left}
html body #sheetbg.withdrawal-sheet .withdrawal-field>span{display:block;margin-bottom:6px;font-size:13px;font-weight:600;line-height:normal;color:var(--t2)}
html body #sheetbg.withdrawal-sheet input.xin{display:inline-block;width:100%;height:auto;min-height:0;margin:0;padding:12px 14px;border:0;border-radius:10px;box-shadow:none;background:var(--s);color:var(--tx);font-size:15px!important;font-weight:400;line-height:normal;letter-spacing:normal}
html body #sheetbg.withdrawal-sheet .withdrawal-submit{padding:8px 16px}
html body #sheetbg.withdrawal-sheet #byGo{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;padding:0;margin:0;border:0;border-radius:14px;background:var(--pt);color:#fff;font-size:16px;font-weight:700;line-height:normal;opacity:1}
html body #sheetbg.withdrawal-sheet #byGo:disabled{background:var(--thb);color:var(--t3)}
html body #sheetbg.withdrawal-sheet .xerr:empty{display:none}
html body #sheetbg.withdrawal-sheet .xerr{padding:0 16px;margin:0;color:var(--pt);font-size:13px;line-height:1.6}

@media(prefers-reduced-motion:reduce){html body #sheetbg.withdrawal-sheet .sheet{animation:none!important}}
html body #xpage>.points-page{padding:0 0 24px;background:var(--bg)}
html body #xpage>.points-page .point-shortcuts{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px}
html body #xpage>.points-page .point-shortcuts a{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:110px;height:50px;border:1.2px solid var(--ctl);border-radius:14px;color:var(--tx);background:transparent;font-size:15px;font-weight:700;line-height:normal;text-decoration:none}
html body #xpage>.points-page .account-point-filters{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px}
html body #xpage>.points-page .account-point-filters button{padding:10px 16px;border:0;border-radius:999px;font-size:14px;font-weight:500;line-height:normal;background:var(--s);color:var(--t2)}
html body #xpage>.points-page .account-point-filters button.on{background:var(--ln);color:var(--tx);font-weight:700}
html body #xpage>.points-page .account-point-row{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--ln2);color:var(--tx)}
html body #xpage>.points-page .account-point-row b{font-size:16px;font-weight:600;line-height:1.4}
html body #xpage>.points-page .account-point-row small{font-size:13px;line-height:1.45;font-weight:400;color:var(--t3);margin-top:3px}
html body #xpage>.points-page .account-point-row strong{font-size:13px;line-height:normal;font-weight:700}
html body #xpage:has(>.points-page)>.xtop .account-balance{padding-top:6px;padding-right:1px;font-size:13px;font-weight:700;line-height:normal;color:var(--t2)}
@media(max-width:999px){html body>#appScroll>#xpage:has(>.points-page){min-height:100dvh!important;border-inline:1px solid var(--ln)}}

/* My coupons: shared source tabs, compact cards and code modal. */
html body #xpage .coupons-page{padding:0 0 24px;max-width:none}
html body #xpage .coupons-page>.xtabs{display:flex;gap:0;padding:0;margin:6px 0 0;border-bottom:1px solid var(--ln)}
html body #xpage .coupons-page>.xtabs a{flex:1;min-height:0;padding:12px 0;text-align:center;border:0;border-radius:0;background:none;color:var(--t3);font-size:14px;font-weight:600;line-height:normal;text-decoration:none}
html body #xpage .coupons-page>.xtabs a.on{color:var(--tx);font-weight:700;box-shadow:inset 0 -2px var(--tx)}
html body #xpage .coupons-page #orderRows{display:flex;flex-direction:column;gap:10px;padding:8px 16px}
html body #xpage .coupons-page .coupon-card{border:1px solid var(--ln);border-radius:14px;padding:14px;text-align:left}
html body #xpage .coupons-page .coupon-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--t3)}
html body #xpage .coupons-page .coupon-status{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--s);color:var(--t2)}
html body #xpage .coupons-page .coupon-status.sent{background:var(--ctl);color:var(--on)}
html body #xpage .coupons-page .coupon-status.rejected{background:var(--thb)}
html body #xpage .coupons-page .coupon-product{display:flex;gap:12px;align-items:flex-start}
html body #xpage .coupons-page .coupon-product>div{flex:1;min-width:0}
html body #xpage .coupons-page .coupon-card h3{font-size:16px;font-weight:600;line-height:normal;margin:2px 0 0}
html body #xpage .coupons-page .coupon-price{display:block;font-size:16px;font-weight:800;margin-top:4px;line-height:normal}
html body #xpage .coupons-page .coupon-card p{font-size:13px;color:var(--t2);margin:6px 0 0;line-height:normal;overflow-wrap:anywhere}
html body #xpage .coupons-page .coupon-actions{display:flex;gap:8px;margin-top:12px}
html body #xpage .coupons-page .coupon-actions button{flex:1;min-height:0;height:40px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;background:transparent;color:var(--tx);border:1.2px solid var(--ctl);padding:0}
html body #xpage .coupons-page .coupon-empty{font-size:14px;color:var(--t3);text-align:center}
html body .coupon-dialog .coupon-large{margin:8px 16px;border-radius:16px;background:var(--s);color:var(--tx);height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;overflow:hidden}
html body .coupon-dialog h3{font-weight:700}
html body .coupon-dialog .coupon-large b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;overflow-wrap:anywhere}
html body .coupon-dialog .coupon-large span{font-size:13px;opacity:.75}
html body .coupon-dialog .coupon-large img{max-width:100%;min-height:0;object-fit:contain}
html body .coupon-dialog .coupon-copy{padding:8px 16px}
html body .coupon-dialog .coupon-copy button{width:100%;height:54px;border-radius:14px;font-size:16px;font-weight:700;border:0;background:var(--ctl);color:var(--on);padding:0}
@media(max-width:999px){html body>#appScroll>#xpage:has(>.coupons-page){min-height:100dvh!important}}
/* v11 gift form; the extra My Info gift code was explicitly approved. */
html body #serviceBody.gift-page{padding:0 0 24px!important;max-width:none;margin:0;line-height:normal}
html body #serviceBody.gift-page .gift-note{margin:0;padding:10px 16px;font-size:13px;line-height:1.6;color:var(--t3);font-weight:400;white-space:pre-line;text-align:left}
html body #serviceBody.gift-page .gift-footer{text-align:center}
html body #serviceBody.gift-page .gift-field{display:block;margin:0;padding:8px 16px;font-weight:400;text-align:left}
.gift-field>span{display:block;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:6px}
html body #serviceBody.gift-page .gift-field>input{display:block;box-sizing:border-box;width:100%;height:42px;min-height:0;margin:0;border:0;border-radius:10px;padding:12px 14px;background:var(--s);color:var(--tx);font:inherit;font-size:15px!important;line-height:normal;box-shadow:none}
html body #serviceBody.gift-page .gift-field>input::placeholder{color:var(--t3);opacity:1}
#giftCode{letter-spacing:.05em}
.gift-amounts{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}
.gift-amounts>button{display:flex;align-items:center;gap:4px;border:0;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:500;line-height:normal;min-height:0!important;background:var(--s);color:var(--t2);cursor:pointer}
.gift-amounts>button.on{background:var(--ln);color:var(--tx);font-weight:700}
.gift-submit{padding:8px 16px}
.gift-submit>button{display:flex;align-items:center;justify-content:center;width:100%;height:54px;min-height:0;padding:0;margin:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;line-height:normal;cursor:pointer}
.gift-submit>button:disabled{background:var(--thb);color:var(--t3);opacity:1;cursor:default}
html body #xpage:has(>.gift-page)>.xtop>.sp{display:none}
html body #xpage:has(>.gift-page)>.xtop .gift-balance{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap;padding-top:6px;padding-right:1px;font-size:13px;font-weight:700;line-height:normal;color:var(--t2)}
.gift-page [hidden]{display:none!important}
.account-gift-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:normal;color:var(--t2);text-align:left}
.account-gift-row>code{margin-left:auto;font:600 14px/normal 'Pretendard Variable',sans-serif;letter-spacing:.05em;color:var(--tx);user-select:text}
.account-gift-row>button{padding:0;border:0;background:transparent;color:var(--lk);font-size:13px}
.account-gift-row>button[hidden]{display:none!important}
@media(max-width:999px){html body>#appScroll>#xpage:has(>.gift-page){min-height:100dvh!important}}
@media(max-width:999px){html body>#appScroll>#xpage:has(>.account-page>#meHead){min-height:100dvh!important}}

/* Standalone author conversation uses the prototype thread, including its bottom-aligned avatar. */
html body #xpage>.inbox-conversation>.xtop{height:56px;min-height:0;padding:16px 14px 10px}
html body #xpage>.inbox-conversation>.inbox-private-note{padding:10px 16px}
html body #xpage>.inbox-conversation .inbox-chat{align-items:flex-end}
html body #xpage>.inbox-conversation .inbox-chat>.idn{width:28px;height:28px;border-radius:7px}
html body #xpage>.inbox-conversation .inbox-chat>div{max-width:75%}
html body #xpage>.inbox-conversation .inbox-chat p{display:inline-block;padding:9px 12px;line-height:1.45}
@media(min-width:1000px){html body #xpage>.inbox-conversation>.xtop{height:48px;padding:8px 14px 10px}}

@media(max-width:999px){html body #xpage>.inbox-conversation{border-inline:0}}

html body #xpage>.inbox-conversation>.inbox-compose{border-top:1px solid var(--line)}

/* The detail prototype gives only its popular-list comment counts a compact pill. */
html body.in-detail #detail .reading-related .hf-list-row[data-id] .list-comment-count{padding:2px 8px!important;border-radius:10px!important;background:var(--s)!important;color:var(--t2)!important;font-size:12px!important;line-height:normal!important}

html body #xpage>.mfa-enrollment .mfa-instructions{color:var(--t2)}
html body .mfa-qr-wrap{display:flex;justify-content:center;padding:12px 16px}
html body .mfa-qr{width:184px;height:184px;border-radius:12px;border:1px solid var(--ln);padding:12px;background:#fff}
html body .mfa-qr img{display:block;width:100%;height:100%;margin:0;object-fit:contain}
html body #xpage>.mfa-enrollment .mfa-key{text-align:center;color:var(--t2);font-weight:600}
html body #xpage>.mfa-enrollment .security-field input.xin{letter-spacing:.4em}

html body #sheetbg.mfa-login-sheet>.sheet{padding:10px 0 20px;max-width:560px;max-height:88%;border:0;border-radius:20px 20px 0 0;background:var(--bg);animation:hfProfileSheet .26s cubic-bezier(.2,.8,.2,1)}
html body .mfa-login-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body .mfa-login-sheet h3{padding:0 16px;margin:0;font-size:18px;line-height:normal;font-weight:700}
html body .mfa-login-sheet .mfa-login-copy{padding:0 16px;margin:4px 0 6px;font-size:13px;line-height:1.6;color:var(--t3)}
html body .mfa-login-field{padding:8px 16px}
html body #sheetbg.mfa-login-sheet .mfa-login-field input.xin{width:100%;min-height:0;height:auto;margin:0;padding:12px 14px;border:0;border-radius:10px;background:var(--s);font-size:15px!important;line-height:normal;letter-spacing:.4em;box-shadow:none;color:var(--tx)}
html body #sheetbg.mfa-login-sheet .mfa-login-field input.has-error{box-shadow:inset 0 0 0 1.5px var(--pt)}
html body .mfa-login-error{padding:10px 16px;font-size:13px;line-height:1.6;color:var(--pt)}
html body .mfa-login-error:empty{display:none}
html body .mfa-login-action{padding:8px 16px}
html body .mfa-login-sheet .mfa-login-action .xmain{width:100%;height:54px;min-height:0;margin:0;padding:0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;opacity:1}
html body .mfa-login-sheet .mfa-login-action .xmain:disabled{background:var(--thb);color:var(--t3)}
@media(prefers-reduced-motion:reduce){html body #sheetbg.mfa-login-sheet>.sheet{animation:none!important}}

/* Installation guidance uses the same sheet dimensions as the handoff. */
html body #sheetbg.handoff-install-sheet{left:50%;right:auto;width:calc(100% - 2px);max-width:1318px;transform:translateX(-50%)}
@media(max-width:999px){html body #sheetbg.handoff-install-sheet{max-width:558px}}
html body #sheetbg.handoff-install-sheet>.sheet{width:100%;max-width:560px;max-height:88%;padding:10px 0 calc(20px + env(safe-area-inset-bottom));border:0;background:var(--bg);color:var(--tx);box-shadow:none}
html body #sheetbg.handoff-install-sheet .grab{width:40px;height:4px;border-radius:6px;background:var(--ln);margin:0 auto 14px}
html body #sheetbg.handoff-install-sheet h3{padding:0 16px;margin:0;font-size:18px;font-weight:700;line-height:normal}
html body #sheetbg.handoff-install-sheet .install-copy{font-size:13px;color:var(--t3);margin:4px 0 6px;padding:0 16px;line-height:1.6}
html body #sheetbg.handoff-install-sheet .install-actions{display:flex;gap:8px;padding:8px 16px;flex-wrap:wrap}
html body #sheetbg.handoff-install-sheet .install-actions button{flex:1;min-width:110px;height:50px;padding:0;border:0;border-radius:14px;font-size:15px;font-weight:700;line-height:normal;display:flex;align-items:center;justify-content:center;background:var(--ctl);color:var(--on)}
html body #sheetbg.handoff-install-sheet .install-actions [data-install-later]{background:var(--s);color:var(--t2)}
html body #sheetbg.handoff-install-sheet .install-switch{display:block;width:100%;padding:14px 20px;border:0;border-radius:0;background:none;color:var(--lk);font-size:16px;font-weight:400;line-height:normal;text-align:left}
html body #sheetbg.handoff-install-sheet .install-steps{display:flex;flex-direction:column;gap:14px;padding:12px 20px;text-align:left}
html body #sheetbg.handoff-install-sheet .install-steps>div{display:flex;gap:12px;align-items:flex-start}
html body #sheetbg.handoff-install-sheet .install-step-number{width:26px;height:26px;border-radius:50%;background:var(--ctl);color:var(--on);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
html body #sheetbg.handoff-install-sheet .install-step-copy{font-size:15px;line-height:1.5;padding-top:2px}
html body #sheetbg.handoff-install-sheet .install-step-copy small{display:block;font-size:13px;line-height:1.5;color:var(--t3)}
html body #sheetbg.handoff-install-sheet .install-single{padding:8px 16px}
html body #sheetbg.handoff-install-sheet .install-single button{display:flex;align-items:center;justify-content:center;width:100%;height:54px;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700;line-height:normal}
html body #sheetbg.handoff-install-sheet .install-note{padding:10px 16px;margin:0;font-size:13px;line-height:1.6;color:var(--lk);text-align:center}

@media(min-width:1000px){html body #featureBody.handoff-channel-page .channel-meta.is-info>.channel-sort{visibility:visible}}

html body #featureBody.handoff-channel-page .channel-sort:after{content:none}
@media(min-width:1000px){html body #featureBody.handoff-channel-page .channel-sort #channelSort{height:37px!important;min-height:0!important;padding:10px 16px!important;border:0!important;border-radius:999px!important;font-size:14px!important;line-height:normal!important}}

@media(max-width:999px){html body #featureBody.handoff-channel-page .channel-sort #channelSort{height:auto!important;line-height:normal!important}}

/* Channel request uses the same source fields and receipt as inquiry. */
html body #xpage .channel-request-page .channel-request-intro{color:var(--muted)}
@media(max-width:999px){html body.in-x:not(.desk-login) #xpage:has(>.channel-request-page){border-inline:0}}
/* The empty comment row has the source's own type scale, not body text. */
html body #cmBox>.empty{font-size:14px;line-height:normal;font-weight:400;color:var(--dim)}

/* Compact media rows have type/fallback icons; full feed players retain controls. */
html body .hf-list-row[data-id] .list-media-type{display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;color:var(--dim);vertical-align:middle}
html body .hf-list-row[data-id] .list-media-type svg{display:block;width:15px;height:15px}
html body .hf-list-row[data-id] .thumb .feed-video-badge{display:none!important}
html body .hf-list-row[data-id] .feed-video-badge svg{display:none!important}
html body .hf-list-row[data-id] .thumb:after,html body .hf-list-row[data-id] .thumb.feed-video:after{display:none!important;content:none!important}
html body:is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .thumb [data-feed-mute],
html body.in-search #sres .hf-list-row[data-id] .thumb [data-feed-mute],
html body #meBox .hf-list-row[data-id] .thumb [data-feed-mute]{display:none!important}
html[data-reading-thumbnails=false] body:is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body .thumb,
html[data-reading-thumbnails=false] body.in-search #sres .hf-list-row[data-id] .body .thumb,
html[data-reading-thumbnails=false] body #meBox .hf-list-row[data-id] .body .thumb{display:none!important}
html[data-reading-thumbnails=false] body:is([data-feed-view=thumb],[data-feed-view=board]) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row[data-id] .body:has(.thumb),
html[data-reading-thumbnails=false] body.in-search #sres .hf-list-row[data-id] .body:has(.thumb),
html[data-reading-thumbnails=false] body #meBox .hf-list-row[data-id] .body:has(.thumb){grid-template-columns:minmax(0,1fr)!important}

html body.in-detail #detail .dbody>.post-media-body>p{padding-left:0;padding-right:0}

/* Shared mobile editor: a bounded document above the keyboard, not behind it. */
@media(max-width:999px){
 html body #xpage .wc{height:var(--wc-visible-height,calc(100dvh - 65px))!important;min-height:0!important;overflow:hidden}
 html body #xpage .wc .wc-body{min-height:0;overflow:hidden}
 html body #xpage .wc #wBlocks{overscroll-behavior:contain;scroll-padding:12px;-webkit-overflow-scrolling:touch}
 html body #xpage .wc .wc-tools{gap:12px!important;padding:8px 16px max(8px,env(safe-area-inset-bottom))!important}
 html body #xpage .wc[data-keyboard=true] .wc-tools{padding-bottom:8px!important}
 html body #xpage .wc[data-keyboard=true]>.wc-legal{display:none}
 html body #xpage .wc[data-keyboard=true] .wc-len{display:none}
}
html body #xpage .wc .wc-tools [data-keyboard-dismiss]{margin-left:auto;flex:none;min-width:36px;min-height:36px;justify-content:center}
html body #xpage .wc .wc-tools [data-keyboard-dismiss][hidden]{display:none!important}
html body #xpage .wc .wm img,html body #xpage .wc .wm video{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
html body #xpage .wc.wc-reordering{user-select:none;-webkit-user-select:none;cursor:grabbing}
html body #xpage .wc.wc-reordering .wm.dragging{z-index:30;opacity:.82;will-change:transform;pointer-events:none;box-shadow:0 12px 32px rgba(0,0,0,.25)}
html body #xpage .wc .wdrop[hidden]{display:none}
.wc-media-selection{position:fixed;inset:0;z-index:11000;display:flex;flex-direction:column;background:var(--bg);color:var(--text);max-width:none;padding-left:max(0px,calc((100vw - 560px)/2));padding-right:max(0px,calc((100vw - 560px)/2));padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.wc-media-selection .wc-picker-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}
.wc-media-selection .wc-picker-top button{width:38px;height:38px;border-radius:50%;background:var(--surface);font-size:24px}
.wc-media-selection .wc-picker-top [data-picker-confirm]{background:var(--accent);color:var(--on-accent)}
.wc-media-selection .wc-picker-top [data-picker-confirm]:disabled{opacity:.35}
.wc-picker-note{margin:0;padding:12px 16px;color:var(--muted);font-size:13px}
.wc-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:2px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.wc-picker-cell{position:relative;aspect-ratio:1;overflow:hidden;background:var(--surface)}
.wc-picker-cell>img,.wc-picker-cell>video{width:100%;height:100%;object-fit:cover;pointer-events:none}
.wc-picker-cell small{position:absolute;left:4px;right:30px;top:4px;color:white;font-size:11px;text-align:left;text-shadow:0 1px 3px black}
.wc-picker-number{position:absolute;right:5px;top:5px;min-width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid white;background:rgba(0,0,0,.4);color:white;font-size:12px}
.wc-picker-cell[aria-pressed=true] .wc-picker-number{background:var(--accent)}
.wc-picker-duration{position:absolute;right:5px;bottom:4px;padding:1px 4px;background:rgba(0,0,0,.6);color:white;font-size:12px;font-style:normal}
.wc-picker-foot{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line);flex-shrink:0;font-size:14px}
.wc-picker-foot button{color:var(--blue)}

/* Final list metadata is channel and time; detail keeps its own author and counts. */
.hf-recommendations{display:none}
html:root body.in-detail #detail .dhead>.meta{display:flex;flex-direction:column;align-items:stretch;gap:12px}
html:root body.in-detail #detail .dhead .detail-meta-left{display:flex;align-items:center;justify-content:flex-start;align-self:stretch;flex:none;gap:7px;width:100%}
html body #detail .detail-info{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;width:100%}
html body #detail .detail-counts{display:flex;gap:10px;align-items:baseline}
html body #detail .detail-time{margin-left:auto;font-size:12px}

#dBody{position:relative}.body-photo-numbers{position:absolute;inset:0;pointer-events:none;z-index:2}.body-photo-numbers>span{position:absolute;transform:translateX(-100%);box-sizing:border-box;display:grid;place-items:center;align-content:center;justify-content:center;text-align:center;width:24px;height:24px;color:white;background:rgba(0,0,0,.35);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:24px;padding:0;border-radius:5px;pointer-events:none}


html body #cmBox>.chead{background:var(--surface);border-top:2px solid var(--line);border-bottom:1px solid var(--line);padding:14px 16px;scroll-margin-top:60px}
.comment-end-boundary{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border-top:2px solid var(--line);border-bottom:1px solid var(--line);padding:14px 16px;color:var(--muted);font-size:13px}.comment-end-boundary button{color:var(--blue);padding:4px 0}

#cmBox>.comment-empty-state{min-height:160px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:32px 16px;font-size:13px;line-height:20px;text-align:center;color:var(--dim)}

/* Desktop detail header reserves room for a classic scrollbar and the menu hit target. */
@media(min-width:1000px){
 html body.dc-shell.in-detail #detail .dbar{box-sizing:border-box;padding:2px 30px 2px 14px!important}
 html body.dc-shell.in-detail #detail .dbar #dMenu{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:none}
}

/* Final scrollbar specification: transparent track, slim thumb, no arrow controls. */
html,body,body *{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.45) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(128,128,128,.45);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(128,128,128,.7)}
::-webkit-scrollbar-button{display:none;width:0;height:0}

.article-adfit{display:flex;justify-content:center;align-items:center;min-height:100px;margin:16px 0;max-width:100%;overflow:hidden}.article-adfit[hidden]{display:none}
.guest-author{font-weight:400;color:var(--t2,var(--muted))}

html body.in-detail #detail #cmBox .cm.re{border-radius:0!important}
html body.in-detail #detail #cmBox .cm.re::before{display:block!important;content:"ㄴ";position:absolute;left:16px!important;top:14px!important;font-size:16px;color:var(--t3)}

.account-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-profile-copy .account-name>b{font-size:22px;font-weight:800;line-height:1.35}.account-name>em{font-size:11px;font-style:normal;font-weight:600;border-radius:999px;background:var(--s);color:var(--t2);padding:3px 8px}.account-date{padding:9px 16px;font-size:12px;font-weight:600;color:var(--t2);background:var(--s);border-block:1px solid var(--ln);margin:0}.account-tab-note{padding:12px 16px;font-size:12px;color:var(--t3);margin:0}.account-comment b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-comment small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Comment actions open at their own ellipsis button, as in the final mockup. */
html body #sheetbg.comment-menu-sheet{background:transparent}html body #sheetbg.comment-menu-sheet>.sheet{position:absolute;left:var(--comment-menu-left,12px);top:var(--comment-menu-top,56px);bottom:auto;transform:none;width:264px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);margin:0;padding:8px 0;border:1px solid var(--ln);border-radius:14px;background:var(--s);box-shadow:0 8px 32px #0003;overflow:auto;animation:none}html body #sheetbg.comment-menu-sheet .grab{display:none}html body #sheetbg.comment-menu-sheet h3{font-size:14px;padding:10px 16px;color:var(--t2)}html body #sheetbg.comment-menu-sheet .mrow{font-size:14px;padding:12px 16px!important;min-height:44px}

html body.in-detail #detail .dwrap:has(>[data-article-ad="top"]:not([hidden])){padding-top:0!important}
.article-adfit[data-article-ad="top"]{margin-top:0}

/* Public author labels and the optional composer mode row. */
.anon-guest{font-family:inherit!important;color:var(--t2,var(--muted))!important;letter-spacing:normal!important;font-weight:500!important}.anon-ip{font-size:.92em}.author-fixed{display:inline-flex;align-items:center;gap:4px}.fixed-badge{flex:none;vertical-align:-2px}.comment-anon-choice{display:flex;align-items:center;gap:6px;grid-column:1/-1;font-size:12px;color:var(--t2,var(--muted));padding:3px 0}.comment-anon-choice input{accent-color:var(--lk,#3182f6)}
.comment-guest-fields{display:flex;gap:8px;width:100%;margin-bottom:6px;box-sizing:border-box}
.comment-guest-fields input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--ln);border-radius:10px;background:var(--s);color:var(--tx);font:inherit;font-size:13px}
.comment-guest-nickname{width:auto;max-width:110px;height:26px;padding:2px 8px;border:1px solid var(--ln);border-radius:8px;background:var(--s);color:var(--tx);font:inherit;font-size:12px;margin-left:4px}
.comment-author-modes,.comment-guest-author-note{display:flex!important;align-items:center!important;gap:6px!important;padding:2px 4px 6px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;color:var(--t2)!important;white-space:nowrap!important;overflow:hidden!important;box-sizing:border-box!important}
.author-mode-dot{width:7px!important;height:7px!important;border-radius:50%!important;flex:0 0 auto!important;display:inline-block!important}
.author-mode-label{min-width:0px!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--t2)!important;font-weight:700!important}
.author-mode-switch{flex:0 0 auto!important;color:var(--lk)!important;font-weight:800!important;cursor:pointer!important;border:0!important;background:transparent!important;padding:0!important;font:inherit!important;font-size:12px!important;text-decoration:none!important}
.author-mode-switch:hover{text-decoration:underline!important}
.comment-guest-nickname[hidden]{display:none!important}

html body.in-detail #detail .dfoot{border-top:1px solid var(--ln)!important;padding:8px 16px max(env(safe-area-inset-bottom),14px)!important;display:flex!important;flex-direction:column!important;gap:6px!important;background:var(--bg)!important;flex:0 0 auto!important;position:relative!important;z-index:6!important}
html body.in-detail #detail .dfoot #cmCompose.dcm{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;min-height:0!important;box-shadow:none!important;width:100%!important}
.comment-input-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:var(--s)!important;border-radius:12px!important;padding:8px 12px!important;min-height:50px!important;height:auto!important;font-size:14px!important;width:100%!important;box-sizing:border-box!important;transition:border-color .15s ease!important;border:1px solid var(--ln)!important}
.comment-input-bar #cIn{width:100%!important;min-height:24px!important;max-height:120px!important;height:auto!important;line-height:1.5!important;font-size:14px!important;color:var(--tx)!important;border:0!important;background:transparent!important;outline:none!important;resize:none!important;padding:2px 0!important;margin:0!important;font-family:inherit!important;overflow-y:auto!important;white-space:pre-wrap!important;word-break:break-word!important}
.comment-input-bar #cIn::placeholder{color:var(--t3)!important}
.comment-actions-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:4px 0 0 0!important;border:0!important;background:transparent!important}
.comment-actions-left{display:flex!important;align-items:center!important;gap:6px!important}
.comment-actions-right{display:flex!important;align-items:center!important;gap:6px!important}
.comment-tool-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;background:transparent!important;border:0!important;color:var(--t3)!important;cursor:pointer!important;padding:0!important;border-radius:6px!important;transition:color .12s!important}
.comment-tool-btn:hover{color:var(--tx)!important}
.comment-input-bar .keyboard-close{display:none!important}

/* 1b Single Box state */
.comment-input-bar.is-expanded,#cmCompose.is-expanded .comment-input-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px 12px!important;min-height:50px!important;background:var(--s)!important}
.comment-input-bar.is-expanded #cIn,#cmCompose.is-expanded .comment-input-bar #cIn{height:auto!important;min-height:24px!important;max-height:120px!important;line-height:1.5!important;overflow-y:auto!important;white-space:pre-wrap!important;word-break:break-word!important}
.comment-input-bar.is-expanded .comment-actions-bar,#cmCompose.is-expanded .comment-actions-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:4px 0 0 0!important;border:0!important}
.comment-input-bar.is-expanded .comment-actions-right,#cmCompose.is-expanded .comment-actions-right{display:flex!important;align-items:center!important;gap:6px!important}
.comment-input-bar .btn-upvote-go{display:none!important}
.comment-input-bar .go{font-weight:700!important;font-size:13px!important;padding:0 14px!important;height:32px!important;border-radius:8px!important;cursor:pointer!important;background:var(--lk,#3182F6)!important;color:#ffffff!important;border:0!important;line-height:32px!important;min-width:0!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:opacity .15s, background .15s!important}
.comment-input-bar .go:disabled{opacity:0.35!important;cursor:not-allowed!important}
.comment-input-bar .go.on{background:var(--lk,#3182F6)!important;color:#ffffff!important}
.comment-input-bar .go:hover:not(:disabled){background:#2563eb!important}

/* 1b 안내 문구 */
.comment-guide-tip{font-size:12px!important;color:var(--t3)!important;padding:2px 4px 0!important;line-height:1.4!important;letter-spacing:-0.01em!important}

/* Thumbnail preview */
.comment-attached-thumb{position:relative!important;width:68px!important;height:68px!important;border-radius:6px!important;overflow:visible!important;margin-bottom:2px!important}
.comment-attached-thumb img{width:68px!important;height:68px!important;border-radius:6px!important;object-fit:cover!important;display:block!important;border:1px solid rgba(255,255,255,0.12)!important}
.comment-attached-thumb .thumb-del{position:absolute!important;top:-6px!important;right:-6px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#2f3136!important;color:#ffffff!important;border:1.5px solid #4f545c!important;font-size:11px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;padding:0!important;line-height:1!important}

/* Emoji popover */
.comment-emoji-popover{display:none;flex-wrap:wrap;gap:6px;background:var(--s)!important;border:1px solid var(--ln)!important;border-radius:10px!important;padding:8px 10px!important;width:100%!important;box-sizing:border-box!important;margin-top:6px!important}
.comment-emoji-popover button{background:transparent!important;border:0!important;font-size:17px!important;cursor:pointer!important;padding:4px 6px!important;border-radius:6px!important;line-height:1!important;color:var(--tx)!important}
.comment-emoji-popover button:hover{background:rgba(255,255,255,0.08)!important}

/* Attached media inside comment row */
.cm-attached-media{margin-top:8px!important;max-width:320px!important;border-radius:10px!important;overflow:hidden!important}
.cm-attached-media img{width:100%!important;max-height:360px!important;object-fit:cover!important;display:block!important;border-radius:10px!important}

.wc-guest-identity,.wc-author-modes{display:flex;flex-shrink:0;gap:8px;align-items:center;padding:10px 16px}.wc-guest-identity input,.wc-author-modes input{min-width:0;flex:1;width:0;padding:9px 10px;border:1px solid var(--ln);border-radius:8px;background:var(--s);color:var(--tx);font:inherit;font-size:14px}.wc-author-modes input[hidden]{display:none!important}

/* ZIP14 home offer is a sticky pill, independent from the folding logo row. */
html body #coreNewPosts {position:sticky!important;top:8px!important;z-index:3;width:max-content!important;max-width:calc(100% - 32px);height:44px!important;margin:8px auto!important;padding:0 16px 0 8px!important;border:1px solid var(--ln)!important;border-radius:22px!important;background:var(--bg)!important;color:var(--tx)!important;box-shadow:0 6px 18px rgba(0,0,0,.14)!important;gap:10px;font-size:15px;font-weight:700;animation:omDown .25s ease-out}
html body #coreNewPosts .new-avatars {display:flex;padding-left:6px}
html body #coreNewPosts .new-avatars .idn {width:28px;height:28px;min-width:28px;margin-left:-6px;border:2px solid var(--bg);border-radius:8px;box-sizing:border-box}
html body #coreNewPosts svg {flex:none;color:var(--t2)}
@media(prefers-reduced-motion:reduce){body>header .top{transition:none!important}}

/* The mobile overlay keeps the same one-pixel app border as its prototype. */
html body .sheetbg:not(.post-more-popover)>.sheet{width:calc(100% - 2px);max-width:560px}

/* 1b Comment Bar in Detail View */
html body.in-detail #detail .dfoot:has(#cmCompose){position:fixed!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:calc(min(100vw,560px) - 2px)!important;max-width:558px!important;box-sizing:border-box!important;bottom:0;background:var(--bg)!important;border-top:1px solid var(--ln)!important;padding:8px 16px max(env(safe-area-inset-bottom),12px)!important;z-index:6!important}
html body.in-detail #detail .dfoot.kb:has(#cmCompose){padding-bottom:10px!important}

html body.in-detail #detail #cmCompose .comment-input-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px 12px!important;min-height:50px!important;height:auto!important;background:var(--s)!important;border-radius:12px!important;border:1px solid var(--ln)!important;font-size:14px!important;width:100%!important;box-sizing:border-box!important;transition:border-color .15s ease!important}
html body.in-detail #detail #cmCompose .comment-input-bar #cIn{flex:1 1 auto!important;width:100%!important;min-height:24px!important;max-height:120px!important;height:auto!important;border:0!important;background:transparent!important;font-size:14px!important;line-height:1.5!important;color:var(--tx)!important;resize:none!important;outline:none!important;padding:2px 0!important;margin:0!important;font-family:inherit!important;overflow-y:auto!important;white-space:pre-wrap!important;word-break:break-word!important}
html body.in-detail #detail #cmCompose .comment-input-bar #cIn::placeholder{color:var(--t3)!important}
html body.in-detail #detail #cmCompose .comment-actions-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:4px!important;width:100%!important;padding:4px 0 0 0!important;border:0!important}
html body.in-detail #detail #cmCompose .comment-actions-left{display:flex!important;align-items:center!important;gap:6px!important}
html body.in-detail #detail #cmCompose .comment-actions-right{display:flex!important;align-items:center!important;gap:6px!important}
html body.in-detail #detail #cmCompose .comment-tool-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;background:transparent!important;border:0!important;color:var(--t3)!important;cursor:pointer!important;padding:0!important;border-radius:6px!important;transition:color .12s!important}
html body.in-detail #detail #cmCompose .comment-tool-btn:hover{color:var(--tx)!important}

/* Expanded state matches 1b auto-expanding */
html body.in-detail #detail #cmCompose .comment-input-bar.is-expanded,
html body.in-detail #detail #cmCompose.is-expanded .comment-input-bar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:8px 12px!important;min-height:50px!important;height:auto!important;border-radius:12px!important;background:var(--s)!important}
html body.in-detail #detail #cmCompose .comment-input-bar.is-expanded #cIn,
html body.in-detail #detail #cmCompose.is-expanded .comment-input-bar #cIn{height:auto!important;min-height:24px!important;max-height:120px!important;line-height:1.5!important;overflow-y:auto!important;white-space:pre-wrap!important;word-break:break-word!important}
html body.in-detail #detail #cmCompose .comment-input-bar.is-expanded .comment-actions-bar,
html body.in-detail #detail #cmCompose.is-expanded .comment-actions-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:4px 0 0 0!important;border:0!important}
html body.in-detail #detail #cmCompose .comment-input-bar.is-expanded .comment-actions-right,
html body.in-detail #detail #cmCompose.is-expanded .comment-actions-right{display:flex!important;align-items:center!important;gap:6px!important}
html body.in-detail #detail #cmCompose .btn-upvote-go{display:none!important}
html body.in-detail #detail #cmCompose .comment-input-bar .go{font-weight:700!important;font-size:13px!important;padding:0 14px!important;height:32px!important;border-radius:8px!important;cursor:pointer!important;background:var(--lk,#3182F6)!important;color:#ffffff!important;border:0!important;line-height:32px!important;min-width:0!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:opacity .15s, background .15s!important}
html body.in-detail #detail #cmCompose .comment-input-bar .go:disabled{opacity:0.35!important;cursor:not-allowed!important}
html body.in-detail #detail #cmCompose .comment-input-bar .go.on{background:var(--lk,#3182F6)!important;color:#ffffff!important}
html body.in-detail #detail #cmCompose .comment-input-bar .go:hover:not(:disabled){background:#2563eb!important}
html body.in-detail #detail #cmCompose #cKeyboardClose{display:none!important}

@media(min-width:1000px){html body.dc-shell.in-detail #detail .dfoot:has(#cmCompose){left:calc(var(--body-left,0px) + 1px)!important;transform:none!important;width:calc(var(--dc-main-width,810px) - 2px)!important;max-width:calc(var(--dc-main-width,810px) - 2px)!important}}

/* Keep one loading status while a channel page is being replaced. */
html body #channelFeed:has(>.channel-loading)+#channelMore{display:none!important}

/* Mobile web: keep navigation inside the Safari scroll pane. The inline
   comment form needs no fixed composer reservation below the article. */
@media(max-width:999px){
 html:root:not(.dp-native-app) body.in-detail:has(>#appScroll){padding-top:0!important;padding-bottom:0!important}
 html:not(.dp-native-app) body.in-detail #detail>.dbar{position:sticky!important;top:0!important;left:auto!important;transform:none!important;width:100%!important;max-width:none!important}
}

/* The custom list pull indicator handles home refresh; prevent whole-pane rubber banding. */
html body:not(.in-x):not(.in-search):not(.in-detail):not(.in-shorts)>#appScroll{overscroll-behavior-y:none}

/* ⚡ [시안 18 규격] 채널 화면에서는 하단바(채널 툴바 및 메인 탭바) 완전 비노출 (54px 퀵쓰기 버튼만 유지) */
html.p18-exact #channel-bottom-bar,
body.in-channel #channel-bottom-bar,
body.in-channel #toss-bottom-nav,
body.in-channel .dp-bottom-nav,
body:has(.handoff-channel-page) #toss-bottom-nav,
body:has(.handoff-channel-page) #channel-bottom-bar {
  display: none !important;
}

/* Read placeholders keep their host and disappear with the real response. */
.dp-read-loading{display:inline-block;vertical-align:middle;position:relative;box-sizing:border-box;width:min(180px,100%);min-width:24px;height:18px;border-radius:5px;background:var(--line,#e4e7ec);overflow:hidden;animation:dpReadPulse 1.4s ease-in-out infinite}
.dp-read-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bg,#fff) 55%,transparent),transparent);transform:translateX(-100%);animation:dpReadSweep 1.4s linear infinite}
button>.dp-read-loading{width:40px;height:12px}
:is(#featureBody,#serviceBody,#channelList,#shopList,#zip14Events)>.dp-read-loading,.dp-read-loading-block{display:block;width:calc(100% - 32px);height:72px;margin:24px 16px;background:linear-gradient(var(--line,#e4e7ec),var(--line,#e4e7ec)) 0 0/74% 14px no-repeat,linear-gradient(var(--line,#e4e7ec),var(--line,#e4e7ec)) 0 29px/96% 14px no-repeat,linear-gradient(var(--line,#e4e7ec),var(--line,#e4e7ec)) 0 58px/58% 14px no-repeat}
@keyframes dpReadPulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes dpReadSweep{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.dp-read-loading,.dp-read-loading::after{animation:none}.dp-read-loading::after{display:none}}

/* Center navigation within its existing height, without moving sticky offsets. */
html body :is(#xpage,#detail,#spage) :is(.xtop,.dbar,.shead){box-sizing:border-box;padding-top:0!important;padding-bottom:0!important;align-items:center}
html body :is(#xpage,#detail) :is(.xtop,.dbar)>.ibtn{display:flex;align-items:center;justify-content:center;padding-top:0!important;padding-bottom:0!important;min-height:0}
html body :is(#xpage,#detail) :is(.xtop,.dbar)>b{min-width:0;max-width:100%;padding-top:0!important;padding-bottom:0!important;margin-top:0;margin-bottom:0;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:center}
html body:is(.handoff-channel,.handoff-directory) #xpage>.xtop>b,html body.in-detail #detail .dbar>b{top:50%!important;transform:translateY(-50%);height:auto!important}
html body #xpage .xtop :is(.account-balance,.gift-balance){padding-top:0!important;align-self:center}
html body.settings-view #xpage>.xtop{grid-template-columns:44px minmax(0,1fr) 44px}
@media(max-width:999px){html body :is(#xpage,#detail,#spage) :is(.xtop,.dbar,.shead){min-height:56px}}
@media(min-width:1000px){html body :is(#xpage,#detail,#spage) :is(.xtop,.dbar,.shead){min-height:48px}}

.home-subscription-login{box-sizing:border-box;min-height:320px;padding:64px 24px 48px;display:flex;flex-direction:column;align-items:center;text-align:center}
.home-subscription-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--s,var(--surface));color:var(--t3,var(--dim))}
.home-subscription-login>b{margin-top:20px;font-size:16px;font-weight:700;line-height:23px;color:var(--tx)}
.home-subscription-login>p{max-width:300px;margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--t3,var(--dim))}
.home-subscription-login>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:20px;padding:0 22px;border-radius:22px;background:var(--ctl);color:var(--on);font-size:15px;font-weight:700;text-decoration:none}
.home-subscription-login>a:focus-visible{outline:2px solid var(--pt);outline-offset:4px}

/* 홈 화면 DCLIST 규격 통일: 레거시 공지 및 중복 탭/컨트롤 완전 차단 */
html:not(.p18-exact) body:not(.in-channel):not(.in-post) #appNotice,
html:not(.p18-exact) body:not(.in-channel):not(.in-post) .v2tb,
html:not(.p18-exact) body:not(.in-channel):not(.in-post) #chips {
  display: none !important;
}

/* ⚡ [DCLIST_SPEC 3] 채널 화면 하단바 및 54px 퀵쓰기 버튼 정밀 스타일 */
#channel-bottom-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(56px + max(env(safe-area-inset-bottom, 0px), 16px)) !important;
  padding-bottom: max(env(safe-area-inset-bottom, 0px), 16px) !important;
  background: var(--bg, #fff) !important;
  border-top: 1px solid var(--ln, #eceef1) !important;
  display: flex !important;
  align-items: center !important;
  z-index: 30 !important;
  transition: transform .22s ease-out !important;
}

@media(min-width: 1000px) {
  #channel-bottom-bar {
    left: var(--desk-body-left, calc((100vw - 1100px)/2)) !important;
    width: var(--dc-main-width, 680px) !important;
    right: auto !important;
  }
}

#channel-bottom-bar button[data-channel-action] {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  background: transparent !important;
  border: none !important;
  color: var(--t2) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  gap: 2px !important;
  cursor: pointer !important;
  padding: 0 !important;
}

#channel-bottom-bar button[data-channel-action].active {
  color: var(--lk, #1b64da) !important;
  font-weight: 800 !important;
  box-shadow: inset 0 3px var(--lk, #1b64da) !important;
}

#channel-bottom-bar button[data-channel-action].active svg {
  color: var(--lk, #1b64da) !important;
}

/* 54px 둥근 연필 퀵쓰기 버튼 */
.channel-quick-write .channel-quick-pill {
  position: fixed !important;
  right: max(16px, calc((100vw - 560px)/2 + 16px)) !important;
  bottom: calc(70px + max(env(safe-area-inset-bottom, 0px), 16px)) !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  background: var(--ctl, #111) !important;
  color: var(--on, #fff) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.28) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 29 !important;
  cursor: pointer !important;
  transition: transform .22s ease-out !important;
}

/* 채널 피드 하단 86px 여백 확보 */
body.in-channel #feed,
body.in-channel #main-feed-container {
  padding-bottom: 96px !important;
}

/* 목록 썸네일 영상 재생 아이콘 전면 제거 (웹·앱 공통) */
.thumb.feed-video:after,
.thumb:after,
.feed-video:after,
.feed-video-badge,
.channel-video-badge,
.feed-video-play-overlay,
[data-channel-video]:after {
  display: none !important;
  content: none !important;
}

/* Channel navigation: title and touch targets share one vertical centre. */
html body.handoff-channel #xpage>.xtop{padding:0 12px!important;align-items:center!important}
html body.handoff-channel #xpage>.xtop>b{top:0!important;bottom:0!important;height:100%!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;line-height:1.3!important}
html body.handoff-channel #xpage>.xtop>.ibtn{display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;flex:none}
html body #featureBody.handoff-channel-page{display:flex;flex-direction:column;min-height:calc(100dvh - 112px - env(safe-area-inset-bottom,0px))}
html body #featureBody.handoff-channel-page #channelFeed:has(>.channel-empty){display:flex;flex-direction:column;flex:1}
html body #featureBody.handoff-channel-page .channel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:160px;padding:24px 16px;box-sizing:border-box}
html body #featureBody.handoff-channel-page .channel-empty h4,html body #featureBody.handoff-channel-page .channel-empty p{max-width:100%;overflow-wrap:anywhere}
@media(min-width:881px){html body.dc-shell #featureBody.handoff-channel-page{min-height:calc(100dvh - 104px)}}

/* Prototype18 request topics use the same real chips in both themes. */
html body #xpage .channel-request-page .channel-request-categories{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}
html body #xpage .channel-request-page [data-request-category]{position:relative;min-height:0;appearance:none;display:flex;align-items:center;gap:4px;border:0;border-radius:999px;padding:10px 16px;background:var(--surface,var(--s));color:var(--muted,var(--t2));font:inherit;font-size:14px;font-weight:500;line-height:normal;cursor:pointer}
html body #xpage .channel-request-page [data-request-category][aria-pressed="true"]{background:var(--line,var(--ln));color:var(--text,var(--tx));font-weight:700}
html body #xpage .channel-request-page [data-request-category]:focus-visible{outline:2px solid var(--link,var(--lk));outline-offset:2px}

/* Keep compact prototype chips while preserving a 44px touch area. */
html body #xpage .channel-request-page [data-request-category]::before{content:"";position:absolute;inset:-4px 0}

/* Prototype18 search-filter selection, confined to this sheet. */
html body #sheetbg.portal-filter-sheet .portal-filter-options>button:not(.on){background:transparent;color:var(--dim)}
html body #sheetbg.portal-filter-sheet .portal-filter-options>button.on{font-weight:800}
html body #sheetbg.portal-filter-sheet .portal-filter-options{gap:8px}


/* Source: /js/site-ui/zip14-post.css */
/* ZIP14 unit 7: scoped to the canonical article, after the shared foundation. */
html:root body.in-detail #detail .dtitle{margin:0!important;font-size:22px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:-.035em}
html:root body.in-detail #detail .dhead{margin:14px 0 0!important;display:block!important}
html:root body.in-detail #detail .dhead .meta{display:block!important}
html:root body.in-detail #detail .detail-meta-left{display:flex!important;align-items:center;gap:8px;font-size:15px;min-height:26px}
html:root body.in-detail #detail .detail-meta-left .guest-author,html:root body.in-detail #detail .detail-meta-left .nick-fixed{font-size:15px!important}
html:root body.in-detail #detail .detail-info{display:flex!important;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:12px!important;padding-bottom:22px;font-size:13px!important;color:var(--t3)}
html:root body.in-detail #detail .detail-counts{display:flex;gap:10px}
html:root body.in-detail #detail .hf-actions{display:flex!important;justify-content:center;padding:36px 16px 40px!important;border:0!important}
html:root body.in-detail #detail .hf-like{height:36px!important;min-height:36px!important;border:0!important;border-radius:18px!important;padding:0 14px 0 12px!important;gap:6px!important;background:var(--s)!important;color:var(--tx)!important;font-size:14px!important;font-weight:600!important}
html:root body.in-detail #detail .hf-like.on{background:color-mix(in srgb,var(--pt) 10%,transparent)!important;color:var(--pt)!important}
html:root body.in-detail #detail .hf-like .hf-ic{width:18px;height:18px}
html:root body.in-detail #detail .chead{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px!important;background:var(--s)!important;border-top:1px solid var(--ln)!important;border-bottom:1px solid var(--ln)!important;font-size:16px!important;font-weight:800!important;line-height:normal}
html:root body.in-detail #detail .chead .cn{color:var(--pt)}
html:root body.in-detail #detail .comment-sort{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:nowrap}
html:root body.in-detail #detail .comment-sort button{white-space:nowrap;padding:0!important;min-height:0!important;height:auto!important;line-height:normal;font-size:13px!important}
html:root body.in-detail #detail .comment-sort button[data-comment-sort="refresh"]{display:inline-flex;align-items:center;gap:4px}
html:root body.in-detail #detail #cmBox .cm{padding:12px 16px!important;border-bottom:1px solid var(--ln2)!important;min-height:92px;box-sizing:border-box;gap:10px!important}
html:root body.in-detail #detail #cmBox .cm[hidden]{display:none!important}
html:root body.in-detail #detail #cmBox .cm.re{margin:0!important;padding-left:46px!important;background:var(--s)!important;position:relative}
html:root body.in-detail #detail #cmBox .cm.re:before{content:'ㄴ';display:block!important;position:absolute;left:20px!important;top:14px!important;color:var(--t3);font-size:16px;font-weight:700}
html:root body.in-detail #detail #cmBox .cm .meta{height:auto!important;min-height:18px!important;line-height:18px!important;gap:3px!important}
html:root body.in-detail #detail #cmBox .cm .meta .guest-author,html:root body.in-detail #detail #cmBox .cm .meta .nick-fixed{font-size:13px!important}
html:root body.in-detail #detail #cmBox .badge-w{font-size:12px!important;font-weight:800!important;color:var(--lk)!important;background:transparent!important}
html:root body.in-detail #detail #cmBox .cm .meta [data-cmenu]{display:grid!important;position:absolute;right:0;top:-2px;min-width:28px;min-height:24px}
html:root body.in-detail #detail #cmBox .cm .ct{font-size:var(--reading-comment-size,16px)!important;line-height:1.65!important;margin-top:3px!important;overflow-wrap:anywhere}
html:root body.in-detail #detail #cmBox .ctime{font-size:11px!important;margin-top:4px!important;color:var(--t3)!important}
html:root body.in-detail #detail .dbody,html:root body.in-detail #detail .dbody>div>p{line-height:1.85!important}
html:root body.in-detail #detail #cmBox .cm .meta b,html:root body.in-detail #detail #cmBox .cm .meta b *{font-weight:800!important;color:var(--tx)!important}
html:root body.in-detail #detail .dhead .detail-meta-left .anon-id,html:root body.in-detail #detail .dhead .detail-meta-left .anon-id *{font-weight:800!important;color:var(--tx)!important}
html:root body.in-detail #detail .cm-blocks{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:16px}
html:root body.in-detail #detail .cm-blocks button{min-width:68px;height:34px;padding:0 10px;border:1px solid var(--ln);border-radius:8px;font-size:13px;font-weight:600;color:var(--t3)}
html:root body.in-detail #detail .cm-blocks button[aria-pressed=true]{font-weight:800;border-color:var(--tx);color:var(--tx);background:var(--s)}
html:root body.in-detail #detail .dfoot{padding:10px 16px max(env(safe-area-inset-bottom),20px)!important;border-top:1px solid var(--ln);background:var(--bg)!important}
html:root body.in-detail #detail .dfoot.kb{padding-bottom:10px!important}
html:root body.in-detail #detail #rt{display:flex;align-items:center;gap:8px;padding:2px 0 8px}
html:root body.in-detail #detail #rt[hidden]{display:none}
html:root body.in-detail #detail .reply-mention-chip{display:flex;align-items:center;gap:6px;max-width:calc(100% - 70px);height:32px;padding:0 10px 0 12px;border-radius:16px;background:var(--ln);font-size:14px;font-weight:700}
html:root body.in-detail #detail .reply-mention-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:root body.in-detail #detail .reply-mention-note{font-size:13px;font-weight:600;color:var(--t3);white-space:nowrap}
body.cm-refreshing .cm-refresh-icon{display:inline-block;animation:zip14-comment-spin .6s linear}
@keyframes zip14-comment-spin{to{transform:rotate(360deg)}}
@media(min-width:1000px){html:root body.in-detail #detail .dtitle{font-size:24px!important}}
@media(prefers-reduced-motion:reduce){body.cm-refreshing .cm-refresh-icon{animation:none}}

body #detail #cmBox .cm.cm-blocked .ct{color:var(--t3);cursor:default}

/* DC list unit 6: info line sizes and blind notice */
html:root body.in-detail #detail .detail-counts,html:root body.in-detail #detail .detail-time{font-size:13px!important}
html:root body.in-detail #detail .detail-meta-left .nick-fixed,html:root body.in-detail #detail .detail-meta-left .anon-id:not(.anon-guest){font-weight:800;color:var(--tx)}
html body #detail .empty.post-blind{display:flex;flex-direction:column;align-items:center;gap:8px;padding:96px 24px;text-align:center;font-size:14px;line-height:1.5;color:var(--t3,var(--dim))}
html body #detail .empty.post-blind svg{color:var(--t3,var(--dim))}
html body #detail .empty.post-blind b{display:block;font-size:17px;color:var(--tx)}
/* DC list unit 6: comment composer - one box, mode pill, input, submit */
html:root body.in-detail #detail .dfoot:has(#cmCompose){background:var(--bg)!important;border-top:1px solid var(--ln)!important;padding:8px 15px max(env(safe-area-inset-bottom,0px),20px)!important;box-shadow:none!important}
html:root body.keyboard-open.in-detail #detail .dfoot:has(#cmCompose){padding-bottom:10px!important}
html:root body.in-detail #detail .dfoot #cmCompose{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:8px;box-sizing:border-box;min-height:48px;margin:0!important;padding:4px 8px 4px 10px!important;border:0!important;border-radius:14px!important;background:var(--s)!important;color:var(--tx)!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields{grid-column:1/-1;display:flex;gap:8px;margin-bottom:6px}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields[hidden]{display:none!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields input{min-width:0;flex:1;height:40px;padding:0 14px;border:0;border-radius:12px;background:var(--s);color:var(--tx);font-size:14px;box-sizing:border-box}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields input::placeholder{color:var(--t3);font-size:inherit}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields input{font-size:14px!important}
/* 시안: 비회원은 닉네임·비밀번호 줄이 회색 입력 상자 위에 따로 있다 (줄 사이 8px, 상자 radius 14 / padding 6 6 6 8 / 최소 높이 50 / 안쪽 간격 8) */
html:root body.in-detail #detail .dfoot #cmCompose:has(.comment-guest-fields){display:flex!important;flex-direction:column;gap:8px;min-height:0;padding:0!important;background:transparent!important;border-radius:0!important}
html:root body.in-detail #detail .dfoot #cmCompose:has(.comment-guest-fields) .comment-guest-fields{margin:0}
html:root body.in-detail #detail .dfoot #cmCompose:has(.comment-guest-fields) .comment-input-bar{display:flex!important;align-items:center;gap:8px;box-sizing:border-box;min-height:50px!important;padding:6px 6px 6px 8px!important;border-radius:14px!important;background:var(--s)!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields input:focus{border-color:var(--lk);outline:none}
html:root body.in-detail #detail .dfoot #cmCompose .comment-author-modes{grid-column:1;display:inline-flex!important;align-items:center;gap:6px;height:34px;box-sizing:border-box;padding:0 13px!important;border-radius:17px;background:var(--bg)!important;color:var(--tx)!important;font-size:13px;font-weight:800;cursor:pointer;user-select:none}
html:root body.in-detail #detail .dfoot #cmCompose .author-mode-dot{width:7px;height:7px;border-radius:50%;flex:none}
html:root body.in-detail #detail .dfoot #cmCompose .author-mode-label{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--tx)}
html:root body.in-detail #detail .dfoot #cmCompose .author-mode-switch{display:none!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-author-modes .comment-guest-nickname{width:46px;height:24px;padding:0 6px;border:1px solid var(--ln);border-radius:6px;background:var(--s);color:var(--tx);font-size:12px;text-align:center;box-sizing:border-box}
html:root body.in-detail #detail .dfoot #cmCompose .comment-input-bar{display:contents!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-attached-thumb{grid-column:2}
html:root body.in-detail #detail .dfoot #cmCompose textarea#cIn{grid-column:2;width:auto!important;min-width:0!important;min-height:36px;max-height:110px;padding:8px 4px!important;border:0!important;background:transparent!important;color:var(--tx)!important;font-size:16px;line-height:1.4}
html:root body.in-detail #detail .dfoot #cmCompose:not(:has(.comment-author-modes)) textarea#cIn,html:root body.in-detail #detail .dfoot #cmCompose .comment-guest-fields ~ .comment-input-bar textarea#cIn{grid-column:1/3!important}
html:root body.in-detail #detail .dfoot #cmCompose textarea#cIn::placeholder{color:var(--t3)}
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-bar{grid-column:3;display:flex!important;align-items:center;gap:4px;width:auto!important;flex:none!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-left{display:flex;align-items:center;gap:0}
html:root body.in-detail #detail .dfoot #cmCompose .comment-tool-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:0;padding:0;border:0;background:transparent;color:var(--t3)}
html:root body.in-detail #detail .dfoot #cmCompose .comment-tool-btn svg{width:20px;height:20px}
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-right{display:flex!important;align-items:center;gap:6px}
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-right .btn-upvote-go:disabled{display:none!important}
html:root body.in-detail #detail .dfoot #cmCompose .go,html:root body.in-detail #detail .dfoot #cmCompose .btn-upvote-go{height:38px;min-width:0;padding:0 16px;border:0!important;border-radius:10px!important;font-size:15px;font-weight:700;background:var(--ln)!important;color:var(--t3)!important}
html:root body.in-detail #detail .dfoot #cmCompose .go:not(:disabled){background:var(--lk)!important;color:#fff!important}
html:root body.in-detail #detail .dfoot #cmCompose .btn-upvote-go:not(:disabled){padding:0 6px;background:transparent!important;color:var(--lk)!important;font-size:13px}
html:root body.in-detail #detail .dfoot .drt{padding:0 4px 6px;font-size:12px;color:var(--t3)}
/* DC list unit 6: 100-comment page pill */
html:root body.in-detail #detail .chead .cm-page-pill{margin:0 auto 0 8px;height:24px;padding:0 10px;border:0;border-radius:12px;background:color-mix(in srgb,var(--lk) 12%,var(--bg));color:var(--lk);font-size:13px;font-weight:700;line-height:24px;cursor:pointer}html:root body.in-detail #detail .chead{white-space:nowrap;gap:8px}
html:root body.in-detail #detail .chead .comment-sort{flex:none}html body #detail .cm .ct.ct-blind{display:flex;align-items:center;gap:6px;color:var(--t3,var(--dim))}
html body #detail .cm .ct.ct-blind .cm-blind-lock{flex:none}
/* DC list unit 7: swatch pickers */
html body .zip14-swatch-list{display:flex;flex-direction:column}
html body .zip14-swatch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:0 17px;border:0;border-bottom:1px solid var(--ln2);background:transparent;color:var(--tx);font-size:16px;font-weight:500;text-align:left}
html body .zip14-swatches{display:inline-flex;flex:none}
html body .zip14-swatches i{display:block;width:24px;height:28px}
html body .zip14-swatch-row .zip14-swatches i{height:28px}
/* my comment highlight (needs migration 20261028_comment_is_mine_v1) */
html body #detail .cm.is-mine{background:color-mix(in srgb,var(--lk,#1b64da) 8%,transparent)}

/* 댓글 입력줄 시안 치수 (DCLIST 6): 상자 50px, 안쪽 여백 6/6/6/8, 입력 16px 한 줄 중앙, 등록 62x38 */
html:root body.in-detail #detail .dfoot #cmCompose{min-height:50px!important;padding:6px 6px 6px 8px!important}
html:root body.in-detail #detail .dfoot #cmCompose textarea#cIn{min-height:38px!important;padding:9px 4px!important;font-size:16px!important;line-height:20px!important}
html:root body.in-detail #detail .dfoot #cmCompose .go,html:root body.in-detail #detail .dfoot #cmCompose .btn-upvote-go{height:38px!important;min-width:62px!important;padding:0 18px!important;font-size:15px!important;font-weight:700!important;border-radius:10px!important}
html:root body.in-detail #detail .dfoot #cmCompose .btn-upvote-go:not(:disabled){min-width:0!important;padding:0 6px!important;font-size:13px!important}
html:root body.in-detail #detail .dfoot:has(#cmCompose){padding:10px 16px max(env(safe-area-inset-bottom,0px),20px)!important}
html:root body.in-detail #detail .dfoot #cmCompose textarea#cIn{height:38px!important;box-sizing:border-box!important}
html:root body.keyboard-open.in-detail #detail .dfoot:has(#cmCompose){padding-bottom:10px!important}
html:root body.in-detail #detail .dfoot #cmCompose .comment-author-modes{font-size:13px!important}

/* 댓글 입력줄: 사진·이모티콘·추천등록 버튼 숨김, 입력 글자 세로 중앙 정렬 */
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-left,html:root body.in-detail #detail .dfoot #cmCompose .btn-upvote-go{display:none!important}
html:root body.in-detail #detail .dfoot #cmCompose textarea#cIn{display:block;align-self:center;text-align:left!important;margin:0!important;overflow-y:auto}
html:root body.in-detail #detail .dfoot #cmCompose .comment-actions-bar{align-self:center}
html:root body.in-detail #detail .dfoot #cmCompose .comment-author-modes{align-self:center!important}

/* 로그인 댓글 입력줄: 알약(고닉/유동)만 누르면 바뀌고, 별도 '바꾸기' 글자와 유동 닉네임 입력칸은 보이지 않는다 */
html:root body.in-detail #detail .dfoot #cmCompose .author-mode-switch,html:root body.in-detail #detail .dfoot #cmCompose .comment-author-modes .comment-guest-nickname{display:none!important}

/* 답글 중: 입력줄 위에 '닉네임님에게 답글 ✕' 한 줄 (DCLIST 6) */
html:root body.in-detail #detail .dfoot .drt:not([hidden]){display:flex!important;align-items:center;gap:8px;padding:0 8px 8px!important;color:var(--t3);font-size:13px;font-weight:400}
html:root body.in-detail #detail .dfoot .drt .reply-target-text b{color:var(--tx);font-weight:800}
html:root body.in-detail #detail .dfoot .drt .reply-target-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--t3);font-size:13px;cursor:pointer}

/* 채널 개설 요청: 신청 시 유의사항 시트 */
html body #sheetbg.cr-notice-sheet .cr-notice-title{margin:6px 0 18px;font-size:18px;font-weight:800;color:var(--tx)}
html body #sheetbg.cr-notice-sheet .cr-note{margin:0 0 22px}
html body #sheetbg.cr-notice-sheet .cr-note b{display:block;margin:0 0 6px;font-size:15px;font-weight:800;color:var(--tx)}
html body #sheetbg.cr-notice-sheet .cr-note p{margin:0;font-size:13px;line-height:1.5;color:var(--t3)}
html body #sheetbg.cr-notice-sheet .cr-notice-ok{display:block;width:100%;height:52px;margin:8px 0 4px;border:0;border-radius:14px;background:var(--tx);color:var(--bg);font-size:16px;font-weight:800}

/* 로그인 댓글 입력줄: 위쪽 '닉네임(고닉)으로 작성돼요 · 유동으로 바꾸기' 줄은 쓰지 않고, 알약(고닉/유동)을 누르면 바뀐다 */
html:root body #cmCompose .zip14-comment-identity{display:none!important}
html:root body.in-detail #detail .dfoot #cmCompose.zip14-comment-identity-ready .comment-author-modes{display:inline-flex!important}

/* 비회원 글·댓글 수정·삭제 비밀번호 시트 (guest-writing.js): 스타일이 없어 날것으로 보이던 것을 시트 공통 디자인으로 */
html body #sheetbg.guest-credentials-sheet h3{margin:6px 0 18px;font-size:18px;font-weight:800;color:var(--tx)}
html body #sheetbg.guest-credentials-sheet form{display:flex;flex-direction:column;gap:14px}
html body #sheetbg.guest-credentials-sheet label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--t2)}
html body #sheetbg.guest-credentials-sheet input{box-sizing:border-box;width:100%;height:48px;padding:0 14px;border:1px solid var(--ln);border-radius:12px;background:var(--s);color:var(--tx);font:inherit;font-size:16px;font-weight:400;outline:0}
html body #sheetbg.guest-credentials-sheet input:focus{border-color:var(--lk);background:var(--bg)}
html body #sheetbg.guest-credentials-sheet form>p{margin:-2px 0 2px;font-size:13px;line-height:1.5;color:var(--t3)}
html body #sheetbg.guest-credentials-sheet .guest-form-actions{display:flex;gap:10px;margin-top:4px}
html body #sheetbg.guest-credentials-sheet .guest-form-actions button{flex:1;height:52px;border:0;border-radius:14px;font-size:16px;font-weight:800}
html body #sheetbg.guest-credentials-sheet .guest-form-actions [data-guest-cancel]{background:var(--s);color:var(--tx)}
html body #sheetbg.guest-credentials-sheet .guest-form-actions [type=submit]{background:var(--tx);color:var(--bg)}
html body #sheetbg.guest-credentials-sheet form{padding:0 16px 8px}
/* 이전글·다음글은 읽기 설정과 실제 인접 글 유무에 따라 reading.js에서 표시한다. */
html:root body.in-detail #detail .reading-neighbors{display:block}
/* ===== 댓글 영역 (시안 18): 댓글폼은 "전체 댓글" 머리 아래, 답글폼은 누른 댓글 바로 아래. 아래 고정 입력줄은 없다 ===== */
html:root body.in-detail #detail .dfoot{display:none!important}
html:root body:has(>#appScroll).in-detail{padding-bottom:0!important}
body.in-detail #detail #cmBox:not(:has(.core-best)){padding-bottom:0}
html:root body.in-detail #detail #cmBox .cm-form-slot{padding:14px 16px 16px;border-bottom:1px solid var(--ln2);background:var(--bg)}
html:root body.in-detail #detail #cmBox .cm-form-slot:not(:has(#cmCompose)){display:none}
html:root body.in-detail #detail #cmBox .cm-form-slot::before{content:'댓글 쓰기';display:block;padding:0 2px 8px;font-size:13px;font-weight:800;color:var(--t2)}
html:root body.in-detail #detail #cmBox .cm-reply-slot{padding:10px 16px 14px 36px;border-bottom:1px solid var(--ln2);background:var(--s)}
html:root body.in-detail #detail #cmBox .cm-reply-slot>#rt{display:flex!important;align-items:center;gap:6px;width:auto;margin:0;padding:0 2px 8px;border:0;background:none;font-size:13px;color:var(--t2)}
html:root body.in-detail #detail #cmBox .cm-reply-slot>#rt[hidden]{display:none!important}
html:root body.in-detail #detail #cmBox #rt .reply-target-ic{flex:none;font-size:15px;font-weight:700;color:var(--t3);line-height:1}
html:root body.in-detail #detail #cmBox #rt .reply-target-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--t2)}
html:root body.in-detail #detail #cmBox #rt .reply-target-text b{color:var(--tx);font-weight:800}
html:root body.in-detail #detail #cmBox #rt .reply-target-x{flex:none;margin-left:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:0;min-height:0;padding:0;border:0;background:none;color:var(--t3)}
html:root body.in-detail #detail #cmBox #cmCompose{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;column-gap:8px;align-items:center;box-sizing:border-box;width:100%;min-height:0!important;margin:0!important;padding:0!important;border:1.5px solid var(--lk)!important;border-radius:14px!important;background:var(--bg)!important;overflow:hidden;box-shadow:none!important}
html:root body.in-detail #detail #cmBox #cmCompose .comment-guest-fields{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:0;width:auto;margin:0;padding:0;border-bottom:1px solid var(--ln)}
html:root body.in-detail #detail #cmBox #cmCompose .comment-guest-fields input{flex:1;min-width:0;height:38px!important;margin:0;padding:0 14px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--tx);font-size:14px!important;outline:0}
html:root body.in-detail #detail #cmBox #cmCompose .comment-guest-fields .cm-gf-sep{flex:none;width:1px;height:16px;background:var(--ln)}
html:root body.in-detail #detail #cmBox #cmCompose .comment-input-bar{display:contents!important}
html:root body.in-detail #detail #cmBox #cmCompose textarea#cIn{grid-column:1/-1;grid-row:2;display:block;width:100%;box-sizing:border-box;min-height:108px!important;max-height:none!important;height:auto;margin:0;padding:14px 16px 6px!important;border:0!important;outline:0!important;background:transparent!important;color:var(--tx);font-size:16px!important;line-height:1.55!important;resize:none;overflow:auto}
html:root body.in-detail #detail #cmBox #cmCompose .comment-attached-thumb{grid-column:1/-1;grid-row:2}
html:root body.in-detail #detail #cmBox #cmCompose .comment-actions-bar,html:root body.in-detail #detail #cmBox #cmCompose .comment-actions-right{display:contents!important}
html:root body.in-detail #detail #cmBox #cmCompose .comment-actions-left,html:root body.in-detail #detail #cmBox #cmCompose .keyboard-close,html:root body.in-detail #detail #cmBox #cmCompose .btn-upvote-go{display:none!important}
html:root body.in-detail #detail #cmBox #cmCompose .comment-author-modes{grid-column:1;grid-row:3;margin:6px 0 10px 12px!important;height:36px;padding:0 14px!important;border-radius:18px;background:var(--s)!important;font-size:13px;font-weight:800;white-space:nowrap}
html:root body.in-detail #detail #cmBox #cmCompose .comment-author-modes{font-size:13px!important;font-weight:800!important;color:var(--tx)!important;gap:6px;align-items:center;cursor:pointer}
html:root body.in-detail #detail #cmBox #cmCompose .author-mode-label{font-size:13px!important;font-weight:800!important;color:var(--tx)!important}
html:root body.in-detail #detail #cmBox #cmCompose .author-mode-switch{display:none!important}
html:root body.in-detail #detail #cmBox #cmCompose .author-mode-dot{width:7px;height:7px;border-radius:50%;flex:none}
html:root body.in-detail #detail #cmBox #cmCompose .go{grid-column:3;grid-row:3;margin:6px 10px 10px 0!important;min-width:84px!important;height:40px!important;padding:0 20px!important;border:0!important;border-radius:12px!important;font-size:15px!important;font-weight:800!important;white-space:nowrap!important;opacity:1!important}
html:root body.in-detail #detail #cmBox #cmCompose button#cGo:disabled{background:var(--ln)!important;color:var(--t3)!important}
html:root body.in-detail #detail #cmBox #cmCompose button#cGo:not(:disabled){background:var(--ctl)!important;color:var(--on)!important}
html:root body.in-detail #detail #cmBox #cmCompose textarea#cIn{white-space:pre-wrap!important;color:var(--tx)!important;caret-color:var(--lk)}
html:root body.in-detail #detail #cmBox .chead,html:root body.in-detail #detail #cmBox .chead *{white-space:nowrap}
/* 아이폰처럼 본문이 상태 표시줄 아래까지 이어지는 화면(viewport-fit=cover)에서 글 상세 위쪽 바가 상태 표시줄 뒤에 가려지지 않게 안전 영역만큼 키운다. 안전 영역이 0이면 값은 그대로다 */
html:root body.in-detail #detail .dbar{height:calc(56px + env(safe-area-inset-top,0px))!important;min-height:calc(56px + env(safe-area-inset-top,0px))!important;padding-top:calc(22px + env(safe-area-inset-top,0px))!important}
html:root body.in-detail:has(>#appScroll){padding-top:calc(57px + env(safe-area-inset-top,0px))!important}
html:root body.in-detail #detail .chead .cm-page-pill{margin:0 auto 0 10px;height:auto;padding:0;border:0;border-radius:0;background:none;color:var(--lk);font-size:14px;font-weight:700;line-height:1.4;cursor:pointer}


/* Source: /js/site-ui/zip14-write.css */
/* ZIP14 unit 8, also used by the app's canonical hybrid writer route. */
html body #xpage .wc .wc-top{display:flex!important;gap:8px!important;padding:8px 10px!important;align-items:center;min-height:60px!important}
html body #xpage .wc .wc-top>b[hidden],html body #xpage .wc .wc-top>.sp{display:none!important}
html body #xpage .wc .wc-top .wc-board-wrap{flex:1;min-width:0;margin:0!important}
html body #xpage .wc .wc-top .wc-category-picker{gap:7px!important;padding:0!important;border:0!important;font-size:14px!important;font-weight:700!important;min-height:44px}
html body #xpage .wc .wc-top .wc-category-picker strong{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #xpage .wc .wc-channel-initial{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--s);font-size:13px;font-weight:800;color:var(--t2)}
html body #xpage .wc .wc-top .ibtn{flex:none;width:32px!important;height:44px!important;padding:0!important;font-size:24px}
html body #xpage .wc .wc-top #wSave{display:block!important;flex:none;height:34px;padding:0 12px!important;border:1px solid var(--ln);font-size:13px;border-radius:17px;white-space:nowrap}
html body #xpage .wc .wc-top #wGoTop{display:block!important;flex:none;height:34px!important;margin:0!important;padding:0 14px!important;font-size:14px;border-radius:17px}
html body #xpage .wc .wc-tools.wc-tools-six{display:flex;overflow-x:auto!important;scrollbar-width:none;padding:6px 8px env(safe-area-inset-bottom)!important;gap:2px!important;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);background:var(--s)!important}
html body #xpage .wc .wc-tools.wc-tools-six button{flex:none!important;width:46px!important;height:44px!important;min-width:46px;min-height:44px;padding:0!important;border-radius:10px;color:var(--t2)}
html body #xpage .wc .wc-tools.wc-tools-six button>span{display:none}
html body #xpage .wc .wc-tools.wc-tools-six svg{width:26px!important;height:26px!important}
html body #xpage .wc .wc-tools.wc-tools-six #wBold b{font-family:Georgia,serif;font-size:22px;font-weight:900}
html body #xpage .wc .wc-tools.wc-tools-six [aria-pressed=true]{color:var(--lk)!important}
html body #xpage .wc .wc-tools.wc-tools-six .wc-tool-count{display:block;position:absolute;top:2px;right:0;min-width:18px;height:18px;line-height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:800;background:var(--pt);color:white}
html body #xpage .wc .wc-tools.wc-tools-six [data-keyboard-dismiss]{position:sticky;right:-8px;min-width:50px;width:50px!important;height:52px!important;flex:none!important;background:var(--s);border-left:1px solid var(--ln);border-radius:0;margin-left:auto!important}
html body #xpage .wc .wc-poll-preview{display:block;text-align:left;margin:8px 16px 12px;padding:14px;border:1px solid var(--ln);border-radius:14px;background:var(--s)}
html body #xpage .wc .wc-poll-preview[hidden]{display:none}
html body #xpage .wc .wc-poll-preview strong{display:block;margin-top:8px;font-size:16px;font-weight:700;line-height:1.4}
.wc-poll-meta{font-size:12px;font-weight:700;color:var(--t2)}
.wc-poll-option{display:flex;align-items:center;gap:10px;min-height:42px;margin-top:8px;padding:0 12px;border:1px solid var(--ln);border-radius:10px;background:var(--bg);font-size:15px}
.wc-poll-option i{width:18px;height:18px;border:2px solid var(--t3);border-radius:50%;flex:none}
.wc-poll-edit{display:block;margin-top:10px;font-size:13px;font-weight:700;color:var(--lk)}
.wc-sheet-actions{display:flex;align-items:center;gap:8px;margin-top:16px}
.wc-sheet-actions button{flex:1;min-height:44px;border-radius:12px;font-weight:700}
.wc-sheet-actions .xmain{margin:0}
.wc-sheet-actions .xmain:disabled{background:var(--ln);color:var(--t3);opacity:1}
.sheet .wc-draft>[data-draft-restore]{flex:1;text-align:left;min-width:0}
.sheet .wc-draft>[data-draft-delete]{flex:none;color:var(--t3)}
@media(max-width:999px){html body #xpage .wc .wc-top{padding-top:calc(8px + env(safe-area-inset-top))!important}html body #xpage .wc[data-keyboard=true] .wc-tools.wc-tools-six{padding-bottom:0!important}}
.sheet #wLinkNote{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.sheet #wLinkNote span{min-width:0}

/* Measured against ZIP14: keep these above the writer's legacy inline widths. */
html body #xpage .wc .wc-tools.wc-tools-six[role=toolbar]{padding-left:8px!important;padding-right:8px!important}
html body #xpage .wc .wc-tools.wc-tools-six>button[id]{flex:0 0 46px!important;width:46px!important;min-width:46px!important;max-width:46px!important;padding:0!important}
html body #xpage .wc .wc-tools.wc-tools-six>button[data-keyboard-dismiss]{width:50px!important;min-width:50px!important;max-width:50px!important;flex:0 0 50px!important;padding:0!important}
html body #xpage .wc .wc-tools.wc-tools-six .wc-tool-count[hidden]{display:none!important}
html body #xpage .wc .wc-top{padding:22px 12px 10px!important;gap:10px!important;min-height:67px!important}
html body #xpage .wc .wc-top .wc-category-picker{font-size:16px!important;min-height:34px}
html body #xpage .wc .wc-top .wc-channel-initial{font-size:12px;background:var(--ctl,var(--tx));color:var(--on,var(--bg))}
html body #xpage .wc .wc-top #wX{width:24px!important;height:34px!important}
html body #xpage .wc .wc-top #wMenuTop{width:34px!important;height:34px!important}
html body #xpage .wc .wc-top #wSave{font-size:14px;font-weight:700}
html body #xpage .wc .wc-top #wGoTop{padding:0 16px!important;font-weight:800}
.wc-sheet-intro{margin:0 16px 16px;color:var(--t3);font-size:12px;line-height:1.5}
.writer-poll-sheet .wc-poll-fields{padding:0 16px 16px}
.writer-poll-sheet .wc-poll-fields label{padding:0;margin:0 0 16px}
.writer-poll-sheet .wc-poll-fields input:not([type=checkbox]){box-sizing:border-box;margin-top:0;min-height:42px;padding:10px 14px;border:0;border-radius:10px;background:var(--s);font-size:14px;color:var(--tx)}
.writer-poll-sheet .wc-poll-question{font-size:0}
.writer-poll-sheet .wc-poll-choice{position:relative;display:flex!important;gap:8px;align-items:center}
.writer-poll-sheet .wc-poll-choice button{font-size:0;min-height:28px;width:28px;padding:0;color:var(--t3)}
.writer-poll-sheet .wc-poll-choice button:after{content:'×';font-size:20px}
.writer-poll-sheet .wc-poll-choice button:disabled{display:none}
.writer-poll-sheet #wPollMore{padding:0;margin:0 0 24px;color:var(--lk);font-size:14px;font-weight:600}
.writer-poll-sheet .wc-poll-fields .wc-poll-multiple{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:16px}
.writer-poll-sheet .wc-poll-multiple small{display:block;margin-top:6px;color:var(--t3);font-size:12px;font-weight:400}
.writer-poll-sheet #wPollMultiple{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:44px;height:26px;min-height:26px;padding:0;margin:0;border:0;border-radius:13px;background:var(--ln);cursor:pointer}
.writer-poll-sheet #wPollMultiple:before{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003}
.writer-poll-sheet #wPollMultiple:checked{background:var(--lk)}
.writer-poll-sheet #wPollMultiple:checked:before{left:21px}
.writer-poll-sheet .wc-poll-deadline{font-size:12px;color:var(--t3)}
.writer-poll-sheet .wc-poll-deadline input{margin-top:6px!important}
.writer-poll-sheet .wc-poll-error:empty{display:none}
.writer-poll-sheet .wc-sheet-actions{margin-top:16px}
.writer-poll-sheet .wc-sheet-actions button{height:50px;border-radius:14px;font-size:14px;background:var(--s);color:var(--tx)}
.writer-poll-sheet .wc-sheet-actions .xmain{background:var(--lk);color:#fff}
.writer-poll-sheet .wc-sheet-actions .xmain:disabled{background:var(--ln);color:var(--t3)}
.writer-link-sheet #wLinkUrl{box-sizing:border-box;width:calc(100% - 32px);min-height:46px;margin:0 16px;padding:12px 14px;border:0;border-radius:10px;background:var(--s);font-size:14px;color:var(--tx)}
.writer-link-sheet #wLinkNote{margin:14px 16px;color:var(--t3);font-size:12px}
.writer-link-sheet .wc-sheet-actions,.writer-draft-sheet .wc-sheet-actions{padding:0 16px 16px}
.writer-link-sheet .wc-sheet-actions button,.writer-draft-sheet .wc-sheet-actions button{height:50px;border-radius:14px;background:var(--s);font-size:14px}
.writer-link-sheet .wc-sheet-actions .xmain,.writer-draft-sheet .wc-sheet-actions .xmain{background:var(--lk);color:#fff}
.writer-link-sheet .wc-sheet-actions .xmain:disabled{background:var(--ln);color:var(--t3)}
@media(max-width:999px){html body #xpage .wc .wc-top{padding-top:calc(22px + env(safe-area-inset-top))!important}}

html body #xpage .wc .wc-top #wMenuTop svg{width:22px!important;height:22px!important}

html body #xpage .wc .wc-tools.wc-tools-six[role=toolbar]{padding-right:0!important}
html body #xpage .wc .wc-tools.wc-tools-six>button[data-keyboard-dismiss]{right:0!important}
:is(.writer-poll-sheet,.writer-link-sheet,.writer-draft-sheet) .wc-sheet-actions>button{box-sizing:border-box;flex:1 1 0%!important;min-width:0!important;padding:0 12px!important}

/* Current writer screenshot: one author chip and uninterrupted body-to-tools. */
html body #xpage .wc>.wc-author-modes{display:flex;flex:0 0 auto;order:0;height:55px;padding:10px 16px;min-height:55px;gap:10px;border-bottom:1px solid var(--ln);align-items:center;flex-wrap:nowrap}
html body #xpage .wc>.wc-author-modes>[data-write-author]{flex:none;min-height:34px;height:34px;padding:0 14px;border:0;border-radius:17px;background:var(--s);color:var(--tx);font-size:13px;font-weight:800;white-space:nowrap}
html body #xpage .wc>.wc-author-modes>[data-write-author][hidden]{display:none!important}
html body #xpage .wc>.wc-len,html body #xpage .wc>.wc-legal,html body #xpage .wc>.wc-anon,html body #xpage .wc>#wSet{display:none!important}
html body #xpage .wc>#wDraft{display:flex;gap:12px;margin:0;padding:10px 16px;min-height:39px;border-radius:0;border-bottom:1px solid var(--ln);background:var(--bg);font-size:13px;font-weight:400}
html body #xpage .wc>#wDraft .wc-draft-clock{display:flex;flex:none;color:var(--t3)}
html body #xpage .wc>#wDraft .wc-draft-summary{display:flex;flex:1;min-width:0;gap:8px;align-items:center}
html body #xpage .wc>#wDraft .wc-draft-summary b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
html body #xpage .wc>#wDraft .wc-draft-summary small{flex:none;margin:0;color:var(--t3);font-size:12px}
html body #xpage .wc>#wDraft #wLoad{height:24px;padding:0;border-radius:0;background:none;color:var(--lk);font-size:14px;font-weight:700;white-space:nowrap}
html body #xpage .wc>#wDraft #wDrop{display:flex;align-items:center;padding:0;color:var(--t3);text-decoration:none}
.wc-handoff-sheet .wc-settings-legal{margin:14px 0;padding:12px 0;border-top:1px solid var(--ln);font-size:12px;color:var(--t3);line-height:1.6}

/* Measured shared link sheet: reserve the prototype's 8px input/action gutters. */
.writer-link-sheet #wLinkUrl{height:42px!important;min-height:42px!important;margin:8px 16px;padding:12px 14px}
.writer-link-sheet #wLinkNote{margin:0;padding:10px 16px;font-size:13px;line-height:1.6}

/* Final prototype writer sheets; advanced existing controls stay reachable. */
.wc-handoff-sheet .wc-writer-identity .wc-author-icon{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--s);font-size:15px;font-weight:800;color:var(--tx)}
.wc-handoff-sheet .wc-writer-identity b{font-size:16px;font-weight:800}
.wc-handoff-sheet .wc-rule-lines{font-size:13px;line-height:1.65;color:var(--t2)}
.wc-handoff-sheet .wc-write-representative{font-size:13px;line-height:1.6;color:var(--t3);margin:20px 0}
.wc-write-extra>summary,.wc-poll-advanced>summary{cursor:pointer;padding:10px 0;font-size:13px;color:var(--lk)}
.writer-poll-sheet .wc-poll-advanced{margin-top:0;padding:0}
.writer-poll-sheet .wc-poll-advanced .wc-poll-deadline{margin-top:10px}
:is(.writer-poll-sheet,.writer-link-sheet) .wc-sheet-actions>button{font-size:15px;border-radius:12px;height:50px;min-height:50px}
:is(.writer-poll-sheet,.writer-link-sheet) .wc-sheet-actions>.xmain{background:var(--ctl);color:var(--on)}
:is(.writer-poll-sheet,.writer-link-sheet) .wc-sheet-actions>.xmain:disabled{background:var(--ln);color:var(--t3);opacity:1}
.writer-link-sheet .wc-sheet-actions{margin:0;padding:8px 16px}
.writer-link-sheet .wc-sheet-actions button{font-size:15px}

/* Header 67px, member row 55px and title 57px measured in the original scene. */
html body #xpage .wc .wc-title input{padding:18px 16px 14px!important}
@media(max-width:999px){html body:has(#xpage .wc):has(>#appScroll){padding-top:67px!important}html body #xpage .wc{height:var(--wc-visible-height,calc(100dvh - 67px))!important}}

@media(max-width:999px){html body #xpage:has(>.wc){border-left:0!important;border-right:0!important}}

/* 글쓰기: 채널 선택은 검색 + 세로 목록, 상단 임시 알약은 숨김(하단 도구 줄에 임시저장이 있음) */
html body .wc .wc-top #wSave{display:none!important}
html body #sheetbg.wc-handoff-sheet .wc-channel-find{display:block;box-sizing:border-box;width:100%;height:44px;margin:0 0 10px;padding:0 14px;border:1px solid var(--ln);border-radius:10px;background:var(--bg);color:var(--tx);font-size:16px}
html body #sheetbg.wc-handoff-sheet .wc-channel-options{display:flex!important;flex-direction:column;flex-wrap:nowrap;gap:0;max-height:min(50vh,360px);overflow-y:auto;overscroll-behavior:contain}
html body #sheetbg.wc-handoff-sheet .wc-channel-options>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:0 4px;border:0;border-bottom:1px solid var(--ln);border-radius:0;background:transparent;color:var(--tx);font-size:16px;text-align:left}
html body #sheetbg.wc-handoff-sheet .wc-channel-options>button[hidden]{display:none!important}
html body #sheetbg.wc-handoff-sheet .wc-channel-options>button[aria-pressed=true]{color:var(--lk);font-weight:700}
html body #sheetbg.wc-handoff-sheet .wc-channel-none{margin:16px 0;color:var(--t3);text-align:center}
html:root body #wSave,html:root body #xpage #wSave{display:none!important}
html:root body #xpage .wc .wc-top #wSave{display:none!important}

/* 글쓰기 하단 도구 줄: 아이콘 균등 정렬, 키보드 위에 붙기 */
html:root body #xpage .wc .wc-tools.wc-tools-six{justify-content:space-between!important;align-items:center!important;transform:translateY(calc(var(--wc-kb,0px) * -1));transition:transform .12s ease;position:relative;z-index:30}
html:root body #xpage .wc .wc-tools.wc-tools-six button{flex:1 1 0!important;width:auto!important;min-width:0!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
html:root body #xpage .wc .wc-tools.wc-tools-six button[aria-label='키보드 내리기']{flex:0 0 52px!important;margin-left:auto}
html:root body #xpage .wc .wc-tools.wc-tools-six > button[id]{flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important}
html:root body #xpage .wc .wc-tools.wc-tools-six > button[aria-label='키보드 내리기']{flex:0 0 52px!important;width:52px!important;max-width:52px!important}


/* Source: /js/site-ui/zip14-search.css */
/* ZIP14 unit9 search adjustments; shared list rows remain authoritative. */
html body.in-search #spage.portal-search #sClear:not([hidden]){display:flex!important;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;background:none;color:var(--t3)}
html body.in-search #spage.portal-search #sClear[hidden]{display:none!important}
.portal-summary{padding:14px 16px 2px;font-size:14px;color:var(--t2)}
.portal-summary b{color:var(--tx);font-weight:800}
html body.in-search #portalBody .portal-related{border:0}
html body.in-search #portalBody .portal-tabs>button{font-size:15px}
html body.in-search #portalBody .list-title-text mark{background:#f5c40066;color:inherit}

/* Scope is explicit only after the versioned read capability succeeds. */
html body.in-search #portalPills{overflow-x:auto;scrollbar-width:none}
html body.in-search #portalPills::-webkit-scrollbar{display:none}
html body #sheetbg.portal-filter-sheet .portal-filter-options>button:disabled{opacity:.4;cursor:default}
html body #sheetbg.portal-filter-sheet .portal-scope-note{font-size:13px;line-height:1.5;color:var(--dim);margin:8px 0 0}
@media(max-width:999px){html body.in-search #portalPills{gap:6px;padding-left:16px;padding-right:16px}html body.in-search #portalPills>button{padding:8px 10px;font-size:12px}}

/* ZIP14 uses plain scope labels and blue related terms, rather than filled chips. */
html body.in-search #portalPills>button:not(.on){background:transparent}
html body.in-search #portalBody .portal-related{gap:12px}
html body.in-search #portalBody .portal-related button{padding:8px 0;background:transparent;color:var(--lk);border-radius:0}
html body.in-search #portalBody .portal-summary{display:flex;justify-content:space-between;align-items:center;gap:12px}
.portal-partial{display:flex;align-items:center;gap:8px;margin:0;padding:6px 16px 2px;font-size:13px;color:var(--t3)}
.portal-partial .dp-read-loading{width:14px;height:14px}
html body.in-search #portalBody .portal-summary small{font-size:12px;color:var(--t3);white-space:nowrap}


/* Source: /js/site-ui/zip14-shorts.css */
/* ZIP14 unit11. Actual template includes the bookmark action in the vertical rail. */
html body.in-shorts #xpage>.short-top{padding:calc(env(safe-area-inset-top) + 14px) 16px 0!important}
html body.in-shorts #xpage .short-top #shortExit,html body.in-shorts #xpage .short-top #shortSound{background:none!important;border-radius:0!important}
html body.in-shorts #xpage .short-top #shortExit{justify-content:flex-start!important}
html body.in-shorts #xpage .short-top #shortSound{justify-content:flex-end!important}
html body.in-shorts #xpage .short-top :is(#shortExit,#shortSound) svg{width:26px!important;height:26px!important}
html body.in-shorts .short-tabs{gap:22px!important;font-size:17px!important;font-weight:800!important;letter-spacing:-.02em;text-shadow:0 1px 4px #0009}
html body.in-shorts .short-tabs button,html body.in-shorts .short-tabs button.on{font-weight:800!important}
html body.in-shorts #xpage .shortactions{right:12px!important;bottom:calc(env(safe-area-inset-bottom) + 44px)!important;width:56px;gap:22px!important;text-shadow:0 1px 4px #0009}
html body.in-shorts #xpage .shortactions .action-icon{width:36px!important;height:36px!important;filter:drop-shadow(0 1px 3px #0009)!important}
html body.in-shorts #xpage .shortactions [data-post-like] svg{width:36px!important;height:36px!important}
html body.in-shorts #xpage .shortactions [data-short-comment] svg{width:35px!important;height:35px!important}
html body.in-shorts #xpage .shortactions :is([data-short-share],[data-short-scrap],[data-short-more]) svg{width:34px!important;height:34px!important}
html body.in-shorts #xpage .shortmeta{left:16px!important;right:84px!important;bottom:calc(env(safe-area-inset-bottom) + 38px)!important;text-shadow:0 1px 4px #0009}
html body.in-shorts #xpage .short-who{gap:10px;font-size:15px!important;font-weight:800!important}
html body.in-shorts #xpage .short-who .idn{width:36px!important;height:36px!important;border-radius:50%!important;box-shadow:0 0 0 1.5px #ffffffb3}
html body.in-shorts #xpage .short-cat-pill{font-size:12px;font-weight:700;padding:3px 10px;background:#fff3;margin:0}
html body.in-shorts #xpage .shortmeta button{font-size:16px!important;font-weight:600!important;line-height:1.45!important;margin-top:10px!important;letter-spacing:-.02em!important}
html body.in-shorts #xpage .shortmeta p{font-size:12px!important;color:#ffffffb3;margin-top:6px}
html body.in-shorts #xpage .short-author-fields{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--t2)}
html body.in-shorts #xpage .short-author-fields>input{min-width:0;flex:1;min-height:36px!important;padding:0 10px!important;border-radius:8px!important;background:var(--s)!important;font-size:13px!important}
html body.in-shorts #xpage .short-author-fields input[hidden]{display:none!important}
html body.in-shorts #xpage .short-author-fields label{display:flex;align-items:center;gap:6px}
html body.in-shorts #xpage .short-author-fields label input{width:16px;height:16px;min-width:16px;flex:none}
html body.in-shorts.short-keyboard-open #xpage .short-sheet-form{padding-bottom:10px}
html body.in-shorts #xpage .short-sheet-reply{justify-content:flex-start;gap:8px;padding:8px 20px;font-size:13px;font-weight:400;color:var(--t2)}
html body.in-shorts #xpage .short-sheet-reply .short-reply-chip{display:flex;align-items:center;gap:8px;max-width:calc(100% - 72px);width:auto;height:44px;margin:0;padding:0 8px;border-radius:6px;background:var(--s);font-size:13px;font-weight:600;color:var(--tx)}
html body.in-shorts #xpage .short-reply-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body.in-shorts #xpage .short-reply-chip svg{width:14px;height:14px;flex:none}
html body.in-shorts #xpage .short-author-badge{font-size:12px;font-weight:800;color:var(--lk);margin-left:3px}
html body.in-shorts #xpage .short-c-item.is-reply{position:relative;padding-left:46px}
html body.in-shorts #xpage .short-c-item.is-reply:before{content:'ㄴ';position:absolute;left:20px;top:14px;color:var(--t3);font-size:16px;font-weight:700}

/* Author labels remain readable over media in both page themes. */
html body.in-shorts #xpage .short-who .anon-id{color:#fff!important;font-family:inherit!important;font-size:inherit!important;font-weight:800!important}


/* Source: /css/zip14-account.css */
/* ZIP14 unit 2: account surfaces only; loaded after handoff-common.css. */
html body.handoff-auth .auth-form input{font-size:16px}
html body.handoff-auth .zip14-ident{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 0}
html body.handoff-auth .zip14-ident input{width:100%;min-width:0;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--text);font-size:22px;font-weight:800}
html body.handoff-auth .zip14-ident button{font-size:13px;font-weight:700;color:var(--blue);white-space:nowrap}
html body.handoff-auth .zip14-ident small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.6}
html body.handoff-auth .zip14-password-guide{font-size:12px;color:var(--dim);margin:0;padding:0 16px 12px;line-height:1.6}
html body.handoff-auth .zip14-signup-nick{padding:0 16px 8px}
html body.handoff-auth .zip14-signup-nick .xin{height:44px;border:0;border-radius:10px;padding:12px 14px;margin:0;background:var(--surface)}
html body.handoff-auth .zip14-signup-nick p{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0 0;min-height:0}
html body.handoff-auth .zip14-guest-write{display:block;text-align:center;margin:12px 16px 24px;font-size:14px;color:var(--blue);line-height:24px}
html body .zip14-account-receipt h3{font-size:20px;font-weight:800;margin:0 0 8px}
html body .zip14-account-receipt p{font-size:14px;color:var(--muted);line-height:1.6;margin:10px 0}
html body .zip14-receipt-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 0;flex-wrap:wrap;font-size:17px}
html body .zip14-receipt-row strong{font-weight:800;color:#0f766e;overflow-wrap:anywhere}
html body .zip14-receipt-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0}
html body .zip14-receipt-actions button{min-height:44px;padding:10px 6px;border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:14px;font-weight:700;background:transparent;user-select:none;transition:transform .1s cubic-bezier(.2,.8,.2,1)}
html body .zip14-receipt-actions button:active{transform:scale(.95)}
html body .zip14-account-check{display:flex;align-items:center;gap:10px;min-height:48px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer}
html body .zip14-account-check input{width:20px;height:20px;accent-color:var(--ctl);flex:none}
html body .zip14-account-warning,html body .zip14-password-guide.invalid,html body #fnGuide.invalid{color:var(--point,#d92d20)}
html body .zip14-nickname{padding:12px 16px 32px}
html body .zip14-identity-row{display:flex;justify-content:space-between;gap:14px;background:var(--surface);padding:14px;border-radius:12px;font-size:15px}
html body .zip14-identity-row strong{font-weight:800;overflow-wrap:anywhere}
html body .zip14-identity-row small,html body .zip14-nickname-preview small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:4px}
html body .zip14-nickname h2{margin:24px 0 12px;font-size:15px;font-weight:700}
html body .zip14-nickname-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}
html body .zip14-nickname-preview b{font-size:16px;font-weight:800}
html body .zip14-nickname-preview svg{vertical-align:-2px}
html body .zip14-nickname-preview strong{color:var(--blue);font-size:13px;white-space:nowrap}
html body .zip14-nickname-preview.guest b{font-size:15px;font-weight:600;color:var(--muted)}
html body .zip14-nickname .xin{font-size:16px;height:46px;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:0}
html body #fnGuide{font-size:12px;line-height:1.6;color:var(--muted);margin:6px 0}
html body .zip14-nickname-count{display:flex;justify-content:space-between;font-size:12px;line-height:1.6;color:var(--muted)}
html body .zip14-nickname-rules{margin-top:16px;padding:16px;background:var(--surface);border-radius:16px;font-size:15px;line-height:1.6}
html body .zip14-nickname-rules>b{font-weight:800}
html body .zip14-nickname-rules p{font-size:15px;font-weight:600;color:var(--text);margin:9px 0 0;line-height:1.6}
html body .zip14-nickname #fnChangeBtn{margin-top:14px}
html body .zip14-withdraw-warning>b{display:block;margin:14px 0 8px;color:var(--point,#d92d20);font-size:15px;font-weight:800}
html body .zip14-withdraw-warning p{color:var(--muted);font-size:14px;line-height:1.7}
html body .zip14-withdraw-account{padding:14px 0;font-size:15px}
html body .zip14-withdraw-account small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
html body .zip14-withdraw-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body .zip14-withdraw-buttons #byCancel{border:1px solid var(--line);color:var(--text);background:transparent}
html body .zip14-withdraw-buttons button{min-height:54px;border-radius:14px;font-size:16px;font-weight:700}

/* Measured against ZIP14 login; signup keeps its separate identifier row. */
html body.handoff-auth .auth-form:has(.auth-tabs [data-m=in].on) .auth-fields{padding-top:26px}
html body.handoff-auth .zip14-guest-write{text-decoration:none;font-weight:600;font-size:13px;line-height:normal;margin-top:6px}
@media(min-width:1000px){html body.handoff-auth .auth-layout>.auth-qr-card{top:21px}.auth-qr-pill{margin:0}}

/* ZIP14 signup measured at 390px: preserve the separately verified login geometry. */
html body.handoff-auth .auth-form:has([data-m=up].on) .zip14-ident{padding:2px 0 7px;gap:4px 8px}
html body.handoff-auth #xpage .auth-form .zip14-ident #lIdent{font-size:22px!important;height:30.8px;line-height:1.4;min-height:0}
html body.handoff-auth .auth-form:has([data-m=up].on) .zip14-ident small{font-size:13px;line-height:1.45}
html body.handoff-auth .zip14-password-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 16px 0}
html body.handoff-auth .zip14-password-row .zip14-password-guide{padding:0;line-height:19.2px;min-width:0}
html body.handoff-auth .zip14-password-row .auth-show{width:auto;flex:none;padding:0;line-height:19.2px}
html body.handoff-auth .auth-form:has([data-m=up].on) .zip14-signup-nick{padding:22px 16px 8px}
html body.handoff-auth #xpage .auth-form .zip14-signup-nick .xin{height:42px!important;min-height:0!important;margin:0}
html body.handoff-auth .zip14-signup-nick #lNickGuide:empty{display:none}
html body.handoff-auth .auth-form:has([data-m=up].on)>.auth-note{margin-top:0;padding-top:0}

/* APP_DIFF: the app scans a computer QR, including wide app windows. */
html body.handoff-auth .auth-layout.native-app-login{width:100%;max-width:560px;margin:0 auto}
html body.handoff-auth .native-app-login .auth-form{width:100%;max-width:400px;margin:0 auto}
html body.handoff-auth .native-app-login .auth-mobile-qr{display:flow-root}


/* Source: /css/zip14-community.css */
/* ZIP14 unit 10 — feature-local surfaces; after handoff-common.css. */
html body .zip14-settings-band{margin:0;padding:12px 16px;background:var(--surface);font-size:13px;font-weight:700;color:var(--pt,#d92d20);line-height:18px}
html body .zip14-settings-list .prefend{font-size:14px;font-weight:600;color:var(--muted)}
html body .zip14-community-page{padding:0 16px 32px;max-width:720px;margin:auto;color:var(--text)}
html body .zip14-community-page>p{font-size:14px;line-height:1.6;color:var(--muted);margin:16px 0}
html body .zip14-event-tabs{display:flex;border-bottom:1px solid var(--line)}
html body .zip14-event-tabs button{flex:1;min-height:48px;font-size:14px;font-weight:600;color:var(--dim);border-bottom:2px solid transparent}
html body .zip14-event-tabs button[aria-selected=true],html body .zip14-event-tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--text);font-weight:700}
html body .zip14-event-row{display:block;width:100%;padding:18px 0;text-align:left;border-bottom:1px solid var(--line)}
html body .zip14-event-row b{font-size:15px;font-weight:700}
html body .zip14-event-row small{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.6}
html body .zip14-event-body{white-space:pre-wrap;font-size:15px;line-height:1.7}
html body .zip14-community-page label{display:block;margin:18px 0 6px;font-size:14px;font-weight:700}
html body .zip14-community-page :is(input:not([type=checkbox]),textarea,select){display:block;width:100%;margin-top:8px;font:inherit;font-size:16px;line-height:1.6;padding:12px 14px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px;box-sizing:border-box}
html body .zip14-community-page textarea{min-height:150px;resize:vertical}
html body .zip14-community-page .zip14-account-check{display:flex}
html body .zip14-public-heading{padding:18px 0}
html body .zip14-public-heading>b{font-size:20px;font-weight:800}
html body .zip14-public-heading>small{display:block;font-size:13px;color:var(--muted);margin-top:8px}
html body .zip14-unavailable-note{font-size:12px;line-height:1.5;color:var(--muted);padding:8px 16px}
html body .thread-menu-sheet .mrow:disabled{color:var(--dim);opacity:.6}
html body .zip14-ad-options{border:0;padding:0;margin:18px 0;display:flex;gap:8px;flex-wrap:wrap}
html body .zip14-ad-options legend{margin-bottom:10px;font-size:14px;font-weight:700}
html body .zip14-ad-options button{border:1px solid var(--line);border-radius:20px;padding:10px 14px;color:var(--muted);font-size:13px}
html body .zip14-ad-options button[aria-pressed=true]{background:var(--ctl);color:var(--on);border-color:var(--ctl)}

html body .zip14-settings-list .prefend{display:flex;align-items:center;gap:12px}html body .zip14-settings-state{color:var(--pt,#d92d20);font-weight:700}

@media(min-width:1000px){
 html body.dc-shell:not(.handoff-auth)>#appScroll>#xpage:has(>.menu-page)>.xtop{display:grid!important;position:relative!important;inset:0!important;transform:none!important;max-width:none!important;grid-template-columns:23px minmax(0,1fr) 23px;align-items:center;width:100%;height:48px;min-height:48px;padding:0 16px;border-bottom:1px solid var(--line)}
 html body.dc-shell:not(.handoff-auth)>#appScroll>#xpage:has(>.menu-page)>.xtop>#xBack{display:flex;width:23px;height:23px;min-height:0;padding:0;align-items:center;justify-content:center}
 html body.dc-shell:not(.handoff-auth)>#appScroll>#xpage:has(>.menu-page)>.xtop>:nth-child(2){text-align:center;font-size:15px;font-weight:700}
}


/* Source: /css/zip14-comment-identity.css */
/* Screenshot 1: source identity line above the unchanged comment input. */
html body #cmCompose.zip14-comment-identity-ready .comment-author-modes{display:none!important}
html body #cmCompose .zip14-comment-identity{display:flex;align-items:center;gap:6px;flex:0 0 100%;grid-column:1/-1;order:-2;min-width:0;width:100%;margin:0;padding:2px 4px 6px;border:0;border-radius:0;background:transparent;color:var(--t2);font:inherit;font-size:12px;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;cursor:pointer}
html body #cmCompose .zip14-comment-identity i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--lk)}
html body #cmCompose .zip14-comment-identity[aria-pressed=true] i{background:var(--t3)}
html body #cmCompose .zip14-comment-author-copy{min-width:0;overflow:hidden;text-overflow:ellipsis}
html body #cmCompose .zip14-comment-identity strong{flex:none;color:var(--lk);font-weight:800}
html body #cmCompose .zip14-comment-identity:focus-visible{outline:2px solid var(--lk);outline-offset:2px}


/* Source: /css/zip14-rewards.css */
/* ZIP14 unit12: actual wallet/ledger/reward data, monochrome surfaces. */
html body .points-page .account-point-row strong{color:var(--text)}
html body .points-page .account-point-row strong.spent{color:var(--pt,#d92d20)}
html body .zip14-shop-wallet{border-radius:20px;background:var(--ctl);color:var(--on);padding:22px 20px;margin-bottom:16px}
html body .zip14-shop-wallet>small{display:block;font-size:13px;opacity:.75}
html body .zip14-shop-wallet>strong{display:block;margin-top:8px;font-size:38px;line-height:1.2;font-weight:800}
html body .zip14-shop-wallet>p{color:inherit;font-size:12px;line-height:1.6;opacity:.75;margin:12px 0 20px}
html body .zip14-shop-wallet>div{display:flex;border-top:1px solid color-mix(in srgb,var(--on) 18%,transparent);padding-top:16px}
html body .zip14-shop-wallet a{flex:1;text-align:center;font-size:13px;font-weight:700;color:inherit;text-decoration:none}
html body .zip14-shop-wallet a+a{border-left:1px solid color-mix(in srgb,var(--on) 18%,transparent)}
html body .zip14-shop-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:16px}
html body .zip14-shop-tabs button{flex:1;height:46px;color:var(--dim);font-size:14px;font-weight:600;border-bottom:2px solid transparent}
html body .zip14-shop-tabs button[aria-pressed=true]{color:var(--text);font-weight:700;border-bottom-color:var(--text)}
html body .zip14-shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html body .zip14-shop-product{border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding-bottom:14px}
html body .zip14-shop-art{height:120px;display:flex;align-items:center;justify-content:center;background:var(--surface);overflow:hidden}
html body .zip14-shop-art>span{height:64px;width:64px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font-size:24px;font-weight:800;color:var(--muted)}
html body .zip14-shop-art img{height:100%;width:100%;object-fit:contain}
html body .zip14-shop-product h3{font-size:14px;font-weight:700;margin:14px 12px 6px;line-height:1.5}
html body .zip14-shop-product>p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 12px 12px;flex:1}
html body .zip14-shop-product>b{font-size:17px;font-weight:800;margin:0 12px}
html body .zip14-shop-product>small{font-size:11px;color:var(--muted);margin:6px 12px 12px;line-height:1.5}
html body .zip14-shop-product>button{margin:0 12px;min-height:38px;border-radius:10px;background:var(--ctl);color:var(--on);font-size:13px;font-weight:700}
html body .zip14-shop-product>button:disabled{background:var(--surface);color:var(--dim)}
html body .zip14-attendance-page{padding:20px 16px calc(100px + env(safe-area-inset-bottom));max-width:720px;margin:auto;color:var(--text)}
html body .zip14-attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:14px}
html body .zip14-attendance-summary b,html body .zip14-attendance-summary strong{font-size:24px;font-weight:800}
html body .zip14-attendance-summary small{display:block;font-size:13px;color:var(--dim);margin-top:8px}
html body .zip14-attendance-progress{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:20px 0}
html body .zip14-attendance-progress>i{display:block;height:100%;background:var(--ctl)}
html body .zip14-attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:5px}
html body .zip14-attendance-calendar span{height:38px;display:grid;place-items:center;font-size:14px;border-radius:8px}
html body .zip14-attendance-calendar .weekday{color:var(--dim);font-size:12px}
html body .zip14-attendance-calendar .done{background:var(--line);font-weight:700}
html body .zip14-attendance-calendar .today{box-shadow:inset 0 0 0 2px var(--ctl);font-weight:800}
html body .zip14-attendance-calendar .today.done{background:var(--ctl);color:var(--on)}
html body .zip14-attendance-bonus{font-size:13px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}
html body .zip14-attendance-page h2{font-size:16px;font-weight:700;margin:22px 0 12px}
html body .zip14-attendance-notes article{padding:14px 0;border-bottom:1px solid var(--line)}
html body .zip14-attendance-notes b{font-size:13px;font-weight:800}
html body .zip14-attendance-notes p{font-size:15px;line-height:1.6;margin:6px 0}
html body .zip14-attendance-notes small{font-size:12px;color:var(--dim)}
html body .zip14-attendance-compose{position:fixed;z-index:35;left:0;right:0;bottom:0;display:flex;gap:8px;background:var(--bg);padding:12px 16px max(env(safe-area-inset-bottom),20px);border-top:1px solid var(--line);box-sizing:border-box}
html body .zip14-attendance-compose input{min-width:0;flex:1;height:44px;padding:0 12px;background:var(--surface);border:0;border-radius:10px;font-size:16px;color:var(--text)}
html body .zip14-attendance-compose button{height:44px;padding:0 14px;border-radius:10px;background:var(--ctl);color:var(--on);font-size:15px;font-weight:700;white-space:nowrap}
html body .zip14-attendance-compose button:disabled{background:var(--surface);color:var(--dim)}
@media(min-width:1000px){html body .zip14-shop-products{grid-template-columns:repeat(3,minmax(0,1fr))}html body .zip14-attendance-compose{left:calc(50% - 300px);right:auto;width:600px}}

/* Prototype 18 chart: 40px rank badges and 14px rounded filter chips. */
html:root.p18-exact body #xpage>.p18-chart>.p18-chart-updated{margin:0;padding:10px 0;font-size:13px;line-height:1.6;color:var(--t3)}
html:root.p18-exact body #xpage>.p18-chart>.fbar{padding:8px 0;margin:0;gap:8px;flex-wrap:wrap}
html:root.p18-exact body #xpage>.p18-chart>.fbar button{padding:10px 16px;border:0;border-radius:999px;font-size:14px;line-height:normal;font-weight:500;background:var(--s);color:var(--t2)}
html:root.p18-exact body #xpage>.p18-chart>.fbar button.on{background:var(--ln);color:var(--tx);font-weight:700}
html:root.p18-exact body #xpage>.p18-chart>.frow{padding:16px;gap:12px}
html:root.p18-exact body #xpage .p18-chart-rank{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--thb,var(--ln));color:var(--t2);font-size:15px;font-weight:700}
html:root.p18-exact body #xpage .p18-chart-rank.top{background:var(--ctl);color:var(--on)}
html:root.p18-exact body #xpage>.p18-chart .fcopy>b{font-size:16px;font-weight:500;line-height:1.4}
html:root.p18-exact body #xpage>.p18-chart .fcopy>small{font-size:13px;line-height:1.45;margin-top:3px;color:var(--t3)}
html:root.p18-exact body #xpage .p18-chart-change{font-size:13px;font-weight:700;color:var(--t3)}
html:root.p18-exact body #xpage .p18-chart-change.up{color:var(--pt)}
html:root.p18-exact body #xpage .p18-chart-change.down{color:var(--lk)}
html:root.p18-exact body #xpage>.p18-chart>.p18-chart-policy{margin:0;padding:10px 0;text-align:left;font-size:13px;line-height:1.6;color:var(--t3)}

/* Prototype 18 information and advertising pages; real routes and form validation stay intact. */
html:root.p18-exact body #xpage>.p18-about{padding-top:0}
html:root.p18-exact body #xpage>.p18-about>.p18-about-intro{margin:0;padding:12px 0;text-align:left;font-size:15px;line-height:1.65;color:var(--t2)}
html:root.p18-exact body #xpage>.p18-about>.frow{padding:16px;gap:12px}
html:root.p18-exact body #xpage>.p18-about>.frow .fcopy>b,html:root.p18-exact body #xpage>.p18-about>.p18-about-version>span{font-size:16px;font-weight:500;line-height:1.4}
html:root.p18-exact body #xpage>.p18-about>.p18-about-version{display:flex;justify-content:space-between}
html:root.p18-exact body #xpage>.p18-about>.p18-about-version>b{font-size:13px;font-weight:600;color:var(--t2)}
html:root.p18-exact body #xpage>.p18-ad-inquiry{padding-top:0}
html:root.p18-exact body #xpage>.p18-ad-inquiry>p{margin:0;padding:10px 0;font-size:13px;line-height:1.6;color:var(--t2)}
html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry{display:block}
html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry>label:not(.zip14-account-check){display:block;margin:0;padding:8px 0;font-size:13px;font-weight:600;color:var(--t2)}
html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry input:not([type=hidden]):not([type=checkbox]),html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry textarea{margin:6px 0 0;border:0;border-radius:10px;background:var(--s);padding:12px 14px;font-size:15px;font-weight:400;color:var(--tx)}
html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry textarea{min-height:110px;line-height:1.55}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-ad-options{margin:0;padding:18px 0 8px}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-ad-options legend{font-size:13px;font-weight:700;padding:0 0 6px;color:var(--t3)}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-ad-options button{padding:10px 16px;font-size:14px;font-weight:500;border:0;border-radius:999px;background:var(--s);color:var(--t2)}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-ad-options button[aria-pressed=true]{background:var(--ln);color:var(--tx);font-weight:700}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-account-check{padding:14px 0}
html:root.p18-exact body #xpage>.p18-ad-inquiry .zip14-account-check small{display:block;font-size:13px;color:var(--t3);margin-top:3px}
html:root.p18-exact body #xpage>.p18-ad-inquiry #adInquiry>.xmain{height:54px;border-radius:14px;font-size:16px;font-weight:700;margin:8px 0}

/* Prototype 18 service row typography and calendar states. */
html:root.p18-exact body #xpage>.account-page.points-page .point-shortcuts{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:24px 20px 16px}
html:root.p18-exact body #xpage>.account-page.points-page .point-shortcuts a{display:inline-flex;flex:0 1 auto;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;height:auto;padding:0 4px;border:0;border-radius:6px;background:transparent;font-size:13px;font-weight:600;line-height:1.5;color:var(--t2)}
html:root.p18-exact body #xpage>.account-page.points-page .point-shortcuts a:hover{background:var(--s);color:var(--tx)}
html:root.p18-exact body #xpage>.account-page.points-page .point-shortcuts a:focus-visible{outline:2px solid var(--lk);outline-offset:4px}
html:root.p18-exact body #xpage>.account-page.points-page .point-shortcuts svg{flex:none}
html:root.p18-exact body #xpage>.points-page #pointRows .account-point-row strong{font-size:13px;font-weight:800}
html:root.p18-exact body #xpage>.zip14-shop #shopWallet .zip14-shop-wallet a{border-radius:14px}
html:root.p18-exact body #xpage #zip14Attendance .zip14-attendance-calendar .weekday{font-size:14px;font-weight:600}
html:root.p18-exact body #xpage #zip14Attendance .zip14-attendance-calendar .done{font-weight:700}
html:root.p18-exact body #xpage #zip14Attendance .zip14-attendance-calendar .past{color:var(--t3)}
html:root.p18-exact body #xpage #zip14Attendance .zip14-attendance-notes article p{font-size:15px;line-height:1.4;margin-bottom:3px}

.p18-design-rules h2{font-size:13px;color:var(--t3);padding:18px 0 8px}.p18-design-rules p{font-size:13px;color:var(--t2);padding:12px 0;line-height:1.65}.p18-rule-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.p18-rule-swatches>div{height:64px;border-radius:12px;border:1px solid var(--ln);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px}.p18-rule-swatches small{font-size:11px}.p18-rule-icons{display:flex;gap:8px;padding:12px 0}.p18-rule-icons>span{flex:1;height:48px;border-radius:12px;background:var(--s);display:grid;place-items:center}.p18-design-rules .frow small{color:var(--t3);font-size:13px}

.p18-design-rules .p18-rule-motion{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 0}.p18-rule-motion>span{font-size:15px;font-weight:500}

html body .zip14-event-row{display:flex;flex-direction:row;align-items:center;gap:12px;padding:16px;text-align:left}.p18-event-summary{flex:1;min-width:0}.p18-event-summary>b{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:15px;font-weight:700}.p18-event-summary>b>em{font-style:normal;font-size:11px;font-weight:700;line-height:1.4;padding:2px 7px;border-radius:999px;background:var(--pt);color:#fff}.p18-event-summary>small{display:block;color:var(--t3);font-size:13px;line-height:1.45}.p18-event-action{flex:none;color:var(--lk);font-size:13px;font-weight:700}.p18-event-detail h3{font-size:18px;line-height:1.4}.p18-event-state{font-size:13px;color:var(--t3);line-height:1.6;margin:4px 0 12px}.p18-event-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:13px;color:var(--t2)}.p18-event-meta>b,.p18-event-block>b{font-size:14px;font-weight:600;color:var(--tx)}.p18-event-block{padding:14px 0}.p18-event-block>p{font-size:13px;line-height:1.6;color:var(--t3);margin-top:4px}.p18-event-close{width:100%;height:54px;border:1px solid var(--tx);border-radius:14px;font-size:16px;font-weight:700;color:var(--tx);background:transparent}

html body .zip14-community-page .zip14-event-tabs{margin:0 -16px}html body .zip14-community-page .zip14-event-tabs button{min-height:46px}html body .zip14-community-page .zip14-event-row{margin:0 -16px;width:calc(100% + 32px)}html body .zip14-event-row .p18-event-summary>small{margin-top:2px;line-height:1.45}

html body .p18-event-detail{padding:0 16px 4px}

html body .sdone.p18-shop-receipt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:16px}.sdone.p18-shop-receipt>.sdic,.sdone.p18-shop-receipt>h3,.sdone.p18-shop-receipt>p{grid-column:1/-1}.sdone.p18-shop-receipt>.sdic.ok{width:64px;height:64px;margin:16px auto 8px;background:var(--ctl);color:var(--on)}.sdone.p18-shop-receipt>h3{font-size:18px;font-weight:800;line-height:1.4;margin:0}.sdone.p18-shop-receipt>p{font-size:13px;line-height:1.6;white-space:pre-line;margin:0 0 8px}.sdone.p18-shop-receipt>#sdOk,.sdone.p18-shop-receipt>#sdGo{margin:0;width:100%;height:50px;border-radius:14px;font-size:14px}.sdone.p18-shop-receipt>#sdOk{background:var(--s);color:var(--t2)}


/* Source: /css/zip14-settings-pages.css */
html body .zip14-setting-page{padding:16px;max-width:720px;margin:auto}
html body .zip14-setting-page h2{font-size:15px;font-weight:700;margin:16px 0}
html body .zip14-setting-page p{font-size:13px;line-height:1.6;color:var(--muted)}
html body .zip14-setting-page label{display:block;font-size:14px;font-weight:600;margin:16px 0}
html body .zip14-setting-page input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;min-height:44px;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);margin-top:8px}
html body .zip14-setting-page .zip14-account-check{display:flex}
html body .zip14-setting-options{display:flex;gap:8px;margin-bottom:16px}
html body .zip14-setting-options button{flex:1;min-height:44px;border:1px solid var(--line);border-radius:10px;color:var(--muted);user-select:none;transition:transform .1s cubic-bezier(.2,.8,.2,1),background-color .15s}
html body .zip14-setting-options button:active{transform:scale(.96)}
html body .zip14-setting-options button[aria-pressed=true]{background:var(--ctl);color:var(--on);border-color:var(--ctl)}
html body .zip14-confirm-buttons{display:flex;gap:10px;padding-top:16px}
html body .zip14-confirm-buttons button{flex:1;min-height:48px;border:1px solid var(--line);border-radius:12px;user-select:none;transition:transform .1s cubic-bezier(.2,.8,.2,1)}
html body .zip14-confirm-buttons button:active{transform:scale(.96)}
html body .zip14-confirm-buttons button:last-child{background:var(--ctl);color:var(--on)}

.zip14-backup-code{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px;border-radius:12px;background:var(--elev);margin:4px 0 16px}.zip14-backup-code b{font-size:20px;font-weight:800;user-select:text}.zip14-backup-code button{margin-left:auto;color:var(--accent);font-weight:700}.zip14-backup-code small{width:100%;font-size:13px;color:var(--muted)}

.zip14-dm-control-sheet textarea{box-sizing:border-box;width:100%;min-height:96px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;color:var(--text);background:var(--elev)}

/* Prototype18 settings detail layout: nested account receipt and writing rows. */
html body .hf-base-sheet>.sheet>.zip14-account-receipt{box-sizing:border-box;min-width:0;padding:0 16px}
html body .zip14-account-receipt h3{margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.4}
html body .zip14-account-receipt .zip14-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:12px;padding:16px 0;border-bottom:1px solid var(--ln2,var(--line));font-size:17px;line-height:1.45}
html body .zip14-account-receipt .zip14-receipt-row>b{min-width:0;font-weight:700;overflow-wrap:anywhere}
html body .zip14-account-receipt .zip14-receipt-row>strong{min-width:0;text-align:right;overflow-wrap:anywhere;user-select:text}
html body .zip14-account-receipt .zip14-receipt-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0}
html body .zip14-account-receipt .zip14-receipt-actions>button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
html body .zip14-account-receipt>.zip14-account-check{margin:0;padding:12px 0;line-height:1.45}
html body .zip14-account-receipt>.zip14-account-check>span{min-width:0}
html body .zip14-account-receipt>.xmain{box-sizing:border-box;width:100%;min-height:54px;margin:8px 0 0;border-radius:14px}
html body .zip14-account-receipt>#recSaveStatus:empty{display:none}
html body .hf-base-sheet>.sheet>.zip14-confirm-buttons{box-sizing:border-box;padding:16px 16px 0}
html body.settings-view .zip14-setting-page:has([data-writing-toggle])>.prefcontrol{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:calc(100% + 32px);min-height:0;margin:0 -16px;padding:16px;border:0;border-bottom:1px solid var(--ln2,var(--line));border-radius:0;background:none;color:var(--text);text-align:left}
html body.settings-view .zip14-setting-page:has([data-writing-toggle])>.prefcontrol>.prefcopy{flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.4}
html body.settings-view .zip14-setting-page:has([data-writing-toggle]) .prefcopy>small{display:block;margin-top:3px;font-size:13px;font-weight:400;line-height:1.45;color:var(--muted)}
html body.settings-view .zip14-setting-page:has([data-writing-toggle]) .prefswitch{box-sizing:border-box;flex:none;background:var(--line2)}
html body.settings-view .zip14-setting-page:has([data-writing-toggle]) [aria-checked=true] .prefswitch{background:var(--ctl)}
html body.settings-view .zip14-setting-page:has([data-writing-toggle]) [aria-checked=true] .prefswitch:after{background:var(--on)}
/* Verified recovery forms share the existing account sheet geometry. */
html body .auth-recovery-sheet #recoverCodeForm,
html body .auth-recovery-sheet #recoveryIssueForm{padding:0 16px}
html body #recoverCodeForm label{display:block;margin:12px 0 6px;font-size:13px;font-weight:600;color:var(--text,var(--tx));line-height:1.4}
html body #recoverCodeForm .xin,
html body #recoveryIssueForm .xin{box-sizing:border-box;display:block;width:100%;min-width:0;height:42px;min-height:42px;margin:8px 0;padding:12px 14px;border:0;border-radius:10px;background:var(--surface,var(--s));color:var(--text,var(--tx));font-size:15px!important;line-height:normal}
html body #recoverCodeForm .xmain,
html body #recoveryIssueForm .xmain{display:flex;align-items:center;justify-content:center;width:100%;height:54px;margin:12px 0 0;border:0;border-radius:14px;background:var(--ctl);color:var(--on);font-size:16px;font-weight:700}
html body #recoverCodeForm .xmain:disabled,
html body #recoveryIssueForm .xmain:disabled{background:var(--thb,var(--s));color:var(--dim,var(--t3))}
html body #recoverCodeForm .xerr:empty,
html body #recoveryIssueForm .xerr:empty{display:none}

.account-device-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--text);background:var(--surface);border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.account-device-status span{min-width:0;flex:1}.account-device-status button{flex-shrink:0}


/* Source: /js/site-ui/zip14-display-settings.css */
/* Scoped ZIP14 face and feed-density consumers. Font size remains independent. */
html[data-reading-face=serif] :is(#dBody,#cmBox .ct,.comment-text,.reading-preview-content){font-family:Georgia,'Noto Serif KR','바탕',Batang,serif!important}
html[data-reading-face=gothic] :is(#dBody,#cmBox .ct,.comment-text,.reading-preview-content){font-family:Arial,'Malgun Gothic','Apple SD Gothic Neo',sans-serif!important}
html:root[data-feed-density=compact] body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id]{min-height:56px!important;padding:6px 16px!important}
html:root[data-feed-density=compact] body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body:has(.thumb){grid-template-columns:minmax(0,1fr) 44px!important}
html:root[data-feed-density=compact] body:is([data-feed-view=thumb],[data-feed-view=board],.in-search,:has(#meBox)) :is(#feed,#sres,#portalBody,#channelFeed:not(.channel-media-grid),#subscribedFeed,.reading-related,.channel-search-results,#meBox) .hf-list-row.item[data-id] .body .thumb{width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important}
.zip14-display-settings .prefseg{flex-wrap:wrap}.zip14-ip-controls form{display:flex;gap:8px;align-items:center}.zip14-ip-controls input{flex:1;min-width:0}.zip14-ip-controls form button{padding:10px}.zip14-ip-controls [role=status]{color:var(--muted);font-size:13px}.zip14-ip-controls .frow{justify-content:space-between}.zip14-ip-controls .frow b{font-size:14px}

html:root body #xpage .zip14-display-settings [hidden],.zip14-display-settings [hidden]{display:none!important}

.settings-reading-scale .settings-range{display:flex;flex-direction:column;gap:5px;width:140px;max-width:45%;flex:none}.settings-range input{width:100%;accent-color:var(--ctl)}.settings-range>span{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}

/* DC list unit 7: settings sub-screen common style */
html body .handoff-content-settings{padding:0!important}
html:root body .handoff-content-settings .content-group{margin:0!important;padding:13px 16px!important;background:var(--s)!important;color:var(--lk)!important;font-size:14px!important;font-weight:700!important;line-height:16px!important}
html body .handoff-content-settings>.prefrow,html body .handoff-content-settings>.prefcontrol,html body .handoff-content-settings>[data-display-slot]>*{background:var(--bg);border-bottom:1px solid var(--ln2)}
html body .zip14-choice-row .prefend{display:inline-flex;align-items:center;gap:6px;flex:none}
html body .zip14-choice-value{font-size:13px;font-weight:700;color:var(--lk)}
html body .zip14-swatches.mini i{width:16px;height:20px}
/* 선택 시트 (시안 17): 제목 18/700, 설명 13, 줄 padding 16 + 아래 선, 선택됨 13/700, 아래 6px */
html body .zip14-choice-title{margin:0;padding:0 16px;font-size:18px;font-weight:700;line-height:21px;text-align:left}
html body .zip14-choice-sub{margin:6px 0 0;padding:0 16px;font-size:13px;line-height:15px;color:var(--t3);text-align:left}
html body #sheetbg .zip14-choice-list{margin:10px 0 6px!important;padding:0!important}
html body #sheetbg .zip14-choice-list .mrow{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;box-sizing:border-box;min-height:0!important;height:auto!important;padding:16px 16px!important;border:0!important;border-bottom:1px solid var(--ln2)!important;border-radius:0!important;font-size:17px;font-weight:500;line-height:23.8px;color:var(--t2);text-align:left}
html body #sheetbg .zip14-choice-list .mrow[aria-pressed=true]{color:var(--tx);font-weight:800}
html body #sheetbg .zip14-choice-list .zip14-picked{flex:none;margin-left:auto;font-style:normal;font-size:13px;font-weight:700;color:var(--lk)}

/* ⚡ [디시 시안 DCLIST 7] 구역 제목: 화면 폭 전체 연한 회색 띠에 파란 글자 */
html body #xpage .zip14-settings-band,
html body #xpage .handoff-content-settings .content-group {
  margin: 0 !important;
  padding: 12px 16px !important;
  background: var(--s) !important;
  color: var(--lk) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  letter-spacing: -0.01em !important;
  border-bottom: 1px solid var(--ln2) !important;
}

/* ⚡ [디시 시안 DCLIST 7] 테마색 & 야간 배경 8색 견본 리스트 스타일 */
html body #xpage .zip14-swatch-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 16px !important;
  background: var(--bg) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ln2) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  text-align: left !important;
  color: inherit !important;
}
html body #xpage .zip14-swatch-row:hover {
  background: var(--surface) !important;
}
html body #xpage .zip14-swatches {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex: none !important;
}
html body #xpage .zip14-swatches i {
  display: inline-block !important;
  width: 20px !important;
  height: 24px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12) !important;
}

/* Final Prototype18 option sheet: leading radio, neutral selected row, description. */
html body #sheetbg .zip14-choice-list .mrow{justify-content:flex-start!important;gap:12px;width:calc(100% - 32px)!important;margin:4px 16px!important;padding:14px 16px!important;min-height:54px!important;border:0!important;border-radius:14px!important;background:transparent;color:var(--t2)}
html body #sheetbg .zip14-choice-radio{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;box-sizing:border-box;border:2px solid var(--t3);border-radius:50%}html body #sheetbg .zip14-choice-radio svg{visibility:hidden;color:var(--bg)}
html body #sheetbg .zip14-choice-list .mrow[aria-pressed=true]{background:var(--s,var(--surface));color:var(--tx);font-weight:800}
html body #sheetbg .zip14-choice-list .mrow[aria-pressed=true] .zip14-choice-radio{border-color:var(--tx);background:var(--tx)}html body #sheetbg .zip14-choice-list .mrow[aria-pressed=true] .zip14-choice-radio svg{visibility:visible}
html body #sheetbg .zip14-choice-copy{flex:1;min-width:0}
html body #sheetbg .zip14-choice-copy>small{display:block;margin-top:3px;font-size:13px;line-height:1.45;font-weight:400;color:var(--t3)}
html body #sheetbg .zip14-choice-list .zip14-picked{display:none}

html body #sheetbg .zip14-choice-list{margin-top:0!important;margin-bottom:12px!important}


/* Source: /js/site-ui/article-image-policy.css */
.zip14-article-photo{display:block;position:relative}.zip14-article-photo:not(.is-sized):not(.is-loaded){min-height:120px}.zip14-article-photo.is-loaded{min-height:0}.zip14-article-photo:not(.is-sized) img:not([src]){display:block;min-height:120px;aspect-ratio:16/9;background:var(--elev)}.zip14-article-photo:not(.is-loaded)>img{opacity:0;color:transparent}.zip14-article-photo.is-loaded>img{opacity:1;transition:none!important}.zip14-image-load{position:absolute;inset:0;margin:auto;max-width:calc(100% - 32px);height:44px;padding:8px 14px;border-radius:10px;background:var(--elev);color:var(--text);font:inherit;font-size:14px}.zip14-image-load[hidden],.zip14-feed-image-load[hidden]{display:none!important}.zip14-feed-image-load{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;background:var(--elev);color:var(--muted);font-size:11px;z-index:2}

.ytc>.zip14-article-photo{position:absolute;inset:0;width:100%;height:100%}.ytc .zip14-image-load{z-index:2}
/* A video poster occupies its 16:9 card, not the ordinary square photo slot. */
.ytc>.zip14-article-photo:not(.is-sized):not(.is-loaded){aspect-ratio:auto;min-height:0}
.dbody .ytc>.zip14-article-photo>img{width:100%!important;height:100%!important;min-height:0;aspect-ratio:auto;object-fit:cover;margin:0!important}
.dbody iframe{height:auto}

/* Wrapped article photos follow the same natural-size rule as direct photos. */
html:root body.in-detail #detail .dbody>.post-media-body>.zip14-article-photo>img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important}

/* Unknown intrinsic dimensions get a temporary square, matching the native photo slot. */
.zip14-article-photo:not(.is-sized):not(.is-loaded){aspect-ratio:1;min-height:0;background:var(--elev)}

/* Hold everything below the title until the first photos settle, so the post appears in one piece (see article-image-policy.js). */
#detail.dp-hold .dwrap>.dbody,#detail.dp-hold .dwrap>.tagrow,#detail.dp-hold>.hf-actions,#detail.dp-hold>#cmBox,#detail.dp-hold>.hf-rand,#detail.dp-hold>.dfoot{visibility:hidden}
/* Direct post visit: hide the server placeholder and the client rebuild until the finished article can show at once. */
html.dp-pending #detail>:not(.dbar){visibility:hidden}

/* Source: /js/site-ui/zip14-reading-behavior.css */
#dBody.reading-body-folded{max-height:900px;overflow:clip}
#dBody.reading-sensitive-photos img:not(.ytc img){filter:blur(6px)}
.reading-body-toggle{display:block;width:calc(100% - 32px);min-height:44px;margin:12px 16px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit}
.reading-body-toggle[hidden]{display:none}
.reading-related .reading-neighbors{display:block;position:static;transform:none;padding:0;margin:0 0 16px;width:auto;height:auto;min-height:0;background:transparent;border:0}
#detail .reading-related .reading-neighbors .reading-neighbor{display:flex;align-items:center;min-height:44px;gap:12px;padding:10px 16px;border-bottom:1px solid var(--ln2);color:var(--text);text-decoration:none}
#detail .reading-related .reading-neighbor>span:first-child{flex:0 0 48px;width:48px;white-space:nowrap;font-size:13px;line-height:24px;color:var(--muted)}
#detail .reading-related .reading-neighbor>.related-title{display:block;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;line-height:24px!important}
#detail .reading-related .reading-neighbor:hover{background:var(--elev)}
#detail .reading-related .reading-neighbor:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--elev)}

html[data-blur-sensitive="true"] article[data-sensitive="true"] .thumb img{filter:blur(6px)}


/* Source: /css/channel-bottom-bar.css */
#channel-bottom-bar{box-sizing:border-box;position:fixed;left:max(0px,calc((100vw - 560px)/2));bottom:0;z-index:45;display:flex;align-items:flex-start;width:min(100%,560px);padding:6px 6px max(env(safe-area-inset-bottom,0px),20px);border-top:1px solid var(--ln,#e3e6eb);background:var(--s,#f7f8fa);color:var(--tx,#16181d);transition:transform .24s cubic-bezier(.2,.8,.2,1);will-change:transform;transform:translateY(0)}
#channel-bottom-bar button{flex:1;min-width:0;min-height:52px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;border:0;background:transparent;color:var(--t2,#8a909c);font:inherit;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}
#channel-bottom-bar .channel-bottom-icon-row{display:flex;align-items:center;justify-content:center;height:42px}#channel-bottom-bar .channel-bottom-icon{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;transition:background .2s,width .2s,height .2s}#channel-bottom-bar button svg{width:24px;height:24px;fill:none}#channel-bottom-bar button.active{color:var(--lk,#1b64da);font-weight:800}#channel-bottom-bar button{position:relative}#channel-bottom-bar button.active:before{content:'';position:absolute;left:0;right:0;top:-6px;height:3px;border-radius:0 0 2px 2px;background:var(--lk,#1b64da)}#channel-bottom-bar button.active .channel-bottom-icon{width:34px;height:34px;background:transparent}#channel-bottom-bar .channel-bottom-dot{display:none}
body.keyboard-open #channel-bottom-bar,#channel-bottom-bar.channel-keyboard-hidden{display:none}
body.channel-bottom-active #featureBody.handoff-channel-page{padding-bottom:calc(64px + max(env(safe-area-inset-bottom,0px),20px) + 86px)}body.channel-bottom-active #channelWrite{display:none!important}
.channel-drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.45);display:flex;justify-content:flex-end}
.channel-drawer{width:min(340px,90vw);height:100%;overflow:auto;padding:calc(16px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px));background:var(--bg);color:var(--tx,var(--text));box-shadow:-8px 0 26px rgba(0,0,0,.2)}
.channel-drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px}.channel-drawer header button{width:44px;height:44px;font-size:27px;background:transparent;border:0;color:inherit}.channel-drawer h3{margin:22px 0 12px;font-size:14px}.channel-drawer-chips{display:flex;flex-wrap:wrap;gap:8px}.channel-drawer-chips button,.channel-drawer-subscriptions button{max-width:100%;padding:9px 12px;overflow-wrap:anywhere;border:1px solid var(--ln,var(--line));border-radius:16px;background:var(--s,var(--surface));color:var(--tx,var(--text));font:inherit;font-size:13px}.channel-drawer p,.channel-drawer-subscriptions{font-size:13px;color:var(--t2,var(--muted))}
@media(min-width:1000px){body.dc-shell #channel-bottom-bar{left:calc(var(--desk-body-left) + 1px);width:calc(var(--dc-main-width) - 2px);max-width:none}}
@media(prefers-reduced-motion:reduce){#channel-bottom-bar{transition:none}}

@keyframes channel-toolbar-spring{0%{transform:scale(.82)}55%{transform:scale(1.14)}100%{transform:scale(1)}}
#channel-bottom-bar button.active .channel-bottom-icon{animation:channel-toolbar-spring .35s cubic-bezier(.2,.8,.2,1)}
@media(prefers-reduced-motion:reduce){#channel-bottom-bar button.active .channel-bottom-icon{animation:none}}
/* Feature pages hide the global nav; the channel toolbar remains visible on mobile. */
@media(max-width:999px){body.channel-bottom-active #channel-bottom-bar{display:flex!important;padding:6px 6px max(env(safe-area-inset-bottom,0px),20px)!important}body.channel-bottom-active #channel-bottom-bar button{height:auto!important;min-height:52px!important;gap:1px!important;justify-content:flex-start!important}body.channel-bottom-active.keyboard-open #channel-bottom-bar,body.channel-bottom-active #channel-bottom-bar.channel-keyboard-hidden{display:none!important}}
body .channel-drawer header{display:flex}
body.channel-bottom-active #xpage>.xtop{transition:translate .24s cubic-bezier(.2,.8,.2,1)}body.channel-bottom-active.channel-top-hidden #xpage>.xtop{translate:0 -100%}
@media(prefers-reduced-motion:reduce){body.channel-bottom-active #xpage>.xtop{transition:none}}
body.channel-bottom-active #channel-bottom-bar{display:flex!important}
body.channel-bottom-active.keyboard-open #channel-bottom-bar,body.channel-bottom-active #channel-bottom-bar.channel-keyboard-hidden,body.channel-bottom-active.channel-quick-expanded #channel-bottom-bar{display:none!important}
/* The desktop cover already names the channel. Overlay its retained back/menu controls
   from the first shell render instead of reserving a duplicate white title row. */
@media(min-width:1000px){
 html body.dc-shell #appScroll>#xpage:has(>.handoff-channel-page){padding-top:0!important}
 html body.dc-shell #xpage:has(>.handoff-channel-page)>.xtop.channel-page-top{background:transparent!important;border-bottom:0!important;pointer-events:none}
 html body.dc-shell #xpage:has(>.handoff-channel-page)>.xtop.channel-page-top>b{display:none!important}
 html body.dc-shell #xpage:has(>.handoff-channel-page)>.xtop.channel-page-top>.ibtn{pointer-events:auto;background:var(--bg);border-radius:50%}
}


/* Source: /css/channel-search.css */
.channel-search-screen{box-sizing:border-box;position:fixed;inset:0;z-index:100;background:var(--bg);color:var(--tx,var(--text));display:flex;flex-direction:column;overscroll-behavior:contain}
.channel-search-screen button,.channel-search-screen input{font:inherit;color:inherit;border:0;background:transparent}.channel-search-screen button{cursor:pointer}
.channel-search-bar{position:relative;display:flex;align-items:center;justify-content:space-between;flex:none;min-height:60px;box-sizing:border-box;padding:calc(env(safe-area-inset-top,0px) + 8px) 15px 8px 4px}
.channel-search-bar>b{position:absolute;left:96px;right:96px;text-align:center;font-size:19px;font-weight:700;pointer-events:none}
.channel-search-bar .cs-back{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none}
.channel-search-bar .cs-global{flex:none;height:36px;padding:0 16px;border-radius:6px;background:var(--lk,#1b64da);color:#fff;font-size:15px;font-weight:700}
.channel-search-options{position:relative;display:flex;align-items:center;gap:16px;padding:12px 15px 0}
.channel-search-target{position:relative;flex:1;min-width:0}
.channel-search-target .cs-select{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;box-sizing:border-box;padding:0 14px;border:1px solid var(--ln)!important;border-radius:6px;background:var(--bg);font-size:16px;text-align:left}
.channel-search-target .cs-chev{flex:none;color:var(--lk,#1b64da)}
.channel-search-target .cs-list{position:absolute;z-index:3;left:0;right:0;top:calc(100% + 4px);display:flex;flex-direction:column;padding:6px 0;border:1px solid var(--ln);border-radius:6px;background:var(--bg);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.channel-search-target .cs-list[hidden]{display:none}
.channel-search-target .cs-list button{display:block;width:100%;min-height:44px;padding:0 14px;font-size:16px;text-align:left}
.channel-search-target .cs-list button[aria-selected=true]{color:var(--lk,#1b64da);font-weight:700}
.channel-search-screen .channel-search-popular{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:none;min-width:82px;height:48px;padding:0;font-size:14px;font-weight:500;text-align:left}
.channel-search-popular i{position:relative;flex:none;width:24px;height:24px;box-sizing:border-box;border:1.5px solid var(--tx,var(--text));border-radius:6px;background:var(--bg)}
.channel-search-popular[aria-checked=true] i{border-color:var(--lk,#1b64da);background:var(--lk,#1b64da)}
.channel-search-popular[aria-checked=true] i:after{content:'';position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.channel-search-header{display:flex;align-items:stretch;height:48px;margin:10px 15px 0;padding:0;overflow:hidden;border:1px solid var(--ln);border-radius:6px}
.channel-search-header input{flex:1;min-width:0;height:100%;padding:0 14px;outline:0;font-size:16px}
.channel-search-header .cs-clear{flex:none;width:34px;font-size:22px;color:var(--t3,var(--muted))}
.channel-search-header .cs-submit{display:flex;align-items:center;justify-content:center;flex:none;width:56px;background:var(--lk,#1b64da);color:#fff}
.channel-search-content{flex:1;min-height:0;overflow:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.channel-search-content header{display:flex;justify-content:space-between;align-items:center;padding:18px 17px 8px}
.channel-search-content header b{font-size:17px;font-weight:700;color:var(--lk,#1b64da)}
.channel-search-content header button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--lk,#1b64da)}
.channel-search-content p{padding:12px 17px;font-size:14px;color:var(--t3,var(--muted))}
.channel-search-recent{display:flex;align-items:center;gap:12px;padding:0 17px;min-height:54px;background:var(--s,var(--surface));border-bottom:1px solid var(--ln)}
.channel-search-recent button:first-child{flex:1;min-width:0;min-height:54px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}
.channel-search-recent .cs-del{display:flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--t3,#6b7280);color:#fff;font-size:16px;line-height:1}
.channel-search-count{padding:14px 17px 8px;font-size:13px;font-weight:500;color:var(--t3,var(--muted))}
.channel-search-results{display:block}
.channel-search-content .fmore{display:block;width:calc(100% - 34px);margin:12px auto 0;min-height:44px}
.channel-search-content h3{padding:22px 17px 6px;margin:0;font-size:13px;font-weight:700;color:var(--t3,var(--muted))}
.channel-recommended-words{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:0 20px}
.channel-search-screen .channel-recommended-words button{min-width:0;min-height:46px;border-bottom:1px solid var(--ln2,var(--line));font-size:15px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.channel-search-content h3.channel-recommended-title{font-size:15px;color:var(--tx,var(--text));font-weight:800}
body .channel-search-screen .channel-search-content header{display:flex}
body.channel-search-open #channel-bottom-bar{visibility:hidden;pointer-events:none}
@media(min-width:1000px){body.dc-shell .channel-search-screen{top:56px;left:calc(var(--desk-body-left) + 1px);right:auto;width:calc(var(--dc-main-width) - 2px)}}

/* Final prototype18 channel search geometry (supported targets stay caller-scoped). */
.channel-search-bar{min-height:61px;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 12px;border-bottom:1px solid var(--ln)}
.channel-search-bar .cs-back{width:76px;height:36px;justify-content:flex-start}
.channel-search-bar .cs-back svg{width:26px;height:26px}
.channel-search-options{gap:10px;padding-left:14px;padding-right:14px}
.channel-search-screen .channel-search-popular{min-width:0;padding:0 6px;font-size:16px}
.channel-search-popular i{width:26px;height:26px;border-radius:5px}
.channel-search-header{margin-left:14px;margin-right:14px}
.channel-search-target .cs-list{top:54px;padding:0;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.channel-search-target .cs-list button{height:46px;min-height:46px;padding:0 16px;font-size:15px;border-bottom:1px solid var(--ln)}


/* Source: /css/arcade.css */
.arcade-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;box-sizing:border-box;height:56px;padding:22px 14px 10px;border-bottom:1px solid var(--ln);background:var(--bg)}
.arcade-top .a-back{width:84px;flex:none;display:flex}.arcade-top .a-back button{display:flex;width:23px;height:23px;padding:0;min-height:0}.arcade-top svg{width:23px;height:23px}
.arcade-top>b{flex:1;min-width:0;text-align:center;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.arcade-top>a{width:84px;flex:none;text-align:right;font-size:13px;font-weight:700;white-space:nowrap;color:var(--t2);text-decoration:none}
.arcade-page{padding-bottom:24px}.arcade-page :is(button,a){font-family:inherit;text-decoration:none}.arcade-page button{line-height:normal;color:inherit;border:0;box-shadow:none}
.a-note{padding:10px 16px;font-size:13px;line-height:1.6;white-space:pre-line;text-align:left;color:var(--t3);font-weight:400;margin:0}.a-note.center{text-align:center}.a-note.strong{font-weight:600}.a-note.strong,.a-note.secondary{color:var(--t2)}
.a-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px 16px}
.a-game{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px 12px;border:1px solid var(--ln)!important;border-radius:14px;font-size:13px;font-weight:600;background:transparent;cursor:pointer}
.a-game>span{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklch,oklch(.68 .15 var(--game-hue)) 18%,transparent);color:oklch(.55 .17 var(--game-hue))}
.a-game svg{width:28px;height:28px}.a-game>b{font-size:15px;font-weight:700}.a-game>small{font-size:12px;font-weight:500;color:var(--t3);text-align:center;line-height:1.35;white-space:pre-line}
.a-game>em{position:absolute;top:6px;right:6px;font-style:normal;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--pt);color:#fff}
.a-box{margin:8px 16px;padding:14px;border-radius:14px;background:var(--s);display:flex;gap:12px;align-items:center;text-align:left}.a-box>div{flex:1;min-width:0}.a-box b{display:block;font-size:16px;font-weight:700}.a-box small{display:block;font-size:13px;color:var(--t3);margin-top:3px;line-height:1.5}.a-attendance b{font-size:14px}.a-box>a{font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px;background:var(--ctl);color:var(--on);white-space:nowrap}
.a-heading{padding:18px 16px 6px;font-size:13px;font-weight:700;color:var(--t3);text-align:left}
.a-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--ln);text-align:left;font-size:15px}.a-row>div{flex:1;min-width:0}.a-row b{font-size:inherit;font-weight:400;line-height:1.4}.a-row small{display:block;font-size:13px;color:var(--t3);margin-top:3px;line-height:1.45}.a-row>span{font-size:13px;color:var(--t3);white-space:nowrap;flex:none}.a-row.bet b{font-size:20px;font-weight:700}
.a-chips{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px}.a-chips>button,.a-chips>span{display:flex;gap:4px;align-items:center;font-size:14px;padding:10px 16px;border-radius:999px;cursor:pointer;background:var(--s);color:var(--t2);font-weight:500}.a-chips .on{background:var(--ln);color:var(--tx);font-weight:700}
.a-chips>button[data-action=bet]{background:transparent;color:var(--tx);font-weight:400;min-height:0}
.a-cells{display:grid;gap:8px;padding:8px 16px;grid-template-columns:repeat(var(--columns),minmax(0,1fr))}.a-cells>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;cursor:pointer;text-align:center;transition:background .15s;height:var(--cell-height,56px);background:var(--s);color:var(--tx)}.a-cells>button>b{font-size:var(--cell-font,15px);font-weight:700}.a-cells>button>small{font-size:11px;opacity:.75}.a-cells>button.on{background:var(--ctl);color:var(--on)}.a-cells>button.mine{background:var(--pt);color:#fff}
.a-primary{padding:8px 16px}.a-primary>button{width:100%;height:54px;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--ctl);color:var(--on)}.a-primary>button.danger{background:var(--pt);color:#fff}.a-primary>button:disabled{background:var(--thb);color:var(--t3);opacity:1;cursor:default}
.a-buttons{display:flex;gap:8px;padding:8px 16px;flex-wrap:wrap}.a-buttons>button{flex:1;min-width:110px;height:50px;border-radius:14px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--ctl);color:var(--on)}.a-buttons>button.outline{background:transparent;border:1.2px solid var(--ctl);color:var(--tx)}
.a-hero{margin:8px 16px;border-radius:16px;overflow:hidden;background:var(--s)}.a-hero>svg{display:block;width:100%;height:auto}
.a-stats{display:flex;margin:8px 16px;border:1px solid var(--ln);border-radius:14px}.a-stats>div{flex:1;text-align:center;padding:16px 4px;font-size:13px;color:var(--t3)}.a-stats>div+div{border-left:1px solid var(--ln)}.a-stats b{display:block;font-size:22px;font-weight:800;color:var(--tx);margin-bottom:3px;white-space:nowrap}
.a-tabs{display:flex;border-bottom:1px solid var(--ln);margin-top:6px}.a-tabs>button{flex:1;text-align:center;padding:12px 0;font-size:14px;cursor:pointer;color:var(--t3);font-weight:600}.a-tabs>button.on{color:var(--tx);font-weight:700;box-shadow:inset 0 -2px var(--tx)}
.a-scratch canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:12px;pointer-events:none}.a-scratch>button.covered{touch-action:none;background:var(--thb)}.a-scratch>button.covered>b{visibility:hidden}.a-scratch>button.revealed{background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--ln)}
.a-scratch>button:not(.revealed){background:var(--thb)}
.a-scratch-mask{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;visibility:hidden;pointer-events:none}.a-scratch-mask>b{font-size:34px;font-weight:700}.a-scratch-mask>small{font-size:11px;opacity:.75}.a-scratch-mask i{display:inline-block;width:0;height:0;vertical-align:baseline}
.a-scratch~.a-row{border-bottom-color:var(--ln2)}
.a-scratch~.a-row>span{color:var(--tx);font-weight:700}
.a-roulette-payouts>.a-row{border-bottom-color:var(--ln2)}
.a-roulette-payouts>.a-row:first-child>span{color:var(--pt);font-weight:700}
@media(min-width:1000px){.arcade-top{height:48px;padding:8px 14px 10px}.arcade-top>.a-back,.arcade-top>b,.arcade-top>a{padding-top:6px}.a-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.arcade-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:999px){
 html body>#appScroll>#xpage:has(>.arcade-page){padding-top:56px;border-inline:0;min-height:100dvh!important;box-sizing:border-box}
 html body #xpage>.arcade-top{position:fixed;top:0!important;left:50%;transform:translateX(-50%);width:100%;max-width:560px;z-index:40}
}

.arcade-page[data-game=temp]>.a-row:not(.bet){font-size:14px;border-bottom-color:var(--ln2)}

.a-tabs.history>button{font-weight:700}
.a-history>span{background:var(--s);color:var(--pt);font-weight:700}
.a-history>span.win{background:var(--ctl);color:var(--on)}
.a-history>span.empty{background:transparent;color:var(--tx);font-weight:400}


/* Source: /css/post-tools.css */
/* User-requested post menu and capture dialog, 2026-10-22. */
html body #sheetbg.post-more-sheet{position:fixed!important;inset:0!important;width:auto!important;transform:none!important;display:block;background:rgba(0,0,0,.45)}
html body #sheetbg.post-more-sheet>.sheet{position:fixed;left:var(--more-left,16px);top:var(--more-top,64px);bottom:auto;right:auto;width:var(--more-width,272px);max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--more-top,64px) - 16px - env(safe-area-inset-bottom));padding:6px 0;border-radius:16px;overflow-y:auto;box-shadow:0 12px 40px #0003;animation:postMenuIn .16s ease-out}
html body #sheetbg.post-more-sheet .grab{display:none}
html body #sheetbg.post-more-sheet .mrow{padding:11px 16px!important;gap:12px;min-height:44px;font-size:14px}
html body #sheetbg.post-more-sheet .mrow svg.lu{width:20px;height:20px;flex:none}
html[data-theme=dark] body #sheetbg.post-more-sheet>.sheet{background:#080808}
html body #sheetbg.post-capture-modal{position:fixed!important;inset:0!important;width:auto!important;transform:none!important;display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:rgba(0,0,0,.45)}
html body #sheetbg.post-capture-modal>.sheet{position:relative;inset:auto;width:100%;max-width:376px;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:24px 20px 18px;border:0;border-radius:20px;background:var(--bg);color:var(--tx);overflow:auto;animation:postMenuIn .22s cubic-bezier(.2,.8,.2,1)}
html body #sheetbg.post-capture-modal .grab{display:none}
.capture-dialog>h3{font-size:18px;text-align:left;margin:0 32px 20px 0;font-weight:700;line-height:1.4}
.capture-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;background:none;color:var(--tx);display:grid;place-items:center;cursor:pointer}
.capture-close svg{width:25px;height:25px}
.capture-actions{display:grid;gap:10px}
.capture-actions>button{display:flex;min-height:72px;align-items:center;gap:12px;padding:14px;border:1px solid var(--ln);border-radius:12px;background:var(--bg);color:var(--tx);text-align:left;font-size:15px;cursor:pointer}
.capture-actions>button:hover{background:var(--s)}
.capture-actions span{flex:1;font-weight:600}
.capture-actions small{display:block;margin-top:5px;color:var(--t3);font-size:12px;font-weight:400;line-height:1.5}
.capture-actions b{font-size:18px;font-weight:400;color:var(--t3)}
.capture-intro{font-size:12px;color:var(--t3);margin:12px 0 0}
.capture-actions svg{width:24px;height:24px;flex:none}
.capture-dialog details{margin-top:20px;padding-top:16px;border-top:1px solid var(--ln)}
.capture-dialog summary{font-size:13px;cursor:pointer;list-style:none;display:flex;gap:10px;align-items:center}
.capture-dialog summary:after{content:'';width:10px;height:10px;display:block;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.capture-dialog details[open] summary:after{transform:translateY(-3px) rotate(45deg)}
.capture-options{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;padding-top:18px}
.capture-options>label{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4;cursor:pointer}
.capture-options input{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--tx)}
.capture-hint{font-size:12px;color:var(--t3);line-height:1.6;margin:18px 0 0}
.post-tool-status{font-size:13px;color:var(--t2);line-height:1.6;white-space:pre-line;margin:12px 0 0}
.post-tool-status:empty{display:none}
html[data-theme=dark] .capture-actions>button{background:var(--s)}
html body #sheetbg.author-note-sheet>.sheet{max-width:560px;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:var(--bg);color:var(--tx)}
.author-note-dialog>h3{font-size:18px;margin:0 0 12px}
.author-note-info{font-size:13px;line-height:1.6;color:var(--t2);margin:0 0 16px}
.author-memo{margin:0;padding:0 16px 12px;font-size:13px;line-height:1.6;color:var(--t3);white-space:pre-wrap;overflow-wrap:anywhere}
.author-note-dialog>textarea{display:block;box-sizing:border-box;min-height:140px;width:100%;padding:12px 14px;font:inherit;font-size:15px;line-height:1.6;border:1px solid var(--ln);border-radius:12px;background:var(--s);color:var(--tx);resize:vertical}
.author-note-actions{display:flex;gap:10px;margin-top:16px}
.author-note-actions>button{flex:1;height:50px;padding:0 16px;border:0;border-radius:14px;font-size:15px;font-weight:700;background:var(--s);color:var(--t2);cursor:pointer}
.author-note-actions>[data-note=save]{background:var(--ctl);color:var(--on)}
@keyframes postMenuIn{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){html body #sheetbg:is(.post-more-sheet,.post-capture-modal)>.sheet{animation:none!important}}

.capture-preview{display:block;width:100%;height:auto;max-height:240px;object-fit:contain;margin-top:16px;border:1px solid var(--ln);border-radius:8px}


/* Source: /js/site-ui/image-viewer.css */
.photo-dialog.dp-photo-viewer{position:fixed;display:grid;grid-template-rows:minmax(0,1fr);inset:0;z-index:1200;background:#000;color:#fff;isolation:isolate;overscroll-behavior:contain;font-size:14px}
.dp-photo-viewer *{box-sizing:border-box}
.dp-photo-viewer button{font:inherit;line-height:1.3;cursor:pointer}
.dp-photo-viewer button:disabled,.dp-photo-viewer .pv-original:has(input:disabled){opacity:.35;cursor:default}
.dp-photo-viewer button:focus-visible,.dp-photo-viewer input:focus-visible{outline:2px solid #fff;outline-offset:3px}
.dp-photo-viewer svg{display:block;flex:none}

/* --- 상단 바 --- */
.dp-photo-viewer .pv-top{display:flex;justify-content:space-between;align-items:center;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));position:absolute;top:0;left:0;right:0;z-index:10}
.dp-photo-viewer .pv-close{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.18);border-radius:9999px;color:#fff;font-size:13px;font-weight:600;padding:6px 14px;min-height:34px;transition:background .2s}
.dp-photo-viewer .pv-close:hover{background:rgba(255,255,255,0.22)}
.dp-photo-viewer .pv-close svg{width:14px;height:14px}

.dp-photo-viewer .pv-title-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}
.dp-photo-viewer .pv-count{font-size:14px;font-weight:700;color:#fff;line-height:1.2;font-variant-numeric:tabular-nums;border:none;background:transparent;padding:0;min-height:unset}
.dp-photo-viewer .pv-post-title{font-size:11px;color:#9ca3af;margin-top:3px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}

.dp-photo-viewer .pv-original{display:inline-flex;align-items:center;gap:8px;cursor:pointer;position:relative;user-select:none;-webkit-user-select:none;border:none;background:transparent;padding:0;min-height:unset}
.dp-photo-viewer .pv-original>span{font-size:13px;font-weight:600;color:#fff}
.dp-photo-viewer .pv-original input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.dp-photo-viewer .pv-switch-track{display:inline-block;width:38px;height:22px;background:rgba(255,255,255,0.24);border-radius:9999px;position:relative;transition:background .2s}
.dp-photo-viewer .pv-switch-thumb{display:block;position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#ffffff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,0.3)}
.dp-photo-viewer .pv-original input:checked + .pv-switch-track{background:#3b82f6}
.dp-photo-viewer .pv-original input:checked + .pv-switch-track .pv-switch-thumb{transform:translateX(16px)}

/* --- 중앙 스테이지 --- */
.dp-photo-viewer .pv-stage{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.dp-photo-viewer .pv-image{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none;cursor:grab}
.dp-photo-viewer .pv-image:active{cursor:grabbing}
.dp-photo-viewer .pv-image[hidden]{display:none}
.dp-photo-viewer .pv-feedback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;line-height:1.6;pointer-events:none}
.dp-photo-viewer .pv-feedback:empty{display:none}
.dp-photo-viewer .pv-feedback button{pointer-events:auto;min-height:36px;padding:6px 14px;border-radius:9999px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.1);color:#fff}

/* --- 좌우 화살표 --- */
.dp-photo-viewer .pv-prev,.dp-photo-viewer .pv-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;padding:0;z-index:2;transition:background .2s}
.dp-photo-viewer .pv-prev:hover,.dp-photo-viewer .pv-next:hover{background:rgba(255,255,255,0.24)}
.dp-photo-viewer .pv-prev{left:max(16px,env(safe-area-inset-left))}
.dp-photo-viewer .pv-next{right:max(16px,env(safe-area-inset-right))}
.dp-photo-viewer .pv-prev:disabled,.dp-photo-viewer .pv-next:disabled{opacity:0.25;cursor:default;pointer-events:none}

/* --- 중앙 줌 알약 컨트롤 --- */
.dp-photo-viewer .pv-zoom{position:absolute;left:50%;bottom:calc(var(--pv-footer-height,116px) + 12px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:4px;background:rgba(20,20,22,0.85);border:1px solid rgba(255,255,255,0.18);border-radius:9999px;padding:4px 10px;backdrop-filter:blur(12px);z-index:10}
.dp-photo-viewer .pv-zoom button{background:transparent;border:none;color:#fff;font-size:15px;font-weight:700;cursor:pointer;padding:2px 8px;border-radius:9999px;min-height:unset}
.dp-photo-viewer .pv-zoom button:hover:not(:disabled){background:rgba(255,255,255,0.15)}
.dp-photo-viewer .pv-zoom button[data-zoom="reset"]{font-size:12px;font-weight:600;min-width:46px;text-align:center}

/* --- 하단 바 --- */
.dp-photo-viewer .pv-bottom{padding:14px max(24px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));position:absolute;bottom:0;left:0;right:0;z-index:10;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.dp-photo-viewer.pv-chrome-hidden .pv-top,.dp-photo-viewer.pv-chrome-hidden .pv-bottom,.dp-photo-viewer.pv-chrome-hidden .pv-prev,.dp-photo-viewer.pv-chrome-hidden .pv-next,.dp-photo-viewer.pv-chrome-hidden .pv-zoom{visibility:hidden;pointer-events:none}
.dp-photo-viewer .pv-actions{display:flex;justify-content:space-between;align-items:center;width:100%}

.dp-photo-viewer .pv-left-actions{display:inline-flex;align-items:center;gap:16px}
.dp-photo-viewer .pv-btn-block{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:#f3f4f6;font-size:13px;font-weight:600;cursor:pointer;padding:0;min-height:unset}
.dp-photo-viewer .pv-btn-block:hover{color:#fff;text-decoration:underline}
.dp-photo-viewer .pv-btn-viewpost{background:transparent;border:none;color:#f3f4f6;font-size:13px;font-weight:600;cursor:pointer;padding:0;min-height:unset}
.dp-photo-viewer .pv-btn-viewpost:hover{color:#fff;text-decoration:underline}

.dp-photo-viewer .pv-right-actions{display:inline-flex;align-items:center;gap:10px}
.dp-photo-viewer .pv-btn-save-all{background:rgba(0,0,0,0.7);border:1px solid rgba(255,255,255,0.22);border-radius:9999px;color:#ffffff;font-size:13px;font-weight:700;padding:8px 18px;cursor:pointer;min-height:38px;transition:background .2s}
.dp-photo-viewer .pv-btn-save-all:hover:not(:disabled){background:rgba(255,255,255,0.15)}
.dp-photo-viewer .pv-btn-save-cur{background:#ffffff;border:none;border-radius:9999px;color:#111827;font-size:13px;font-weight:700;padding:8px 18px;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;gap:6px;transition:opacity .2s}
.dp-photo-viewer .pv-btn-save-cur:hover:not(:disabled){opacity:.9}

.dp-photo-viewer .pv-hint{margin:14px 0 0;text-align:center;font-size:11px;color:#6b7280;letter-spacing:-0.01em}

.dp-photo-viewer .pv-save-status{margin:10px 0 0;text-align:center;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#9ca3af}
.dp-photo-viewer .pv-save-status:empty{display:none}
.dp-photo-viewer .pv-save-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.dp-photo-viewer .pv-save-controls:empty{display:none}
.dp-photo-viewer .pv-save-controls button{min-height:34px;padding:6px 14px;font-size:12px;border-radius:9999px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2);color:#fff}
.dp-photo-viewer .pv-failures{margin:8px auto 0;padding:0 20px;max-width:600px;max-height:64px;overflow:auto;font-size:12px;line-height:1.5;color:#ffb5b5}
.dp-photo-viewer .pv-failures:empty{display:none}

@media(max-width:480px){
  .dp-photo-viewer .pv-top{padding:max(12px,env(safe-area-inset-top)) 14px 10px}
  .dp-photo-viewer .pv-post-title{max-width:180px}
  .dp-photo-viewer .pv-bottom{padding:10px 14px max(14px,env(safe-area-inset-bottom))}
  .dp-photo-viewer .pv-left-actions{gap:10px}
  .dp-photo-viewer .pv-right-actions{gap:8px}
  .dp-photo-viewer .pv-btn-save-all,.dp-photo-viewer .pv-btn-save-cur{padding:7px 14px;font-size:12px;min-height:34px}
  .dp-photo-viewer .pv-hint{margin-top:10px;font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .photo-dialog.dp-photo-viewer,.dp-photo-viewer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* Shared v12 viewer: source prototype measurements, isolated from page chrome. */
.photo-dialog.dp-photo-viewer{background:#050506}
.dp-photo-viewer .pv-top{display:grid;grid-template-columns:1fr auto 1fr;gap:0;padding:calc(12px + env(safe-area-inset-top)) 14px 6px}
.dp-photo-viewer .pv-close{justify-self:start;height:36px;min-height:36px;padding:0 14px 0 10px;border:0;border-radius:18px;font-size:13px;font-weight:700;backdrop-filter:blur(10px)}
.dp-photo-viewer .pv-close svg{width:18px;height:18px}
.dp-photo-viewer svg{stroke:#fff}
.dp-photo-viewer .pv-btn-save-cur svg{stroke:#000;width:18px;height:18px}
.dp-photo-viewer .pv-btn-block svg{width:18px;height:18px}
.dp-photo-viewer .pv-title-wrap{min-width:0;max-width:42vw}
.dp-photo-viewer .pv-count{letter-spacing:.02em}
.dp-photo-viewer .pv-post-title{max-width:100%;color:rgba(255,255,255,.55);margin-top:2px;font-size:11px}
.dp-photo-viewer .pv-original{justify-self:end;height:34px;padding:0 6px 0 12px;border-radius:17px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.dp-photo-viewer .pv-original>span{font-size:12px}
.dp-photo-viewer .pv-switch-track{width:34px;height:20px}
.dp-photo-viewer .pv-switch-thumb{width:16px;height:16px}
.dp-photo-viewer .pv-original input:checked + .pv-switch-track{background:#1b64da}
.dp-photo-viewer .pv-original input:checked + .pv-switch-track .pv-switch-thumb{transform:translateX(14px)}
.dp-photo-viewer .pv-prev,.dp-photo-viewer .pv-next{width:46px;height:46px;backdrop-filter:blur(10px);border-color:rgba(255,255,255,.18)}
.dp-photo-viewer .pv-prev{left:10px}.dp-photo-viewer .pv-next{right:10px}
.dp-photo-viewer .pv-prev svg,.dp-photo-viewer .pv-next svg{width:22px;height:22px}
.dp-photo-viewer .pv-zoom{height:40px;bottom:14px;padding:0 4px;gap:0;border:0;background:rgba(20,20,22,.7);border-radius:20px}
.dp-photo-viewer .pv-zoom[hidden],.dp-photo-viewer [hidden]{display:none!important}
.dp-photo-viewer .pv-zoom button{width:34px;height:34px;padding:0;font-size:18px;font-weight:400}
.dp-photo-viewer .pv-zoom button[data-zoom=reset]{min-width:52px;font-size:12px;font-weight:700}
.dp-photo-viewer .pv-bottom{padding:12px 16px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.dp-photo-viewer .pv-actions{gap:10px}.dp-photo-viewer .pv-left-actions{gap:6px}.dp-photo-viewer .pv-right-actions{gap:8px}
.dp-photo-viewer .pv-btn-block,.dp-photo-viewer .pv-btn-viewpost{height:46px;min-height:46px;padding:0 14px;border-radius:12px;white-space:nowrap;font-size:14px;font-weight:600;color:rgba(255,255,255,.85)}
.dp-photo-viewer .pv-btn-save-all,.dp-photo-viewer .pv-btn-save-cur{height:46px;min-height:46px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:700;white-space:nowrap}
.dp-photo-viewer .pv-btn-save-all{border:1.5px solid rgba(255,255,255,.55);background:transparent}
.dp-photo-viewer .pv-btn-save-cur{padding:0 20px;color:#000;gap:7px}
.dp-photo-viewer .pv-hint{margin:0;font-size:11px;color:rgba(255,255,255,.4)}
.dp-photo-viewer .pv-save-status,.dp-photo-viewer .pv-save-controls,.dp-photo-viewer .pv-failures{margin-top:0}
.dp-photo-viewer .pv-video{width:100%;height:100%;object-fit:contain;display:block}
.dp-photo-viewer .pv-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:0;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff}
.dp-photo-viewer .pv-video-play svg{width:30px;height:30px}
.dp-photo-viewer .pv-video-controls{position:absolute;left:18px;right:18px;bottom:12px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}
.dp-photo-viewer .pv-video-controls input{flex:1;min-width:0;height:3px;accent-color:#fff}
.dp-photo-viewer .pv-video-controls button{border:0;background:rgba(20,20,22,.7);color:#fff;border-radius:12px;padding:6px;font-size:11px}
@media(max-width:390px){.dp-photo-viewer:not(.pv-from-post) .pv-btn-block,.dp-photo-viewer:not(.pv-from-post) .pv-btn-viewpost{padding:0 8px}.dp-photo-viewer:not(.pv-from-post) .pv-btn-save-all,.dp-photo-viewer:not(.pv-from-post) .pv-btn-save-cur{padding:0 12px}.dp-photo-viewer:not(.pv-from-post) .pv-actions{gap:4px}.dp-photo-viewer:not(.pv-from-post) .pv-left-actions{gap:0}}

/* Prototype18 media viewer. Existing gesture, image sizing and save logic are retained. */
html.p18-exact .photo-dialog.dp-photo-viewer{background:#050506}
html.p18-exact .dp-photo-viewer .pv-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 6px}
html.p18-exact .dp-photo-viewer .pv-close{justify-self:start;height:36px;min-height:36px;padding:0 14px 0 10px;border:0;border-radius:18px;font-size:13px;font-weight:700;backdrop-filter:blur(10px)}
html.p18-exact .dp-photo-viewer .pv-close svg{width:18px;height:18px}
html.p18-exact .dp-photo-viewer .pv-title-wrap{min-width:0;max-width:62vw}
html.p18-exact .dp-photo-viewer .pv-count{font-size:14px;font-weight:700;letter-spacing:.02em;line-height:normal}
html.p18-exact .dp-photo-viewer .pv-post-title{max-width:100%;font-size:11px;color:rgba(255,255,255,.55);margin-top:2px;font-weight:400}
html.p18-exact .dp-photo-viewer .pv-original{justify-self:end;gap:8px;height:34px;padding:0 6px 0 12px;border-radius:17px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
html.p18-exact .dp-photo-viewer .pv-original>span{font-size:12px;font-weight:600}
html.p18-exact .dp-photo-viewer .pv-switch-track{width:34px;height:20px;flex:none}
html.p18-exact .dp-photo-viewer .pv-switch-thumb{width:16px;height:16px;box-shadow:0 1px 3px rgba(0,0,0,.4)}
html.p18-exact .dp-photo-viewer .pv-original input:checked + .pv-switch-track .pv-switch-thumb{transform:translateX(14px)}
html.p18-exact .dp-photo-viewer :is(.pv-prev,.pv-next){width:46px;height:46px;border:0;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);backdrop-filter:blur(10px)}
html.p18-exact .dp-photo-viewer .pv-prev{left:10px}html.p18-exact .dp-photo-viewer .pv-next{right:10px}
html.p18-exact .dp-photo-viewer .pv-zoom{bottom:calc(var(--pv-footer-height,116px) + 12px);height:40px;padding:0 4px;gap:0;border:0;border-radius:20px;background:rgba(20,20,22,.7);backdrop-filter:blur(10px)}
html.p18-exact .dp-photo-viewer .pv-zoom button{width:34px;height:34px;min-height:34px;padding:0;font-size:18px;color:rgba(255,255,255,.85)}
html.p18-exact .dp-photo-viewer .pv-zoom button[data-zoom=reset]{width:52px;min-width:52px;font-size:12px;font-weight:700;color:#fff}
html.p18-exact .dp-photo-viewer .pv-bottom{display:flex;flex-direction:column;gap:10px;padding:12px 16px calc(10px + env(safe-area-inset-bottom,0px))}
html.p18-exact .dp-photo-viewer .pv-actions{gap:10px}
html.p18-exact .dp-photo-viewer .pv-left-actions{gap:6px}
html.p18-exact .dp-photo-viewer :is(.pv-btn-block,.pv-btn-viewpost){display:flex;align-items:center;justify-content:center;gap:6px;height:46px;min-height:46px;padding:0 14px;border-radius:12px;font-size:14px;font-weight:600;color:rgba(255,255,255,.85)}
html.p18-exact .dp-photo-viewer .pv-right-actions{gap:8px}
html.p18-exact .dp-photo-viewer :is(.pv-btn-save-all,.pv-btn-save-cur){height:46px;min-height:46px;padding:0 18px;border:0;border-radius:12px;font-size:14px;font-weight:700;white-space:nowrap}
html.p18-exact .dp-photo-viewer .pv-btn-save-all{background:none;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
html.p18-exact .dp-photo-viewer .pv-btn-save-cur{padding:0 20px;background:#fff;color:#000;gap:7px}
html.p18-exact .dp-photo-viewer .pv-hint{margin:0;font-size:11px;color:rgba(255,255,255,.4);letter-spacing:normal;line-height:normal}

html.p18-exact .photo-dialog.dp-photo-viewer{left:max(1px,calc((100vw - 1320px)/2 + 1px));right:max(1px,calc((100vw - 1320px)/2 + 1px))}


/* Source: /js/site-ui/post-menu-popover.css */
html:root body .sheetbg.post-more-sheet:is(#sheetbg,.closing){--popover-safe-top:env(safe-area-inset-top,0px);--popover-safe-right:env(safe-area-inset-right,0px);--popover-safe-bottom:env(safe-area-inset-bottom,0px);--popover-safe-left:env(safe-area-inset-left,0px);background:transparent;animation:none;align-items:initial;justify-content:initial}
html:root body .sheetbg.post-more-sheet:is(#sheetbg,.closing)>.sheet{position:fixed;inset:auto;left:var(--more-left);top:var(--more-top);width:var(--more-width);max-width:none;max-height:var(--more-height);margin:0;padding:6px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 26px #0002;transform-origin:top right;animation:post-popover-enter .15s ease-out;box-sizing:border-box}
/* Reveal the complete menu together after ownership determines its actions. */
html:root body #sheetbg.post-more-sheet.post-more-pending{visibility:hidden!important;pointer-events:none!important}
.post-more-sheet .grab,.post-more-sheet .post-more-head{display:none}
.post-more-sheet .mgroup{padding:0}
.post-more-sheet .mrow{display:flex;align-items:center;gap:10px;min-height:44px;width:100%;padding:10px 12px!important;border-radius:8px;text-align:left;font-size:14px;line-height:1.4}
.post-more-sheet .mrow svg{width:20px;height:20px;flex:none}
.post-more-sheet .mrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.post-more-sheet .post-more-separator{height:1px;background:var(--line);margin:5px 6px}
.sheetbg.post-more-sheet.closing{pointer-events:none;opacity:0;transition:opacity .1s}
.post-more-sheet.closing>.sheet{animation:none;transform:translateY(-3px) scale(.98);transition:transform .1s}
@keyframes post-popover-enter{from{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.post-more-handle{display:none}
html:root body .sheetbg.post-more-sheet.post-more-bottom:is(#sheetbg,.closing){background:rgba(0,0,0,.2);animation:post-sheet-dim .2s ease-out}
html:root body .sheetbg.post-more-sheet.post-more-bottom:is(#sheetbg,.closing)>.sheet{top:auto;bottom:var(--more-bottom,0px);padding:4px 10px max(12px,env(safe-area-inset-bottom));border-bottom:0;border-radius:20px 20px 0 0;transform-origin:bottom center;animation:post-sheet-enter .2s cubic-bezier(.2,.8,.2,1)}
.post-more-bottom .post-more-handle{display:block;width:32px;height:4px;margin:8px auto 10px;border-radius:999px;background:var(--line)}
html:root body .sheetbg.post-more-sheet.post-more-bottom.closing>.sheet{animation:none;transform:translateY(100%);transition:transform .18s ease-in}
@keyframes post-sheet-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes post-sheet-dim{from{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.2)}}
@media(prefers-reduced-motion:reduce){html:root body .sheetbg.post-more-sheet,html:root body .sheetbg.post-more-sheet>.sheet{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* End generated bundle. */
