:root{--bg:#f2ece2;--surface:#faf6ef;--surface-2:#ebe3d6;--ink:#1b1714;--ink-soft:#3a332d;--muted:#6e655b;--line:#d8cdbd;--accent:#a62a1c;--accent-ink:#fff6ee;--gold:#9a6d12;--gold-bg:#f6e8c4;--ok:#2f6b3f;--shadow:0 1px 0 rgba(0,0,0,.04),0 12px 32px -18px rgba(40,25,10,.35);--radius:14px;--f-display:"Cormorant Garamond","Times New Roman",serif;--f-ui:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif;--f-read:"Literata",Georgia,serif;--wrap:1180px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12100e;--surface:#1a1714;--surface-2:#231f1b;--ink:#ede5d8;--ink-soft:#cfc5b6;--muted:#978c7f;--line:#322c26;--accent:#e2533d;--accent-ink:#1a0b07;--gold:#e0b252;--gold-bg:#2e2412;--ok:#7cc28e;--shadow:0 14px 40px -20px rgba(0,0,0,.8);color-scheme:dark}}:root[data-theme=dark]{--bg:#12100e;--surface:#1a1714;--surface-2:#231f1b;--ink:#ede5d8;--ink-soft:#cfc5b6;--muted:#978c7f;--line:#322c26;--accent:#e2533d;--accent-ink:#1a0b07;--gold:#e0b252;--gold-bg:#2e2412;--ok:#7cc28e;--shadow:0 14px 40px -20px rgba(0,0,0,.8);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.4 0 0 0 0 0.3 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}footer,header,main{position:relative;z-index:1}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 50%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 50%,transparent);text-underline-offset:3px}a:hover{color:var(--accent)}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 16px}@media (min-width:720px){.wrap{padding:0 32px}}.narrow{max-width:720px}.display{font-family:var(--f-display);font-weight:600;line-height:1.02;letter-spacing:-.01em;margin:0}.display em{font-style:italic;color:var(--accent);font-weight:500}h1.display{font-size:clamp(2.6rem,7vw,5.6rem)}h2.display{font-size:clamp(2rem,4.2vw,3.2rem)}h3.display{font-size:1.6rem}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.eyebrow,.muted{color:var(--muted)}.lead{font-size:1.15rem;color:var(--ink-soft);max-width:46ch}.num{font-family:var(--f-display);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.site-header .wrap{gap:16px;height:64px}.brand,.site-header .wrap{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-family:var(--f-display);font-size:1.5rem;font-weight:700}.brand:hover{color:var(--ink)}.seal{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--accent);color:var(--accent-ink);font-family:var(--f-display);font-weight:700;font-size:.78rem;letter-spacing:.02em;border-radius:6px;transform:rotate(-6deg);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-ink) 35%,transparent)}.seal.lg{width:92px;height:92px;font-size:1.9rem;border-radius:14px}.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav a{text-decoration:none;padding:8px 12px;border-radius:999px;font-size:.92rem;color:var(--ink-soft);white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{background:var(--surface-2);color:var(--ink)}.nav .vip-link{color:var(--gold);font-weight:600}.icon-btn{background:none;border:1px solid var(--line);color:var(--ink);width:38px;height:38px;border-radius:999px;cursor:pointer;display:grid;place-items:center}.icon-btn:hover{border-color:var(--ink)}.nav-mobile{display:none}@media (max-width:1140px){.nav .hide-sm{display:none}.nav-mobile{display:flex;gap:6px;overflow-x:auto;padding:8px 16px 10px;border-top:1px solid var(--line);scrollbar-width:none}.nav-mobile a{text-decoration:none;font-size:.85rem;padding:6px 12px;border:1px solid var(--line);border-radius:999px;white-space:nowrap}}.btn{--b:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid var(--b);background:var(--b);color:var(--bg);font:600 .95rem var(--f-ui);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px);color:var(--bg)}.btn.accent{--b:var(--accent);color:var(--accent-ink)}.btn.gold{--b:var(--gold);color:var(--bg)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink);color:var(--ink)}.btn.sm{padding:7px 14px;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft)}input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:110px}.field{margin-bottom:16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid-2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}@media (min-width:640px){.grid-2{grid-template-columns:1fr 1fr}}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.error{color:var(--accent)}.error,.success{font-size:.9rem;margin:8px 0}.success{color:var(--ok)}.section{padding:72px 0}.wrap.section{padding-left:16px;padding-right:16px}.section+.section{border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:32px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.tag.vip{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}.tag.red{border-color:var(--accent);color:var(--accent)}.hero{padding:64px 0 80px;display:grid;grid-gap:48px;gap:48px;align-items:center;grid-template-columns:1fr}@media (min-width:960px){.hero{grid-template-columns:1.25fr 1fr;padding:96px 0 112px}}.hero-side{position:relative;display:flex;justify-content:center}.hero .rail{writing-mode:vertical-rl;position:absolute;right:-8px;top:0;font-size:.7rem;letter-spacing:.3em;color:var(--muted);text-transform:uppercase}@media (max-width:960px){.hero .rail{display:none}}.cover{--h:10;aspect-ratio:2/3;border-radius:6px 12px 12px 6px;position:relative;overflow:hidden;padding:22px 18px;display:flex;flex-direction:column;justify-content:space-between;color:hsl(var(--h) 40% 94%);background:radial-gradient(120% 70% at 80% 10%,hsl(var(--h) 70% 55%/.55),transparent 60%),radial-gradient(90% 60% at 0 100%,hsl(calc(var(--h) + 30) 60% 25%/.9),transparent 70%),linear-gradient(160deg,hsl(var(--h) 45% 22%),hsl(calc(var(--h) - 10) 50% 9%));box-shadow:inset 6px 0 0 rgba(0,0,0,.25),inset 8px 0 0 rgba(255,255,255,.06),0 24px 40px -22px rgba(0,0,0,.6)}.cover:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 7px,rgba(255,255,255,.025) 7px 8px)}.cover .c-genre{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;opacity:.8;position:relative;z-index:1}.cover .c-title{font-family:var(--f-display);font-size:clamp(1.4rem,3vw,2rem);line-height:1;font-weight:600;position:relative;z-index:1}.cover .c-foot{display:flex;justify-content:space-between;align-items:end;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;opacity:.85;position:relative;z-index:1}.cover .seal{width:26px;height:26px;font-size:.6rem;background:hsl(4 70% 45%);color:#fff2ea}.cover.hero-cover{width:min(320px,78vw);transform:rotate(2.5deg)}.cover.hero-cover+.cover{position:absolute;width:min(250px,60vw);left:4%;top:22%;transform:rotate(-8deg);z-index:-1;filter:saturate(.8) brightness(.9)}.works-grid{display:grid;grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.work-card{text-decoration:none;display:grid;grid-gap:14px;gap:14px}.work-card:hover .cover{transform:translateY(-4px) rotate(-1deg)}.work-card .cover{transition:transform .25s}.work-card h3{margin:0;font-family:var(--f-display);font-size:1.5rem;line-height:1.1}.list{border-top:1px solid var(--line)}.list-row{display:grid;grid-template-columns:64px 1fr auto;grid-gap:16px;gap:16px;align-items:baseline;padding:18px 4px;border-bottom:1px solid var(--line);text-decoration:none}.list-row:hover{background:var(--surface)}.list-row .idx{font-family:var(--f-display);font-size:1.8rem;color:var(--muted);line-height:1}.list-row .t{font-weight:600}.list-row .meta{font-size:.82rem;color:var(--muted);text-align:right}@media (max-width:560px){.list-row{grid-template-columns:44px 1fr}.list-row .meta{grid-column:2;text-align:left}}.lock{color:var(--muted)}.progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:50;width:0}.reader{--rs:1.18rem;font-family:var(--f-read);font-size:var(--rs);line-height:1.85;color:var(--ink)}.reader p{margin:0 0 1.15em}.reader blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--accent);font-style:italic;color:var(--ink-soft)}.reader h2{font-family:var(--f-display);font-size:1.9rem;margin:1.6em 0 .5em;line-height:1.1}.reader>p:first-of-type:first-letter{font-family:var(--f-display);float:left;font-size:4.2em;line-height:.8;padding:.06em .1em 0 0;color:var(--accent);font-weight:600}.prose>p:first-of-type:first-letter{all:unset}.reader-tools{display:flex;gap:8px;align-items:center}.chapter-nav{display:grid;grid-gap:12px;gap:12px;margin:48px 0}.chapter-nav a{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none}.chapter-nav a:hover{border-color:var(--accent)}.chapter-nav .next{text-align:right;grid-column:2}.ribbon{display:inline-flex;gap:8px;align-items:center;background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold);padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:600}.locked-box{text-align:center;padding:48px 24px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.fade-teaser{position:relative;max-height:220px;overflow:hidden}.fade-teaser:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,var(--bg))}.donate{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr;align-items:center;border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--surface);position:relative;overflow:hidden}@media (min-width:720px){.donate{grid-template-columns:1.2fr 1fr;padding:36px}}.donate:before{content:"VĂN";position:absolute;right:-20px;bottom:-40px;font-family:var(--f-display);font-size:10rem;font-weight:700;color:var(--accent);opacity:.05;pointer-events:none}.amounts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.amounts button{font:600 .9rem var(--f-ui);padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.amounts button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.qr-frame{background:#fff;border-radius:16px;padding:14px;width:min(100%,280px);margin:0 auto;box-shadow:var(--shadow)}.qr-frame img{width:100%;height:auto;aspect-ratio:1/1.12;object-fit:contain}.bank-lines{font-size:.88rem;display:grid;grid-gap:4px;gap:4px;margin-top:12px}.bank-lines b{font-family:ui-monospace,monospace;letter-spacing:.02em}.copy{background:none;border:0;color:var(--accent);cursor:pointer;font:600 .78rem var(--f-ui);padding:0 4px}.comments{margin-top:56px}.comment{padding:18px 0;border-top:1px solid var(--line)}.comment .who{display:flex;gap:10px;align-items:center;font-size:.9rem}.comment .who b{font-weight:600}.comment .body{margin-top:6px;white-space:pre-wrap;word-wrap:break-word;color:var(--ink-soft)}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:var(--surface-2);color:var(--muted);flex:none}.comment.vip{border:1px solid var(--gold);border-radius:var(--radius);padding:18px 20px;margin:12px 0;background:linear-gradient(135deg,var(--gold-bg),transparent 70%)}.comment.vip .avatar{background:var(--gold);color:var(--bg)}.comment.vip .body{font-size:1.08rem;font-weight:500;color:var(--ink);text-shadow:0 0 18px color-mix(in srgb,var(--gold) 35%,transparent)}.comment.vip b:not([class*=fx-name-]){background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 50%,var(--accent)));-webkit-background-clip:text;background-clip:text;color:transparent}.comment.staff{border-left:3px solid var(--accent);padding-left:16px}.comment.staff .avatar{background:var(--accent);color:var(--accent-ink)}.plans{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.plan{position:relative}.plan.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow)}.plan .price{font-family:var(--f-display);font-size:2.6rem;font-weight:600;line-height:1;margin:12px 0 4px}.perks{list-style:none;padding:0;margin:0;display:grid;grid-gap:14px;gap:14px}.perks li{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px}.perks li span:first-child{color:var(--gold);font-family:var(--f-display);font-size:1.4rem;line-height:1}.products{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}@media (min-width:1000px){#trung-bay .products{grid-template-columns:repeat(3,1fr)}}@media (min-width:1180px){#trung-bay .products{grid-template-columns:repeat(6,1fr)}}.product{display:flex;flex-direction:column;gap:8px;padding:12px}.product .swatch{aspect-ratio:3/4;height:auto;max-height:220px;border-radius:8px;background:linear-gradient(135deg,hsl(var(--h) 45% 30%),hsl(calc(var(--h) + 40) 50% 14%));display:flex;align-items:end;padding:10px;color:#fff;font-family:var(--f-display);font-size:1.05rem;line-height:1.15}.product-meta{display:flex;justify-content:space-between;gap:6px;font-size:.74rem;color:var(--muted);flex-wrap:wrap}.product-meta code{font-size:.7rem}.product-desc{margin:0;font-size:.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:auto;flex-wrap:wrap}.product-foot .num{font-size:1.15rem}.product-foot .btn.sm{padding:5px 12px;font-size:.78rem}.shop-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.shop-cats,.shop-head{display:flex;flex-wrap:wrap}.chip,.shop-cats{gap:6px}.chip{display:inline-flex;align-items:center;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;text-decoration:none;color:var(--ink);background:var(--surface)}.chip span{font-size:.72rem;color:var(--muted)}.chip:hover{border-color:var(--ink-soft)}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.on span{color:inherit;opacity:.7}.chat{display:flex;flex-direction:column;height:min(70vh,640px);border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}.chat-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-body{flex:1 1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:80%;padding:10px 14px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word;font-size:.95rem}.bubble.me{align-self:flex-end;background:var(--ink);color:var(--bg);border-bottom-right-radius:4px}.bubble.them{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}.bubble small{display:block;opacity:.6;font-size:.7rem;margin-top:4px}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-form textarea{min-height:44px;height:44px}.fab{position:fixed;right:16px;bottom:16px;z-index:40;box-shadow:0 12px 30px -10px rgba(0,0,0,.5)}.site-footer{border-top:1px solid var(--line);padding:56px 0 96px;margin-top:40px;font-size:.9rem}.site-footer .cols{display:grid;grid-gap:32px;gap:32px;grid-template-columns:1fr}@media (min-width:720px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr}}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px}.site-footer a{text-decoration:none;color:var(--muted)}.admin-nav{display:flex;gap:6px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:28px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.table-wrap{overflow-x:auto}.stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));margin-bottom:32px}.stats .card{padding:18px}.stats .n{font-family:var(--f-display);font-size:2.4rem;line-height:1}.badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent)}body[data-paper=white]{--bg:#fbfbf9;--surface:#ffffff;--surface-2:#f0f0ec;--ink:#1c1c1a;--ink-soft:#3a3a36;--muted:#6d6d67;--line:#e4e3dd;--accent:#a62a1c;--accent-ink:#fff6ee;--gold:#93660d;--gold-bg:#f8eccd;color-scheme:light}body[data-paper=old]{--bg:#e9dcc0;--surface:#f1e5cb;--surface-2:#dfcda9;--ink:#3a2c1e;--ink-soft:#4b3a28;--muted:#7a6649;--line:#d0bb93;--accent:#9b3a1f;--accent-ink:#fbf0dc;--gold:#8a5d0c;--gold-bg:#ecd9a8;color-scheme:light}body[data-paper=green]{--bg:#d5e6d1;--surface:#e2eedf;--surface-2:#c5dbc1;--ink:#1d2a1c;--ink-soft:#2f3f2d;--muted:#566a53;--line:#b5ccb0;--accent:#9a3324;--accent-ink:#f6fbf4;--gold:#7a5a0e;--gold-bg:#e9e2b8;color-scheme:light}body[data-paper=dark]{--bg:#12100e;--surface:#1a1714;--surface-2:#231f1b;--ink:#e6dfd2;--ink-soft:#c8beaf;--muted:#958a7d;--line:#322c26;--accent:#e2533d;--accent-ink:#1a0b07;--gold:#e0b252;--gold-bg:#2e2412;color-scheme:dark}body[data-paper=green]:before,body[data-paper=white]:before{opacity:.12}body[data-paper=old]:before{opacity:.7}body[data-paper=old] .site-footer,body[data-paper=old] .site-header{background:color-mix(in srgb,var(--bg) 90%,transparent)}body{transition:background-color .25s,color .25s}.paper-picker{display:flex;gap:6px;align-items:center}.paper-picker button{width:30px;height:30px;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 3px var(--bg);padding:0}.paper-picker button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.paper-picker .lbl{font-size:.75rem;color:var(--muted);margin-right:2px}.reader-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media (max-width:560px){.paper-picker .lbl{display:none}}.player{display:flex;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.player .play{flex:none;width:54px;height:54px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px -10px var(--accent)}.player .play:disabled{opacity:.4}.player.compact .play{width:44px;height:44px}.p-main{flex:1 1;min-width:0}.p-title{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-seek{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;padding:0;border:0;margin:10px 0 6px;cursor:pointer;background:linear-gradient(to right,var(--accent) var(--p),var(--surface-2) var(--p))}.p-seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--surface)}.p-seek::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--surface)}.p-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem}.p-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.p-ctrl{display:flex;gap:4px}.p-ctrl button{font:600 .75rem var(--f-ui);background:transparent;color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;padding:3px 9px;cursor:pointer;min-width:44px}.p-ctrl button:hover{border-color:var(--ink)}.listen-hero{display:grid;grid-gap:40px;gap:40px;grid-template-columns:1fr;align-items:center}@media (min-width:900px){.listen-hero{grid-template-columns:1.3fr 1fr}}.wave{display:flex;gap:5px;align-items:center;height:140px;justify-content:center}.wave i{width:8px;border-radius:99px;background:var(--accent);opacity:.85;animation:wv 1.6s ease-in-out infinite}@keyframes wv{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.wave i{animation:none}}.episodes{display:grid;grid-gap:20px;gap:20px}.episode{display:grid;grid-gap:12px;gap:12px}.episode-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap}.episode h3{margin:0;font-family:var(--f-display);font-size:1.5rem;line-height:1.15}.chapter-audio{margin:-12px 0 40px}.upload-zone{border:1.5px dashed var(--line);border-radius:14px;padding:18px;background:var(--bg)}.upload-zone.drag{border-color:var(--accent)}.bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:8px}.bar>i{display:block;height:100%;background:var(--accent)}.ch-nav-top{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center;margin-top:24px;padding:10px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.ch-select{border-radius:999px;padding:8px 14px;font-size:.88rem;background:var(--bg);min-width:0;text-overflow:ellipsis}.chapter-nav{grid-template-columns:1fr 1fr}.chapter-nav .ch-jump-bottom{grid-column:1/-1;display:flex;gap:10px;align-items:center}.chapter-nav .ch-jump-bottom .ch-select{flex:1 1}.end-mark{text-align:center;font-family:var(--f-display);font-size:2rem;color:var(--accent);margin:32px 0 0}.resume-btn{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:45;box-shadow:var(--shadow)}.resume-btn:hover{transform:translateX(-50%) translateY(-1px)}.is-read,a.is-read{opacity:.5}.is-read .ch-t,.is-read .rec-t,.is-read .t{font-weight:400;text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb,var(--muted) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--muted) 45%,transparent)}.is-read:hover{opacity:.85}.is-unread .ch-t,.is-unread .rec-t,.is-unread .t{font-weight:700;color:var(--ink)}.is-unread .ch-t:after,.is-unread .rec-t:after,.is-unread .t:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:8px;vertical-align:middle;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.is-reading .ch-t,.is-reading .rec-t,.is-reading .t,.read-label{font-weight:600}.read-label{font-size:.75rem;color:var(--muted)}.is-reading .read-label{color:var(--gold)}.mini-bar{display:block;height:3px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:6px;max-width:160px}.mini-bar>i{display:block;height:100%;background:var(--gold)}.recs{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}.recs-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}.rec{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;transition:border-color .15s,transform .15s}.rec:hover{border-color:var(--accent);transform:translateY(-2px);color:inherit}.rec .eyebrow{font-size:.62rem}.rec-t{font-family:var(--f-display);font-size:1.25rem;line-height:1.15;font-weight:600}.rec-sub{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rec-meta{margin-top:auto;font-size:.78rem}.av{--av:32px;position:relative;width:var(--av);height:var(--av);flex:none;display:inline-grid;place-items:center}.av,.av-in{border-radius:50%}.av-in{width:100%;height:100%;display:grid;place-items:center;font-weight:700;font-size:calc(var(--av) * .4);background:var(--surface-2);color:var(--muted);position:relative;z-index:1}.av-vip .av-in{background:var(--gold);color:var(--bg)}.av[class*=fx-frame-] .av-in{width:calc(100% - 6px);height:calc(100% - 6px)}.av[class*=fx-frame-]:before{content:"";position:absolute;inset:0;border-radius:50%}.fx-frame-gold-thin:before{background:linear-gradient(135deg,#f3d27a,#9a6d12,#f3d27a)}.fx-frame-ink-ring:before{background:conic-gradient(from 0deg,#a62a1c,#e2533d,transparent 40%,#a62a1c 60%,#5b1209,#a62a1c);animation:spin 4s linear infinite}.fx-frame-halo:before{background:radial-gradient(circle,#ffe9a8 55%,#d8a842 70%,transparent 72%);animation:halo 2.4s ease-in-out infinite}.fx-frame-rain:before{background:conic-gradient(#1d4e6b,#4fa3c7,#a9e0f0,#1d4e6b,#4fa3c7,#1d4e6b);animation:spin 6s linear infinite reverse;filter:blur(.3px)}.fx-frame-seal{border-radius:8px}.fx-frame-seal:before{border-radius:8px!important;background:#a62a1c;box-shadow:inset 0 0 0 2px #f6d5c8;animation:sway 3s ease-in-out infinite}.fx-frame-seal .av-in{border-radius:6px;background:#fff3ec;color:#a62a1c}@keyframes spin{to{transform:rotate(1turn)}}@keyframes halo{0%,to{box-shadow:0 0 6px 1px rgba(216,168,66,.55)}50%{box-shadow:0 0 16px 5px rgba(216,168,66,.85)}}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(4deg)}}.title-badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:999px;white-space:nowrap}.fx-title-plain{border:1px solid var(--gold);color:var(--gold)}.fx-title-night{background:linear-gradient(90deg,#1b2240,#3b2d6b);color:#e3dcff;box-shadow:0 0 10px -2px #6b5bd6}.fx-title-detective{background:#2b2420;color:#f1d8a4;border:1px dashed #c79a4b}.fx-title-lighthouse{background:linear-gradient(110deg,#9a6d12,#f9e29a 45%,#9a6d12 55%,#f3d27a);background-size:250% 100%;color:#3a2606;animation:shine 3s linear infinite}.fx-title-bookworm{background:linear-gradient(90deg,#2f6b3f,#6aa84f);color:#f2ffe9}@keyframes shine{to{background-position:-250% 0}}.fx-name-gold-shimmer{background:linear-gradient(110deg,#9a6d12,#ffe39a 40%,#9a6d12 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shine 2.6s linear infinite}.fx-name-ink-flow{background:linear-gradient(90deg,#a62a1c,#6b2fa0,#a62a1c);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shine 4s linear infinite}.fx-name-glow{color:#d8a842!important;text-shadow:0 0 6px rgba(216,168,66,.8),0 0 14px rgba(216,168,66,.45);animation:flick 3s ease-in-out infinite}@keyframes flick{0%,to{text-shadow:0 0 6px rgba(216,168,66,.8),0 0 14px rgba(216,168,66,.45)}50%{text-shadow:0 0 2px rgba(216,168,66,.5),0 0 6px rgba(216,168,66,.2)}}.sig{font-family:Dancing Script,cursive;font-size:1.35rem;margin-top:8px;text-align:right;line-height:1.2}.fx-sig-brush{color:var(--ink);text-shadow:1px 1px 0 color-mix(in srgb,var(--bg) 70%,transparent),2px 2px 3px rgba(0,0,0,.18)}.fx-sig-violet{color:#5b2a91;text-shadow:0 1px 0 #fff8,0 -1px 0 #0003,2px 3px 4px rgba(91,42,145,.3)}:root[data-theme=dark] .fx-sig-violet,body[data-paper=dark] .fx-sig-violet{color:#b993f0}.fx-sig-gilded{background:linear-gradient(110deg,#9a6d12,#ffe39a 40%,#b8860b 60%,#ffe39a);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3.5s linear infinite;filter:drop-shadow(1px 2px 1px rgba(0,0,0,.25))}@media (prefers-reduced-motion:reduce){[class*=fx-],[class*=fx-]:before{animation:none!important}}.cos-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.cos{display:flex;flex-direction:column;gap:10px}.cos-stage{min-height:120px;border-radius:12px;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;padding:16px;text-align:center}.cos-stage .who{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.cos.owned{border-color:var(--gold)}.cos h4{margin:0;font-size:1rem}.cos-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.wardrobe-preview{padding:20px;border:1px solid var(--gold);border-radius:var(--radius);background:linear-gradient(135deg,var(--gold-bg),transparent 70%)}.shelf-row{display:grid;grid-template-columns:96px 1fr;grid-gap:20px;gap:20px;align-items:start}.shelf-cover .cover{padding:10px 8px}.shelf-cover .cover .c-title{font-size:.95rem}.shelf-cover .cover .c-foot,.shelf-cover .cover .c-genre{display:none}.comment .who,.who{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.comment p .who,p .who{display:inline-flex;vertical-align:middle;margin:0 6px}.comm-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.comm{--pc:var(--accent);display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--pc)}.comm-vip{border-color:var(--gold);border-top-color:var(--gold);background:linear-gradient(160deg,var(--gold-bg),var(--surface) 55%)}.comm-head{display:flex;gap:12px;align-items:center}.comm-icon{width:44px;height:44px;border-radius:12px;background:var(--pc);color:#fff;display:grid;place-items:center;font:700 1.3rem var(--f-ui);flex:none}.comm-name{margin:0;font-family:var(--f-display);font-size:1.45rem;line-height:1.1}.comm-foot{margin-top:auto;display:flex;gap:14px;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px dashed var(--line)}.comm-qr{width:104px;height:104px;background:#fff;padding:6px;border-radius:10px;flex:none;object-fit:contain}.comm-qr svg{width:100%;height:100%;display:block}.comm-btn{--b:var(--pc)}.comm-btn,.comm-btn:hover{color:#fff}.comm-lock{display:flex;gap:12px;align-items:center}.comm-strip{display:flex;gap:10px;flex-wrap:wrap}.comm-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 14px 6px 6px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.88rem;background:var(--surface)}.comm-chip .comm-icon{width:28px;height:28px;border-radius:50%;font-size:.85rem}@media (max-width:400px){.comm-qr{width:84px;height:84px}}.nav a.login-btn{color:var(--bg);background:var(--ink);padding:7px 16px}.nav a.login-btn:hover{background:var(--accent);color:var(--accent-ink)}@media (max-width:420px){.nav .hide-xs{display:none}}.role-admin{color:#c0221a!important;font-weight:700}.role-writer{color:#183f8c!important;font-weight:700}:root[data-theme=dark] .role-writer,body[data-paper=dark] .role-writer{color:#7ea6ff!important}:root[data-theme=dark] .role-admin,body[data-paper=dark] .role-admin{color:#ff6b5e!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body:not([data-paper]) .role-writer{color:#7ea6ff!important}:root:not([data-theme=light]) body:not([data-paper]) .role-admin{color:#ff6b5e!important}}.role-tag-admin{border-color:#c0221a;color:#c0221a}.role-tag-writer{border-color:#183f8c;color:#183f8c}.comment.writer{border-left:3px solid #183f8c;padding-left:16px}.comment.writer .avatar{background:#183f8c;color:#fff}.comment.admin{border-left:3px solid #c0221a;padding-left:16px}.comment.admin .avatar{background:#c0221a;color:#fff}.byline{font-size:.9rem;color:var(--muted)}.status-tag{font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:999px}.status-hidden{background:#fff1c2;color:#7a5a00}.status-deleted{background:#fde0dc;color:#a62a1c}.status-published{background:#e1f1e4;color:#2f6b3f}.seal{font-size:.62rem;letter-spacing:0}.seal.lg{font-size:1.6rem}.team-grid{display:flex;flex-wrap:wrap;gap:8px}.team-chip{display:inline-flex;gap:6px;align-items:center;padding:5px 12px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.85rem;text-decoration:none}.team-chip .avatar{width:26px;height:26px;font-size:.68rem;letter-spacing:-.02em}.cover.has-img{padding:0;background:#222}.cover.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover.has-img:after{background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.08) 3%,transparent 7%),linear-gradient(transparent 60%,rgba(0,0,0,.05))}.chapter-art{margin:0 0 44px;text-align:center}.chapter-art img{width:100%;height:auto;max-height:min(68vh,620px);object-fit:contain;border-radius:10px;box-shadow:0 18px 40px -26px rgba(0,0,0,.55);background:var(--surface-2)}.chapter-art figcaption,.reader figure.art figcaption{font:italic .88rem/1.5 var(--f-read);color:var(--muted);margin-top:10px}.reader figure.art{margin:2.2em auto;text-align:center}.reader figure.art img{display:block;margin:0 auto;max-width:100%;height:auto;max-height:min(72vh,680px);border-radius:8px;box-shadow:0 14px 34px -24px rgba(0,0,0,.6)}@media (min-width:900px){.reader figure.art.wide img{max-width:100%}}.insert-img{padding:10px 12px;border:1px dashed var(--line);border-radius:10px;margin:-6px 0 16px;background:var(--bg)}.mini-cover .cover{padding:4px;border-radius:2px 4px 4px 2px;box-shadow:0 4px 10px -6px rgba(0,0,0,.5)}.mini-cover .cover .c-foot,.mini-cover .cover .c-genre{display:none}.mini-cover .cover .c-title{font-size:.45rem}.manage-map{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));margin-top:14px}.manage-item{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:var(--bg);font-size:.9rem}.manage-item:hover{border-color:var(--accent)}.manage-item span{font-size:.8rem}.brand{gap:8px}.brand .logo-mark{filter:drop-shadow(0 2px 6px rgba(40,30,80,.25));transition:transform .3s}.brand:hover .logo-mark{transform:rotate(-6deg) scale(1.05)}.footer-logo{display:block;margin-bottom:4px}.locked-logo{display:block;margin:0 auto 16px;width:-moz-fit-content;width:fit-content;filter:drop-shadow(0 6px 14px rgba(40,30,80,.3))}.cover .c-foot .cover-mark{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}@media (max-width:420px){.brand span:last-child{font-size:1.25rem}}.lookup{min-height:28px;margin:-6px 0 14px;font-size:.9rem}.av-img{position:relative;display:inline-block;flex:none;line-height:0;border-radius:0}.av-img img{width:100%;height:auto;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));animation:frameGlow 3s ease-in-out infinite}.av-img .av-letter{position:absolute;transform:translate(-50%,-50%);font-family:var(--f-display);font-weight:700;line-height:1;background:linear-gradient(180deg,#fff3c4,#e0a92e 55%,#8a5a0c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.fx-frame-magic-book .av-letter{background:linear-gradient(180deg,#ffffff,#9fd2ff 60%,#3b7bd6);-webkit-background-clip:text;background-clip:text;animation:floatUp 3s ease-in-out infinite}@keyframes frameGlow{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}50%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.35)) drop-shadow(0 0 7px var(--glow))}}@keyframes floatUp{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-62%)}}@media (prefers-reduced-motion:reduce){.av-img .av-letter,.av-img img{animation:none!important}}.name-plate{position:relative;display:inline-flex;align-items:center;padding:1px 11px;border-radius:7px;overflow:hidden;isolation:isolate;line-height:1.55;vertical-align:middle}.name-plate:after,.name-plate:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.name-plate>b{position:relative;z-index:1}.fx-bg-paper{border:1px solid #d9c38f;color:#4a3a1c}.fx-bg-paper:before{background:linear-gradient(180deg,#fbf3dc,#f0e0b8)}.fx-bg-paper:after{background:repeating-linear-gradient(100deg,transparent 0 6px,rgba(160,120,50,.07) 6px 7px)}.fx-bg-paper>b:not([class*=fx-name-]){color:#4a3a1c!important}.fx-bg-fire{box-shadow:0 0 10px rgba(255,110,0,.55);animation:fireGlow 1.6s ease-in-out infinite}.fx-bg-fire:before{background:linear-gradient(0deg,#b71c00,#ff4d00 30%,#ff9a00 62%,#ffd451 85%,#ffe9a0);background-size:100% 220%;animation:flame 1.1s ease-in-out infinite alternate}.fx-bg-fire:after{background:radial-gradient(2px 2px at 15% 80%,#fff4b0 60%,transparent 70%),radial-gradient(1.5px 1.5px at 40% 90%,#ffe082 60%,transparent 70%),radial-gradient(2px 2px at 65% 85%,#fff4b0 60%,transparent 70%),radial-gradient(1.5px 1.5px at 85% 95%,#ffd54f 60%,transparent 70%);background-size:100% 60%;animation:embers 1.8s linear infinite}.fx-bg-fire>b:not([class*=fx-name-]){color:#fff!important;text-shadow:0 1px 2px #7a1500,0 0 6px #ff6d00}@keyframes flame{0%{background-position:0 100%;filter:saturate(1)}to{background-position:0 60%;filter:saturate(1.35) brightness(1.08)}}@keyframes embers{0%{background-position:0 100%}to{background-position:0 -60%}}@keyframes fireGlow{0%,to{box-shadow:0 0 8px rgba(255,110,0,.5)}50%{box-shadow:0 0 16px rgba(255,150,0,.85)}}.fx-bg-ice{border:1px solid #bfe9ff;box-shadow:0 0 8px rgba(120,200,255,.55),inset 0 0 6px rgba(255,255,255,.8)}.fx-bg-ice:before{background:linear-gradient(120deg,#eafaff,#a9def7 45%,#dff5ff 60%,#8fd0f0)}.fx-bg-ice:after{background:radial-gradient(1.6px 1.6px at 10% 10%,#fff 60%,transparent 70%),radial-gradient(1.2px 1.2px at 35% 40%,#fff 60%,transparent 70%),radial-gradient(1.8px 1.8px at 60% 20%,#fff 60%,transparent 70%),radial-gradient(1.2px 1.2px at 85% 50%,#fff 60%,transparent 70%),linear-gradient(115deg,transparent 40%,rgba(255,255,255,.65) 48%,transparent 56%);background-size:100% 50%,100% 50%,100% 50%,100% 50%,250% 100%;animation:snow 2.6s linear infinite}.fx-bg-ice>b:not([class*=fx-name-]){color:#0b3a5b!important;text-shadow:0 1px 0 rgba(255,255,255,.8)}@keyframes snow{0%{background-position:0 0,0 0,0 0,0 0,150% 0}to{background-position:4px 100%,-3px 100%,3px 100%,-4px 100%,-100% 0}}.fx-bg-stone{border:1px solid #3a332c;animation:rumble 5s infinite}.fx-bg-stone:before{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.12) 0 2px,transparent 3px) 0 0 /14px 11px,linear-gradient(180deg,#9a8f81,#6b6156 60%,#4d453d)}.fx-bg-stone:after{background:linear-gradient(180deg,#3d362f,#2b2621);-webkit-clip-path:polygon(0 100%,0 70%,10% 52%,18% 66%,30% 38%,42% 60%,52% 44%,63% 64%,75% 34%,86% 58%,100% 46%,100% 100%);clip-path:polygon(0 100%,0 70%,10% 52%,18% 66%,30% 38%,42% 60%,52% 44%,63% 64%,75% 34%,86% 58%,100% 46%,100% 100%);opacity:.9}.fx-bg-stone>b:not([class*=fx-name-]){color:#fff6e6!important;text-shadow:0 1px 2px #000}@keyframes rumble{0%,88%,to{transform:translate(0)}90%{transform:translate(-1px,1px)}92%{transform:translate(1px,-1px)}94%{transform:translate(-1px)}96%{transform:translate(1px,1px)}}.fx-bg-vortex{box-shadow:0 0 10px rgba(140,90,255,.55)}.fx-bg-vortex:before{inset:-150% -30%;background:conic-gradient(from 0deg,#1d0b3f,#6f5bff,#1d0b3f 25%,#2fd0e6 45%,#1d0b3f 55%,#b44cff 75%,#1d0b3f);animation:spin 2.2s linear infinite}.fx-bg-vortex:after{background:radial-gradient(ellipse at center,transparent 30%,rgba(10,4,30,.75) 100%)}.fx-bg-vortex>b:not([class*=fx-name-]){color:#fff!important;text-shadow:0 0 6px #a68bff}.fx-bg-thunder{box-shadow:0 0 8px rgba(120,140,255,.5);animation:stormFlash 3.6s infinite}.fx-bg-thunder:before{background:radial-gradient(ellipse at 30% 0,#4b5590,transparent 60%),radial-gradient(ellipse at 80% 10%,#3a4278,transparent 60%),linear-gradient(180deg,#1b1f3a,#2e3560)}.fx-bg-thunder:after{background:#fff7a8;-webkit-clip-path:polygon(62% 0,52% 46%,60% 46%,48% 100%,70% 38%,61% 38%,72% 0);clip-path:polygon(62% 0,52% 46%,60% 46%,48% 100%,70% 38%,61% 38%,72% 0);opacity:0;animation:bolt 3.6s infinite;filter:drop-shadow(0 0 4px #fff)}.fx-bg-thunder>b:not([class*=fx-name-]){color:#fffbe0!important;text-shadow:0 0 6px #ffe66d}@keyframes bolt{0%,88%,to{opacity:0}89%{opacity:1}90%{opacity:.2}91%{opacity:1}93%{opacity:0}}@keyframes stormFlash{0%,88%,to{filter:brightness(1)}89%,91%{filter:brightness(1.9)}}@media (prefers-reduced-motion:reduce){.name-plate,.name-plate:after,.name-plate:before{animation:none!important}}.collab-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:36px 32px 40px}.collab-card .collab-logo{margin:0 auto 4px}.collab-card h3,.collab-card p{margin:0}.collab-card p{max-width:36ch}.collab-card .btn{margin-top:6px}.essay-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.essay-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .15s,border-color .15s;border-top:3px solid var(--line)}.essay-card:hover{transform:translateY(-2px);border-color:var(--accent);color:inherit}.essay-card.cat-tho{border-top-color:#8e5bd6}.essay-card.cat-nhat-ky{border-top-color:#2f7d6a}.essay-card.cat-tan-van{border-top-color:var(--accent)}.essay-card.cat-tuy-but{border-top-color:var(--gold)}.essay-t{margin:0;font-family:var(--f-display);font-size:1.55rem;line-height:1.15}.essay-ex{margin:0;font-family:var(--f-read);font-size:.95rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.essay-ex.poem{white-space:pre-line;font-style:italic}.essay-by{margin-top:auto;font-size:.85rem}.essay-body.poem{text-align:center;font-style:italic}.essay-body.poem p{margin-bottom:1.6em}.essay-body.poem>p:first-of-type:first-letter,.essay-body>p:first-of-type:first-letter{all:unset}.news-list{display:grid;grid-gap:10px;gap:10px}.news-item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:baseline;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none}.news-item:hover{border-color:var(--accent);color:inherit}.news-item.pinned{border-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface) 60%)}.news-kind{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}.news-kind.notice{background:var(--accent);color:var(--accent-ink)}.news-kind.news{background:var(--surface-2);color:var(--ink-soft)}.news-t{font-weight:600}.news-sub{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}.news-date{color:var(--muted);font-size:.8rem;white-space:nowrap}@media (max-width:560px){.news-item{grid-template-columns:1fr;gap:4px}}.brand{white-space:nowrap;flex:none}@media (max-width:1360px){.nav{gap:0}.nav a{padding:8px 9px;font-size:.9rem}}@media (max-width:1240px){.nav a{padding:8px 7px;font-size:.86rem}}.wardrobe-cols{display:grid;grid-gap:12px;gap:12px;margin-top:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:start}.wcol{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--surface);display:grid;grid-gap:6px;gap:6px}.wcol-h{margin:0 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:flex;justify-content:space-between}.witem{display:grid;grid-template-columns:64px 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:6px;border-radius:9px;border:1px solid transparent}.witem:hover{background:var(--bg)}.witem.on{border-color:var(--gold);background:var(--gold-bg)}.wprev{display:flex;justify-content:center;align-items:center;min-height:34px;overflow:hidden;font-size:.85rem}.wprev .title-badge{font-size:.6rem;padding:1px 6px;max-width:64px;overflow:hidden;text-overflow:ellipsis}.wname{font-size:.82rem;font-weight:600;line-height:1.25}.wname small{display:block;font-weight:600;font-size:.68rem;color:var(--gold)}.witem .btn.sm{padding:4px 10px;font-size:.75rem}.wsig{display:flex;gap:6px;margin-top:4px}.wsig input{padding:6px 8px;font-size:.8rem}.post-actions{display:grid;grid-gap:14px;gap:14px;margin:40px 0 8px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.like-bar{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.like-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .95rem var(--f-ui);cursor:pointer;transition:transform .15s,border-color .15s}.like-btn svg{fill:none;stroke:currentColor;stroke-width:2}.like-btn b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-left:8px;border-left:1px solid var(--line)}.like-btn.on,.like-btn:hover{border-color:#e0245e;color:#e0245e}.like-btn.on{background:color-mix(in srgb,#e0245e 8%,var(--surface))}.like-btn.on svg{fill:#e0245e;stroke:#e0245e}.like-btn.pop svg{animation:heartPop .6s ease}@keyframes heartPop{0%{transform:scale(1)}30%{transform:scale(1.45)}60%{transform:scale(.9)}to{transform:scale(1)}}.likers-sum{background:none;border:0;padding:0;font:.88rem var(--f-ui);color:var(--muted);cursor:pointer;text-align:left}.likers-sum:hover{color:var(--ink);text-decoration:underline}.liker-vip{color:var(--gold)!important}.likers-pop{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:min(320px,90vw);max-height:320px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 14px}.likers-pop ul{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-gap:8px;gap:8px}.likers-pop li{display:flex;align-items:center;gap:10px;font-size:.9rem}.likers-pop .avatar{width:26px;height:26px;font-size:.72rem}.share-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.share-lbl{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;margin-right:4px}.share-btn{--sc:#333;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font:600 .8rem var(--f-ui);cursor:pointer}.share-btn span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--sc);color:#fff;font-size:.8rem}.share-btn em,.share-btn span{font-style:normal}.share-btn:hover{border-color:var(--sc);color:var(--ink)}@media (max-width:520px){.share-btn em{display:none}.share-btn{padding:4px}}.bell,.bell-btn{position:relative}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e0245e;color:#fff;font:700 .66rem/18px var(--f-ui);text-align:center;box-shadow:0 0 0 2px var(--bg)}.bell-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:60;width:min(380px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px -20px rgba(0,0,0,.45);overflow:hidden}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.linkish{background:none;border:0;color:var(--accent);font:600 .8rem var(--f-ui);cursor:pointer;padding:0}.bell-list{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}.bell-list li a{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px;padding:11px 16px;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:.88rem;line-height:1.4}.bell-list li a:hover{background:var(--bg);color:inherit}.bell-list li.unread a{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.bell-list li.unread .bell-t{font-weight:600}.bell-list li.unread a:after{content:""}.bell-list small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}.bell-ic{font-size:1.05rem;text-align:center}.bell-empty{padding:20px 16px;font-size:.9rem}.bell-all{display:block;text-align:center;padding:10px;font:600 .82rem var(--f-ui);text-decoration:none;border-top:1px solid var(--line)}.bell-list.full{border:1px solid var(--line);border-radius:14px;overflow:hidden;max-height:none;background:var(--surface)}@media (max-width:560px){.bell-pop{position:fixed;left:12px;right:12px;top:64px;width:auto}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero-art{width:min(100%,520px);height:auto;margin:6px 0 10px -12px;filter:drop-shadow(0 18px 30px rgba(90,60,20,.12))}:root[data-theme=dark] .hero-art{filter:brightness(1.05) drop-shadow(0 0 30px rgba(255,220,160,.06))}.hero-carousel{position:relative;width:min(340px,80vw);display:grid;justify-items:center;grid-gap:14px;gap:14px}.hc-stage{position:relative;width:100%;aspect-ratio:2/3;perspective:1200px}.hc-slide{position:absolute;inset:0;display:block;transition:transform .9s cubic-bezier(.22,.8,.25,1),opacity .9s ease,filter .9s ease;will-change:transform,opacity}.hc-slide .cover{width:100%;height:100%}.hc-slide.is-front{transform:rotate(2.5deg);opacity:1;z-index:3}.hc-slide.is-front:hover{transform:rotate(0deg) translateY(-6px)}.hc-slide.is-next{transform:translateX(-26%) translateY(6%) rotate(-8deg) scale(.82);opacity:.9;z-index:2;filter:saturate(.75) brightness(.85)}.hc-slide.is-prev{transform:translateX(40%) translateY(-4%) rotate(14deg) scale(.7);opacity:0;z-index:1}.hc-slide.is-hidden{transform:translateX(-30%) translateY(8%) rotate(-10deg) scale(.7);opacity:0;z-index:0;pointer-events:none}.hc-caption{text-align:center;display:grid;grid-gap:2px;gap:2px;min-height:44px}.hc-caption b{font-family:var(--f-display);font-size:1.3rem}.hc-caption span{font-size:.8rem}.hc-dots{display:flex;gap:8px}.hc-dots button{position:relative;width:26px;height:6px;border-radius:99px;border:0;padding:0;background:var(--line);cursor:pointer;overflow:hidden}.hc-dots button.on{background:color-mix(in srgb,var(--accent) 35%,var(--line));width:40px}.hc-dots i{position:absolute;inset:0;background:var(--accent);transform-origin:left;animation:hcProgress linear forwards}@keyframes hcProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.hc-slide{transition:opacity .3s}.hc-dots i{animation:none}}.hero-side{overflow-x:clip;overflow-y:visible;padding:24px 0}@media (max-width:700px){.hc-slide.is-prev{transform:translateX(14%) rotate(10deg) scale(.75)}.hc-slide.is-next{transform:translateX(-16%) translateY(5%) rotate(-7deg) scale(.82)}.hero-art{margin-left:0}}.hc-slide,.hc-slide:hover{text-decoration:none;color:inherit}.hero-side .rail{right:2px}:root[data-theme=dark] .hero-art,body[data-paper=dark] .hero-art{background:#efe6d3;border-radius:18px;padding:16px;margin-left:0;box-shadow:0 24px 50px -24px rgba(0,0,0,.8);filter:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-art{background:#efe6d3;border-radius:18px;padding:16px;margin-left:0;box-shadow:0 24px 50px -24px rgba(0,0,0,.8);filter:none}}.editor{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.ed-bar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--bg);position:-webkit-sticky;position:sticky;top:70px;z-index:5}.ed-bar button{min-width:34px;height:32px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font:600 .9rem var(--f-ui);cursor:pointer;padding:0 8px}.ed-bar button:hover{background:var(--surface);border-color:var(--line)}.ed-bar button.on{background:var(--ink);color:var(--bg)}.ed-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.ed-font{display:flex;align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:600;color:var(--muted)}.ed-font select{padding:5px 8px;font-size:.82rem;border-radius:8px;width:auto}.editor textarea{line-height:1.75;font-size:1.04rem}.ed-preview{border:1px solid var(--line);border-radius:10px;padding:20px 26px;background:var(--surface);overflow:auto}.ed-preview .reader{font-family:var(--rf,var(--f-read))}.ed-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem;color:var(--ink-soft)}.ed-note{margin:0;font-size:.85rem}.ed-issues{border:1px solid var(--gold);border-radius:12px;background:var(--gold-bg);padding:12px 14px}.ed-issues ul{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-gap:6px;gap:6px;max-height:300px;overflow:auto}.iss{display:flex;gap:8px;align-items:center;background:var(--surface);border-radius:8px;padding:6px 8px;border-left:3px solid var(--muted)}.iss-typo{border-left-color:var(--accent)}.iss-ime{border-left-color:#8e5bd6}.iss-case{border-left-color:var(--gold)}.iss-pair,.iss-repeat{border-left-color:#2f7d6a}.iss-go{flex:1 1;text-align:left;background:none;border:0;padding:0;cursor:pointer;display:grid;grid-gap:2px;gap:2px;color:var(--ink);font:inherit}.iss-ctx{font-family:var(--f-read);font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iss-ctx mark{background:#ffd9d3;color:#8a1c10;border-radius:3px;padding:0 2px}.iss-msg{font-size:.82rem;font-weight:600}.reader[style*="--rf"]{font-family:var(--rf)}.cpanel{margin-top:8px;padding:16px 20px}.cpanel-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cpanel-head h3{margin:0;font-size:1.5rem}.cpanel-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--bg)}.cpanel-tabs button{border:0;background:transparent;color:var(--ink-soft);font:600 .85rem var(--f-ui);padding:6px 14px;border-radius:999px;cursor:pointer}.cpanel-tabs button.on{background:var(--ink);color:var(--bg)}.cpanel-toggle{margin-left:auto}.cpanel-body{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.cpanel:not(.open){padding-block:12px}.ed-bar{position:static}.ed-area{overflow-y:auto;resize:vertical;max-height:85vh;min-height:200px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface-2)}.ed-area::-webkit-scrollbar{width:12px}.ed-area::-webkit-scrollbar-track{background:var(--surface-2);border-radius:0 10px 10px 0}.ed-area::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 70%,var(--surface-2));border-radius:10px;border:3px solid var(--surface-2)}.ed-area::-webkit-scrollbar-thumb:hover{background:var(--accent)}.ed-preview.ed-area{resize:vertical}.mcf{display:grid;grid-gap:12px;gap:12px}.mcf-top{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.mcf-top .field span{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink-soft)}.mcf-import{margin:0}.mcf-saved{margin-left:auto;font-size:.8rem;color:var(--ok)}.mcf-plan{border:1px dashed var(--line);border-radius:10px;padding:8px 12px;font-size:.88rem}.mcf-plan summary{cursor:pointer;font-weight:600}.mcf-plan label{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}.mcf-plan input{width:auto;padding:6px 8px}.mcf-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.mcf-item{border:1px solid var(--line);border-radius:12px;background:var(--bg)}.mcf-item.open{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow)}.mcf-item.has-error{border-color:#c0221a}.mcf-head{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 4px}.mcf-toggle{flex:1 1;display:flex;align-items:baseline;gap:10px;background:none;border:0;padding:6px 8px;cursor:pointer;color:var(--ink);text-align:left;font:inherit;min-width:0}.mcf-caret{color:var(--muted);width:12px}.mcf-title{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcf-meta{font-size:.76rem;color:var(--muted);white-space:nowrap}.mcf-actions{display:flex;gap:4px}.mcf-actions .icon-btn{width:30px;height:30px;font-size:.8rem}.mcf-actions .icon-btn:disabled{opacity:.3}.mcf-err{margin:0 14px 8px;font-size:.85rem}.mcf-body{padding:8px 16px 16px;border-top:1px solid var(--line)}.mcf-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding-top:6px}@media (max-width:560px){.mcf-meta{display:none}}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 24px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.filter-bar input,.filter-bar select{width:auto;margin:0}.filter-bar input{flex:1 1 220px;min-width:0}.filter-bar select{flex:0 1 auto;max-width:100%}.filter-bar .filter-count{font-size:.82rem;margin-left:auto}@media (max-width:560px){.filter-bar select{flex:1 1 100%}}.nowrap{white-space:nowrap}.work-row{display:grid;grid-template-columns:minmax(0,220px) 1fr;grid-gap:32px;gap:32px;align-items:start}@media (max-width:560px){.work-row{grid-template-columns:110px 1fr;gap:16px}.work-row h2{font-size:1.7rem}.work-row .lead{font-size:1rem}}.cos-cols{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:start}.cos-cols .wcol{scroll-margin-top:90px}.sitem{grid-template-columns:58px 1fr auto}.sitem .wname small.price{color:var(--ink-soft);font-weight:700}.sitem.owned{border-color:var(--gold)}.sitem .wprev{white-space:nowrap}@media (max-width:560px){.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product{padding:8px}.product .swatch{max-height:180px;font-size:.95rem}.product-meta code{display:none}}