/* PC and mobile layout measured against the user-supplied Tipsy screenshots. */
.user-app{background:#2b1713;color:#f8f3f2;font-family:Arial,"PingFang SC",sans-serif;--surface:#34221e;--muted:#ab9592;--accent:#ac77d8;--stroke:#ffffff35;line-height:1.5}
.user-app button{font:inherit;background:transparent;border:1px solid var(--stroke);color:inherit;cursor:pointer}.user-app button:hover{background:#ffffff0d;border-color:#b29491}.user-app button.primary{background:#ab78d6;color:#fff;border:0}.user-app svg{width:24px;height:24px;flex:none}.user-app a{color:#e4cdcd}
.tipsy-shell{min-height:100dvh;padding:86px 40px 32px}.site-topbar{position:fixed;inset:0 0 auto;height:78px;background:#2b1713f5;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;gap:16px}.user-app .site-wordmark{font:bold 29px Georgia,serif;letter-spacing:-1.3px;padding:0;border:0;white-space:nowrap}.site-top-actions{display:flex;gap:10px;align-items:center}.user-app .icon-button{width:46px;height:46px;border-radius:50%;padding:10px;display:inline-grid;place-items:center}.user-app .login-button,.user-app .balance-pill{height:46px;border-radius:28px;padding:8px 22px;display:flex;align-items:center;gap:13px}.user-app .login-button{background:#ffffff25}.user-app .balance-pill{color:#d7b3f1}.user-main{position:relative;min-width:0}.has-messages{padding-left:135px}.message-rail{position:fixed;top:91px;bottom:38px;left:40px;width:76px;border:1px solid #ffffff35;border-radius:16px;padding:10px 8px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;scrollbar-width:none}.user-app .rail-story,.user-app .rail-all{width:56px;height:56px;min-height:56px;border-radius:50%;padding:0;display:grid;place-items:center;overflow:hidden;background:#665750}.rail-story img{width:100%;height:100%;object-fit:cover}.rail-story span{font-size:22px}.user-app .rail-story.selected{border:2px solid #c997e6}.user-app .body{padding:0}.discovery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;min-height:48px}.discovery-tabs{display:flex;gap:12px}.user-app .discovery-tabs button{border:1px solid transparent;border-radius:30px;color:#a58e8d;padding:13px 24px;white-space:nowrap}.user-app .discovery-tabs button.active{border-color:#ffffff36;color:white;background:#24110f}.user-app .discovery-search{display:flex;align-items:center;gap:8px;margin:0}.user-app .discovery-search input{width:220px;max-width:40vw;background:#ffffff08;border:1px solid #ffffff25;border-radius:30px;height:42px;padding:10px 18px}.character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.discovery-card{border:1px solid #ffffff38;border-radius:11px;background:#110e0d;overflow:hidden;position:relative;min-width:0;aspect-ratio:0.59}.user-app .character-open{display:block;position:absolute;inset:0 0 48px;width:100%;padding:0;border:0;border-radius:0;text-align:left;overflow:hidden}.character-image,.character-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.character-placeholder{background:linear-gradient(145deg,#49362f,#171411);display:grid;place-items:center;color:#a9918050;font:90px Georgia,serif}.character-placeholder.tone-1{background:linear-gradient(145deg,#384047,#11151a)}.character-placeholder.tone-2{background:linear-gradient(145deg,#59454c,#25191f)}.card-copy{position:absolute;inset:auto 0 0;padding:75px 18px 12px;background:linear-gradient(transparent,#080605d9 45%,#080605fa);width:100%}.card-copy h3{font-size:20px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 12px}.card-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#b3a6a1;font-size:15px;line-height:1.4;margin:0}.card-tags{display:flex;gap:8px;color:#d4b9b0;font-size:11px}.card-meta{position:absolute;bottom:0;left:0;right:0;height:48px;border-top:1px dashed #ffffff1c;display:flex;justify-content:space-between;align-items:center;padding:8px 18px;font-size:13px}.user-app .favorite-button{border:0;font-size:24px;padding:0 6px}.mobile-navigation{display:none}.conversation-heading{display:flex;align-items:center;gap:12px;position:relative;z-index:2;padding:16px;border-bottom:1px solid #ffffff0d}.conversation-heading h2{flex:1;margin:0;font-size:18px}.conversation-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.is-conversation .user-main{max-width:980px;margin:0 auto;height:calc(100dvh - 106px);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:linear-gradient(170deg,#382621,#3c2119);isolation:isolate}.is-conversation .user-main:after{content:'';position:absolute;inset:0;background:linear-gradient(#160c0a25,#26171155 35%,#3a1b14e8);z-index:0;pointer-events:none}.is-conversation .user-main>.body,.is-conversation .composer,.is-conversation .banner{position:relative;z-index:1}.user-app .chat-theme .body{padding:16px 22px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.user-app .chat-theme .messages{height:auto;flex:1;min-height:80px;overflow:auto}.user-app .chat-theme .bubble{background:#87502fcc;border:0;border-radius:14px;padding:18px 22px;font-size:17px;line-height:1.65;max-width:88%;backdrop-filter:blur(12px);margin:20px 0}.user-app .chat-theme .bubble.user{background:#6d535ddd;margin-left:auto}.user-app .chat-theme .segment.narration{color:#d4b8a8;font-style:italic}.user-app .chat-theme .segment.dialogue{color:#fff}.user-app .chat-theme .segment+.segment{margin-top:18px}.user-app .chat-theme .bubble:not(.user):has(>.segment.narration):not(:has(>.segment.dialogue)){background:#87502f99;padding:18px 22px;border-radius:14px}.user-app .chat-theme .composer{border:0;background:linear-gradient(transparent,#63371f99);padding:12px 20px}.user-app .chat-theme button{background:#ffffff0c;border-color:#ffffff25}.user-app .chat-theme .composer textarea{background:#ffffff16;color:#fff;border:1px solid #ffffff0b;border-radius:28px;height:54px;min-height:54px}.user-app .composer .actions button{border:0;font-size:12px}.user-app .opening.bubble{max-height:none;overflow:visible;max-width:95%}.user-app .card{background:#ffffff07;border:1px solid #ffffff22}.user-app dialog{background:linear-gradient(145deg,#3d352e,#38282e);border:1px solid #ffffff20;color:white;border-radius:22px;box-shadow:0 20px 60px #0006}.user-app input,.user-app textarea,.user-app select{background:#ffffff0a;color:#f8eeee;border-color:#ffffff35}.user-app select option{background:#32201a;color:#fff}.user-app .muted{color:#baa8a2}.user-app .badge{background:#ffffff14;color:#ddc9c1}.page-mine,.page-stories{max-width:980px;margin:auto}.page-mine .body,.page-stories .body{padding:24px}.user-app .banner{font-size:11px}
@media(max-width:1599px){.character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.card-copy{padding-left:14px;padding-right:14px}.card-copy h3{font-size:18px}.card-copy p{font-size:13px}}
@media(max-width:1250px){.character-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tipsy-shell{padding-right:24px}.site-topbar{padding-left:24px;padding-right:24px}.tipsy-shell:not(.has-messages){padding-left:24px}.message-rail{left:24px}.has-messages{padding-left:117px}}
@media(max-width:950px){.character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.tipsy-shell,.tipsy-shell.has-messages{padding:75px 6px calc(67px + env(safe-area-inset-bottom))}.site-topbar{height:68px;padding:10px 16px}.user-app .site-wordmark{font-size:26px}.site-top-actions{gap:8px}.user-app .site-top-actions .icon-button{width:38px;height:38px;padding:8px}.user-app .login-button{height:36px;padding:6px 15px;font-size:13px}.user-app .balance-pill{height:36px;padding:6px 10px;font-size:12px}.message-rail{display:none}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.discovery-card{border-radius:7px;aspect-ratio:.60}.discovery-toolbar{gap:6px;margin-bottom:10px;flex-wrap:wrap;padding:0 8px}.user-app .discovery-tabs{gap:4px}.user-app .discovery-tabs button{padding:7px 12px;font-size:13px}.user-app .discovery-search{gap:4px;flex:1;justify-content:flex-end}.user-app .discovery-search input{width:140px;max-width:36vw;height:34px;font-size:12px}.user-app .discovery-search .icon-button{width:32px;height:32px;padding:6px}.card-copy{padding:60px 8px 9px}.card-copy h3{font-size:15px;margin-bottom:8px}.card-copy p{font-size:12px;-webkit-line-clamp:3}.card-meta{height:36px;padding:4px 9px;font-size:11px}.user-app .character-open{bottom:36px}.card-tags{font-size:10px;overflow:hidden;white-space:nowrap}.mobile-navigation{display:flex;position:fixed;inset:auto 0 0;z-index:8;background:#3d2e2af5;border-top:1px solid #ffffff22;padding:8px 10px calc(8px + env(safe-area-inset-bottom));height:calc(62px + env(safe-area-inset-bottom));justify-content:space-around;backdrop-filter:blur(15px)}.user-app .mobile-navigation button{display:flex;align-items:center;flex-direction:column;gap:2px;flex:1;border:0;color:#a48e90;padding:2px}.mobile-navigation span{font-size:10px}.user-app .mobile-navigation button.active{color:#fff}.is-conversation{padding-top:0!important;padding-left:0!important;padding-right:0!important}.is-conversation .site-topbar{display:none}.is-conversation .user-main{height:calc(100dvh - 62px - env(safe-area-inset-bottom));max-width:none;border-radius:0}.user-app .chat-theme .body{padding:10px 10px}.user-app .chat-theme .bubble{font-size:15px;padding:14px 16px;max-width:94%;border-radius:10px}.user-app .chat-theme .composer{padding:10px}.user-app .chat-theme .composer .row.between{font-size:11px}.user-app .composer .actions{gap:5px;margin:7px 0 0}.user-app .composer .actions button{padding:5px 7px}.user-app .composer textarea{font-size:15px}.user-app dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;border-radius:23px 23px 0 0;max-height:90dvh;padding:24px 18px calc(24px + env(safe-area-inset-bottom))}.user-app dialog::backdrop{background:#10090680;backdrop-filter:blur(3px)}}

.persona-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.user-app .persona-pill{display:flex;align-items:center;gap:8px;border-radius:25px;padding:7px 14px;max-width:65%;font-size:13px}.persona-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-app .mode-pill{font-size:12px;border-radius:25px;padding:7px 12px}.user-app .composer button[data-action=send]{width:42px;height:42px;min-width:42px;border-radius:50%;padding:0;font-size:28px;line-height:1;background:#ffffff18;border:1px solid #ffffff80}.user-app .composer>.row:has(textarea){align-items:center;gap:8px}

.site-wordmark{display:flex;align-items:center;gap:10px}.site-brand-logo{width:34px;height:34px;object-fit:contain;border-radius:6px}

.checkin-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.checkin-days span{padding:10px 5px;text-align:center;border:1px solid #8a686055;border-radius:10px;font-size:12px}.checkin-days b{display:block;margin-top:6px}.checkin-days .today{border-color:#b593e8;background:#9866cc22}

.user-app .relationship-status{margin:0 0 8px;color:#ddc9c1;font-size:12px;overflow-wrap:anywhere}
.persona-avatar{width:64px;height:64px;object-fit:cover;border-radius:50%;display:inline-flex;vertical-align:middle;margin:0 12px 12px 0}.persona-avatar-default{align-items:center;justify-content:center;background:#635a69;color:#fff;font-size:32px}.persona-avatar-editor{border:1px solid #84778a;border-radius:12px;padding:14px;margin-bottom:16px}.persona-avatar-editor small,.persona-avatar-editor [role=status]{display:block;margin:8px 0}

.user-app .opening{touch-action:pan-y pinch-zoom;overflow-wrap:anywhere}.user-app .opening:focus-visible{outline:2px solid #c997e6;outline-offset:4px}
