: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}}

/* Let the original phone shrink to a 375px viewport without clipping its composer. */
.stage{grid-template-columns:minmax(0,1fr) 400px}
.stage>*{min-width:0}
.phone{width:100%;min-width:0;max-width:400px}
.screen,.composer{min-width:0}
.composer input{min-width:0;width:0;flex:1 1 0}
.composer button{flex:0 0 44px}
.msg,.stats dd{overflow-wrap:anywhere}
.profile>div,.stats>div{min-width:0}
@media(max-width:900px){.stage{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.phone{padding:10px;border-radius:36px}.screen{border-radius:27px}.vault{padding:25px}.profile{gap:10px}.profile div{padding:16px}.top nav{flex-shrink:0}.mast span{font-size:9px;letter-spacing:.15em;margin-left:6px}}

/* YAMY media extension: separate selectors preserve the existing phone UI. */
.yamy-media-character{max-width:340px}
.yamy-media-character [hidden],.yamy-media-studio [hidden]{display:none!important}
.yamy-media-view-tabs{display:flex;gap:5px;background:#fff8d5;padding:5px;border:1px solid #e6ba08;border-radius:18px;margin-bottom:12px}
.yamy-media-view-tabs button{flex:1;border:0;background:transparent;color:var(--mute);font-size:12px;font-weight:700;border-radius:13px;min-height:38px;padding:7px 10px;white-space:nowrap}
.yamy-media-view-tabs button[aria-selected=true]{background:var(--ink);color:var(--lemon)}
.yamy-media-view-tabs button:focus-visible,.yamy-media-model-controls button:focus-visible,.yamy-media-video-controls button:focus-visible,#yamy-model-viewer:focus-visible{outline:3px solid #397a98;outline-offset:4px}
.yamy-media-portrait-panel{position:relative}
.yamy-media-portrait-panel>img{height:auto}
.yamy-media-portrait-note{position:absolute;bottom:16px;left:50%;transform:translateX(-50%) rotate(-2deg);background:var(--white);color:var(--ink);padding:6px 12px;font-size:10px;white-space:nowrap;box-shadow:2px 4px 0 #a27d0a2b}
.yamy-media-model-panel{border-radius:20px;background:var(--white);border:1px solid #eed989;overflow:hidden;box-shadow:0 24px 50px #5a46002b}
.yamy-media-model-stage{position:relative;width:100%;aspect-ratio:2/3;max-height:510px;background:linear-gradient(155deg,#fff9df,#f7edbd)}
.hero-img .yamy-media-model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none}
#yamy-model-viewer{position:absolute;inset:0;width:100%;height:100%;z-index:1}
#yamy-model-viewer canvas{display:block;width:100%;height:100%;border-radius:0}
.yamy-media-model-badge{position:absolute;left:13px;top:13px;z-index:2;pointer-events:none;font-size:9px;letter-spacing:.2em;background:#fffdf6d9;border:1px solid #ece1b5;padding:5px 9px}
.yamy-media-model-controls{display:flex;gap:9px;padding:12px 13px 0}
.yamy-media-model-controls button{flex:1;min-height:38px;font-size:11px;background:#f4eccf;border:1px solid #ded1a4;border-radius:10px;color:var(--ink)}
.yamy-media-model-controls button[aria-pressed=true]{background:var(--lemon);border-color:#dbb200}
.yamy-media-model-controls button:disabled{opacity:.55;cursor:not-allowed}
.yamy-media-model-status{font-size:10px;line-height:1.5;padding:10px 14px 0;color:var(--mute)}
.yamy-media-model-hint{font-size:9px;letter-spacing:.04em;padding:5px 14px 13px;color:#928366}
.yamy-media-studio{padding-top:40px;scroll-margin-top:85px}
.yamy-media-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:27px}
.yamy-media-kicker{font-size:10px;letter-spacing:.21em;margin-bottom:13px;color:#776123}
.yamy-media-section-heading h2{font-family:var(--sans);font-size:clamp(32px,4vw,48px);font-style:normal;letter-spacing:-.04em;margin-bottom:0}
.yamy-media-section-heading>p{font-size:13px;line-height:1.9;color:#6c5a25}
.yamy-media-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.yamy-media-video-card{background:var(--white);border:1px solid #d7b73c;border-radius:25px;overflow:hidden;box-shadow:5px 7px 0 #b4952126;min-width:0}
.yamy-media-video-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;color:#817448;font-size:10px;letter-spacing:.17em}
.yamy-media-video-heading>span:last-child{font-size:22px;color:#bd9823;line-height:1}
.yamy-media-video-frame{position:relative;aspect-ratio:2/3;margin:0 12px;background:var(--lemon2);border-radius:15px;overflow:hidden}
.yamy-media-video-poster,.yamy-media-video{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover}
.yamy-media-video-state{position:absolute;bottom:15px;left:15px;right:auto;max-width:calc(100% - 30px);border:1px solid #f7eac7;background:#fffdf6eb;padding:6px 12px;border-radius:99px;font-size:10px;color:#655522;pointer-events:none}
.yamy-media-video-body{padding:20px}
.yamy-media-video-body h3{font-size:20px;font-weight:800;line-height:1.5}
.yamy-media-video-body p{font-size:12px;color:var(--mute);line-height:1.8;margin-top:5px}
.yamy-media-video-controls{display:flex;align-items:center;gap:10px;margin-top:17px}
.yamy-media-video-controls button{border-radius:99px;min-height:40px;padding:8px 15px;font-size:11px}
.yamy-media-play{background:var(--ink);color:var(--lemon);border:1px solid var(--ink);flex:1;display:flex;align-items:center;justify-content:center;gap:7px}
.yamy-media-mute{background:transparent;color:var(--ink);border:1px solid #e5d794}
.yamy-media-video-controls button:disabled{background:#f1e9cc;border-color:#e6dcb6;color:#9d916c;cursor:not-allowed}
@media(max-width:900px){.yamy-media-character{margin-left:auto;margin-right:auto}.yamy-media-video-grid{gap:18px}.yamy-media-section-heading>p{font-size:12px}.yamy-media-studio{padding-top:20px}.top nav{gap:10px}}
@media(max-width:600px){.yamy-media-character{max-width:340px;width:100%}.yamy-media-portrait-panel .clip{right:-5px;top:-12px;font-size:36px}.yamy-media-video-grid{grid-template-columns:1fr;gap:24px}.yamy-media-section-heading{align-items:flex-start;flex-direction:column;gap:14px}.yamy-media-section-heading>p{font-size:12px}.yamy-media-section-heading h2{font-size:33px}.yamy-media-video-heading{padding:15px 18px;font-size:9px}.yamy-media-video-body{padding:18px}.yamy-media-video-body h3{font-size:20px}.yamy-media-model-stage{max-height:510px}.yamy-media-studio{padding-bottom:35px}}
