:root{--void:#1a1b1e;--base:#212327;--card:#282a2e;--card-2:#2e3035;--line:#3a3d43;--line-soft:#2c2e33;--fg:#e9e9e6;--fg-2:#b8babf;--fg-3:#95979e;--flip-bg:#eaeae6;--flip-fg:#1a1b1e;--read:"Spectral", Georgia, "Times New Roman", serif;--ui:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--measure:64ch;--page:1320px;--gut:clamp(1.15rem, 3.2vw, 2.8rem);--nav-h:70px;--tabbar:64px;--tap:48px;--r:14px;--r-sm:10px;--e:cubic-bezier(.22,.68,.28,1);--e-wipe:cubic-bezier(.62,.04,.24,1);--t-fast:.22s;--t:.42s;--t-slow:.72s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--base)}body{background:var(--base);color:var(--fg);font-family:var(--read);letter-spacing:.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;margin:0;font-size:clamp(17px,.3vw + 16.2px,18.5px);font-weight:400;line-height:1.82;overflow-x:hidden}body.locked{overflow:hidden}img{max-width:100%;height:auto;display:block}svg{vertical-align:-.18em;flex:none;width:16px;height:16px}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}::selection{background:var(--fg);color:var(--base)}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--void);border-radius:6px}h1,h2,h3,h4{font-family:var(--read);letter-spacing:-.012em;margin:0;font-weight:500;line-height:1.16}p{margin:0 0 1.2em}.wrap{width:100%;max-width:var(--page);padding-inline:var(--gut);margin-inline:auto}.narrow{width:100%;max-width:calc(var(--measure) + 2 * var(--gut));padding-inline:var(--gut);margin-inline:auto}.skip{background:var(--fg);color:var(--base);z-index:130;border-radius:var(--r-sm);padding:.8rem 1.2rem;position:absolute;top:0;left:-9999px}.skip:focus{top:.6rem;left:.6rem}#main:focus{outline:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress{background:var(--fg);z-index:90;width:0;height:2px;transition:width .14s linear;position:fixed;inset:0 auto auto 0}.ui{font-family:var(--ui);letter-spacing:0}.eyebrow{font-family:var(--ui);letter-spacing:.02em;color:var(--fg-3);align-items:center;gap:.5rem;margin:0 0 .9rem;font-size:.78rem;font-weight:600;line-height:1.5;display:inline-flex}.eyebrow:before{content:"";background:var(--fg-3);border-radius:50%;flex:none;width:6px;height:6px}.num{font-family:var(--ui);font-variant-numeric:tabular-nums lining-nums;font-weight:600}.lead{color:var(--fg-2);font-size:1.12em;font-weight:400;line-height:1.75}.pill{font-family:var(--ui);letter-spacing:.01em;background:var(--card);border:1px solid var(--line-soft);color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.pill.ghost{background:0 0}.pill .dot{background:var(--fg-3);border-radius:50%;width:6px;height:6px}.nav{z-index:48;background:color-mix(in srgb, var(--base) 86%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);transition:border-color var(--t) var(--e);border-bottom:1px solid #0000;position:sticky;top:0}.nav.stuck{border-bottom-color:var(--line-soft)}.nav .row{min-height:var(--nav-h);padding-inline:var(--gut);max-width:var(--page);align-items:center;gap:.5rem;margin-inline:auto;display:flex}.brand{align-items:center;gap:.7rem;margin-right:1.6rem;display:flex}.brand .badge{border-radius:var(--r-sm);background:var(--fg);width:38px;height:38px;color:var(--base);font-family:var(--ui);letter-spacing:-.02em;transition:transform var(--t) var(--e);flex:none;place-items:center;font-size:.88rem;font-weight:800;display:grid}.brand .wm{flex-direction:column;line-height:1;display:flex}.brand .wm b{font-family:var(--ui);letter-spacing:-.02em;font-size:1.02rem;font-weight:800}.brand .wm span{font-family:var(--ui);color:var(--fg-3);margin-top:.22rem;font-size:.68rem;font-weight:500}.nav-links{align-items:center;gap:.15rem;margin-right:auto;display:flex}.nav-links a,.nav-links button{font-family:var(--ui);color:var(--fg-2);border-radius:var(--r-sm);min-height:44px;transition:color var(--t-fast) var(--e), background var(--t-fast) var(--e);align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.92rem;font-weight:500;display:inline-flex}.nav-links a.on{color:var(--fg);background:var(--card)}.nav-links svg{width:14px;height:14px;transition:transform var(--t) var(--e)}.nav-links a:active,.nav-links button:active{background:var(--card)}.drop-wrap{position:relative}.drop{background:var(--card);border:1px solid var(--line);border-radius:var(--r);opacity:0;visibility:hidden;transform-origin:0 0;min-width:320px;transition:opacity var(--t) var(--e), transform var(--t) var(--e), visibility var(--t);padding:.45rem;position:absolute;top:calc(100% + .3rem);left:0;transform:translateY(-8px);box-shadow:0 24px 60px -20px #000000b3}.drop-wrap:focus-within .drop{opacity:1;visibility:visible;transform:none}.drop a{border-radius:var(--r-sm);min-height:46px;font-family:var(--ui);transition:background var(--t-fast) var(--e);align-items:center;gap:.75rem;padding:.6rem .7rem;font-size:.92rem;font-weight:500;display:flex}.drop a .ic{background:var(--card-2);width:30px;height:30px;color:var(--fg-2);border-radius:8px;flex:none;place-items:center;display:grid}.drop a .ic svg{width:16px;height:16px}.drop a small{font-family:var(--ui);font-variant-numeric:tabular-nums;color:var(--fg-3);margin-left:auto;font-size:.8rem;font-weight:600}.nav-tools{align-items:center;gap:.35rem;display:flex}.searchbtn{border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line-soft);height:44px;color:var(--fg-3);font-family:var(--ui);transition:border-color var(--t) var(--e), color var(--t) var(--e);align-items:center;gap:.6rem;padding:0 .85rem;font-size:.88rem;font-weight:500;display:inline-flex}.searchbtn svg{flex:none;width:16px;height:16px}.searchbtn kbd{font-family:var(--ui);background:var(--card-2);color:var(--fg-3);border-radius:5px;padding:.12rem .38rem;font-size:.7rem;font-weight:600}.searchbtn .lbl{display:inline}.searchbtn:active{transform:scale(.97)}.lang{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--card);display:flex;overflow:hidden}.lang button{font-family:var(--ui);min-width:46px;min-height:44px;color:var(--fg-3);transition:background var(--t) var(--e), color var(--t) var(--e);padding:0 .7rem;font-size:.78rem;font-weight:700}.lang button.on{background:var(--fg);color:var(--base)}.lang button:active{transform:scale(.94)}.ico{border-radius:var(--r-sm);width:44px;height:44px;color:var(--fg-2);background:var(--card);border:1px solid var(--line-soft);transition:color var(--t-fast) var(--e), border-color var(--t-fast) var(--e);place-items:center;display:grid}.ico svg{width:19px;height:19px}.ico:active{transform:scale(.92)}.burger{display:none}@media (width<=1024px){.nav-links{display:none}.burger{display:grid}.searchbtn .lbl,.searchbtn kbd{display:none}.searchbtn{justify-content:center;width:44px;padding:0}.brand{margin-right:auto}}@media (width<=420px){.brand .wm span{display:none}.nav .row{gap:.3rem}}.section{padding-block:clamp(3.2rem,6vw,6rem)}.section.tight{padding-block:clamp(2.2rem,3.6vw,3.4rem)}.section.deep{background:var(--void)}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.6rem;margin-bottom:2.2rem;display:flex}.sec-head h2{max-width:18ch;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.14}.sec-note{font-family:var(--ui);color:var(--fg-3);max-width:34ch;font-size:.88rem}.btn,.btn-line{min-height:var(--tap);border-radius:var(--r-sm);font-family:var(--ui);letter-spacing:0;border:1px solid var(--line);color:var(--fg);background:var(--card);transition:background var(--t) var(--e), border-color var(--t) var(--e), color var(--t) var(--e), transform var(--t-fast) var(--e);justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.4rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn svg,.btn-line svg{width:16px;height:16px;transition:transform var(--t) var(--e);flex:none}.btn:active,.btn-line:active{transform:scale(.975)}.btn-primary{background:var(--fg);color:var(--base);border-color:var(--fg)}.btn-ghost{background:0 0}.btn-quiet{color:var(--fg-2);background:0 0;border-color:#0000;min-height:42px;padding-inline:0}.btn-line{border-color:var(--line-soft);background:0 0}.btn-line.danger{color:#e88;background:#e05c5c0f;border-color:#e05c5c47}@media (width<=520px){.btn,.btn-line{width:100%}.btn-quiet{width:auto}}.hero{padding-top:clamp(2rem,4vw,3.6rem);padding-bottom:clamp(1.8rem,3vw,2.8rem)}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(1.8rem,4vw,4rem);display:grid}.hero h1{letter-spacing:-.02em;font-size:clamp(2.3rem,5.4vw,4.15rem);font-weight:500;line-height:1.1}.hl{vertical-align:baseline;background:var(--card);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.45rem;padding:.05em .5rem .05em .2rem;font-style:italic;font-weight:400;display:inline-flex}.hl img{object-fit:cover;border-radius:50%;flex:none;width:.92em;height:.92em;transform:translateY(.06em)}.hero .lead{max-width:44ch;margin-top:1.3rem}.hero-cta{flex-wrap:wrap;gap:.65rem;margin-top:1.7rem;display:flex}.stats{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(1.8rem,3vw,2.6rem);display:grid;overflow:hidden}.stats .cell{background:var(--base);flex-direction:column;gap:.1rem;padding:1.1rem 1.2rem;display:flex}.stats b{font-family:var(--ui);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;line-height:1.2}.stats span{font-family:var(--ui);color:var(--fg-3);font-size:.82rem;font-weight:500}@media (width<=900px){.hero-grid{grid-template-columns:1fr}}@media (width<=640px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.feat{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);transition:transform var(--t-slow) var(--e), border-color var(--t) var(--e);display:block;overflow:hidden}.feat .ph{background:var(--card-2);position:relative;overflow:hidden}.feat .ph img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.3s var(--e)}.feat .badge-new{font-family:var(--ui);background:var(--fg);color:var(--base);border-radius:999px;padding:.35rem .7rem;font-size:.74rem;font-weight:700;position:absolute;top:.85rem;left:.85rem}.feat .bd{flex-direction:column;gap:.6rem;padding:1.15rem 1.25rem 1.3rem;display:flex}.feat .meta{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.feat h3{font-size:1.32rem;font-weight:500;line-height:1.3}.feat p{color:var(--fg-3);margin:0;font-size:.94rem;line-height:1.65}.feat .go{font-family:var(--ui);color:var(--fg);align-items:center;gap:.4rem;margin-top:.2rem;font-size:.88rem;font-weight:600;display:inline-flex}.feat .go svg{width:15px;height:15px;transition:transform var(--t) var(--e)}.feat:active{transform:scale(.99)}.marquee{border-block:1px solid var(--line-soft);background:var(--void);padding-block:.85rem;overflow:hidden}.marquee .track{gap:2.4rem;width:max-content;animation:42s linear infinite slide;display:flex}.marquee span{font-family:var(--ui);color:var(--fg-3);white-space:nowrap;align-items:center;gap:2.4rem;font-size:.88rem;font-weight:600;display:inline-flex}.marquee span:after{content:"";background:var(--line);border-radius:50%;width:5px;height:5px}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.bento{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.7rem,1.2vw,1rem);display:grid}.bt{border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);min-height:172px;transition:transform var(--t-slow) var(--e), border-color var(--t) var(--e), background var(--t) var(--e);flex-direction:column;gap:.55rem;padding:1.3rem 1.35rem;display:flex;position:relative;overflow:hidden}.bt-lg{grid-area:span 2/span 2;justify-content:flex-end;min-height:376px;padding:1.6rem}.bt-wide{grid-column:span 2}.bt .bg{z-index:0;position:absolute;inset:0}.bt .bg img{object-fit:cover;width:100%;height:100%}.bt .bg:after{content:"";background:linear-gradient(#1a1b1e6b 0%,#1a1b1eb8 52%,#1a1b1ef2 88%);position:absolute;inset:0}.bt>*{z-index:1;position:relative}.bt .ic{border-radius:var(--r-sm);background:var(--card-2);border:1px solid var(--line-soft);width:38px;height:38px;color:var(--fg-2);transition:background var(--t) var(--e), color var(--t) var(--e);flex:none;place-items:center;display:grid}.bt-lg .ic{color:var(--fg);background:#e9e9e624;border-color:#e9e9e633}.bt .ic svg{width:19px;height:19px}.bt h3{font-family:var(--read);font-size:1.28rem;font-weight:500;line-height:1.25}.bt-lg h3{font-size:clamp(1.6rem,2.4vw,2.1rem)}.bt p{color:var(--fg-3);margin:0;font-size:.92rem;line-height:1.62}.bt-lg p{color:var(--fg-2);max-width:38ch}.bt .cnt{font-family:var(--ui);color:var(--fg-3);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;font-size:.84rem;font-weight:600;display:flex}.bt-lg .cnt{color:var(--fg-2)}.bt .cnt svg{width:16px;height:16px;transition:transform var(--t) var(--e)}.bt:active{transform:scale(.99)}@media (width<=1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-lg{grid-row:span 1;min-height:260px}}@media (width<=560px){.bento{grid-template-columns:1fr}.bt,.bt-lg,.bt-wide{grid-column:span 1;min-height:0}.bt-lg{min-height:220px}}.steps{border-top:1px solid var(--line-soft)}.step{border-bottom:1px solid var(--line-soft);transition:background var(--t) var(--e), padding-left var(--t) var(--e);grid-template-columns:5.5rem minmax(0,1fr) 190px auto;align-items:center;gap:clamp(1rem,2.4vw,2.4rem);padding:1.7rem .3rem;display:grid}.step .sn{font-family:var(--ui);color:var(--fg-3);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.step .sb h3{margin-bottom:.4rem;font-size:clamp(1.2rem,2vw,1.66rem);font-weight:500;line-height:1.24}.step .sb p{color:var(--fg-3);max-width:52ch;margin:0;font-size:.95rem;line-height:1.65}.step .sph{border-radius:var(--r-sm);background:var(--card-2);overflow:hidden}.step .sph img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.3s var(--e)}.step .sgo{border:1px solid var(--line);width:46px;height:46px;color:var(--fg-2);transition:background var(--t) var(--e), color var(--t) var(--e), border-color var(--t) var(--e);border-radius:50%;flex:none;place-items:center;display:grid}.step .sgo svg{width:17px;height:17px;transition:transform var(--t) var(--e)}.step:active{background:var(--card)}@media (width<=900px){.step{grid-template-columns:3rem minmax(0,1fr);gap:.9rem 1.1rem;padding:1.4rem .2rem}.step .sph{order:3;grid-column:2;max-width:220px}.step .sgo{display:none}}.index{flex-direction:column;gap:.5rem;display:flex}.irow{border-radius:var(--r);background:var(--card);transition:background var(--t) var(--e), border-color var(--t) var(--e), transform var(--t-fast) var(--e);border:1px solid #0000;grid-template-columns:3.2rem 92px minmax(0,1fr) auto;align-items:center;gap:clamp(.8rem,1.8vw,1.6rem);padding:.85rem 1rem .85rem .85rem;display:grid}.irow .rn{font-family:var(--ui);color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.irow .rth{aspect-ratio:16/11;border-radius:var(--r-sm);background:var(--card-2);flex:none;width:92px;overflow:hidden}.irow .rth img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--e)}.irow .rb{min-width:0}.irow h3{margin-bottom:.3rem;font-size:1.1rem;font-weight:500;line-height:1.38}.irow .rm{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.4rem .7rem;font-size:.8rem;font-weight:500;display:flex}.irow .rm .sep{background:var(--line);border-radius:50%;width:4px;height:4px}.irow .rgo{width:38px;height:38px;color:var(--fg-3);transition:background var(--t) var(--e), color var(--t) var(--e);border-radius:50%;place-items:center;display:grid}.irow .rgo svg{width:16px;height:16px;transition:transform var(--t) var(--e)}.irow:active{background:var(--card-2);transform:scale(.995)}@media (width<=720px){.irow{grid-template-columns:76px minmax(0,1fr);gap:.85rem;padding:.75rem}.irow .rn,.irow .rgo{display:none}.irow .rth{aspect-ratio:1;width:76px}.irow h3{font-size:1.02rem}.irow .rm{font-size:.76rem}}.cloud{flex-wrap:wrap;gap:.5rem;display:flex}.cloud .pill{min-height:44px;transition:background var(--t) var(--e), color var(--t) var(--e), border-color var(--t) var(--e), transform var(--t-fast) var(--e);padding:.5rem 1rem;font-size:.88rem}.cloud .pill:active{transform:scale(.96)}.cloud .pill.on{background:var(--fg);color:var(--base);border-color:var(--fg)}.cloud .pill small{font-variant-numeric:tabular-nums;opacity:.62;font-weight:600}.cta{border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.8rem;padding:clamp(1.8rem,4vw,3.2rem);display:grid}.cta h2{max-width:20ch;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.16}.cta p{color:var(--fg-3);max-width:46ch;margin:.7rem 0 0;font-size:.98rem}@media (width<=820px){.cta{grid-template-columns:1fr}}.grid{grid-template-columns:repeat(auto-fill,minmax(292px,1fr));gap:clamp(1rem,1.8vw,1.4rem);display:grid}.card{border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);transition:transform var(--t-slow) var(--e), border-color var(--t) var(--e);flex-direction:column;display:flex;overflow:hidden}.card .ph{background:var(--card-2);overflow:hidden}.card .ph img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.3s var(--e)}.card .bd{flex-direction:column;flex:1;gap:.55rem;padding:1.05rem 1.15rem 1.2rem;display:flex}.card .meta{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;display:flex}.card h3{font-size:1.14rem;font-weight:500;line-height:1.36}.card p{color:var(--fg-3);margin:0;font-size:.92rem;line-height:1.62}.card:active{transform:scale(.99)}@media (width<=520px){.grid{grid-template-columns:1fr}.card{flex-direction:row;align-items:stretch}.card .ph{flex:none;width:112px}.card .ph img{aspect-ratio:auto;height:100%;min-height:112px}.card .bd{padding:.85rem 1rem}.card p{display:none}.card h3{font-size:1.02rem}}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.9rem;margin-bottom:1.4rem;display:flex}.filterbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-main .filterbar .field{flex:220px}.field{border:1px solid var(--line-soft);background:var(--card);border-radius:var(--r-sm);min-height:46px;transition:border-color var(--t) var(--e);align-items:center;gap:.55rem;padding:.5rem .85rem;display:flex}.field:focus-within{border-color:var(--fg-3);outline:2px solid var(--fg);outline-offset:2px}.field svg{width:16px;height:16px;color:var(--fg-3);flex:none}.field input{font-family:var(--ui);background:0 0;border:0;outline:none;width:min(230px,44vw);min-width:0;font-size:1rem}.field input::placeholder{color:var(--fg-3)}.field select{font-family:var(--ui);cursor:pointer;background:0 0;border:0;outline:none;font-size:.92rem;font-weight:500}.field select option{background:var(--card);color:var(--fg)}.count{font-family:var(--ui);color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:500}.empty-state{text-align:center;background:var(--card);border-radius:var(--r);border:1px solid var(--line-soft);padding:4rem 1rem}.empty-state h3,.empty-state h1{margin-bottom:.7rem;font-size:1.6rem}.empty-state p{color:var(--fg-3);margin-bottom:1.5rem}@media (width<=640px){.cloud{scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-bottom:.4rem;padding-inline:var(--gut);flex-wrap:nowrap;overflow-x:auto}.cloud::-webkit-scrollbar{display:none}.cloud .pill{scroll-snap-align:start;flex:none}.filterbar{width:100%}.field{flex:1}.field input{width:100%}}.art-head{padding-top:clamp(1.6rem,3vw,2.8rem);padding-bottom:clamp(1.4rem,2.4vw,2rem)}.crumb{font-family:var(--ui);color:var(--fg-3);min-height:44px;transition:color var(--t-fast) var(--e);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.88rem;font-weight:600;display:inline-flex}.crumb svg{width:15px;height:15px;transition:transform var(--t) var(--e)}.art-head h1{letter-spacing:-.018em;max-width:22ch;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:500;line-height:1.14}.art-meta{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.5rem;font-size:.86rem;font-weight:500;display:flex}.art-meta .sp{gap:.4rem;margin-left:auto;display:flex}.art-meta .sp button{border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--card);width:44px;height:44px;color:var(--fg-2);transition:border-color var(--t) var(--e), color var(--t) var(--e), transform var(--t-fast) var(--e);place-items:center;display:grid}.art-meta .sp button:active{transform:scale(.94)}.art-meta .sp svg{width:17px;height:17px}.art-hero{margin-bottom:clamp(1.8rem,3vw,2.8rem)}.art-hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);width:100%}.art-body{position:relative}.margin-note{float:left;width:140px;font-family:var(--ui);color:var(--fg-3);margin-left:-184px;font-size:.8rem;font-weight:500;line-height:1.8;display:none;position:sticky;top:2rem}.margin-note .dial{width:40px;height:40px;margin-bottom:.8rem}.margin-note .dial circle{fill:none;stroke-width:2.5px}.margin-note .dial .track{stroke:var(--line-soft)}.margin-note .dial .bar{stroke:var(--fg-2);stroke-linecap:round;transition:stroke-dashoffset .18s linear}.margin-note b{color:var(--fg-2);font-weight:700;display:block}@media (width>=1240px){.margin-note{display:block}}.prose{color:var(--fg-2);letter-spacing:.006em;font-size:clamp(1.08rem,.28vw + 1.02rem,1.2rem);font-weight:400;line-height:1.9}.prose>p:has(.dropcap){color:var(--fg)}.prose p{margin:0 0 1.45em}.prose [style*=justify],.prose [style*=text-align]{text-align:left!important}.prose [style*=color]{color:inherit!important}.prose h2,.prose h3,.prose h4{font-family:var(--read);color:var(--fg);letter-spacing:-.008em;font-weight:600;line-height:1.32}.prose h4{border-top:1px solid var(--line-soft);margin:2.5em 0 .8em;padding-top:1em;font-size:1.1em}.prose h3{margin:2.3em 0 .8em;font-size:1.22em}.prose h2{margin:2.3em 0 .8em;font-size:1.4em}.prose a{color:var(--fg);border-bottom:1px solid var(--fg-3);transition:border-color var(--t) var(--e), background var(--t) var(--e)}.prose ul,.prose ol{margin:0 0 1.45em;padding-left:1.3em}.prose li{margin-bottom:.7em}.prose li::marker{color:var(--fg-3)}.prose img{border-radius:var(--r-sm);margin:.5rem 1.5rem 1rem 0}.prose strong{color:var(--fg);font-weight:600}.prose em{font-style:italic}.prose sup{vertical-align:super;font-size:.68em;line-height:0}.prose blockquote{background:var(--card);border-radius:var(--r);border-left:3px solid var(--fg-3);color:var(--fg);margin:2.2rem 0;padding:1.3rem 1.5rem;font-size:1.12em;font-style:italic;font-weight:300;line-height:1.7}.prose blockquote p{margin-bottom:.9em}.prose blockquote p:last-child{margin-bottom:0}.prose .dropcap{float:left;color:var(--fg);padding:.06em .14em 0 0;font-size:3.2em;font-weight:500;line-height:.92}.prose>p:empty{display:none}@media (width<=520px){.prose img{width:100%;margin:1.2rem 0;float:none!important}.prose blockquote{margin:1.7rem 0;padding:1.05rem 1.15rem}.prose .dropcap{font-size:2.8em}}.art-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.prevnext{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:2.4rem;display:grid}.pn{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);min-height:var(--tap);transition:background var(--t-slow) var(--e), border-color var(--t) var(--e);padding:1.3rem;display:block}.pn:active{background:var(--card-2)}.pn small{font-family:var(--ui);color:var(--fg-3);align-items:center;gap:.45rem;margin-bottom:.6rem;font-size:.82rem;font-weight:600;display:flex}.pn svg{width:15px;height:15px;transition:transform var(--t) var(--e)}.pn b{font-size:1.04rem;font-weight:500;line-height:1.42;display:block}.pn.next{text-align:right}.pn.next small{justify-content:flex-end}.pn.void-cell{opacity:.42;pointer-events:none}@media (width<=640px){.prevnext{grid-template-columns:1fr}.pn.next{text-align:left}.pn.next small{justify-content:flex-start}}.writer-hero{grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);align-items:center;gap:clamp(1.8rem,4vw,4rem);padding-block:clamp(2rem,4vw,3.6rem);display:grid}.portrait{aspect-ratio:4/5;border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);place-items:center;display:grid;position:relative;overflow:hidden}.portrait .mg{font-family:var(--ui);letter-spacing:-.04em;color:var(--fg-3);font-size:clamp(3rem,7vw,5.4rem);font-weight:800}.portrait .cap{font-family:var(--ui);color:var(--fg-3);font-size:.8rem;font-weight:600;position:absolute;bottom:1.1rem}.writer-hero h1{letter-spacing:-.02em;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.1}.writer-hero .hi{color:var(--fg-3);margin:.8rem 0 1.2rem;font-size:1.28rem;font-style:italic;font-weight:300;line-height:1.6}.wsecs{gap:.7rem;margin-top:1.4rem;display:grid}.wsec{border-radius:var(--r);background:var(--card);border:1px solid var(--line-soft);transition:border-color var(--t) var(--e);grid-template-columns:3.2rem minmax(0,1fr);gap:clamp(.9rem,2vw,2rem);padding:1.6rem 1.5rem;display:grid}.wsec .n{font-family:var(--ui);color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:800}.wsec h2,.wsec h3{font-family:var(--ui);letter-spacing:.02em;color:var(--fg);margin-bottom:.9rem;font-size:.86rem;font-weight:700}.wsec p{color:var(--fg-2);max-width:60ch;margin-bottom:.9em;line-height:1.86}.wsec p:last-child{margin-bottom:0}@media (width<=840px){.writer-hero{grid-template-columns:1fr}.portrait{max-width:250px}.wsec{grid-template-columns:1fr;gap:.6rem;padding:1.3rem 1.2rem}}.socials{flex-wrap:wrap;gap:.4rem;display:flex}.socials a{border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--card);width:44px;height:44px;color:var(--fg-2);transition:background var(--t) var(--e), color var(--t) var(--e), border-color var(--t) var(--e), transform var(--t) var(--e);place-items:center;display:grid}.socials a:active{transform:scale(.94)}.socials a svg{width:17px;height:17px}.site-foot{border-top:1px solid var(--line-soft);background:var(--void);padding-block:clamp(2.6rem,4.6vw,4rem) 1.8rem}.foot-grid{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:clamp(1.6rem,3vw,3rem);padding-bottom:2.2rem;display:grid}.foot-grid p{color:var(--fg-3);max-width:38ch;margin:1rem 0 1.3rem;font-size:.95rem;line-height:1.75}.foot-grid h4{font-family:var(--ui);color:var(--fg);margin-bottom:.9rem;font-size:.84rem;font-weight:700}.foot-grid ul{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.foot-grid li a{font-family:var(--ui);color:var(--fg-3);min-height:42px;transition:color var(--t-fast) var(--e), transform var(--t) var(--e);align-items:center;font-size:.94rem;font-weight:500;display:flex}.foot-bottom{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:.8rem;padding-top:1.4rem;font-size:.84rem;line-height:1.7;display:flex}.tabbar{z-index:46;background:color-mix(in srgb, var(--void) 94%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);border-top:1px solid var(--line-soft);padding-bottom:env(safe-area-inset-bottom);display:none;position:fixed;bottom:0;left:0;right:0}.tabbar .row{grid-template-columns:repeat(4,1fr);display:grid}.tabbar a,.tabbar button{min-height:var(--tabbar);color:var(--fg-3);font-family:var(--ui);transition:color var(--t-fast) var(--e), background var(--t-fast) var(--e);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;display:flex;position:relative}.tabbar svg{width:21px;height:21px}.tabbar a.on{color:var(--fg)}.tabbar a.on:before{content:"";background:var(--fg);border-radius:0 0 3px 3px;width:26px;height:2px;position:absolute;top:0}.tabbar a:active,.tabbar button:active{background:var(--card);color:var(--fg)}@media (width<=1024px){.nav-user-name,.nav-auth a:not(.primary){display:none}.tabbar{display:block}body{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}.admin-side{height:calc(100vh - var(--nav-h) - var(--tabbar))}}.to-top{background:var(--fg);width:48px;height:48px;color:var(--base);z-index:36;opacity:0;visibility:hidden;transition:opacity var(--t) var(--e), visibility var(--t), transform var(--t) var(--e);border-radius:50%;place-items:center;display:grid;position:fixed;bottom:1.1rem;right:1.1rem;transform:translateY(12px)}.to-top.show{opacity:1;visibility:visible;transform:none}.to-top:active{transform:scale(.94)}.to-top svg{width:19px;height:19px}@media (width<=1024px){.to-top{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + .8rem)}}.drawer{z-index:60;visibility:hidden;position:fixed;inset:0}.drawer.open{visibility:visible}.drawer .veil-bg{opacity:0;transition:opacity var(--t-slow) var(--e);background:#0a0a0cb3;position:absolute;inset:0}.drawer.open .veil-bg{opacity:1}.drawer .panel{background:var(--base);border-left:1px solid var(--line-soft);width:min(420px,90vw);height:100%;padding:1rem 1.4rem calc(2.4rem + env(safe-area-inset-bottom));transition:transform .54s var(--e);position:absolute;top:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer.open .panel{transform:none}.drawer .top{min-height:var(--nav-h);justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dlink{border-radius:var(--r-sm);min-height:56px;font-family:var(--ui);transition:background var(--t-fast) var(--e);align-items:center;gap:.85rem;padding:0 .85rem;font-size:1.06rem;font-weight:600;display:flex}.dlink .ic{background:var(--card);width:34px;height:34px;color:var(--fg-2);border-radius:9px;flex:none;place-items:center;display:grid}.dlink .ic svg{width:17px;height:17px}.dlink:active{background:var(--card)}.drawer .cats a{border-radius:var(--r-sm);min-height:52px;font-family:var(--ui);transition:background var(--t-fast) var(--e);align-items:center;gap:.85rem;padding:0 .85rem;font-size:.98rem;font-weight:500;display:flex}.drawer .cats a .ic{background:var(--card);width:30px;height:30px;color:var(--fg-2);border-radius:8px;flex:none;place-items:center;display:grid}.drawer .cats a .ic svg{width:15px;height:15px}.drawer .cats a small{color:var(--fg-3);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.drawer .cats a:active{background:var(--card)}.search{z-index:70;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity var(--t) var(--e), visibility var(--t);background:#101113d1;position:fixed;inset:0}.search.open{opacity:1;visibility:visible}.search .box{background:var(--base);border:1px solid var(--line);border-radius:var(--r);width:min(720px,92vw);transition:transform .5s var(--e);margin:10vh auto 0;overflow:hidden;transform:translateY(-12px)scale(.99);box-shadow:0 40px 90px -30px #000c}.search.open .box{transform:none}.search .field-big{border-bottom:1px solid var(--line-soft);align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.search .field-big svg{width:20px;height:20px;color:var(--fg-3);flex:none}.search input{font-family:var(--ui);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0;font-size:1.16rem;font-weight:500}.search input::placeholder{color:var(--fg-3)}.search kbd{font-family:var(--ui);background:var(--card);color:var(--fg-3);border-radius:6px;padding:.22rem .45rem;font-size:.72rem;font-weight:600}.search .hits{max-height:58vh;padding:.4rem;overflow-y:auto}.search .hits a{min-height:var(--tap);border-radius:var(--r-sm);transition:background var(--t-fast) var(--e);grid-template-columns:66px 1fr;align-items:center;gap:.9rem;padding:.7rem;display:grid}.search .hits a:active,.search .hits a.sel{background:var(--card)}.search .hits img{object-fit:cover;border-radius:8px;width:66px;height:46px}.search .hits b{font-family:var(--read);font-size:1rem;font-weight:500;line-height:1.35;display:block}.search .hits small{font-family:var(--ui);color:var(--fg-3);font-size:.8rem;font-weight:500}.search .empty{color:var(--fg-3);padding:1.8rem 1.2rem;line-height:1.75}.search .foot{border-top:1px solid var(--line-soft);font-family:var(--ui);color:var(--fg-3);gap:1rem;padding:.7rem 1.2rem;font-size:.78rem;display:flex}.search .foot b{color:var(--fg-2);font-weight:600}@media (width<=640px){.search .box{margin-top:calc(.8rem + env(safe-area-inset-top));width:94vw}.search .foot{display:none}}.reveal{opacity:0;transition:opacity .75s var(--e) var(--d,0s), transform .75s var(--e) var(--d,0s);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.page{animation:pagein .45s var(--e) both}@keyframes pagein{0%{opacity:0}to{opacity:1}}.rise{padding-bottom:.09em;display:block;overflow:hidden}.rise>span{animation:riseUp .95s var(--e) both;animation-delay:var(--d,0s);display:block;transform:translateY(112%)}@keyframes riseUp{to{transform:none}}.fade-up{opacity:0;animation:fadeUp .8s var(--e) both;animation-delay:var(--d,0s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.brand:hover .badge{transform:rotate(-6deg)}.nav-links a:hover,.nav-links button:hover{color:var(--fg);background:var(--card)}.drop-wrap:hover .drop{opacity:1;visibility:visible;transform:none}.drop-wrap:hover svg{transform:rotate(180deg)}.drop a:hover{background:var(--card-2)}.drop a:hover .ic{background:var(--fg);color:var(--base)}.searchbtn:hover{border-color:var(--line);color:var(--fg-2)}.lang button:not(.on):hover{color:var(--fg)}.ico:hover{color:var(--fg);border-color:var(--line)}.btn:hover{background:var(--card-2);border-color:var(--fg-3)}.btn:hover svg{transform:translate(3px)}.btn-primary:hover{color:var(--base);background:#fff;border-color:#fff}.btn-quiet:hover{color:var(--fg);background:0 0}.btn-line:hover{background:var(--card);border-color:var(--fg-3)}.btn-line.danger:hover{background:#e05c5c1a;border-color:#e88}.feat:hover{border-color:var(--line);transform:translateY(-4px)}.feat:hover .ph img{transform:scale(1.05)}.feat:hover .go svg{transform:translate(4px)}.bt:hover{border-color:var(--line);background:var(--card-2);transform:translateY(-4px)}.bt:hover .ic,.bt-lg:hover .ic{background:var(--fg);color:var(--base)}.bt:hover .cnt svg{transform:translate(4px)}.step:hover{background:var(--card);padding-left:1rem}.step:hover .sph img{transform:scale(1.05)}.step:hover .sgo{background:var(--fg);color:var(--base);border-color:var(--fg)}.step:hover .sgo svg{transform:translate(2px)}.irow:hover{background:var(--card-2);border-color:var(--line)}.irow:hover .rth img{transform:scale(1.07)}.irow:hover .rgo{background:var(--fg);color:var(--base)}.irow:hover .rgo svg{transform:translate(2px)}.cloud .pill:hover{border-color:var(--fg-3);color:var(--fg)}.cloud .pill.on:hover{color:var(--base);background:#fff}.card:hover{border-color:var(--line);transform:translateY(-4px)}.card:hover .ph img{transform:scale(1.05)}.crumb:hover{color:var(--fg)}.crumb:hover svg{transform:translate(-4px)}.art-meta .sp button:hover{border-color:var(--line);color:var(--fg)}.prose a:hover{border-bottom-color:var(--fg);background:#e9e9e612}.pn:hover{background:var(--card-2);border-color:var(--line)}.pn:hover svg{transform:translate(-4px)}.pn.next:hover svg{transform:translate(4px)}.wsec:hover{border-color:var(--line)}.socials a:hover{background:var(--fg);color:var(--base);border-color:var(--fg);transform:translateY(-2px)}.foot-grid li a:hover{color:var(--fg);transform:translate(3px)}.dlink:hover,.drawer .cats a:hover,.search .hits a:hover{background:var(--card)}.to-top.show:hover{transform:translateY(-3px)}.tabbar a:hover,.tabbar button:hover{color:var(--fg)}.marquee:hover .track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.reveal{opacity:1;transform:none}.rise>span{transform:none}.fade-up{opacity:1}.marquee .track{animation:none}}.auth-page{min-height:calc(100vh - var(--nav-h));padding:clamp(2rem,4vw,4rem) var(--gut);place-items:center;display:grid}.auth-box{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);width:100%;max-width:460px;padding:clamp(1.6rem,4vw,2.4rem)}.auth-logo{align-items:center;gap:.6rem;margin-bottom:1.6rem;display:flex}.auth-box h1{margin-bottom:.35rem;font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.2}.auth-sub{font-family:var(--ui);color:var(--fg-3);margin-bottom:1.8rem;font-size:.92rem}.form-group{flex-direction:column;gap:.45rem;margin-bottom:1.15rem;display:flex}.form-label{font-family:var(--ui);color:var(--fg-2);font-size:.83rem;font-weight:600}.form-input{border:1px solid var(--line-soft);background:var(--card-2);border-radius:var(--r-sm);width:100%;font-family:var(--ui);color:var(--fg);transition:border-color var(--t) var(--e);outline:none;padding:.68rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--fg-3)}.form-input:focus-visible,.editor-title-input:focus-visible,.editor-area:focus-visible,.search input:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.form-input::placeholder{color:var(--fg-3)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2395979E' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:16px;padding-right:2.4rem}.form-textarea{resize:vertical;min-height:130px;line-height:1.72;font-family:var(--read)}.form-hint{font-family:var(--ui);color:var(--fg-3);align-items:center;gap:.35rem;font-size:.79rem;display:inline-flex}.form-hint svg{flex:none;width:14px;height:14px}.form-err{font-family:var(--ui);color:#e88;font-size:.8rem}.form-divider{font-family:var(--ui);color:var(--fg-3);align-items:center;gap:.8rem;margin:1.3rem 0;font-size:.8rem;display:flex}.form-divider:before,.form-divider:after{content:"";background:var(--line-soft);flex:1;height:1px}.sec-divider{background:var(--line-soft);height:1px;margin:1.8rem 0}.dsep{background:var(--line-soft);height:1px;margin:.9rem 0}.auth-alt{font-family:var(--ui);color:var(--fg-3);text-align:center;margin-top:1.3rem;font-size:.88rem}.auth-alt a{color:var(--fg-2);border-bottom:1px solid var(--line);transition:border-color var(--t) var(--e),color var(--t) var(--e);font-weight:600}.checkbox-row{font-family:var(--ui);color:var(--fg-2);align-items:flex-start;gap:.65rem;margin-bottom:1rem;font-size:.88rem;display:flex}.checkbox-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--fg);cursor:pointer;flex:none;margin-top:.15rem}.form-row-2{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (width<=440px){.form-row-2{grid-template-columns:1fr}}.admin-wrap{min-height:calc(100vh - var(--nav-h));grid-template-columns:240px minmax(0,1fr);display:grid}.admin-side{background:var(--void);border-right:1px solid var(--line-soft);top:var(--nav-h);height:calc(100vh - var(--nav-h));padding:1.2rem .65rem;position:sticky;overflow-y:auto}.admin-main{background:var(--base);min-width:0;padding:clamp(1.4rem,2.8vw,2.2rem) clamp(1.2rem,3vw,2.6rem)}.aside-label{font-family:var(--ui);letter-spacing:.07em;color:var(--fg-3);text-transform:uppercase;padding:.55rem .7rem .25rem;font-size:.7rem;font-weight:700;display:block}.aside-link{border-radius:var(--r-sm);min-height:40px;font-family:var(--ui);color:var(--fg-2);transition:background var(--t-fast) var(--e),color var(--t-fast) var(--e);cursor:pointer;align-items:center;gap:.65rem;padding:0 .72rem;font-size:.88rem;font-weight:500;display:flex}.aside-link .ic{background:var(--card);width:26px;height:26px;color:var(--fg-3);transition:background var(--t) var(--e),color var(--t) var(--e);border-radius:6px;flex:none;place-items:center;display:grid}.aside-link .ic svg{width:13px;height:13px}.aside-link.on{color:var(--fg);background:var(--card)}.aside-link:focus-visible,.tbl-btn:focus-visible,.tool-btn:focus-visible,.tab-link:focus-visible,.widget-more:focus-visible,.upload-zone:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.toggle input:focus-visible+.slider{outline:2px solid var(--fg);outline-offset:3px}.aside-link.on .ic{background:var(--card-2);color:var(--fg)}.aside-sep{background:var(--line-soft);height:1px;margin:.7rem}@media (width<=800px){.admin-wrap{grid-template-columns:1fr}.admin-side{top:var(--nav-h);z-index:40;overscroll-behavior-x:contain;min-width:0;max-width:100%;height:auto;padding:.55rem var(--gut);border-right:0;border-bottom:1px solid var(--line-soft);align-items:center;gap:.35rem;display:flex;position:sticky;overflow-x:auto}.admin-side .aside-label{display:none}.admin-side .aside-sep{flex:none;width:1px;height:22px;margin:0 .3rem}.admin-side .aside-link{white-space:nowrap;flex:none}}.page-hd{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.6rem;display:flex}.page-hd h1,.page-hd h2{margin:0;font-size:clamp(1.3rem,2.5vw,1.7rem);line-height:1.15}.hd-sub{font-family:var(--ui);color:var(--fg-3);margin:.22rem 0 0;font-size:.87rem}.hd-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dash-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.4rem;display:grid}@media (width<=1100px){.dash-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.dash-grid{grid-template-columns:1fr 1fr}}.dash-grid.c3{grid-template-columns:repeat(3,1fr)}@media (width<=560px){.dash-grid.c3{grid-template-columns:repeat(3,1fr)}.dash-grid.c3 .wlabel{font-size:.68rem}}.widget{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.1rem 1.2rem}.widget.flush{padding:0;overflow:hidden}.wlabel{font-family:var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.55rem;font-size:.75rem;font-weight:600}.wval{margin-bottom:.35rem;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;line-height:1}.wval.sm{font-size:1.5rem}.wdelta{font-family:var(--ui);color:var(--fg-3);font-size:.78rem}.cell-person{align-items:center;gap:.65rem;display:flex}.wdelta span{color:#6db27c}.chart-ph{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);margin-bottom:1.2rem;padding:1.2rem}.chart-ph h2,.chart-ph h4{font-family:var(--ui);color:var(--fg-2);margin:0 0 1rem;font-size:.85rem;font-weight:600}.chart-bars{align-items:flex-end;gap:4px;height:100px;display:flex}.chart-bars.tall{height:120px}.meter{margin-bottom:.8rem}.meter:last-child{margin-bottom:0}.meter-hd{font-family:var(--ui);justify-content:space-between;margin-bottom:.3rem;font-size:.84rem;display:flex}.meter-val{font-weight:600}.kv-row{font-family:var(--ui);border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:.35rem 0;font-size:.84rem;display:flex}.kv-row:last-child{border-bottom:0}.kv-val{color:var(--fg-3)}.sub-av.rank{color:var(--fg-3);font-size:.7rem;font-weight:700}.dash-qico svg{width:18px;height:18px}.chart-bar{background:var(--card-2);transition:background var(--t) var(--e);border-radius:4px 4px 0 0;flex:1}.chart-bar:hover{background:var(--fg-3)}.chart-axis{font-family:var(--ui);color:var(--fg-3);text-align:center;grid-template-columns:repeat(12,1fr);margin-top:.5rem;font-size:.7rem;display:grid}.wlabel.mb{margin-bottom:.8rem}.day-head{font-family:var(--ui);text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin:1.4rem 0 .6rem;font-size:.78rem;font-weight:700}.widget-more{font-family:var(--ui);color:var(--fg-3);transition:color var(--t) var(--e);margin-top:.8rem;font-size:.82rem;display:inline-block}.tbl-wrap{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--card);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;min-width:640px;font-family:var(--ui);font-size:.87rem}.widget .tbl{min-width:0}.tbl thead th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--line-soft);white-space:nowrap;background:var(--void);padding:.7rem .95rem;font-size:.75rem;font-weight:700}.tbl tbody td{color:var(--fg-2);border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:.82rem .95rem}.tbl tbody tr:last-child td{border-bottom:0}.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbl .muted{color:var(--fg-3);font-size:.82rem}.tbl .nowrap{white-space:nowrap}.tbl .cell-title{text-overflow:ellipsis;white-space:nowrap;max-width:360px;font-weight:600;overflow:hidden}.tbl .row-actions{justify-content:flex-end;gap:.4rem;display:flex}.tbl .empty{text-align:center;color:var(--fg-3);padding:1.6rem .95rem}.tbl .ctr{text-align:center}.tbl td.yes{color:#6db27c}.tbl td.no{color:var(--fg-3)}.tbl tbody tr:hover td{background:var(--card-2)}.tbl-btn{min-height:30px;font-family:var(--ui);border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--card-2);color:var(--fg-2);cursor:pointer;transition:border-color var(--t) var(--e),color var(--t) var(--e);justify-content:center;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.tbl-btn svg{flex:none;width:14px;height:14px}.tbl-btn:hover{border-color:var(--fg-3);color:var(--fg)}.tbl-btn.danger{color:#e88;background:#e05c5c0f;border-color:#e05c5c40}.tbl-btn.danger:hover{background:#e05c5c1a;border-color:#e88}.status{font-family:var(--ui);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.24rem .62rem;font-size:.73rem;font-weight:700;display:inline-flex}.status svg{flex:none;width:12px;height:12px}.status.active{color:#6db27c;background:#5ba86c1f;border:1px solid #5ba86c40}.status.expired{color:#e88;background:#e05c5c1a;border:1px solid #e05c5c33}.status.suspended{color:#e5960a;background:#ff98001a;border:1px solid #ff980033}.status.draft{background:var(--card-2);color:var(--fg-3);border:1px solid var(--line-soft)}.status.published{color:#6db27c;background:#5ba86c1f;border:1px solid #5ba86c40}.status.scheduled{color:#7ba6ec;background:#3b82f61a;border:1px solid #3b82f633}.status.archived{background:var(--card-2);color:var(--fg-3);border:1px solid var(--line-soft)}.status.pending{color:#e5960a;background:#ff98001a;border:1px solid #ff980033}.status.free{background:var(--card-2);color:var(--fg-3);border:1px solid var(--line-soft)}.status.premium{color:#d4a857;background:#d4a8571f;border:1px solid #d4a85740}.status.subscriber,.status.paid{color:#6db27c;background:#5ba86c1f;border:1px solid #5ba86c40}.status.failed{color:#e88;background:#e05c5c1a;border:1px solid #e05c5c33}.plans-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:720px;margin:0 auto;display:grid}@media (width<=580px){.plans-grid{grid-template-columns:1fr}}.plan-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);transition:border-color var(--t) var(--e);padding:1.6rem 1.4rem;position:relative}.plan-card.featured{border-color:var(--fg-2)}.plan-tag-sm{background:var(--fg);color:var(--base);font-family:var(--ui);letter-spacing:.04em;border-radius:0 0 8px 8px;padding:.22rem .7rem;font-size:.72rem;font-weight:700;position:absolute;top:-1px;right:1.4rem}.plan-name{font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.6rem;font-size:.8rem;font-weight:700}.plan-price{margin-bottom:.2rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:1}.plan-period{font-family:var(--ui);color:var(--fg-3);margin-bottom:1.3rem;font-size:.83rem}.plan-features{flex-direction:column;gap:.55rem;margin:0 0 1.4rem;padding:0;list-style:none;display:flex}.plan-features li{font-family:var(--ui);color:var(--fg-2);align-items:center;gap:.55rem;font-size:.87rem;display:flex}.plan-features li svg{color:#6db27c;flex:none;width:14px;height:14px}.plan-features li.off{color:var(--fg-3)}.plan-features li.off svg{color:var(--fg-3);opacity:.4}.aed-check li.off svg{opacity:.9;color:#e88}.dash-profile-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);align-items:center;gap:1.2rem;margin-bottom:1.4rem;padding:1.6rem;display:flex}.dash-avatar{background:var(--card-2);border:2px solid var(--line);width:56px;height:56px;font-family:var(--ui);color:var(--fg-3);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.dash-name{margin:0 0 .2rem;font-size:1.1rem;font-weight:600}.dash-email{font-family:var(--ui);color:var(--fg-3);font-size:.83rem}.dash-plan{margin-top:.4rem}.membership-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.4rem}.membership-name{margin:0 0 .2rem;font-size:1.05rem;font-weight:600}.membership-meta{font-family:var(--ui);color:var(--fg-3);margin-bottom:1rem;font-size:.83rem}.progress-bar{background:var(--card-2);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--fg-2);height:100%;transition:width .6s var(--e);border-radius:999px}.editor-wrap{border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}.editor-toolbar{background:var(--void);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem .75rem;display:flex}.tool-btn{width:30px;height:30px;color:var(--fg-3);cursor:pointer;transition:background var(--t-fast) var(--e),color var(--t-fast) var(--e),border-color var(--t-fast) var(--e);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;display:grid}.tool-btn:hover{background:var(--card);color:var(--fg);border-color:var(--line-soft)}.tool-btn>span{justify-content:center;align-items:center;display:flex}.tool-btn svg{width:14px;height:14px;display:block}.tool-sep{background:var(--line-soft);flex:none;width:1px;height:20px;margin:0 .15rem}.editor-body{background:var(--card)}.editor-title-input{border:0;border-bottom:1px solid var(--line-soft);background:var(--card);width:100%;color:var(--fg);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;font-family:var(--read);outline:none;padding:1rem 1.2rem}.editor-title-input::placeholder{color:var(--fg-3)}.editor-area{background:var(--card);width:100%;min-height:320px;font-size:.97rem;font-family:var(--read);color:var(--fg);resize:none;border:0;outline:none;padding:1rem 1.2rem;line-height:1.75}.editor-footer{background:var(--void);border-top:1px solid var(--line-soft);font-family:var(--ui);color:var(--fg-3);justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .9rem;font-size:.82rem;display:flex}.editor-footer .err{color:var(--bad,#e5730a)}.editor-visual{white-space:normal;max-height:70vh;display:block;overflow-y:auto}.editor-visual:empty:before,.editor-visual>p:only-child:empty:before{content:attr(data-placeholder);color:var(--fg-3);pointer-events:none}.editor-visual blockquote{border-left:3px solid var(--line);color:var(--fg-2);margin:1rem 0;padding:.2rem 0 .2rem 1rem;font-style:italic}.editor-visual h2{margin:1.4rem 0 .6rem;font-size:1.4rem}.editor-visual h3{margin:1.2rem 0 .5rem;font-size:1.15rem}.editor-visual ul,.editor-visual ol{margin:.8rem 0 .8rem 1.4rem}.editor-visual li{margin:.25rem 0}.editor-visual img{border-radius:var(--r-sm);max-width:100%;height:auto;margin:.6rem 0}.editor-visual a{color:var(--fg);text-decoration:underline}.editor-visual hr{border:0;border-top:1px solid var(--line-soft);margin:1.4rem 0}.editor-code{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem;line-height:1.6}.editor-modes{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--card);margin-left:auto;display:flex;overflow:hidden}.editor-modes button{font-family:var(--ui);letter-spacing:.02em;min-height:30px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;padding:.3rem .7rem;font-size:.75rem;font-weight:700}.editor-modes button.on{background:var(--fg);color:var(--base)}.editor-modes button:not(.on):hover{color:var(--fg)}.editor-linkbar{background:var(--void);border-bottom:1px solid var(--line-soft);align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.editor-linkbar .form-input{flex:1;min-height:36px}.tool-btn.on{background:var(--fg);color:var(--base);border-radius:var(--r-sm)}.aed-check li.opt{opacity:.75}.aed-check li.opt span{justify-content:center;min-width:16px;display:inline-flex}.upload-zone{border:2px dashed var(--line-soft);border-radius:var(--r);text-align:center;cursor:pointer;width:100%;transition:border-color var(--t) var(--e),background var(--t) var(--e);background:0 0;padding:2.5rem 1.4rem;display:block}.cover-prev{border-radius:var(--r-sm);aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:.8rem}.btn-line.full{width:100%}.btn.full-cta{width:100%;margin-top:.8rem;display:flex}.upload-zone:hover{border-color:var(--fg-3);background:var(--card)}.upload-zone.dragging{border-color:var(--fg);background:var(--card-2)}.upload-zone svg{width:32px;height:32px;color:var(--fg-3);margin:0 auto .65rem}.upload-zone p,.upload-zone .uz-t{font-family:var(--ui);color:var(--fg-3);margin:0;font-size:.88rem;display:block}.upload-zone small{font-family:var(--ui);color:var(--fg-3);opacity:.7;font-size:.76rem}.searchbox{align-items:center;gap:.5rem;display:flex}.searchbox .field{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--card);flex:auto;align-items:center;gap:.5rem;min-width:0;padding:.45rem .7rem;display:flex}.searchbox .field svg{width:16px;height:16px;color:var(--fg-3);flex:none}.searchbox input{color:var(--fg);font-family:var(--ui);background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:.9rem}.nav-search{max-width:260px}.home-search{margin-bottom:1.6rem}.home-search .form-hint{margin:.9rem 0 .5rem}@media (width<=900px){.nav-search{display:none}}.seo-preview{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r-sm);margin-top:.7rem;padding:1rem 1.1rem}.seo-url{font-family:var(--ui);color:#6db27c;margin-bottom:.2rem;font-size:.75rem}.seo-title-prev{font-family:var(--ui);color:#7ba6ec;margin-bottom:.18rem;font-size:1rem;font-weight:600}.seo-desc-prev{font-family:var(--ui);color:var(--fg-3);font-size:.82rem;line-height:1.5}.rights-note{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--card);align-items:flex-start;gap:.85rem;margin:2.2rem 0 1.4rem;padding:1.1rem 1.2rem;display:flex}.rights-note svg{width:20px;height:20px;color:var(--fg-3);flex:none;margin-top:.15rem}.rights-note b{font-family:var(--ui);margin-bottom:.3rem;font-size:.9rem;display:block}.rights-note p{font-family:var(--ui);color:var(--fg-3);margin:0 0 .8rem;font-size:.85rem;line-height:1.6}.locked-overlay{position:relative;overflow:hidden}.locked-preview{max-height:320px;position:relative;overflow:hidden}.locked-preview:after{content:"";background:linear-gradient(to bottom,transparent,var(--base));height:180px;position:absolute;bottom:0;left:0;right:0}.locked-gate{text-align:center;background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);margin-top:-1px;padding:2.4rem 1.4rem}.locked-icon{background:var(--card-2);width:48px;height:48px;color:var(--fg-3);border-radius:50%;place-items:center;margin:0 auto 1rem;display:grid}.locked-icon svg{width:22px;height:22px}.locked-gate h3{margin:0 0 .45rem;font-size:1.1rem;font-weight:600}.locked-gate p{font-family:var(--ui);color:var(--fg-3);margin:0 0 1.3rem;font-size:.9rem}.locked-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.notif-list{flex-direction:column;display:flex}.notif-item{border-bottom:1px solid var(--line-soft);transition:background var(--t-fast) var(--e);grid-template-columns:36px 1fr auto;align-items:start;gap:.8rem;padding:.95rem 1rem;display:grid}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--card-2)}.notif-item.unread{background:var(--card);border-left:2px solid var(--fg-2)}.notif-item.unread:hover{background:var(--card-2)}.notif-icon{background:var(--card-2);width:34px;height:34px;color:var(--fg-3);border-radius:50%;place-items:center;display:grid}.notif-icon svg{width:15px;height:15px}.notif-title{font-family:var(--ui);color:var(--fg);margin-bottom:.18rem;font-size:.87rem;font-weight:600}.notif-sub{font-family:var(--ui);color:var(--fg-3);font-size:.8rem}.notif-time{font-family:var(--ui);color:var(--fg-3);white-space:nowrap;padding-top:.1rem;font-size:.73rem}.tabs{border-bottom:1px solid var(--line-soft);overscroll-behavior-x:contain;gap:0;min-width:0;margin-bottom:1.4rem;display:flex;overflow-x:auto}.tab-link{min-height:44px;font-family:var(--ui);color:var(--fg-3);cursor:pointer;transition:color var(--t) var(--e),border-color var(--t) var(--e);border-bottom:2px solid #0000;flex:none;align-items:center;margin-bottom:-1px;padding:.7rem 1rem;font-size:.88rem;font-weight:600;display:inline-flex}.tab-link.on{color:var(--fg);border-color:var(--fg)}.tab-link:hover:not(.on){color:var(--fg-2)}.setting-block{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);margin-bottom:1.2rem;overflow:hidden}.setting-hd{border-bottom:1px solid var(--line-soft);background:var(--void);padding:.85rem 1.2rem}.setting-hd h2,.setting-hd h4{font-family:var(--ui);margin:0 0 .1rem;font-size:.85rem;font-weight:700}.setting-hd p{font-family:var(--ui);color:var(--fg-3);margin:0;font-size:.78rem}.setting-row{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:grid}.setting-row:last-child{border-bottom:0}.sk{font-family:var(--ui);color:var(--fg);margin-bottom:.15rem;font-size:.87rem;font-weight:600}.sd{font-family:var(--ui);color:var(--fg-3);font-size:.78rem}.narrow-in{width:auto;max-width:280px}.toggle{flex:none;width:40px;height:22px;position:relative}.toggle input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--card-2);border:1px solid var(--line-soft);transition:background var(--t) var(--e);border-radius:999px;position:absolute;inset:0}.slider:before{content:"";background:var(--fg-3);width:16px;height:16px;transition:transform var(--t) var(--e),background var(--t) var(--e);border-radius:50%;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.toggle input:checked+.slider{background:var(--fg-2);border-color:var(--fg-2)}.toggle input:checked+.slider:before{background:var(--base);transform:translate(18px,-50%)}.activity-list{flex-direction:column;gap:0;display:flex}.activity-item{border-bottom:1px solid var(--line-soft);grid-template-columns:28px 1fr auto;align-items:start;gap:.75rem;padding:.7rem 0;display:grid}.activity-item:last-child{border-bottom:0}.activity-txt{font-family:var(--ui);color:var(--fg-2);font-size:.85rem}.activity-time{font-family:var(--ui);color:var(--fg-3);white-space:nowrap;font-size:.75rem}.activity-dot{justify-content:center;width:28px;padding-top:.3rem;display:flex}.activity-dot:before{content:"";background:var(--fg-3);border-radius:50%;width:8px;height:8px}.resp-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;display:grid}@media (width<=760px){.resp-grid{grid-template-columns:1fr}}.device-frame{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}.device-bar{background:var(--void);border-bottom:1px solid var(--line-soft);align-items:center;gap:.55rem;padding:.55rem .75rem;display:flex}.device-dots{gap:5px;display:flex}.device-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.device-url{background:var(--card);border:1px solid var(--line-soft);font-family:var(--ui);color:var(--fg-3);border-radius:4px;flex:1;padding:.2rem .55rem;font-size:.72rem}.device-body{background:var(--base);min-height:260px;padding:.6rem}.checkout-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.4rem;display:grid}@media (width<=820px){.checkout-grid{grid-template-columns:1fr}}.order-summary{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.3rem}.order-line{font-family:var(--ui);color:var(--fg-2);border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:.45rem 0;font-size:.88rem;display:flex}.order-line:last-child{color:var(--fg);border-bottom:0;font-weight:700}.pay-opt{flex-direction:column;gap:.65rem;display:flex}.pay-radio{border:1px solid var(--line-soft);border-radius:var(--r-sm);cursor:pointer;background:var(--card);transition:border-color var(--t) var(--e);align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.pay-radio:has(input:checked){border-color:var(--fg-2)}.pay-radio input[type=radio]{accent-color:var(--fg)}.pay-radio span{font-family:var(--ui);color:var(--fg-2);font-size:.9rem;font-weight:600}.result-page{min-height:calc(100vh - var(--nav-h));padding:3rem var(--gut);place-items:center;display:grid}.result-box{text-align:center;width:100%;max-width:440px}.result-icon{border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 1.4rem;display:grid}.result-icon.ok{color:#6db27c;background:#5ba86c1f}.result-icon.fail{color:#e88;background:#e05c5c1a}.result-icon svg{width:32px;height:32px}.result-box h1,.result-box h2{margin:0 0 .5rem;font-size:1.5rem}.result-box p{font-family:var(--ui);color:var(--fg-3);margin:0 0 1.6rem;font-size:.92rem}.result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.modal{z-index:900;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-veil{background:#00000073;position:absolute;inset:0}.mbox{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);z-index:1;width:100%;max-width:400px;padding:1.6rem;position:relative}.mhd{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;display:flex}.mhd h3{margin:0;font-size:1rem;font-weight:600}.breadcrumb{font-family:var(--ui);color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1.2rem;font-size:.8rem;display:flex}.bsep{opacity:.4}.demo-nav{z-index:500;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.demo-toggle{background:var(--void);border:1px solid var(--line);font-family:var(--ui);color:var(--fg-2);cursor:pointer;transition:border-color var(--t) var(--e),background var(--t) var(--e);border-radius:999px;align-items:center;gap:.55rem;padding:.42rem 1.1rem .42rem .75rem;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 4px 20px #0000002e}.demo-toggle:hover{border-color:var(--fg-3);background:var(--card)}.demo-toggle svg{width:14px;height:14px;color:var(--fg-3)}.demo-panel{background:var(--void);border:1px solid var(--line);border-radius:var(--r);min-width:220px;max-width:280px;max-height:70vh;padding:.6rem .5rem;display:none;overflow-y:auto;box-shadow:0 8px 40px #00000047}.demo-panel.open{display:block}.demo-link{font-family:var(--ui);color:var(--fg-3);cursor:pointer;transition:background var(--t-fast) var(--e),color var(--t-fast) var(--e);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.38rem .75rem;font-size:.82rem;display:block;overflow:hidden}.demo-link:hover{background:var(--card);color:var(--fg)}.demo-sep{background:var(--line-soft);height:1px;margin:.35rem .75rem}.demo-section{font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);opacity:.7;padding:.5rem .75rem .2rem;font-size:.68rem;font-weight:700}@media (width<=1024px){.demo-nav{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + .8rem)}}.detail-card{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}.detail-row{border-bottom:1px solid var(--line-soft);grid-template-columns:140px 1fr;gap:1rem;padding:.85rem 1.1rem;display:grid}.detail-row:last-child{border-bottom:0}.detail-k{font-family:var(--ui);color:var(--fg-3);font-size:.82rem;font-weight:600}.detail-v{font-family:var(--ui);color:var(--fg-2);font-size:.88rem}.admin-cols{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.4rem;display:grid}@media (width<=900px){.admin-cols{grid-template-columns:1fr}}.admin-cols-eq{grid-template-columns:1fr 1fr;gap:1.4rem;display:grid}@media (width<=760px){.admin-cols-eq{grid-template-columns:1fr}}.sub-item{border-bottom:1px solid var(--line-soft);grid-template-columns:34px 1fr auto;align-items:center;gap:.75rem;padding:.7rem 0;display:grid}.sub-item:last-child{border-bottom:0}.sub-av{background:var(--card-2);border:1px solid var(--line-soft);width:32px;height:32px;font-family:var(--ui);color:var(--fg-3);border-radius:50%;flex:none;place-items:center;font-size:.73rem;font-weight:700;display:grid}.sub-name{font-family:var(--ui);color:var(--fg);margin-bottom:.1rem;font-size:.86rem;font-weight:600}.sub-email{font-family:var(--ui);color:var(--fg-3);font-size:.74rem}.role-badge{font-family:var(--ui);border:1px solid var(--line-soft);background:var(--card-2);color:var(--fg-3);white-space:nowrap;border-radius:999px;padding:.24rem .58rem;font-size:.72rem;font-weight:700}.role-badge.owner{color:#d4a857;background:#d4a8571a;border-color:#d4a85733}.role-badge.admin,.role-badge.editor{color:var(--fg-2);background:var(--card-2)}.sub-banner{background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);text-align:center;margin:2rem 0;padding:2rem 1.6rem}.sub-banner h3{margin:0 0 .5rem;font-size:1.2rem}.sub-banner p{font-family:var(--ui);color:var(--fg-3);max-width:380px;margin:0 auto 1.2rem;font-size:.9rem}.sub-form-row{flex-wrap:wrap;gap:.6rem;max-width:380px;margin:0 auto;display:flex}.sub-form-row .form-input{flex:1;min-width:0}@media (width<=440px){.sub-form-row{flex-direction:column}}.alert-box{border-radius:var(--r-sm);border:1px solid var(--line-soft);font-family:var(--ui);align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.9rem 1rem;font-size:.87rem;display:flex}.alert-box.info{color:var(--fg-2);background:#5b8ce014;border-color:#5b8ce033}.alert-box.warn{color:var(--fg-2);background:#e5960a14;border-color:#e5960a33}.alert-box.success{color:var(--fg-2);background:#5ba86c14;border-color:#5ba86c33}.alert-box svg{flex:none;width:16px;height:16px;margin-top:.05rem}.toast-viewport{right:var(--gut);bottom:var(--gut);z-index:1000;pointer-events:none;max-width:min(360px,calc(100vw - 2*var(--gut)));flex-direction:column-reverse;gap:.6rem;display:flex;position:fixed}.toast{pointer-events:auto;border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--card);font-family:var(--ui);color:var(--fg-2);animation:toastIn var(--t) var(--e) both;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.87rem;display:flex;box-shadow:0 24px 60px -20px #000000b3}.toast-success{border-color:#5ba86c4d}.toast-success .toast-ic{color:#6db27c}.toast-error{border-color:#e05c5c4d}.toast-error .toast-ic{color:#e88}.toast-info{border-color:#7ba6ec4d}.toast-info .toast-ic{color:#7ba6ec}.toast-ic{flex:none;width:18px;height:18px;margin-top:.05rem}.toast-msg{flex:1;padding-top:.05rem;line-height:1.4}.toast-close{width:20px;height:20px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.toast-close:hover{color:var(--fg);background:var(--card-2)}.toast-close svg{width:13px;height:13px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.content-guard,.content-guard *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.content-guard input,.content-guard textarea,.content-guard select,.content-guard [contenteditable=true]{-webkit-user-select:text;user-select:text}[hidden]{display:none!important}.row-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.tbl-foot .row-actions,.setting-row .row-actions{flex-wrap:wrap}.tab-dot{background:var(--line);border-radius:50%;flex:none;width:6px;height:6px;margin-left:.45rem}.tab-dot.done{background:#6db27c}.th-sort{color:inherit;align-items:center;gap:.3rem;min-height:24px;text-decoration:none;display:inline-flex}.th-sort:hover,.th-sort.on{color:var(--fg)}.th-arrow{font-size:.9em;line-height:1}.tbl-foot{font-family:var(--ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;font-size:.82rem;display:flex}.tbl-foot .muted{color:var(--fg-3)}.tbl-foot .btn-line[disabled],.btn[disabled]{opacity:.45;cursor:not-allowed}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.media-item{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--card-2);min-width:0;margin:0;position:relative;overflow:hidden}.media-item img{object-fit:cover;width:100%;height:88px;display:block}.media-cap{border:0;border-top:1px solid var(--line-soft);background:var(--card);width:100%;font-family:var(--ui);color:var(--fg-2);outline:none;min-width:0;padding:.42rem .55rem;font-size:.75rem}.media-cap::placeholder{color:var(--fg-3)}.media-cap:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.media-acts{gap:.25rem;display:flex;position:absolute;top:.35rem;right:.35rem}.media-acts .tbl-btn{background:var(--card-2)}.nav-auth{align-items:center;gap:.5rem;display:flex}.nav-auth a{font-family:var(--ui);color:var(--fg-2);border-radius:var(--r-sm);border:1px solid var(--line-soft);transition:border-color var(--t) var(--e),background var(--t) var(--e),color var(--t) var(--e);padding:.38rem .8rem;font-size:.84rem;font-weight:600}.nav-auth a:hover{background:var(--card);border-color:var(--fg-3)}.nav-auth a.primary{background:var(--fg);color:var(--base);border-color:var(--fg)}.nav-auth a.primary:hover{background:var(--fg-2);border-color:var(--fg-2)}.nav-user{font-family:var(--ui);color:var(--fg-2);cursor:pointer;align-items:center;gap:.5rem;font-size:.84rem;display:flex}.nav-user-name{font-weight:600}.nav-avatar{background:var(--card-2);border:1px solid var(--line-soft);width:30px;height:30px;color:var(--fg-3);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}
