:root{--lemon:#ffd60a;--lemon2:#fff3b0;--white:#fffdf6;--ink:#2a2418;--mute:#7a7058;--sky:#7cc6fe;--pink:#ff8fab;
  --serif:"Bodoni Moda","Didot","Times New Roman",serif;--sans:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--lemon);color:var(--ink);font:16px/1.7 var(--sans);overflow-x:hidden}
a{color:inherit}
button{font:inherit;cursor:pointer}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;position:sticky;top:0;z-index:10;background:rgba(255,214,10,.85);backdrop-filter:blur(8px)}
.mast{font:italic 700 30px var(--serif);letter-spacing:.02em}
.mast span{font-style:normal;font-size:12px;font-family:var(--sans);letter-spacing:.3em;margin-left:10px;vertical-align:middle}
.top nav{display:flex;gap:18px;align-items:center;font-size:14px}
.top nav a{text-decoration:none}
.top nav a:hover,.top nav a:focus-visible{text-decoration:underline}
.pill{background:var(--ink);color:var(--lemon);border:0;padding:8px 16px;border-radius:999px;font-size:13px}
.pill:focus-visible{outline:3px solid var(--white)}
.stage{display:grid;grid-template-columns:1fr 400px;gap:5vw;align-items:center;max-width:1180px;margin:0 auto;padding:30px 5vw 80px;min-height:88vh}
.cover h1{font:italic 700 clamp(64px,11vw,150px)/.9 var(--serif);letter-spacing:-.02em}
.cover .issue{font-size:12px;letter-spacing:.35em;margin-bottom:18px}
.cover .lead{font-size:20px;max-width:440px;margin:22px 0}
.cover .lead b{background:var(--white);padding:0 6px}
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tags span{border:2px solid var(--ink);border-radius:999px;padding:4px 14px;font-size:13px}
.hero-img{position:relative;margin-top:24px;max-width:300px}
.hero-img img{width:100%;display:block;border-radius:20px;box-shadow:0 30px 60px rgba(90,70,0,.25)}
.hero-img .clip{position:absolute;top:-18px;right:-18px;font-size:44px;animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.phone{background:var(--ink);border-radius:46px;padding:14px;box-shadow:0 40px 80px rgba(90,70,0,.35);position:relative}
.screen{background:var(--white);border-radius:34px;height:720px;display:flex;flex-direction:column;overflow:hidden}
.notch{width:120px;height:26px;background:var(--ink);border-radius:0 0 16px 16px;margin:0 auto}
.chat-head{display:flex;align-items:center;gap:10px;padding:10px 18px 12px;border-bottom:1px solid #f0e6c0}
.chat-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--lemon2)}
.chat-head b{display:block;font-size:15px}
.chat-head small{color:#2fa36b;font-size:12px}
.tabs{display:flex;padding:8px 12px;gap:6px;border-bottom:1px solid #f0e6c0}
.tabs button{flex:1;border:0;background:none;padding:8px 4px;border-radius:12px;font-size:13px;color:var(--mute)}
.tabs button[aria-selected=true]{background:var(--lemon);color:var(--ink);font-weight:700}
.pane{flex:1;overflow-y:auto;padding:16px;display:none}
.pane.on{display:block}
.msg{max-width:80%;padding:10px 14px;border-radius:18px;margin-bottom:10px;font-size:15px;line-height:1.55;animation:pop .25s ease-out}
@keyframes pop{from{transform:scale(.9);opacity:0}}
.msg.y{background:var(--lemon2);border-bottom-left-radius:4px}
.msg.u{background:var(--ink);color:var(--white);margin-left:auto;border-bottom-right-radius:4px}
.typing{display:inline-flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--mute);animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{transform:translateY(-4px)}}
.quick{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px 0}
.quick button{border:1px solid #e8d98a;background:var(--white);border-radius:999px;padding:4px 12px;font-size:12px}
.composer{display:flex;gap:8px;padding:10px 12px 16px}
.composer input{flex:1;border:2px solid #f0e6c0;border-radius:999px;padding:10px 16px;font:inherit;background:var(--white)}
.composer input:focus{outline:none;border-color:var(--lemon)}
.composer button{border:0;background:var(--lemon);border-radius:50%;width:44px;height:44px;font-size:18px}
.fan h3{font-size:14px;margin:4px 0 10px}
.fan form{background:#fffbe6;border-radius:16px;padding:14px;margin-bottom:14px}
.fan label{display:block;font-size:12px;color:var(--mute);margin-top:8px}
.fan input,.fan textarea{width:100%;border:1px solid #eadf9f;border-radius:10px;padding:8px 10px;font:inherit;font-size:14px;background:#fff;resize:vertical}
.fan .go{margin-top:10px;width:100%;border:0;background:var(--ink);color:var(--lemon);border-radius:12px;padding:10px;font-weight:700}
.fan .go:disabled{opacity:.5;cursor:not-allowed}
.fan .st{font-size:12px;margin-top:6px;color:var(--mute)}
.fan .st a{color:#1c6fb8}
.diary .card{border-radius:18px;overflow:hidden;background:#fffbe6;margin-bottom:14px}
.diary img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover;background:var(--lemon2)}
.diary p{padding:10px 14px;font-size:14px}
.diary small{display:block;padding:0 14px 12px;color:var(--mute);font-size:12px}
.section{max-width:1180px;margin:0 auto;padding:80px 5vw}
.section h2{font:italic 700 clamp(36px,5vw,60px)/1 var(--serif);margin-bottom:28px}
.profile{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.profile div{background:var(--white);border-radius:20px;padding:20px}
.profile dt{font-size:12px;color:var(--mute);letter-spacing:.2em}
.profile dd{font-size:18px;font-weight:700;margin-top:6px}
.vault{background:var(--ink);color:var(--white);border-radius:32px;padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px}
.vault h2{color:var(--lemon)}
.vault ol{list-style:none;counter-reset:s}
.vault li{counter-increment:s;padding:12px 0;border-bottom:1px solid #4a4230;display:flex;gap:14px}
.vault li::before{content:counter(s,decimal-leading-zero);font:italic 700 22px var(--serif);color:var(--lemon)}
.vault .note{font-size:13px;color:#cfc4a6;margin-top:14px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.stats div{background:#3a3222;border-radius:16px;padding:16px}
.stats dt{font-size:12px;color:#cfc4a6}.stats dd{font-size:20px;font-weight:700;color:var(--lemon)}
footer{text-align:center;padding:40px 5vw;font-size:13px}
@media (max-width:900px){.stage{grid-template-columns:1fr}.phone{max-width:400px;margin:0 auto}.profile{grid-template-columns:1fr 1fr}.vault{grid-template-columns:1fr}.top nav a{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
