:root{--bg:#060605;--surface:#0d0d0c;--surface-2:#141412;--border:#26251f;--text:#f1efe8;--text-soft:#b1ada2;--muted:#8b8779;--accent:#f1efe8;--gold:#c8a24a;--read-body:#dcd7cc;--hair:hsla(47,24%,93%,.1);--cur-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M14 2.5 L15.7 12.3 L25.5 14 L15.7 15.7 L14 25.5 L12.3 15.7 L2.5 14 L12.3 12.3 Z' fill='%23ecca82' stroke='%23241c10' stroke-width='0.7' stroke-linejoin='round'/%3E%3Ccircle cx='14' cy='14' r='1.5' fill='%23fffdf5'/%3E%3C/svg%3E") 14 14;--card:#141412;--radius:3px;--shadow:none;--n1:#000;--n2:#050504;--n3:#111110;--n-ink:#f3f1ea;--n-soft:#aba79c;--n-line:hsla(47,24%,93%,.16);--star:#fffdf6;--n-acc:#e9e5d9;--display:"Prata",Georgia,"Times New Roman",serif;--body:"EB Garamond",Georgia,serif}:root[data-theme=light]{--bg:#e9e5da;--surface:#faf8f2;--surface-2:#efeae0;--border:#d9d3c4;--text:#131209;--text-soft:#514e44;--muted:#847f72;--accent:#131209;--gold:#a8791f;--read-body:#33312a;--hair:rgba(0,0,0,.08);--shadow:none;--card:#f7f4ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.66;font-size:17px;-webkit-font-smoothing:antialiased}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;text-wrap:balance;margin:0}p{margin:0 0 1em}a{color:var(--accent);text-decoration:none}.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:20px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::-webkit-scrollbar-corner{background:transparent}#spark{width:100%;height:100%;z-index:45}#spark,.starsky{position:fixed;inset:0;pointer-events:none}.starsky{z-index:-1;overflow:hidden}:root[data-theme=light] .starsky{display:none}.starsky .st{position:absolute;border-radius:50%;background:var(--star,#fffdf6);opacity:.15;box-shadow:0 0 4px rgba(255,253,246,.45);animation:twinkle var(--tw,4s) ease-in-out infinite;animation-delay:var(--td,0s)}@keyframes twinkle{0%,to{opacity:.12;transform:scale(.7)}50%{opacity:var(--op,.8);transform:scale(1.08)}}.shoot{position:absolute;top:-8%;left:-12%;width:160px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,253,246,.15),var(--star,#fffdf6));opacity:0;transform:translate(-14vw,-8vh) rotate(26deg);transform-origin:right center;filter:drop-shadow(0 0 5px rgba(255,253,246,.6));animation:shoot 14s ease-in infinite}.shoot.b{top:22%;width:120px;animation-duration:19s;animation-delay:8s}@keyframes shoot{0%{opacity:0;transform:translate(-14vw,-8vh) rotate(26deg)}3%{opacity:.9}11%{opacity:0}to{opacity:0;transform:translate(120vw,56vh) rotate(26deg)}}.tog .ic{width:17px;height:17px;display:block}@media(prefers-reduced-motion:reduce){.starsky .st{animation:none;opacity:.4}.shoot{display:none}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar .wrap{gap:18px;height:62px}.logo,.topbar .wrap{display:flex;align-items:center}.logo{gap:10px;font-family:var(--display);font-size:1.7rem;letter-spacing:.04em;color:var(--text)}.logo svg{width:22px;height:22px;color:var(--accent);flex:none}.logo-word{font-family:var(--display);letter-spacing:.01em;line-height:1}.logo-word .lt{color:var(--gold,#c8a24a)}:root:not([data-theme=light]) .logo-word .lt{text-shadow:0 0 16px rgba(200,162,74,.3)}:root[data-theme=light] .logo-word .lt{color:#a8791f}.topbar nav{margin-left:auto;display:flex;gap:2px}.topbar nav a{font-size:.85rem;color:var(--text-soft);padding:7px 12px;border-radius:9px;font-weight:500}.topbar nav a:hover{background:var(--surface-2);color:var(--text)}.topbar-tools{display:flex;align-items:center;gap:8px}.acct{position:relative;display:flex}.acct-btn{width:34px;height:34px;padding:0;border:0;background:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:box-shadow .18s}.acct-btn:hover,.acct-btn[aria-expanded=true]{box-shadow:0 0 0 2px var(--accent)}.acct-img{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;border:1px solid var(--border)}.acct-img.big{width:44px;height:44px}.acct-initial{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--bg);font-family:var(--display);font-size:1rem;line-height:1}.acct-initial.big{width:44px;height:44px;font-size:1.35rem}.acct-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:248px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px -18px rgba(0,0,0,.7);padding:16px;z-index:60;animation:acctIn .16s ease}@keyframes acctIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.acct-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}.acct-id{min-width:0}.acct-name{font-family:var(--display);font-size:1rem;color:var(--text);line-height:1.2}.acct-email,.acct-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-email{font-size:.82rem;color:var(--text-soft)}.acct-item{display:flex;align-items:center;gap:9px;width:100%;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text);font-family:var(--body);font-size:.9rem;cursor:pointer;text-decoration:none;transition:border-color .18s,background .18s}.acct-item:hover{border-color:var(--accent);background:var(--surface-2)}.acct-item .ic{width:17px;height:17px}.acct-signout{display:flex;align-items:center;gap:9px;width:100%;margin-top:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text);font-family:var(--body);font-size:.9rem;cursor:pointer;transition:border-color .18s,background .18s}.acct-signout:hover{border-color:var(--accent);background:var(--surface-2)}.acct-signout .ic{width:17px;height:17px}.settings{margin-top:22px;display:flex;flex-direction:column;gap:18px}.set-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 22px 24px}.set-card h2{font-family:var(--display);font-size:1.4rem;margin:0 0 6px}.set-desc{color:var(--read-body);line-height:1.62;margin:0 0 4px;font-size:.96rem}.set-hint{color:var(--muted);font-size:.82rem;margin:10px 0 0}.set-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.set-err{color:#cf8f8f;font-size:.86rem;margin:10px 0 0}.set-danger{border-color:color-mix(in srgb,#c0625f 45%,var(--border));background:color-mix(in srgb,#c0625f 6%,var(--surface))}.btn-danger{font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:.02em;padding:12px 24px;border-radius:8px;border:1px solid #c0625f;background:transparent;color:#d98a86;cursor:pointer;transition:.18s;margin-top:16px}.btn-danger:hover{background:#c0625f;border-color:#c0625f;color:#fff}.btn-danger:disabled{opacity:.45;cursor:not-allowed;background:transparent;color:#d98a86}.set-confirm{margin-top:16px;border-top:1px solid color-mix(in srgb,#c0625f 30%,var(--border));padding-top:16px}.set-confirm-lbl{display:block;color:var(--text-soft);font-size:.9rem;line-height:1.5;margin-bottom:10px}.set-confirm-input{width:100%;max-width:260px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:11px 14px;color:var(--text);font-family:var(--body);font-size:1rem;letter-spacing:.06em}.set-confirm-input:focus{outline:none;border-color:#c0625f}.set-confirm-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.set-confirm-row .btn-danger,.set-confirm-row .btn-line{margin-top:0}.tog{background:transparent;border:1px solid var(--border);color:var(--text-soft);height:34px;min-width:34px;padding:0 8px;border-radius:3px;cursor:pointer;display:grid;place-items:center;font-size:.82rem;transition:border-color .2s,color .2s}.tog:hover{border-color:var(--accent);color:var(--text)}@media(max-width:820px){.topbar nav{display:none}}.hero{position:relative;overflow:hidden;background:radial-gradient(135% 105% at 72% -5%,#0a0b08,var(--n1));color:var(--n-ink);border-bottom:1px solid var(--n-line);min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);display:flex;align-items:center}.hero-scroll{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);color:var(--n-soft);opacity:.65;z-index:2;pointer-events:none}.hero-scroll svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:heroBob 1.9s ease-in-out infinite}@keyframes heroBob{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:.9}}@media(prefers-reduced-motion:reduce){.hero-scroll svg{animation:none}}.ben-head h2,.ben-head p,.feat-head h2,.feat-head p,.hero .lead{text-wrap:balance}.hero canvas.field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero .wrap{position:relative;z-index:2;padding:74px 24px 82px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:48px;gap:48px;align-items:center}.hero .eyebrow{color:var(--n-soft)}.hero h1{font-size:clamp(2.5rem,5.4vw,4rem);line-height:1.07;margin:18px 0 0;color:var(--n-ink)}.hero h1 .em{font-style:italic;color:#d3daea;white-space:nowrap}.hero .lead{font-size:clamp(1.05rem,2.2vw,1.22rem);color:var(--n-soft);max-width:44ch;margin:22px 0 0}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.btn{font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:.04em;padding:13px 30px;border-radius:2px;border:1px solid var(--star);cursor:pointer;transition:background .22s,color .22s,border-color .22s;color:var(--n1);background:var(--star);display:inline-block}.btn:hover{text-decoration:none}.btn-ghost,.btn:hover{background:transparent;color:var(--n-ink)}.btn-ghost{border-color:var(--n-line)}.btn-ghost:hover{border-color:var(--n-ink)}.hero-note{margin-top:22px;font-size:.82rem;color:var(--n-soft);opacity:.85}.fan{position:relative;height:410px;display:flex;align-items:center;justify-content:center}.fan .card{position:absolute;width:176px;height:292px;filter:drop-shadow(0 18px 34px rgba(0,0,0,.7))}.fan .card .hero-face{width:100%;height:100%;border-radius:12px;background-size:cover;background-position:50%;border:1px solid hsla(45,27%,88%,.4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}.fan:before{content:"";position:absolute;width:256px;height:256px;border:1px solid var(--hair);border-radius:50%;z-index:0}.fan .c1{transform:rotate(-15deg) translate(-98px,14px)}.fan .c2{transform:rotate(0) translateY(-20px);z-index:2}.fan .c3{transform:rotate(15deg) translate(98px,14px)}@media(prefers-reduced-motion:no-preference){.fan .card{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.fan:hover .c1{transform:rotate(-19deg) translate(-120px,10px)}.fan:hover .c3{transform:rotate(19deg) translate(120px,10px)}.fan:hover .c2{transform:translateY(-32px)}.fan .card{animation:fanin .8s cubic-bezier(.2,.75,.2,1) backwards}.fan .c1{animation-name:fanin1;animation-delay:.04s}.fan .c3{animation-name:fanin3;animation-delay:.12s}.fan .c2{animation-name:fanin2;animation-delay:.22s}@keyframes fanin1{0%{opacity:0;transform:rotate(-40deg) translate(-176px,132px)}to{opacity:1;transform:rotate(-15deg) translate(-98px,14px)}}@keyframes fanin2{0%{opacity:0;transform:translateY(150px) scale(.88)}to{opacity:1;transform:rotate(0) translateY(-20px)}}@keyframes fanin3{0%{opacity:0;transform:rotate(40deg) translate(176px,132px)}to{opacity:1;transform:rotate(15deg) translate(98px,14px)}}}.cardback{border-radius:13px;background:radial-gradient(120% 92% at 50% -4%,#20202b,#08080c 78%);border:1px solid hsla(47,24%,93%,.26);box-shadow:0 0 0 1px rgba(0,0,0,.5),0 16px 34px -14px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,253,246,.1),inset 0 0 30px rgba(0,0,0,.45);color:var(--n-acc);overflow:hidden}.cardback,.cardback svg{width:100%;height:100%;display:block}.benefits{padding:54px 0 22px;border-bottom:1px solid var(--border)}.ben-head{max-width:60ch;margin-bottom:26px}.ben-head h2{font-family:var(--display);font-size:clamp(1.6rem,3.4vw,2.2rem);margin:0 0 8px;line-height:1.1}.ben-head p{color:var(--text-soft);margin:0}.ben-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));grid-gap:30px 26px;gap:30px 26px}.ben-card{padding:2px 0;cursor:default}.ben-star{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(200,162,74,.14);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);margin-bottom:14px}.ben-star svg{width:20px;height:20px}.ben-card h3{font-family:var(--display);font-size:1.2rem;margin:0 0 6px;color:var(--text)}.ben-card p{color:var(--text-soft);font-size:.95rem;line-height:1.55;margin:0}.features{padding:70px 0}.feat-head{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:30px;gap:30px;align-items:end;margin-bottom:32px}.feat-head h2{font-size:clamp(2.2rem,5.6vw,4rem);line-height:1}.feat-head p{font-family:var(--body);color:var(--text-soft);margin:0 0 6px;font-size:1.06rem;max-width:38ch}@media(max-width:760px){.feat-head{grid-template-columns:1fr;gap:12px}}.feat-top{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media(max-width:760px){.feat-top{grid-template-columns:1fr}}.feat-big{position:relative;border:1px solid var(--border);border-radius:8px;padding:26px 26px 28px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;text-decoration:none;color:var(--n-ink);transition:border-color .2s}.feat-big:hover{border-color:var(--accent)}.feat-big.dark{background:radial-gradient(120% 110% at 82% 0,#16150f,#050504)}.feat-big.glow{background:radial-gradient(120% 110% at 18% 0,#181820,#08080b)}.feat-big:after{content:"";position:absolute;top:-58px;right:-58px;width:150px;height:150px;border-radius:50%;border:1px solid var(--hair);pointer-events:none;z-index:0}.feat-big .d,.feat-big .feat-arrow,.feat-big .h{position:relative;z-index:1}.feat-big .feat-arrow{color:var(--n-soft)}.feat-big .h{font-family:var(--display);font-size:2.1rem;margin:0 0 6px;line-height:1.04;color:var(--n-ink)}.feat-big .d{font-family:var(--body);color:var(--n-soft);margin:0;font-size:1rem}.feat-deco{position:absolute;z-index:0;pointer-events:none}.feat-fan{top:24px;right:24px;width:158px;height:102px}.feat-fan i{position:absolute;left:50%;bottom:0;width:46px;height:70px;margin-left:-23px;border-radius:6px;border:1px solid hsla(38,54%,63%,.6);background:linear-gradient(160deg,#2e2e3c,#16161f);transform-origin:50% 100%;box-shadow:0 8px 18px -8px rgba(0,0,0,.65);overflow:hidden;color:hsla(38,54%,63%,.7)}.feat-fan i svg{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);display:block}.feat-fan i:first-child{transform:rotate(-32deg)}.feat-fan i:nth-child(2){transform:rotate(-16deg)}.feat-fan i:nth-child(3){transform:rotate(0deg)}.feat-fan i:nth-child(4){transform:rotate(16deg)}.feat-fan i:nth-child(5){transform:rotate(32deg)}.feat-big.glow:hover .feat-fan i:first-child{transform:rotate(-38deg)}.feat-big.glow:hover .feat-fan i:nth-child(5){transform:rotate(38deg)}.feat-book{top:20px;right:26px;width:118px;height:auto;opacity:.9;transition:opacity .25s ease}.feat-book img{width:118px;height:auto;display:block}.feat-big.dark:hover .feat-book{opacity:1}.feat-book,.feat-fan i{transition:transform .25s ease,color .25s ease}.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}@media(max-width:900px){.feat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.feat-grid{grid-template-columns:1fr}}.feat-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:10px;padding:22px 22px 24px;min-height:196px;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--surface);box-shadow:0 1px 2px rgba(60,50,30,.05),0 10px 26px -18px rgba(60,50,30,.28);transition:border-color .2s,box-shadow .2s,transform .2s}.feat-card:hover{transform:translateY(-3px);box-shadow:0 2px 5px rgba(60,50,30,.06),0 18px 34px -18px rgba(60,50,30,.35)}:root:not([data-theme=light]) .feat-card{box-shadow:0 12px 30px -20px rgba(0,0,0,.7)}:root:not([data-theme=light]) .feat-card:hover{box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}.feat-card:hover{border-color:var(--accent)}.feat-card:after{content:"";position:absolute;right:-56px;bottom:-56px;width:132px;height:132px;border-radius:50%;border:1px solid var(--hair);pointer-events:none;z-index:0}.feat-num{font-family:var(--body);font-size:.78rem;letter-spacing:.16em;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feat-card .h,.feat-num{position:relative;z-index:1}.feat-card .h{font-family:var(--display);font-size:1.55rem;margin:auto 0 6px;line-height:1.08}.feat-card .d{font-family:var(--body);color:var(--text-soft);font-size:.9rem;margin:0;position:relative;z-index:1}.feat-arrow{position:absolute;top:20px;right:20px;color:var(--text-soft);transition:transform .2s,color .2s;z-index:2}.feat-big:hover .feat-arrow,.feat-card:hover .feat-arrow{transform:translate(3px,-3px);color:var(--accent)}.feat-arrow svg{width:18px;height:18px;display:block}.has-reveal .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.has-reveal .reveal.in{opacity:1;transform:none}.has-reveal .ben-grid .ben-card{transition-delay:calc(var(--rd,0)*1ms)}.has-reveal .ben-grid .ben-card:first-child{--rd:0}.has-reveal .ben-grid .ben-card:nth-child(2){--rd:70}.has-reveal .ben-grid .ben-card:nth-child(3){--rd:140}.has-reveal .ben-grid .ben-card:nth-child(4){--rd:210}.has-reveal .feat-top .feat-big:nth-child(2){transition-delay:90ms}.has-reveal .feat-grid .feat-card:first-child{transition-delay:0ms}.has-reveal .feat-grid .feat-card:nth-child(2){transition-delay:60ms}.has-reveal .feat-grid .feat-card:nth-child(3){transition-delay:.12s}.has-reveal .feat-grid .feat-card:nth-child(4){transition-delay:.18s}.has-reveal .feat-grid .feat-card:nth-child(5){transition-delay:.24s}@media(prefers-reduced-motion:reduce){.has-reveal .reveal{opacity:1;transform:none;transition:none}}.adm-th-stat{font-size:.86rem;color:var(--text-soft);margin:4px 0 14px}.adm-th-wrap{display:grid;grid-template-columns:minmax(0,300px) 1fr;grid-gap:16px;gap:16px}.adm-th-list{gap:8px;max-height:520px;overflow:auto}.adm-th-item,.adm-th-list{display:flex;flex-direction:column}.adm-th-item{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px;cursor:pointer;gap:4px;transition:border-color .15s}.adm-th-item.on,.adm-th-item:hover{border-color:var(--accent)}.adm-th-item.on{background:var(--surface-2)}.adm-th-top{display:flex;align-items:center;gap:8px}.adm-th-badge{margin-left:auto;background:var(--accent);color:var(--bg);font-size:.68rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px}.adm-th-last{font-size:.85rem;color:var(--text-soft);line-height:1.3}.adm-th-time{font-size:.7rem;color:var(--muted)}.adm-th-panel{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--surface);min-height:200px}@media(max-width:720px){.adm-th-wrap{grid-template-columns:1fr}}.contact{margin-top:20px}.like-btn{display:inline-flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:9px 18px;font-family:var(--body);font-size:.92rem;color:var(--text-soft);cursor:pointer;transition:.18s;margin-bottom:20px}.like-btn:hover{border-color:var(--accent);color:var(--text)}.like-btn.on{border-color:#c96a6a;color:#c96a6a;background:hsla(0,47%,60%,.08)}.like-heart{font-size:1.1rem;line-height:1}.thread{gap:10px;max-height:420px;overflow:auto;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);margin-bottom:18px}.msg,.thread{display:flex;flex-direction:column}.msg{max-width:82%;gap:3px}.msg.user{align-self:flex-end;align-items:flex-end}.msg.admin{align-self:flex-start;align-items:flex-start}.msg-body{padding:10px 14px;border-radius:14px;font-size:.94rem;line-height:1.5;white-space:pre-wrap}.msg.user .msg-body{background:var(--accent);color:var(--bg);border-bottom-right-radius:4px}.msg.admin .msg-body{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.msg-time{font-size:.7rem;color:var(--muted)}.contact-compose .field-label{margin-bottom:8px}.contact-thanks{padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.contact-thanks p{margin:0 0 6px}.contact-thanks .muted{color:var(--muted);font-size:.88rem}.contact-thanks .btn-line{margin-top:10px;display:inline-block}.doc-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--body);font-size:.86rem;color:var(--text-soft);border:1px solid var(--border);border-radius:20px;padding:6px 14px;transition:color .15s,border-color .15s}.doc-back:hover{color:var(--accent);border-color:var(--accent)}.doc-inner{max-width:720px;margin:0 auto}.doc-inner .doc-back{margin-bottom:14px}.doc-updated{color:var(--muted);font-size:.82rem;margin:0 0 8px}.doc-body .doc-sec{margin-top:24px}.doc-body .doc-sec h2{font-family:var(--display);font-size:1.3rem;margin:0 0 7px;color:var(--text);line-height:1.2}.doc-body .doc-sec p{color:var(--text-soft);line-height:1.72;margin:0;text-align:left}footer{padding:44px 0 60px;color:var(--muted);font-family:var(--body);font-size:.84rem;border-top:1px solid var(--border)}footer .fl{font-family:var(--display);font-size:1.6rem;color:var(--text);display:flex;align-items:center;gap:12px}footer .fl svg{width:18px;height:18px;color:var(--accent)}footer .foot-row{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}.foot-author{min-width:200px;align-self:flex-end}.foot-author h4{font-family:var(--body);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 8px}.fa-item{display:flex;flex-direction:row;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--border);text-decoration:none}.fa-item:first-of-type{border-top:0}.fa-logo{width:30px;height:30px;border-radius:7px;flex:none;box-shadow:0 2px 6px -2px rgba(0,0,0,.4)}.fa-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.fa-name{font-family:var(--display);font-size:.94rem;color:var(--text);line-height:1.15;transition:color .15s}.fa-item:hover .fa-name{color:var(--accent)}.fa-desc{font-size:.72rem;color:var(--muted);line-height:1.2}@media(max-width:640px){footer .foot-row{gap:24px}.foot-author{min-width:0}}footer .foot-emblem{height:66px;width:auto;display:block;opacity:.92}:root[data-theme=light] footer .foot-emblem{filter:invert(1)}@media(max-width:820px){.hero-grid{grid-template-columns:1fr;gap:6px}.fan{order:-1;height:340px}.fan .card{width:152px;height:252px}}@media(max-width:560px){.fan .c1{transform:rotate(-13deg) translate(-74px,12px)}.fan .c3{transform:rotate(13deg) translate(74px,12px)}}.reading-page{padding:52px 0 80px;min-height:70vh}.reading-page .lead-in{max-width:700px;margin:0 auto 10px;text-align:center}.reading-page h1{font-size:clamp(2rem,5vw,3rem);margin:8px 0 0}.reading-page .step{max-width:680px;margin:0 auto}.setup-panel{counter-reset:sec;max-width:600px;margin:6px auto 0;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px 28px 26px;box-shadow:0 30px 64px -46px rgba(0,0,0,.5)}.setup-sec{counter-increment:sec;padding:24px 0;border-top:1px solid var(--border)}.setup-sec:first-child{border-top:0;padding-top:18px}.setup-sec:last-child{padding-bottom:6px}.sec-h{display:flex;align-items:center;gap:11px;margin-bottom:16px}.sec-n{width:25px;height:25px;border-radius:50%;background:var(--accent);color:var(--bg);font-size:.76rem;font-weight:700;display:grid;place-items:center;flex:none;font-family:var(--body)}.sec-n:before{content:counter(sec)}.sec-t{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text);font-weight:600;transition:color .2s}.setup-sec:focus-within .sec-t{color:var(--accent)}.setup-panel .back-opts,.setup-panel .row,.setup-panel .samples,.setup-panel .spread-cats,.setup-panel .spread-opts{justify-content:flex-start;margin:0}.setup-panel .row{margin-top:18px}.setup-panel textarea.q{text-align:left}@media(max-width:560px){.setup-panel{padding:4px 16px 20px}}.quota-pill{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-soft);border:1px solid var(--border);border-radius:30px;padding:6px 14px;margin-top:16px}.quota-pill b{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quota-pill.is-hidden{visibility:hidden}.step{animation:fade .4s ease both}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.spread-opts{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 22px}.opt{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:14px 22px;min-width:120px;text-align:left;cursor:pointer;transition:.18s;color:var(--text-soft);font-family:var(--body)}.opt.on,.opt:hover{border-color:var(--accent);color:var(--text)}.opt.on{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent)}.opt .t{font-family:var(--display);font-size:1.25rem;color:var(--text);display:block;line-height:1.1}.opt .s{font-size:.75rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.spread-cats{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.scat{background:transparent;border:1px solid var(--border);border-radius:20px;padding:6px 15px;color:var(--text-soft);font-family:var(--body);font-size:.86rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.scat:hover{color:var(--text)}.scat.on,.scat:hover{border-color:var(--accent)}.scat.on{background:var(--accent);color:var(--bg)}.spread-unlock{display:flex;align-items:center;gap:10px;margin:2px 0 6px;padding:11px 14px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--gold) 55%,var(--border));background:color-mix(in srgb,var(--gold) 8%,transparent);color:var(--text-soft);text-decoration:none;font-size:.86rem;line-height:1.4;transition:border-color .16s,background .16s}.spread-unlock:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--text)}.spread-unlock .su-ico{flex:none;font-size:.9rem;opacity:.9}.spread-unlock .su-txt{flex:1 1}.spread-unlock .su-arrow{flex:none;color:var(--gold);font-size:1rem;transition:transform .16s}.spread-unlock:hover .su-arrow{transform:translateX(3px)}.spd{display:flex;flex-direction:column;gap:5px;align-items:stretch;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-width:196px;max-width:260px;cursor:pointer;transition:border-color .16s,background .16s;color:var(--text-soft);font-family:var(--body)}.spd.on,.spd:hover{border-color:var(--accent);color:var(--text)}.spd.on{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent)}.spd-top{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.spd-name{font-family:var(--display);font-size:1.12rem;color:var(--text);line-height:1.1}.spd-n{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:none}.spd-blurb{font-size:.82rem;color:var(--text-soft);line-height:1.32}.spd-mini{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:9px;max-width:130px}.spd-mini i{width:9px;height:13px;border-radius:2px;border:1px solid var(--border);background:var(--surface-2);display:grid;place-items:center;position:relative}.spd-mini i:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--border)}.spd.on .spd-mini i,.spd:hover .spd-mini i{border-color:var(--accent)}.spd.on .spd-mini i:before,.spd:hover .spd-mini i:before{background:var(--accent)}.back-opts{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 22px}.back-opt{background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;width:74px;font-family:var(--body)}.back-thumb{width:64px;height:102px;border-radius:9px;overflow:hidden;display:block;color:var(--n-acc);background:radial-gradient(120% 92% at 50% -4%,#20202b,#08080c 78%);border:1px solid hsla(47,24%,93%,.24);box-shadow:0 8px 20px -12px rgba(0,0,0,.8);transition:.18s}.back-thumb svg{width:100%;height:100%;display:block}.back-opt:hover .back-thumb{border-color:var(--accent);transform:translateY(-2px)}.back-opt.on .back-thumb{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--accent),0 0 20px -1px hsla(38,54%,63%,.55),0 12px 26px -12px rgba(0,0,0,.8)}:root[data-theme=light] .back-opt.on .back-thumb{box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--accent),0 0 18px -2px rgba(168,121,31,.45),0 12px 26px -14px rgba(70,60,40,.35)}.back-opt.on:after{content:"✓";position:absolute;top:-7px;right:6px;width:19px;height:19px;border-radius:50%;background:var(--accent);color:var(--bg);font-size:.72rem;font-weight:700;display:grid;place-items:center;z-index:3;box-shadow:0 2px 6px -1px rgba(0,0,0,.5)}.back-opt{position:relative}.back-name{font-size:.72rem;color:var(--text-soft);text-align:center;line-height:1.15}.back-opt.on .back-name{color:var(--accent);font-weight:600}.back-admin-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.back-admin{display:flex;flex-direction:column;align-items:center;gap:6px;width:88px;cursor:pointer;position:relative}.back-admin input{position:absolute;top:6px;left:6px;z-index:2;width:16px;height:16px;cursor:pointer}.back-admin-thumb{width:78px;height:124px;border-radius:9px;overflow:hidden;display:block;color:var(--n-acc);background:radial-gradient(120% 92% at 50% -4%,#20202b,#08080c 78%);border:1px solid hsla(47,24%,93%,.2);opacity:.55;transition:.18s}.back-admin-thumb svg{width:100%;height:100%;display:block}.back-admin input:checked~.back-admin-thumb{opacity:1;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.back-admin-name{font-size:.74rem;color:var(--text-soft);text-align:center;line-height:1.15}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));grid-gap:16px;gap:16px;margin-top:22px}.lib-card{text-align:center;background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;display:block}.lib-card .lib-img{transition:transform .18s ease,box-shadow .18s ease}.lib-card:hover .lib-img{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.4)}.lib-img{width:100%;aspect-ratio:150/256;border-radius:8px;background:var(--surface-2) center/cover no-repeat;border:1px solid var(--border);box-shadow:var(--shadow)}.lib-name{font-family:var(--display);font-size:.92rem;color:var(--text-soft);margin-top:8px;line-height:1.15}.lib-keys{font-size:.66rem;color:var(--muted);margin-top:3px;line-height:1.2}.fr-keys,.lib-keys{font-family:var(--body)}.fr-keys{text-align:center;font-size:.62rem;color:#9a8a62;padding:0 6px 9px;line-height:1.25}.lib-toolbar{gap:12px;align-items:center;justify-content:space-between;margin-top:6px}.lib-tabs,.lib-toolbar{display:flex;flex-wrap:wrap}.lib-tabs{gap:6px}.lib-tab{font-family:var(--body);font-size:.82rem;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-soft);cursor:pointer;transition:all .15s ease}.lib-tab:hover{border-color:var(--gold,#c8a24a);color:var(--text)}.lib-tab.on{background:var(--text);color:var(--bg);border-color:var(--text)}.lib-search{font-family:var(--body);font-size:.9rem;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);min-width:180px}.lib-search::placeholder{color:var(--muted)}.lib-decks{display:flex;gap:8px;margin-top:12px}.lib-deck{font-family:var(--display);font-size:.9rem;padding:7px 16px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-soft);cursor:pointer;transition:all .15s ease}.lib-deck.on,.lib-deck:hover{color:var(--text);border-color:var(--gold,#c8a24a)}.lib-deck.on{background:rgba(200,162,74,.14)}.cat-head{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:18px}.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.art-card{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border:1px solid var(--border);border-radius:14px;background:var(--card);text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease}.art-card:hover{transform:translateY(-3px);border-color:var(--gold,#c8a24a)}.art-title{font-family:var(--display);font-size:1.18rem;margin:0;line-height:1.25}.art-excerpt{color:var(--text-soft);font-size:.95rem;line-height:1.5;margin:0;flex:1 1}.art-meta{color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.article-wrap{max-width:720px}.art-back{color:var(--muted);text-decoration:none;font-size:.9rem}.art-back:hover{color:var(--text)}.article-title{font-family:var(--display);font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.15;margin:6px 0}.article-meta{color:var(--muted);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 22px}.prose{font-family:var(--body);color:var(--text-soft);font-size:1.06rem;line-height:1.75}.prose h2{font-size:1.45rem;margin:32px 0 10px;line-height:1.25}.prose h2,.prose h3{font-family:var(--display);color:var(--text)}.prose h3{font-size:1.15rem;margin:24px 0 8px}.prose p{margin:0 0 16px}.prose ol,.prose ul{margin:0 0 16px;padding-left:22px}.prose li{margin:0 0 7px}.prose strong{color:var(--text);font-weight:600}.prose blockquote{margin:22px 0;padding:4px 0 4px 20px;border-left:2px solid var(--gold,#c8a24a);color:var(--text);font-style:italic;font-family:var(--display);font-size:1.15rem;line-height:1.5}.article-cta{margin:40px 0 8px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.article-cta p{margin:0;font-family:var(--display);font-size:1.2rem;color:var(--text)}.article-related{margin-top:44px}.article-related h2{font-family:var(--display);font-size:1.4rem;margin:0 0 16px}.course-progress{margin-bottom:30px}.course-bar{height:8px;border-radius:999px;background:var(--border);overflow:hidden}.course-bar span{display:block;height:100%;background:var(--gold,#c8a24a);border-radius:999px;transition:width .4s ease}.course-pct{margin-top:8px;color:var(--muted);font-size:.85rem;letter-spacing:.04em}.course-module{margin-bottom:30px;padding-bottom:6px}.course-mod-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.course-mod-head h2{font-family:var(--display);font-size:1.3rem;margin:0}.course-mod-count{color:var(--muted);font-size:.85rem;white-space:nowrap}.course-mod-blurb{color:var(--text-soft);margin:4px 0 12px;font-size:.95rem}.course-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.course-lesson{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.course-lesson:hover{border-color:var(--gold,#c8a24a);transform:translateX(2px)}.course-check{width:22px;height:22px;flex:0 0 22px;border-radius:999px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--bg);background:transparent}.course-lessons li.done .course-check{background:var(--gold,#c8a24a);border-color:var(--gold,#c8a24a)}.course-lesson-title{flex:1 1;font-family:var(--display);font-size:1.02rem}.course-tag{font-family:var(--body);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-soft);white-space:nowrap}.course-tag.t-read{color:var(--text-soft);border-color:rgba(90,140,190,.55);background:rgba(90,140,190,.1)}.course-tag.t-study{color:var(--text-soft);border-color:rgba(170,130,40,.55);background:rgba(170,130,40,.12)}.course-tag.t-quiz{color:var(--text-soft);border-color:rgba(150,100,190,.55);background:rgba(150,100,190,.12)}.lesson-intro{color:var(--text-soft);font-size:1.06rem;line-height:1.7;margin:0 0 20px}.study-grid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;margin-bottom:8px}@media(min-width:560px){.study-grid{grid-template-columns:1fr 1fr}}.study-card{display:flex;gap:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.study-img{flex:0 0 76px;width:76px;aspect-ratio:150/256;border-radius:7px;background:var(--surface-2) center/cover no-repeat;border:1px solid var(--border)}.study-body{display:flex;flex-direction:column;gap:3px}.study-name{font-family:var(--display);font-size:1.05rem}.study-keys{font-family:var(--body);font-size:.74rem;color:#9a8a62;line-height:1.3}.study-mean{margin:4px 0 0;color:var(--text-soft);font-size:.9rem;line-height:1.45}.quiz-q{margin-bottom:22px}.quiz-prompt{font-family:var(--display);font-size:1.1rem;margin:0 0 10px}.quiz-opts{display:flex;flex-direction:column;gap:8px}.quiz-opt{text-align:left;font-family:var(--body);font-size:.98rem;padding:11px 15px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-soft);cursor:pointer;transition:all .14s ease}.quiz-opt.on,.quiz-opt:hover:not(:disabled){border-color:var(--gold,#c8a24a);color:var(--text)}.quiz-opt.on{background:rgba(200,162,74,.12)}.quiz-opt.correct{border-color:#5fbf7f;background:rgba(95,191,127,.15);color:var(--text)}.quiz-opt.wrong{border-color:#d97a7a;background:hsla(0,56%,66%,.14);color:var(--text)}.quiz-opt:disabled{cursor:default}.quiz-explain{margin:9px 0 0;font-size:.9rem;color:var(--muted);font-style:italic;line-height:1.45}.quiz-result{margin-top:8px}.quiz-result .ok{color:#7fd39a;font-family:var(--display);font-size:1.1rem}.quiz-result .partial{color:var(--text-soft);font-family:var(--display);font-size:1.05rem}.lesson-nav{margin-top:34px;padding-top:20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.lesson-done-badge{color:#7fd39a;font-size:.9rem;letter-spacing:.04em}.reading-err{margin-top:16px;padding:14px 18px;border:1px solid hsla(0,56%,66%,.4);background:hsla(0,56%,66%,.1);border-radius:12px;line-height:1.5;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.err-retry,.reading-err{color:var(--text);font-family:var(--body)}.err-retry{flex:none;background:transparent;border:1px solid hsla(0,56%,66%,.5);border-radius:20px;padding:6px 16px;font-size:.86rem;cursor:pointer;transition:background .16s,border-color .16s}.err-retry:hover{background:hsla(0,56%,66%,.18);border-color:hsla(0,56%,66%,.8)}.lib-modal{position:fixed;inset:0;z-index:60;background:rgba(6,6,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:libfade .18s ease}@keyframes libfade{0%{opacity:0}to{opacity:1}}.lib-sheet{position:relative;max-width:640px;width:100%;max-height:88vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:26px}.lib-close{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer}.lib-close:hover{color:var(--text)}.lib-sheet-grid{display:grid;grid-template-columns:150px 1fr;grid-gap:22px;gap:22px}.lib-sheet-img{aspect-ratio:150/256;border-radius:10px;background:var(--surface-2) center/cover no-repeat;border:1px solid var(--border);box-shadow:var(--shadow)}.lib-sheet-name{font-family:var(--display);font-size:1.5rem;margin:0}.lib-sheet-sub{font-family:var(--body);color:var(--muted);margin:2px 0 14px;font-style:italic}.lib-sheet-keys{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.lib-chip{font-family:var(--body);font-size:.76rem;padding:4px 11px;border-radius:999px;border:1px solid var(--border);color:var(--text-soft)}.lib-mean{margin-bottom:14px}.lib-mean p{margin:5px 0 0;color:var(--text-soft);line-height:1.5}.lib-mean-tag{font-family:var(--body);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:6px}.lib-mean-tag.up{background:rgba(184,142,52,.22);color:var(--text);border:1px solid rgba(184,142,52,.5)}.lib-mean-tag.rev{background:rgba(120,122,150,.2);color:var(--text);border:1px solid rgba(120,122,150,.45)}@media(max-width:520px){.lib-sheet-grid{grid-template-columns:110px 1fr;gap:16px}.lib-sheet{padding:20px}}.field-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;display:block;margin-bottom:8px}textarea.q{width:100%;min-height:96px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--body);font-size:1.05rem;padding:14px 16px;resize:vertical}textarea.q:focus{outline:none;border-color:var(--accent)}.samples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sample{font-size:.82rem;color:var(--text-soft);border:1px dashed var(--border);border-radius:20px;padding:5px 12px;cursor:pointer;background:transparent;transition:border-color .16s,color .16s}.sample-roll{border-style:solid;color:var(--muted);letter-spacing:.02em}.sample-roll:hover{color:var(--accent);border-color:var(--accent)}.hub-tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin:8px 0 28px}.hub-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--text-soft);font-family:var(--display);font-size:1.08rem;padding:8px 2px;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.hub-tab.on,.hub-tab:hover{color:var(--text)}.hub-tab.on{border-bottom-color:var(--accent)}.sample:hover{border-color:var(--accent);color:var(--text)}.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.row,.switch{align-items:center}.switch{display:inline-flex;gap:9px;cursor:pointer;color:var(--text-soft);font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:40px;height:23px;border-radius:20px;border:1px solid var(--border);background:var(--surface-2);position:relative;transition:.2s;flex:none}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--muted);transition:.2s}.switch input:checked+.track{border-color:var(--accent);background:var(--accent)}.switch input:checked+.track:after{transform:translateX(17px);background:var(--bg)}.switch-state{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:1px 8px}.switch.on .switch-state{border-color:var(--accent)}.btn-dark,.switch.on .switch-state{color:var(--bg);background:var(--accent)}.btn-dark{font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:.04em;padding:13px 30px;border-radius:2px;border:1px solid var(--accent);cursor:pointer;transition:.2s}.btn-dark:hover{background:transparent;color:var(--text)}.btn-dark:disabled{opacity:.4;cursor:not-allowed}.btn-line{font-family:var(--body);font-size:.9rem;font-weight:600;letter-spacing:.04em;padding:13px 30px;border-radius:2px;border:1px solid var(--border);cursor:pointer;background:transparent;color:var(--text);transition:.2s}.btn-line:hover{border-color:var(--accent)}.breath{min-height:50vh;display:grid;place-items:center;text-align:center}.breath-flower{position:relative;width:170px;height:170px;display:grid;place-items:center;animation:bloom 8s ease-in-out infinite;will-change:transform}.breath-flower .petal{position:absolute;top:50%;left:50%;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:50%;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 6%,transparent) 70%);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.breath-flower .petal:nth-child(2){transform:rotate(0deg) translateY(-24px)}.breath-flower .petal:nth-child(3){transform:rotate(60deg) translateY(-24px)}.breath-flower .petal:nth-child(4){transform:rotate(120deg) translateY(-24px)}.breath-flower .petal:nth-child(5){transform:rotate(180deg) translateY(-24px)}.breath-flower .petal:nth-child(6){transform:rotate(240deg) translateY(-24px)}.breath-flower .petal:nth-child(7){transform:rotate(300deg) translateY(-24px)}.breath-flower .glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 68%);filter:blur(6px)}.breath-text{margin-top:38px;color:var(--text-soft);font-size:1.18rem;font-family:var(--display);letter-spacing:.02em;transition:opacity .7s ease;opacity:1}.breath-text.out{opacity:0}@keyframes bloom{0%{transform:scale(.52) rotate(0deg)}45%{transform:scale(1.12) rotate(56deg)}55%{transform:scale(1.12) rotate(56deg)}to{transform:scale(.52) rotate(0deg)}}@media(prefers-reduced-motion:reduce){.breath-flower{animation:none;transform:scale(.95)}}.reading-page .step{position:relative}.pick-center{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:min(88%,440px);z-index:1;pointer-events:none}.pick-hint{text-align:center;color:var(--text-soft);margin:0 0 6px;font-size:1.02rem}.pick-breath{text-align:center;color:var(--muted);font-size:.82rem;letter-spacing:.03em;margin:0;font-style:italic}body:has(.pick-fan){overflow-x:clip}.pick-fan{position:relative;height:min(58vh,460px);width:100vw;margin:26px 0 0 calc(50% - 50vw);overflow-x:clip}.pick-card{position:absolute;left:50%;top:0;width:112px;height:185px;margin-left:-56px;cursor:var(--cur-star),-webkit-grab;cursor:var(--cur-star),grab;transform-origin:50% 50%;perspective:1100px;opacity:0;transform:translateY(52px) rotate(0deg) scale(.9);transition:transform .6s cubic-bezier(.2,.8,.25,1),opacity .5s ease;transition-delay:calc(var(--i,0)*26ms)}.pick-fan.dealt .pick-card{opacity:1;transform:translate(var(--fx,0),var(--fy,0)) rotate(var(--ang,0deg)) scale(1)}.pick-fan.dealt:not(.revealing) .pick-card:hover{transform:translate(var(--fx,0),calc(var(--fy,0) - 30px)) rotate(var(--ang,0deg)) scale(1);z-index:6}.pick-fan.dealt:not(.revealing) .pick-card:active{cursor:-webkit-grabbing;cursor:grabbing}.pick-card .cardback{border-radius:10px}.pick-fan.dealt:not(.revealing) .pick-card .cardback{animation:pickFloat 4.8s ease-in-out infinite;animation-delay:calc(var(--i,0)*.12s)}.pick-fan:not(.revealing) .pick-card:hover .cardback{box-shadow:0 0 0 1px hsla(47,24%,93%,.55),0 22px 42px -14px rgba(0,0,0,.9),inset 0 0 36px hsla(45,27%,88%,.16);border-color:hsla(45,27%,88%,.6)}@keyframes pickFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.pick-fan.revealing{height:min(48vh,344px);margin-top:52px;transition:height .5s ease,margin-top .5s ease}.pick-fan.revealing .pick-card{transition:transform .85s cubic-bezier(.32,.72,.2,1),opacity .6s ease;transition-delay:0s;cursor:default}.pick-fan.revealing .pick-card.picked{opacity:1;transform:translate(var(--rx,0),var(--ry,0)) rotate(0deg) scale(var(--rev-scale,1.8));z-index:5;cursor:var(--cur-star),pointer}.pick-fan.revealing.big{height:470px;margin-top:40px}.pick-fan.revealing .pick-card:not(.picked){opacity:0;pointer-events:none;transform:translate(var(--fx,0),calc(var(--fy,0) + 200px)) rotate(var(--ang,0deg)) scale(.92)}.pc-pos{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 8px);width:132px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);font-weight:600;line-height:1.25;pointer-events:none;opacity:0;animation:posIn .5s ease .5s forwards}.pick-card.label-below .pc-pos{bottom:auto;top:calc(100% + 8px);justify-content:flex-start}.pc-pos b{display:block;font-family:var(--display);font-size:.78rem;color:var(--text);margin-top:2px;text-transform:none;font-weight:400;line-height:1.15}@keyframes posIn{to{opacity:1}}.pc-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.8,.3,1);border-radius:10px}.pc-inner.flipped{transform:rotateY(180deg)}.pc-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:10px;overflow:hidden}.pc-face.pc-front{transform:rotateY(180deg);background:#14110c;border:1px solid #cbc3b0;color:#1c1a12;overflow:hidden}.pc-front .fr-img{position:absolute;inset:0;background-position:50%;background-size:cover;background-repeat:no-repeat}.pc-front.rev .fr-img{transform:rotate(180deg)}.pc-front .fr-cap{position:absolute;left:0;right:0;bottom:0;padding:20px 6px 7px;text-align:center;pointer-events:none;background:linear-gradient(0deg,rgba(18,15,10,.95),rgba(18,15,10,.72) 48%,transparent)}.pc-front .fr-cap .fr-name{font-family:var(--display);font-size:.82rem;color:#f6f2e8;line-height:1.12;padding:0}.pc-front .fr-cap .fr-or{font-family:var(--body);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#dcc79c;padding:0}.pick-fan.dealt:not(.revealing) .pick-card.picked{transform:translate(var(--fx,0),calc(var(--fy,0) - 50px)) rotate(var(--ang,0deg)) scale(1.05);z-index:6;cursor:default}.pick-fan.dealt:not(.revealing) .pick-card.picked .cardback{animation:none;box-shadow:0 0 0 1px hsla(45,27%,88%,.75),0 26px 46px -14px rgba(0,0,0,.9),inset 0 0 42px hsla(45,27%,88%,.22);border-color:hsla(45,27%,88%,.8)}.page-loading{min-height:60vh;display:grid;place-items:center;color:var(--text-soft)}.page-loading .dots i{width:6px;height:6px}.daily{max-width:520px;margin:22px auto 0}.daily-date{text-align:center;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}.daily-stage{display:flex;flex-direction:column;align-items:center;margin:16px 0 6px}.daily-card{width:190px;height:318px;background:none;border:0;padding:0;cursor:pointer;perspective:1200px}.daily-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.3,.8,.3,1)}.daily-stage.open .daily-inner{transform:rotateY(180deg)}.daily-face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.daily-back .cardback,.daily-face{border-radius:12px}.daily-front{transform:rotateY(180deg);border:1px solid #cbc3b0;background:#14110c}.daily-img{position:absolute;inset:0;background-size:cover;background-position:50%}.daily-hint{color:var(--text-soft);font-size:.92rem;margin-top:16px;text-align:center}.daily-read{max-width:480px;margin:8px auto 0}.daily-read h2{font-family:var(--display);font-size:1.55rem;margin:0;text-align:center}.daily-kw{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;margin:7px 0;text-align:center}.daily-mean{color:var(--read-body);line-height:1.72;text-align:center;margin:6px auto 22px}.mood-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 20px}.mood{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--border);border-radius:20px;padding:7px 14px;cursor:pointer;color:var(--text-soft);font-family:var(--body);font-size:.86rem;transition:.16s}.mood-dot{width:11px;height:11px;border-radius:50%;background:var(--mc);flex:none}.mood.on,.mood:hover{border-color:var(--mc);color:var(--text)}.mood.on{box-shadow:inset 0 0 0 1px var(--mc)}.jprompt{display:flex;align-items:flex-start;gap:8px;margin:2px 0 8px}.jprompt-txt{color:var(--accent);font-size:.9rem;font-style:italic;line-height:1.4}.jprompt-roll{background:none;border:0;color:var(--muted);cursor:pointer;font-size:.95rem;flex:none;padding:0 2px;line-height:1.4}.jprompt-roll:hover{color:var(--accent)}.daily-ta{width:100%;min-height:120px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-family:var(--body);font-size:.98rem;line-height:1.6;resize:vertical;margin-top:6px}.daily-ta:focus{outline:none;border-color:var(--accent)}.daily-note-row{display:flex;align-items:center;margin-top:12px}.daily-saved{color:var(--accent);font-size:.82rem;margin-left:12px}.daily-cal{max-width:480px;margin:34px auto 0;border-top:1px solid var(--border);padding-top:24px}.cal-head{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px}.cal-month{font-family:var(--display);font-size:1.1rem;min-width:160px;text-align:center;text-transform:capitalize}.cal-nav{background:none;border:1px solid var(--border);color:var(--text);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1}.cal-nav:hover{border-color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-wd{margin:22px 0 8px;padding-top:16px;border-top:1px solid var(--border)}.cal-wdc{text-align:center;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.cal-cell,.cal-wdc{color:var(--text-soft)}.cal-cell{position:relative;aspect-ratio:1;border:1px solid var(--border);background:var(--surface-2);border-radius:9px;cursor:default;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--body);transition:background .15s,border-color .15s}.cal-cell.empty,.cal-cell.future{background:transparent;border-color:transparent}.cal-cell.future{opacity:.4}.cal-cell.can-edit:hover{background:var(--surface);border-color:var(--accent)}.cal-cell.empty{visibility:hidden}.cal-cell.has{cursor:pointer;background:var(--surface-2)}.cal-cell.has:hover{filter:brightness(1.14)}.cal-cell.has-mood .cal-num{color:var(--text)}.cal-cell.future{opacity:.32}.cal-cell.today{outline:1px solid var(--accent);outline-offset:-1px}.cal-cell.sel{box-shadow:inset 0 0 0 1px var(--accent)}.cal-num{font-size:.82rem}.cal-dot{width:8px;height:8px;border-radius:50%;background:var(--mc,var(--muted))}.cal-face{position:absolute;inset:0;margin:auto;width:80%;height:80%;object-fit:contain;pointer-events:none}.cal-num.corner{position:absolute;top:2px;left:5px;font-size:.6rem;color:var(--muted);z-index:1}.daily-privacy-note{font-size:.78rem;color:var(--muted);margin:12px 0 0;display:flex;align-items:center;gap:5px}.mood-chart{margin:4px 0 14px}.mc-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px;text-align:center}.mc-svg{width:100%;height:auto;display:block}.mc-xlbl{fill:var(--muted);font-size:8px;font-family:var(--body)}.mc-hint{text-align:center;color:var(--muted);font-size:.82rem;font-style:italic;margin:6px 0 12px}.cal-summary{margin:2px 0 14px}.cal-sum-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}.cal-sum-bar span{display:block;min-width:4px}.cal-sum-txt{margin-top:7px;text-align:center;font-size:.8rem;color:var(--text-soft);letter-spacing:.01em}.cal-tip{text-align:center;margin-top:8px;font-size:.74rem;color:var(--muted);font-style:italic}.cal-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px;font-size:.72rem;color:var(--text-soft)}.cal-legend span{display:inline-flex;align-items:center;gap:5px}.cal-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.daily-detail{position:relative;display:flex;gap:16px;margin:20px auto 0;max-width:600px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.dd-body{flex:1 1;min-width:0}.dd-moods{margin:6px 0 4px;justify-content:flex-start}.dd-moods .mood-cat{padding:8px 6px}.dd-moods .mood-pose{height:40px}.cal-cell.can-edit{cursor:pointer}.dd-history{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.dd-history-h{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.dd-hist-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;color:var(--text-soft);padding:5px 0;border-top:1px dashed var(--border)}.dd-hist-row:first-of-type{border-top:0}.dd-hist-time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dd-hist-mood{display:inline-flex;align-items:center;gap:5px}.dd-hist-mood i{width:8px;height:8px;border-radius:50%}.dd-hist-note{font-style:italic}.daily-detail-x{position:absolute;top:6px;right:12px;background:none;border:0;color:var(--muted);font-size:1.5rem;cursor:pointer;line-height:1}.dd-img{width:78px;height:130px;border-radius:8px;background-size:cover;background-position:50%;flex:none;border:1px solid var(--border)}.dd-date{font-size:.74rem;color:var(--muted)}.dd-name{font-family:var(--display);font-size:1.15rem;margin:2px 0 6px}.dd-mood{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-soft)}.dd-mood i{width:9px;height:9px;border-radius:50%}.dd-note{color:var(--read-body);font-size:.92rem;line-height:1.62;margin:8px 0 0;white-space:pre-wrap}.yn{text-align:center}.yn-start{margin-top:16px}.yn-out{margin-top:18px;animation:acctIn .22s ease}.yn-answer{font-family:var(--display);font-size:1.75rem;margin-bottom:6px}.yn-yes{color:#5fae7c}.yn-no{color:#cf8f8f}.yn-maybe{color:var(--text-soft)}.yn-name{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.yn-mean{color:var(--read-body);line-height:1.7;max-width:44ch;margin:0 auto 14px}.yn-note{color:var(--muted);font-style:italic;font-size:.88rem;margin:0 auto 18px;max-width:40ch}.daily-room{--accent:#e9e4d7}:root[data-theme=light] .daily-room{--accent:#1c1a14}.daily-room .daily{background:#181510;border:1px solid #2b2419;border-radius:22px;padding:26px 20px 34px;box-shadow:0 24px 64px -34px rgba(0,0,0,.72)}:root[data-theme=light] .daily-room .daily{background:#fdfbf6;border-color:#e4ddcc;box-shadow:0 2px 6px rgba(70,60,40,.05),0 26px 56px -34px rgba(70,60,40,.34)}:root[data-theme=light] .contact textarea,:root[data-theme=light] .daily-ta,:root[data-theme=light] .fu-input,:root[data-theme=light] textarea.q{background:#f0ebdf;border-color:#d6d0be;box-shadow:inset 0 1px 3px rgba(70,60,40,.07)}.mascot-companion{display:flex;flex-direction:column;align-items:center;margin:4px 0 16px}.mascot-img{height:120px;width:auto;display:block}.mascot-say{margin:10px 0 0;color:var(--read-body);font-size:.96rem;text-align:center;font-family:var(--display)}.mood-cat{flex-direction:column;gap:4px;padding:8px 12px 7px;width:80px}.mood-pose{height:52px;width:auto;object-fit:contain;display:block;transition:transform .18s ease}.mood-cat.on{box-shadow:inset 0 0 0 1px var(--mc);background:var(--surface-2)}.mood-cat.on .mood-pose{transform:scale(1.1)}.mood-cat .mood-lbl{font-size:.8rem}.loading-lbl{align-items:center}.dots,.loading-lbl{display:inline-flex}.dots{gap:3px;margin-left:5px}.dots i{width:4px;height:4px;border-radius:50%;background:currentColor;display:inline-block;animation:dotJump 1.1s ease-in-out infinite}.dots i:nth-child(2){animation-delay:.16s}.dots i:nth-child(3){animation-delay:.32s}@keyframes dotJump{0%,65%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}@media(max-width:640px){.pick-card{width:78px;height:128px;margin-left:-39px}.pick-fan{height:min(46vh,340px);margin-top:18px}.pick-fan:not(.revealing){margin-top:26vh}.reading-page:has(.pick-fan:not(.revealing)) .lead-in h1{font-size:1.7rem;margin:2px 0 0}.pick-fan.revealing{height:min(44vh,252px);margin-top:40px}.pick-fan.revealing.big{height:380px;margin-top:26px}.pc-pos{width:96px;font-size:.46rem}.pick-center{top:52%;width:84%}.pick-hint{font-size:.92rem}}@media(prefers-reduced-motion:reduce){.pick-card{transition:opacity .3s ease}.pick-fan.dealt:not(.revealing) .pick-card .cardback{animation:none}}.mat{position:relative;padding:38px 20px 30px;border-radius:6px;border:1px solid var(--n-line);margin-top:20px;background:radial-gradient(95% 75% at 50% -5%,rgba(150,170,220,.08),transparent 60%),radial-gradient(140% 120% at 50% 120%,#020203,#0a0a0c);animation:matIn .6s cubic-bezier(.2,.8,.25,1) both}@keyframes matIn{0%{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:none}}.slots{display:grid;grid-gap:20px;gap:20px;justify-content:center;grid-template-columns:repeat(var(--n,3),minmax(0,150px))}@media(max-width:560px){.slots{grid-template-columns:1fr;max-width:220px;margin:0 auto}}.slot{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;animation:slotIn .55s ease both;animation-delay:calc(.18s + var(--si,0)*.1s)}@keyframes slotIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mat,.slot{animation:none}}.slot .pos{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--n-acc);font-weight:600}.slot .pos b{display:block;font-family:var(--display);font-size:1.05rem;color:var(--n-ink);margin-top:4px;text-transform:none;font-weight:400}.flip{width:100%;max-width:150px;aspect-ratio:150/250;perspective:1100px;cursor:pointer}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.8,.3,1);border-radius:11px}.flip.is-flipped .flip-inner{transform:rotateY(180deg)}.face{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:11px;overflow:hidden}.face.front{transform:rotateY(180deg);background:linear-gradient(180deg,#f5f2ea,#e7e1d3);border:1px solid #cbc3b0;display:flex;flex-direction:column;color:#1c1a12}.face.front.rev .fr-body{transform:rotate(180deg)}.fr-body{flex:1 1;display:flex;flex-direction:column}.fr-img{flex:1 1;background:#efe9db 50%/cover no-repeat;display:grid;place-items:center}.fr-img span{font-size:1.05rem;color:#6a5c3a;padding:0 8px;line-height:1.15}.fr-img span,.fr-name{font-family:var(--display);text-align:center}.fr-name{font-size:1rem;padding:6px 6px 3px;line-height:1.1}.fr-or{font-family:var(--body);text-align:center;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#9a8a62;padding-bottom:9px}.mat-actions{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap}.mat-actions .btn-line{color:#f1efe8;border-color:hsla(47,24%,93%,.45)}.mat-actions .btn-line:hover{border-color:var(--n-acc,#e9e5d9);background:hsla(47,24%,93%,.08)}:root[data-theme=light] .mat{background:radial-gradient(95% 75% at 50% -5%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),var(--surface);border-color:var(--border)}:root[data-theme=light] .slot .pos{color:var(--muted)}:root[data-theme=light] .slot .pos b{color:var(--text)}:root[data-theme=light] .mat-actions .btn-line{color:var(--text);border-color:var(--border)}:root[data-theme=light] .mat-actions .btn-line:hover{border-color:var(--accent);background:rgba(0,0,0,.04)}.reading-out{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px clamp(22px,4vw,40px);max-width:72ch;margin-left:auto;margin-right:auto}.reading-out h3{font-family:var(--display);font-size:1.55rem;margin:0;color:var(--text);text-align:center}.reading-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0 22px;color:var(--accent)}.reading-rule:after,.reading-rule:before{content:"";height:1px;width:64px;background:linear-gradient(to var(--_d,right),transparent,var(--border))}.reading-rule:before{--_d:left}.reading-rule i{font-style:normal;font-size:.7rem;opacity:.8;letter-spacing:.3em}.reading-out p{color:var(--read-body);font-size:1.02rem;line-height:1.82;margin:0 0 15px}.reading-out p:first-of-type{color:var(--text);font-size:1.06rem;line-height:1.75}.reading-out strong{font-family:var(--display);color:var(--accent);font-weight:500;font-size:1.05em;letter-spacing:.01em}.reading-out .reading-safe{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;font-style:italic;line-height:1.6;text-align:left;letter-spacing:0;text-transform:none}.reading-out .lp{font-family:var(--display);color:var(--accent);margin-right:4px}.deepen-btn{display:block;width:max-content}.deepen-btn,.deepen-out{max-width:72ch;margin:16px auto 0}.deepen-out{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.deepen-h{font-family:var(--body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}.deepen-out p{color:var(--read-body);font-size:1.02rem;line-height:1.75;margin:0 0 12px}.deepen-out p:last-child{margin-bottom:0}.followup{max-width:72ch;margin:18px auto 0;border-top:1px solid var(--border);padding-top:22px}.fu-head{font-family:var(--display);font-size:1.08rem;color:var(--text);margin-bottom:14px}.fu-count{font-family:var(--body);font-size:.78rem;color:var(--muted);margin-left:6px}.fu-item{margin-bottom:18px}.fu-q{display:inline-block;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:8px 14px;color:var(--text);font-size:.95rem;margin-bottom:9px}.fu-a{color:var(--read-body);line-height:1.75}.fu-a p{margin:0 0 10px}.fu-a .dots i{background:currentColor}.fu-suggests{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.fu-input-row{display:flex;gap:10px}.fu-input{flex:1 1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:11px 16px;color:var(--text);font-family:var(--body);font-size:.98rem}.fu-input:focus{outline:none;border-color:var(--accent)}.fu-input-row .btn-dark{border-radius:24px;padding:11px 22px;flex:none}.fu-limit{color:var(--muted);font-style:italic;font-size:.9rem;margin-top:6px}.empty-quota{margin-top:20px;border:1px solid var(--border);border-radius:6px;padding:24px;text-align:center;background:var(--surface)}.empty-quota p{color:var(--text-soft)}.auth-page{min-height:calc(100vh - 63px);display:grid;place-items:center;padding:48px 24px;background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 62%)}.auth-box{width:100%;max-width:400px;text-align:center}.auth-moon{width:36px;height:36px;color:var(--accent);margin:0 auto 16px;display:block}.auth-box h1{font-family:var(--display);font-size:2.4rem;margin:0 0 8px}.auth-sub{color:var(--text-soft);margin:0 0 24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:22px}.btn-google{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:13px 20px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--body);font-weight:600;font-size:.98rem;cursor:pointer;transition:border-color .2s,background .2s}.btn-google:hover{border-color:var(--accent)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.btn-google svg{width:19px;height:19px;flex:none}.auth-err{color:#e0674a;font-size:.85rem;margin:12px 0 0}.auth-or{text-align:center;color:var(--muted);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin:16px 0}.journal-cta{display:flex;align-items:center;gap:14px;margin-top:22px;padding:16px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 1px 2px rgba(60,50,30,.04),0 10px 26px -20px rgba(60,50,30,.26)}.journal-cta:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 2px 5px rgba(60,50,30,.06),0 16px 32px -20px rgba(60,50,30,.34)}:root:not([data-theme=light]) .journal-cta{box-shadow:0 12px 30px -22px rgba(0,0,0,.7)}.jc-ico{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(200,162,74,.14);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:1.15rem}.jc-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.jc-title{font-family:var(--display);font-size:1.16rem;color:var(--text);line-height:1.15}.jc-sub{font-size:.86rem;color:var(--text-soft);line-height:1.35}.jc-arrow{flex:none;color:var(--muted);font-size:1.1rem;transition:transform .18s,color .18s}.journal-cta:hover .jc-arrow{color:var(--accent);transform:translateX(3px)}.mirror{margin-top:24px;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.mirror-h{font-family:var(--body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 14px}.mirror-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:14px;gap:14px}.mirror-tile{border:1px solid var(--border);border-radius:10px;padding:14px 16px;background:var(--surface-2)}.mirror-tile .mk{font-family:var(--display);font-size:1.24rem;line-height:1.15;color:var(--text);display:flex;align-items:center;gap:8px}.mirror-tile .mt{font-size:.76rem;color:var(--muted);margin-top:5px}.mirror-dot{width:11px;height:11px;border-radius:50%;flex:none}.jfilter{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 4px}.jchip{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--border);border-radius:20px;padding:6px 14px;color:var(--text-soft);font-family:var(--body);font-size:.86rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.jchip:hover{color:var(--text)}.jchip.on,.jchip:hover{border-color:var(--accent)}.jchip.on{background:var(--accent);color:var(--bg)}.jchip-n{font-size:.72rem;opacity:.7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jspread-daily{border-color:var(--accent);color:var(--accent)}.daily-entry-row{display:flex;gap:16px;margin-top:12px;align-items:flex-start}.daily-entry-row .jcard.big{width:92px;flex:none}.daily-entry-body{flex:1 1;min-width:0}.daily-entry-name{font-family:var(--display);font-size:1.24rem;color:var(--text);line-height:1.2}.daily-entry-mood{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-soft);margin-top:6px}.daily-entry-mood i{width:10px;height:10px;border-radius:50%}.daily-entry-note{color:var(--text-soft);font-size:.95rem;line-height:1.6;margin:10px 0 0;white-space:pre-wrap}.daily-entry-note.muted{color:var(--muted);font-style:italic}.jreflect{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.jreflect .field-label{margin-bottom:8px}.jreflect-peek{margin-top:8px;font-size:.85rem;color:var(--text-soft);font-style:italic}.journal-list{display:flex;flex-direction:column;gap:16px;margin-top:26px}.journal-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 22px;transition:border-color .25s ease,box-shadow .25s ease}.journal-item:hover{border-color:var(--border-strong,var(--border));box-shadow:0 10px 30px -20px rgba(0,0,0,.5)}.journal-item.open{box-shadow:0 16px 44px -24px rgba(0,0,0,.55)}.jhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.journal-item .jdate{font-size:.74rem;color:var(--muted);letter-spacing:.04em}.jspread{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);border:1px solid var(--border);border-radius:20px;padding:2px 9px}.journal-item .jq{font-family:var(--display);font-size:1.22rem;margin:8px 0 4px;line-height:1.2}.journal-item .jt{color:var(--text-soft);font-size:.95rem;white-space:pre-wrap;margin-top:8px}.jthumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.jcard{width:52px;height:86px;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:#14110c;flex:none}.jcard-img{width:100%;height:100%;background-position:50%;background-size:cover;background-repeat:no-repeat}.jcard.big{width:118px;height:196px;border-color:#cbc3b0;position:relative}.jcard.big .jcard-cap{position:absolute;left:0;right:0;bottom:0;padding:20px 5px 6px;text-align:center;background:linear-gradient(0deg,rgba(18,15,10,.95),rgba(18,15,10,.68) 48%,transparent)}.jcard.big .jcard-name{display:block;font-family:var(--display);font-size:.8rem;color:#f6f2e8;line-height:1.12}.jcard.big .jcard-or{display:block;font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:#dcc79c;margin-top:2px}.jmore{margin-top:14px;background:none;border:none;color:var(--accent,var(--text));font-size:.85rem;letter-spacing:.02em;cursor:pointer;padding:0;font-family:var(--body)}.jmore:hover{opacity:.75}.jdetail{margin-top:14px}.jcards-big{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:16px}.jfull p{color:var(--text-soft);font-size:.97rem;line-height:1.7;margin:0 0 12px}.jfull strong{color:var(--text);font-weight:600}@media(max-width:640px){.jcard{width:44px;height:73px}.jcard.big{width:96px;height:160px}}.foot-links{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap}.foot-links a{color:var(--text-soft);font-size:.85rem}.foot-links a:hover{color:var(--accent)}.bell{position:relative}.bell-dot{position:absolute;top:-4px;right:-4px;background:var(--accent);color:var(--bg);font-size:.6rem;font-weight:700;min-width:15px;height:15px;border-radius:10px;display:grid;place-items:center;padding:0 3px}.bell-menu{position:absolute;right:0;top:42px;width:290px;max-height:360px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 20px 44px -22px rgba(0,0,0,.6);z-index:70;padding:6px}.bell-empty{padding:18px;text-align:center;color:var(--muted)}.bell-item{padding:12px}.bell-item+.bell-item{border-top:1px solid var(--border)}.bell-item .bt{font-family:var(--display);font-size:1rem}.bell-item .bb{font-size:.86rem;color:var(--text-soft);margin-top:3px}.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border);margin-bottom:20px}.admin-tab{font-family:var(--body);font-size:.92rem;padding:9px 16px;border:0;background:transparent;color:var(--text-soft);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.admin-tab.on,.admin-tab:hover{color:var(--text)}.admin-tab.on{border-bottom-color:var(--gold,#c8a24a)}.prov-list{display:flex;flex-direction:column;gap:12px}.prov-row{border:1px solid var(--border);border-radius:8px;padding:14px 16px;background:var(--card)}.prov-head{display:flex;align-items:center;gap:10px}.prov-head b{font-family:var(--display);font-size:1.08rem}.prov-badge{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--border)}.prov-badge.on{color:#5fbf7f;border-color:rgba(95,191,127,.5);background:rgba(95,191,127,.1)}.prov-badge.off{color:var(--muted)}.prov-badge.primary{color:var(--gold,#c8a24a);border-color:rgba(200,162,74,.5);background:rgba(200,162,74,.12)}.prov-row.is-primary{border-color:rgba(200,162,74,.4)}.prov-status{font-size:.82rem;color:var(--muted);margin:6px 0 10px}.prov-form{margin-bottom:10px}.prov-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.prov-fields input[name=model]{flex:0 1 200px;min-width:150px}.prov-fields input[name=key]{flex:1 1;min-width:200px}.prov-fields input{font-family:var(--body);font-size:.86rem;padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.prov-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.prov-actions .btn-line{padding:8px 14px;font-size:.82rem;white-space:nowrap}.prov-danger{color:#c9564f;border-color:rgba(201,86,79,.45)}.admin .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:14px;gap:14px}.admin .tile{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:18px}.admin .tile .k{font-family:var(--display);font-size:2rem;line-height:1;color:var(--accent)}.admin .tile .t{font-size:.82rem;color:var(--muted);margin-top:6px}.analytics .ag{margin-top:14px}.analytics .ag:first-child{margin-top:4px}.ag-h{font-family:var(--body);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:600;margin:0 0 10px}.ag-note{color:var(--muted);font-weight:400;letter-spacing:.02em;text-transform:none}.admin .tile{position:relative}.admin .tile.tile-btn{cursor:pointer;transition:border-color .15s,background .15s}.admin .tile.tile-btn:hover,.admin .tile.tile-on{border-color:var(--accent)}.admin .tile.tile-on{background:var(--surface-2)}.tile-caret,.tile-sub{color:var(--muted)}.tile-caret{position:absolute;top:12px;right:14px;font-size:.9rem}.active-list{margin-top:12px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.al-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--surface-2);font-size:.8rem;color:var(--text-soft);letter-spacing:.02em}.al-close{background:none;border:1px solid var(--border);border-radius:16px;color:var(--muted);font-size:.76rem;padding:3px 12px;cursor:pointer;font-family:var(--body)}.al-close:hover{color:var(--accent);border-color:var(--accent)}.al-empty{color:var(--muted);padding:14px;margin:0;font-size:.86rem}.al-rows{max-height:340px;overflow:auto}.al-row{display:grid;grid-template-columns:auto auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:9px 14px;border-top:1px solid var(--border);font-size:.84rem}.al-tag{font-size:.7rem;letter-spacing:.04em;padding:2px 9px;border-radius:12px;border:1px solid var(--border);color:var(--text-soft);white-space:nowrap}.al-tag.user{border-color:var(--accent);color:var(--accent)}.al-ref{color:var(--muted);font-size:.8rem}.al-days{color:var(--text-soft)}.al-last{color:var(--muted);font-size:.78rem;text-align:right}.pv-list{display:flex;flex-direction:column;gap:8px}.pv-row{display:grid;grid-template-columns:120px 1fr 40px;grid-gap:12px;gap:12px;align-items:center;font-size:.86rem}.pv-name{color:var(--text-soft)}.pv-bar{height:8px;background:var(--surface-2);border-radius:6px;overflow:hidden;border:1px solid var(--border)}.pv-bar span{display:block;height:100%;background:var(--accent);border-radius:6px}.pv-n{text-align:right;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media(max-width:560px){.al-row{grid-template-columns:auto 1fr;gap:6px 10px}.al-last{grid-column:1/-1;text-align:left}.pv-row{grid-template-columns:96px 1fr 34px}}.admin-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:22px}@media(max-width:820px){.admin-grid{grid-template-columns:1fr}}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:22px}.admin-card h2{font-family:var(--display);font-size:1.4rem;margin-bottom:14px}.admin-form{gap:12px}.admin-form,.admin-form fieldset{display:flex;flex-direction:column}.admin-form fieldset{border:1px solid var(--border);border-radius:5px;padding:12px;gap:8px}.admin-form legend{font-size:.78rem;color:var(--muted);padding:0 6px}.admin-form label{display:flex;flex-direction:column;gap:5px;font-size:.88rem;color:var(--text-soft)}.admin-form label.chk{flex-direction:row;align-items:center;gap:8px}.admin-form input,.admin-form select,.admin-form textarea{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--body);padding:9px 11px;font-size:.95rem}.admin-form input[type=checkbox]{width:auto;padding:0}.admin-form button{align-self:flex-start;margin-top:6px}.admin-mini{margin-top:14px}.admin-mini h3{font-size:.9rem;color:var(--muted);margin-bottom:6px}.mini-row{font-size:.82rem;color:var(--text-soft);padding:6px 0;border-top:1px solid var(--border);word-break:break-word}.mini-row code{color:var(--text);font-family:ui-monospace,monospace;font-size:.8rem}