:root{--bg:#f2eee4;--text:#1f2a24;--muted:#5c685f;--glass:rgba(255,255,255,.5);--glass-strong:rgba(255,255,255,.78);--line:rgba(31,42,36,.12);--accent:#2f5d46;--accent-ink:#fff;--clay:#a8571f;--b1:#a9c3a0;--b2:#e6b98c;--b3:#9dc0c4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root{--bg:#111713;--text:#e8ece6;--muted:#9aa79d;--glass:rgba(34,46,38,.5);--glass-strong:rgba(30,42,34,.82);--line:rgba(232,236,230,.12);--accent:#8fc09f;--accent-ink:#10200f;--clay:#e0a36e;--b1:#2c4a38;--b2:#5e3e22;--b3:#244448}}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 76px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.bg i{position:absolute;border-radius:50%;opacity:.8}
.bg i:nth-child(1){width:46vmax;height:46vmax;background:radial-gradient(closest-side,var(--b1),transparent);top:-14vmax;left:-10vmax}
.bg i:nth-child(2){width:38vmax;height:38vmax;background:radial-gradient(closest-side,var(--b2),transparent);top:30vh;right:-12vmax}
.bg i:nth-child(3){width:40vmax;height:40vmax;background:radial-gradient(closest-side,var(--b3),transparent);bottom:-16vmax;left:20vw}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;padding-top:12px}
.bar{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 10px 0 18px;border:1px solid var(--line);border-radius:16px}.bar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.brand{display:flex;align-items:center;gap:10px;font:600 20px Fraunces,Georgia,serif}
.brand svg{width:28px;height:28px;flex:none}
.links{display:flex;gap:4px;font-size:14px}
.links a{padding:8px 14px;border-radius:10px;color:var(--muted)}
.links a:hover{background:var(--glass-strong);color:var(--text)}
.burger{display:none;width:44px;height:44px;border:0;background:none;color:var(--text);cursor:pointer;border-radius:10px}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;margin:auto;position:relative;transition:.2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.open .burger span{background:transparent}
.open .burger span::before{top:0;transform:rotate(45deg)}
.open .burger span::after{top:0;transform:rotate(-45deg)}
.menu{display:none;margin-top:8px;padding:8px;background:var(--glass-strong);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.menu a{display:block;padding:14px 16px;border-radius:10px;font-weight:500}
.menu a:hover{background:var(--glass)}
.open .menu{display:block}
.ov{position:fixed;inset:0;z-index:15;background:rgba(8,14,10,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
#hd.open+.ov{opacity:1;visibility:visible}
.hero{padding:88px 0 56px;max-width:760px}
.pill{display:inline-block;font-size:13px;color:var(--muted);padding:5px 14px;border-radius:99px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px)}
h1{font:600 clamp(34px,6vw,58px)/1.1 Fraunces,Georgia,serif;margin:20px 0 16px;letter-spacing:-.5px}
h1 em{font-style:normal;color:var(--accent)}
.lead{color:var(--muted);font-size:18px;max-width:640px;margin:0 0 26px}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 22px;border-radius:12px;font:500 15px Inter,sans-serif;border:1px solid var(--line);background:var(--glass);color:var(--text);cursor:pointer;backdrop-filter:blur(10px)}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}
.btn.sm{padding:8px 14px;font-size:14px}
h2{font:600 28px Fraunces,Georgia,serif;margin:0 0 8px}
section{padding:40px 0}
.sub{color:var(--muted);margin:0 0 22px}
.grp{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:30px 0 14px}
.grp h3{margin:0;font:600 20px Fraunces,Georgia,serif}
.grp span{color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:16px}
.card,.panel,.val{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:20px}.card::before,.panel::before,.val::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
.card{display:flex;flex-direction:column;padding:22px;transition:transform .2s,background .2s,border-color .2s}
a.card:hover{transform:translateY(-3px);border-color:var(--accent)}a.card:hover::before{background:var(--glass-strong)}
.panel{padding:26px;margin-bottom:16px}
.panel h2{font-size:22px}
.top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ico{position:relative;width:48px;height:48px;border-radius:12px;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:600 16px Inter,sans-serif}
.ico.lg{width:88px;height:88px;border-radius:22px;font-size:30px}
.ico img{display:none;width:100%;height:100%;object-fit:contain}
.ico.has{background:transparent}.ico.has img{display:block}.ico.has .fb{display:none}
.card h3{margin:0;font-size:18px;line-height:1.25}
.card p{margin:0 0 16px;color:var(--muted);font-size:15px;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;padding:2px 10px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.tag.k{color:var(--accent);border-color:var(--accent)}
.tag.soon{color:var(--clay);border-color:var(--clay)}
.meta{display:flex;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.meta:empty{display:none}
.meta b{color:var(--text);font-weight:600}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.val{padding:22px}
.val .n{font:600 13px Inter;color:var(--clay);letter-spacing:1px}
.val h4{margin:4px 0 6px;font-size:17px}.val p{margin:0;color:var(--muted);font-size:15px}
.app-head{display:flex;gap:22px;align-items:flex-start;padding:64px 0 26px}
.app-head h1{margin:0 0 8px}.app-head .lead{margin:0 0 12px}
.chk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px}
.chk li::before{content:"✓";color:var(--accent);font-weight:600;margin-right:10px}
dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0}
dt{color:var(--muted)}dd{margin:0}
.rel{padding:18px 0;border-top:1px solid var(--line)}
.rel:first-of-type{border-top:0}
.rh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rh h3{margin:0;font-size:18px}
.rh time{color:var(--muted);font-size:13px;margin-left:auto}
details{margin:10px 0}
summary{cursor:pointer;color:var(--accent);font-weight:500;font-size:14px}
.md{padding:10px 0;font-size:15px;color:var(--muted);overflow-wrap:anywhere}
.md a{color:var(--accent);text-decoration:underline}
.md img{max-width:100%}.md pre{overflow-x:auto;padding:12px;background:var(--glass);border-radius:10px}
.assets{display:flex;gap:8px;flex-wrap:wrap}
.prose{max-width:720px}.prose p{color:var(--muted)}
footer{margin-top:24px;border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.foot nav{display:flex;gap:20px;flex-wrap:wrap}
.foot a:hover{color:var(--text)}
@media(max-width:760px){.links{display:none}.burger{display:block}.hero{padding-top:56px}.app-head{flex-direction:column;align-items:flex-start;padding-top:40px}dl{grid-template-columns:1fr;gap:2px}dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.stats{margin-left:auto;display:flex;gap:16px;align-items:center;color:var(--muted);font-size:14px;flex-wrap:wrap}.stats b{color:var(--text);font-weight:600}
.doc{font-size:16px;overflow-wrap:anywhere}.doc h1,.doc h2,.doc h3{font-family:Fraunces,Georgia,serif;margin:1.4em 0 .5em;line-height:1.25}.doc h1{font-size:30px}.doc h2{font-size:24px}.doc h3{font-size:19px}.doc>:first-child{margin-top:0}
.doc p,.doc li{color:var(--muted)}.doc a{color:var(--accent);text-decoration:underline}.doc code{background:var(--glass);padding:1px 6px;border-radius:6px;font-size:.9em}
.doc pre{overflow-x:auto;padding:14px;background:var(--glass);border-radius:12px}.doc pre code{padding:0;background:none}.doc table{border-collapse:collapse;display:block;overflow-x:auto}.doc th,.doc td{border:1px solid var(--line);padding:8px 12px}
.doc img{max-width:100%;height:auto}.doc hr{border:0;border-top:1px solid var(--line);margin:28px 0}.doc div[align=center]{text-align:center}
.rows{display:grid;gap:10px}.card.row{flex-direction:row;align-items:center;gap:14px;padding:14px 18px}.row .ico{width:40px;height:40px;font-size:14px}.row .d{margin-left:auto;color:var(--muted);font-size:14px;text-align:right}
.crumb{padding-top:36px;font-size:14px;color:var(--muted)}.crumb a:hover{color:var(--text);text-decoration:underline}

.shots{position:relative;margin:0 0 20px}
.track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}
.track::-webkit-scrollbar{display:none}
.track img{height:min(52vh,380px);width:auto;max-width:none;flex:none;border-radius:14px;border:1px solid var(--line);scroll-snap-align:center;cursor:zoom-in;background:var(--glass)}
.shots .nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--glass-strong);color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.shots .nav.l{left:8px}.shots .nav.r{right:8px}
.lb{position:fixed;inset:0;z-index:50;background:rgba(8,14,10,.88);display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.lb img{max-width:100%;max-height:100%;border-radius:12px}
@media(max-width:760px){.shots .nav{display:none}.track{padding-right:18px;scroll-padding:0 18px}.track img{height:auto;max-height:52vh;max-width:78vw}}
.shots .cnt{position:absolute;top:10px;right:10px;z-index:2;font-size:12px;font-weight:500;padding:3px 11px;border-radius:99px;background:var(--glass-strong);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}
.shots .dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.shots .dots i{width:7px;height:7px;border-radius:99px;background:var(--line);cursor:pointer;transition:width .25s,background .25s}
.shots .dots i.on{width:20px;background:var(--accent)}
.shots .hint{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:2;padding:6px 14px 6px 16px;border-radius:99px;font-size:13px;font-weight:500;background:var(--glass-strong);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;white-space:nowrap;transition:opacity .4s}
.shots .hint::after{content:"\203A";display:inline-block;margin-left:8px;animation:nudge 1.1s ease-in-out infinite}
.shots .hint.gone{opacity:0}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media(min-width:761px){.shots .hint{display:none}}
@media(prefers-reduced-motion:reduce){.shots .hint::after{animation:none}}

.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin:18px 0}
.figs figure{margin:0}.figs img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.figs figcaption{font-size:13px;color:var(--muted);margin-top:8px;text-align:center}
.track figure{display:grid;flex:none;margin:0;scroll-snap-align:center;justify-items:center}
.track figcaption{width:0;min-width:100%;font-size:13px;color:var(--muted);margin-top:8px;text-align:center}
a.tag:hover{border-color:var(--accent);color:var(--text)}
.fld{display:grid;gap:6px;margin-bottom:16px}.fld label{font-weight:500;font-size:14px}.fld small{color:var(--muted);font-size:12px}
input,select,textarea{font:inherit;color:var(--text);background:var(--glass-strong);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%}
select option{background:var(--bg);color:var(--text)}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;padding:0;border:0}
.note{padding:12px 16px;border-radius:12px;border:1px solid var(--line);margin-top:14px;font-size:15px}
.note.ok{border-color:var(--accent);color:var(--accent)}.note.err{border-color:var(--clay);color:var(--clay)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:600px){.row2{grid-template-columns:1fr}}

.rate{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.rate .rt{color:var(--muted);font-size:14px}
.stars{display:inline-flex;gap:2px}
.stars button{border:0;background:none;padding:2px;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);opacity:.35}
.stars button.on,.stars button:focus-visible{color:var(--clay);opacity:1}
.mod{position:fixed;inset:0;z-index:60;background:rgba(8,14,10,.6);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.mod .box{width:min(520px,100%);max-height:92vh;overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:24px}
.box h3{margin:0 0 6px;font:600 22px Fraunces,Georgia,serif}
.chkl{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);cursor:pointer}
.chkl input{width:auto;margin-top:4px}
.rvi{padding:16px 0;border-top:1px solid var(--line)}
.rvi:first-of-type{border-top:0}
.rvi .h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rvi .s{color:var(--clay);letter-spacing:2px}
.rvi time{margin-left:auto;color:var(--muted);font-size:13px}
.rvi p{margin:6px 0 0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.btn.dng{border-color:var(--clay);color:var(--clay)}
.oauth{display:grid;gap:10px;margin-top:16px}

.ah{flex:1;min-width:0}
.trow{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:8px}
.trow h1{margin:0}
.rate{margin:0}
.fine{font-size:12px;color:var(--muted);margin:0 0 14px;line-height:1.5}
.chkl .av,.who2 img{border-radius:50%;object-fit:cover;flex:none}
.chkl .av{width:28px;height:28px}
.who2{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.who2 img{width:56px;height:56px}
.rvgrid{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:min(320px,82%);gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}
.rvc{scroll-snap-align:start;align-self:start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--glass);cursor:pointer}
.rvc .h{display:flex;gap:10px;align-items:center}
.rvc .av{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none}
.rvc .who{display:grid;min-width:0}
.rvc .who b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvc .s{color:var(--clay);letter-spacing:2px;font-size:14px}
.rvc time{margin-left:auto;color:var(--muted);font-size:12px;flex:none}
.rvc p{margin:10px 0 0;color:var(--muted);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rvc.open p{display:block;-webkit-line-clamp:unset}
.me{display:flex;gap:24px;align-items:flex-start}
.me-av{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line)}
@media(max-width:600px){.me{flex-direction:column}}
.heat{display:grid;grid-template-rows:repeat(7,12px);grid-auto-flow:column;grid-auto-columns:12px;gap:4px;overflow-x:auto;padding:4px 0}
.heat i{border-radius:3px;background:var(--line)}
.heat i.l1{background:var(--accent);opacity:.3}.heat i.l2{background:var(--accent);opacity:.5}.heat i.l3{background:var(--accent);opacity:.75}.heat i.l4{background:var(--accent)}
.heat i.e{background:transparent}
.acts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;font-size:14px}
.acts li{display:flex;gap:12px;color:var(--muted)}.acts time{margin-left:auto;flex:none;font-size:13px}
.stat{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-size:14px}.stat b{color:var(--text);font-size:18px;display:block}
:root{--gold:#a9762b;--gold2:#e2bd6d;--gold-soft:rgba(169,118,43,.16)}
@media(prefers-color-scheme:dark){:root{--gold:#e2bd6d;--gold2:#fff0c4;--gold-soft:rgba(226,189,109,.14)}}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.ded{position:relative;margin:40px 0 12px;padding:2px;border-radius:30px;background:linear-gradient(135deg,var(--gold),var(--gold2),var(--gold));background:conic-gradient(from var(--ang),var(--gold),var(--gold2) 20%,transparent 38%,var(--gold) 55%,var(--gold2) 78%,var(--gold));animation:dedspin 10s linear infinite,dedin 1.1s cubic-bezier(.2,.7,.2,1) both;box-shadow:0 30px 70px -30px var(--gold)}
@keyframes dedspin{to{--ang:360deg}}
@keyframes dedin{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
.ded-in{position:relative;overflow:hidden;border-radius:28px;padding:64px 28px 54px;text-align:center;background:radial-gradient(90% 70% at 50% 0%,var(--gold-soft),transparent 70%),radial-gradient(70% 60% at 50% 110%,var(--gold-soft),transparent 70%),var(--bg)}
.ded-in::before{content:"";position:absolute;inset:14px;border:1px solid var(--gold);opacity:.4;border-radius:20px;pointer-events:none}
.ded-in>*{position:relative}
.ded .eyebrow{display:block;font:500 12px/1 Inter,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin:0 0 18px;padding-left:.42em}
.ded .nm{margin:0;font:600 clamp(34px,8vw,58px)/1.1 Fraunces,Georgia,serif;letter-spacing:-.01em;background:linear-gradient(100deg,var(--gold) 20%,var(--gold2) 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:dedshine 6s ease-in-out infinite}
@keyframes dedshine{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.ded .orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px auto;max-width:300px;color:var(--gold)}
.ded .orn::before,.ded .orn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor)}
.ded .orn::after{background:linear-gradient(270deg,transparent,currentColor)}
.ded .orn svg{width:22px;height:22px;flex:none;animation:dedbeat 2.6s ease-in-out infinite}
@keyframes dedbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}48%{transform:scale(1)}}
.ded .big{margin:0 auto 14px;max-width:560px;font:italic 500 clamp(22px,4.6vw,32px)/1.4 Fraunces,Georgia,serif;color:var(--text)}
.ded .small{margin:0 auto;max-width:520px;font:400 clamp(16px,2.6vw,18px)/1.75 Fraunces,Georgia,serif;color:var(--muted)}
.ded .sp{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold2);opacity:0;box-shadow:0 0 10px 2px var(--gold);animation:dedtw 4.5s ease-in-out infinite}
.ded .sp:nth-child(1){top:18%;left:12%}.ded .sp:nth-child(2){top:30%;right:10%;animation-delay:1.1s}.ded .sp:nth-child(3){bottom:22%;left:16%;animation-delay:2.2s}.ded .sp:nth-child(4){bottom:16%;right:18%;animation-delay:.6s}.ded .sp:nth-child(5){top:10%;right:34%;animation-delay:3.1s}.ded .sp:nth-child(6){bottom:34%;left:6%;animation-delay:1.8s}
@keyframes dedtw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:.95;transform:scale(1.25)}}
@media(max-width:520px){.ded-in{padding:52px 20px 44px}.ded-in::before{inset:10px}}
@media(prefers-reduced-motion:reduce){.ded,.ded .nm,.ded .orn svg,.ded .sp{animation:none}.ded .sp{opacity:.6}}
