:root{color-scheme:dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#f4eee8;background:#171219;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{min-height:48px;border:1px solid #66515e;background:#302431;color:inherit;border-radius:14px;padding:10px 16px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e1b48c;outline-offset:3px}.shell{max-width:760px;margin:auto;min-height:100dvh;padding:24px 20px 100px;background:radial-gradient(ellipse at top left,#402536 0,transparent 48%),#211923}header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 24px}.brand{text-decoration:none;color:#f4eee8;font-family:Georgia,serif;font-size:42px;letter-spacing:-2px}.brand span{display:block;font:12px system-ui;letter-spacing:1px;color:#c39878;margin-top:5px}h1{font:32px Georgia,serif;margin:24px 0 12px}p{line-height:1.6;color:#d8cad1}.muted{font-size:13px;color:#c4b8c0}.primary{background:#b56f79;border-color:#b56f79;color:#fff}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{border:1px solid #654751;background:linear-gradient(145deg,#4b3241,#28212e);border-radius:24px;padding:22px 18px;display:flex;flex-direction:column;min-height:245px}.card:nth-child(2n){background:linear-gradient(145deg,#35434a,#28212e)}.card h2{font:24px Georgia,serif;margin:8px 0}.card p{font-size:14px;flex:1}.card button{align-self:flex-start}.initial{font:48px Georgia,serif;color:#c39878}.form{display:grid;gap:18px;max-width:460px;margin:30px auto}label{display:grid;gap:8px;color:#d8cad1}input,textarea{width:100%;border:1px solid #6a5364;border-radius:14px;background:#19151e;color:#fff;padding:14px;min-height:48px}textarea{resize:vertical;min-height:92px}#notice:empty{display:none}#notice{padding:14px;border:1px solid #c39878;border-radius:12px}.chat-title{display:flex;gap:12px;align-items:center}.chat-title h1{margin:8px 0}.messages{display:grid;gap:18px;padding:24px 0;min-height:200px}.message{max-width:90%;padding:18px;border:1px solid #594352;border-radius:18px;background:#2d2430;white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.message.user{justify-self:end;background:#603b4c}.message button{display:block;margin-top:12px;font-size:12px;min-height:36px;background:transparent}.composer{position:sticky;bottom:80px;background:#211923eF;padding:12px 0;display:grid;gap:10px}.row{display:flex;gap:12px;flex-wrap:wrap}.list{display:grid;gap:12px}.list button{text-align:left;padding:20px}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#19131dee;border-top:1px solid #604253}nav button{flex:1;padding:8px;font-size:13px}nav button[aria-current=page]{border-color:#c39878;color:#e7bd97}[hidden]{display:none!important}@media(max-width:400px){.shell{padding:16px 14px 100px}.card{padding:16px 12px}.card h2{font-size:21px}.grid{gap:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}button:hover:not(:disabled){filter:brightness(1.12)}}
/* Muse v0.2: portrait-led navigation and persistent story tools */
.shell{max-width:760px;padding:16px 18px 100px}header{padding:8px 0 20px}.brand{font-size:38px}.brand span{letter-spacing:.5px;font-size:11px}h1{line-height:1.15}.page{position:relative;display:grid;gap:16px}.page>h1{margin-bottom:0}.page>p{margin:0}.eyebrow{font-size:11px;letter-spacing:2px;color:#d9b594}.auth-form,.editor{display:grid;gap:18px;max-width:520px;width:100%;margin:20px auto}.auth-form{padding:28px 0}.auth-form>p{margin:0}.auth-form h1{font-size:38px}select{width:100%;padding:14px;border:1px solid #6a5364;border-radius:14px;background:#19151e;color:#fff;font:inherit;min-height:48px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid{align-items:start}.character-card{overflow:hidden;background:#2c2230;border:1px solid #634754;border-radius:22px;min-width:0}.image-button{display:block;border:0;border-radius:0;padding:0;width:100%;overflow:hidden;background:#382b3b}.portrait{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%}.placeholder{display:grid;place-items:center;background:radial-gradient(at top,#78586a,#251c2a);color:#e5c5b5;font:96px Georgia}.card-content{padding:14px;display:grid;gap:10px}.card-content h2{font:22px Georgia;margin:0}.card-content p{margin:0;font-size:13px;line-height:1.5}.card-content button{width:100%;font-size:13px;padding:8px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:10px;padding:5px 9px;border:1px solid #b69b8055;border-radius:30px;background:#21192380;color:#e9d9cc}.home-feed{height:calc(100dvh - 185px);min-height:380px;overflow-y:auto;scroll-snap-type:y mandatory;border-radius:24px}.hero{height:100%;min-height:380px;position:relative;scroll-snap-align:start;overflow:hidden;background:#35283b}.hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}.hero>.placeholder{height:100%}.hero:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#19111de8);pointer-events:none}.hero-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:24px;display:grid;gap:12px}.hero-copy h1{font-size:40px;margin:0}.hero-copy p{max-width:460px;margin:0;font-size:15px}.hero-copy button{width:100%}.detail-hero{height:420px;overflow:hidden;border-radius:24px}.character blockquote{margin:0;padding:20px;border-left:2px solid #c39878;background:#ffffff05;font:20px/1.6 Georgia}.conversation-list{display:grid;gap:12px}.conversation-row{display:flex;align-items:center;gap:14px;text-align:left;padding:12px;min-width:0}.conversation-row>div{min-width:0}.conversation-row p{margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:500px;font-size:13px}.avatar{width:60px;height:72px;object-fit:cover;object-position:50% 20%;border-radius:14px;flex-shrink:0}.chat{isolation:isolate}.chat-backdrop{position:fixed;z-index:-1;inset:100px 0 80px;margin:auto;width:min(760px,100%);height:calc(100dvh - 180px);object-fit:cover;opacity:.22;filter:blur(2px);pointer-events:none}.chat-title{display:flex;justify-content:space-between;gap:8px}.chat-title h1{font-size:24px;flex:1}.chat-title button{font-size:12px;padding:10px}.messages{gap:16px}.message{background:#211923ed;box-shadow:0 6px 30px #0002;max-width:95%}.message.user{background:#633d51f2}.message-actions{display:flex;gap:8px}.message-actions button{font-size:11px;padding:4px 8px;margin:8px 0 0}.composer{bottom:80px;border-top:1px solid #775360;grid-template-columns:1fr auto;align-items:end}.composer textarea{min-height:64px;height:64px}.composer label{font-size:11px}.composer button{height:64px;font-size:13px}.panel{border:1px solid #634754;background:#2d2231;border-radius:20px;padding:20px;display:grid;gap:12px}.panel p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}nav{gap:2px;padding-left:8px;padding-right:8px;backdrop-filter:blur(18px)}nav button{display:grid;place-items:center;gap:3px;padding:6px 2px;border:0;background:transparent;font-size:10px;min-width:0}nav button span{font-size:25px;line-height:28px}nav button[data-page=create] span{width:42px;background:#b56f79;color:white;border-radius:14px}nav button[aria-current=page]{color:#ecc3a3;background:#c3987810;border-radius:12px}#notice{position:relative;z-index:5;background:#322332}button:hover:not(:disabled){filter:brightness(1.08)}@media(max-width:400px){.shell{padding:12px 12px 100px}.hero-copy{left:18px;right:18px}.hero-copy h1{font-size:32px}.filter-row{grid-template-columns:1fr}.card-content{padding:10px}.card-content h2{font-size:20px}.detail-hero{height:360px}.conversation-row p{max-width:190px}.composer{grid-template-columns:1fr}.composer button{height:48px}.chat-title h1{font-size:20px}}@media(prefers-reduced-motion:reduce){.home-feed{scroll-behavior:auto}}
.wallet-balances{display:grid;gap:12px}.balance{display:flex;align-items:center;justify-content:space-between;margin:0;padding:16px}.balance p{margin:0}.balance strong{font-size:28px;color:#C39878}.balance.subscription strong{color:#9ebfd6}.wallet h1{margin-top:20px}
.media-card{margin-top:16px}.media-card img{width:100%;height:auto;border-radius:14px}.message-editor{display:grid;gap:8px}.message-editor:empty{display:none}.message>button{padding:6px 9px;font-size:11px;margin:6px 4px 0 0}
.member-option{display:flex;align-items:center;gap:12px;padding:10px}.member-option input{width:20px;height:20px}fieldset{border:1px solid #634754;border-radius:16px;padding:12px}
.reference-previews{display:flex;gap:12px}.reference-previews img{width:45%;max-height:160px;object-fit:cover;border-radius:12px}

.letter-preview{background:#f4eee4;color:#4a3440;border-radius:6px;padding:24px;box-shadow:0 12px 30px #0003;font-family:Georgia,serif;font-style:italic}.letter-preview p{font-size:22px;line-height:1.5}.letter-preview cite{display:block;text-align:right}.polaroid-editor [hidden]{display:none}.polaroid-editor{gap:20px}

.face-framing canvas{display:block;width:100%;max-width:280px;aspect-ratio:1;border-radius:18px;margin:auto}.face-framing p{font-size:13px;color:#d6b7ad}.face-framing input[type=range]{padding:8px 0;accent-color:#c39878}

.moment-stage{margin:24px -4px;transform:rotate(-1deg)}.moment-stage img{display:block;width:100%;border-radius:14px;box-shadow:0 24px 50px #0005}.moment-caption{text-align:center;color:#d6b7ad}.moment-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.download-button{display:block;text-align:center;padding:15px;border:1px solid #826071;border-radius:16px;color:#f4eee4;text-decoration:none}.moment-pending{min-height:180px;place-content:center}.face-framing[hidden]{display:none}

.letter-preview p{color:#4a3440}.reference-previews img{object-position:top}.photo-upload{position:relative;display:grid;gap:8px}.photo-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-upload span{display:block;padding:16px;border:1px dashed #a87c8a;border-radius:16px;color:#e5c3b7;text-align:center;background:#382836}.photo-upload:focus-within span{outline:2px solid #e5c3b7}

.collection-choice{display:flex;gap:12px;padding:14px;border:1px solid #634754;border-radius:14px}.collection-choice input{width:20px;flex-shrink:0}.collection-choice span{white-space:pre-wrap;overflow-wrap:anywhere}.texts-thread .chat-backdrop{display:none}.texts-thread .text-part{background:#372739;border-radius:16px;padding:12px;margin:8px 0}.texts-thread .message.assistant{background:transparent;border:0}.chat-title{flex-wrap:wrap}

.reward-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.reward-days .panel{padding:10px;gap:6px;text-align:center}.reward-current{border-color:#e3b38d;background:#503344}.reward-days strong{font-size:23px;color:#e3b38d}

.page,.page>*{min-width:0}.ui-art{width:52px;height:52px;object-fit:contain;flex-shrink:0}.art-button{display:flex;align-items:center;gap:16px;text-align:left;padding:10px 18px;background:linear-gradient(120deg,#483040,#2d2231);border-color:#765563;min-height:76px}.art-button span{min-width:0;overflow-wrap:anywhere}.page-art{width:112px;height:112px;object-fit:contain;justify-self:center;margin:0 0 -12px;filter:drop-shadow(0 10px 22px #0003)}.reward-crystal{display:block;width:48px;height:48px;object-fit:contain;justify-self:center}.reward-days .panel{min-width:0;padding:10px 4px}.reward-days small{font-size:11px;overflow-wrap:anywhere}.balance-crystal{width:46px;height:46px;object-fit:contain}.chat-title .art-button{gap:6px;min-height:48px;padding:6px 10px}.chat-title .ui-art{width:32px;height:32px}@media(max-width:360px){.reward-days{grid-template-columns:repeat(3,minmax(0,1fr))}.reward-days .panel:last-child{grid-column:span 3;grid-template-columns:1fr 48px 1fr;align-items:center}.reward-days .panel:last-child small:last-child{grid-column:1/-1}}

.ui-icon{display:block;width:24px;height:24px;flex-shrink:0}.icon-button{display:flex;align-items:center;justify-content:center;gap:10px}.profile>.icon-button{justify-content:flex-start;padding:14px 18px}.chat-title .icon-button{flex-shrink:0;min-width:44px;min-height:44px}.chat-title{flex-wrap:nowrap}.chat-title h1{min-width:0;overflow-wrap:anywhere}.composer{grid-template-columns:minmax(0,1fr) 48px 44px;gap:8px}.composer>label{min-width:0}.composer>button{height:48px;min-height:44px;padding:10px}.composer>button.primary{font-size:0;display:grid;place-items:center}.composer>button.primary .ui-icon{width:23px;height:23px}.chat-tools{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;padding:12px 0 4px}.chat-tools>.icon-button{background:#ffffff12;border:1px solid #ffffff16;flex-direction:column;gap:10px;padding:14px 3px;min-height:90px;border-radius:20px;font-size:11px}.chat-tools .ui-icon{width:30px;height:30px}.chat-tools span{overflow-wrap:anywhere;max-width:100%}nav button span .ui-icon{width:26px;height:26px}nav button[data-page=create] span{display:grid;place-items:center;min-height:30px}.page.chat{gap:10px}@media(max-width:360px){.chat-tools{grid-template-columns:repeat(3,minmax(0,1fr))}}

.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gift-card{display:grid;justify-items:center;align-content:start;gap:12px;padding:16px 8px;min-width:0}.gift-card strong{font-size:13px;overflow-wrap:anywhere}.gift-card small{font-size:11px}.gift-card .ui-icon{width:52px;height:52px;color:#dcae95}.gift-card[aria-pressed=true]{border:2px solid #df9ba9;background:#563245}
