/* Roxy's Luxury — motion and permission studio */
body{--motion-time:.48s;--motion-ease:cubic-bezier(.2,.8,.2,1)}body[data-style=cinematic]{--motion-time:.85s;--motion-ease:cubic-bezier(.16,1,.3,1)}body[data-style=serene]{--motion-time:.65s}body[data-motion=gentle]{--motion-time:.3s}
body[data-theme=amethyst]{--bg:#130d20;--side:#100a19;--accent:#d5a1ff;--solid:#9854d4;--panel:#21182e;--glow:#b26eff28}body[data-theme=obsidian]{--bg:#111214;--side:#090a0b;--accent:#ddd9d1;--solid:#68635c;--panel:#202124;--border:#38393c;--glow:#dfddcf15}body[data-theme=sapphire]{--bg:#0b1422;--side:#080e19;--panel:#142137;--raised:#1b2c48;--accent:#90c6ff;--solid:#447dde;--border:#2c405d;--glow:#548dff25}body[data-theme=bordeaux]{--bg:#1a0d15;--side:#11090e;--panel:#2b1723;--raised:#3a2030;--accent:#eda0bc;--solid:#b74c77;--border:#513047;--glow:#f471aa20}body[data-theme=pearl]{--bg:#18171b;--side:#101013;--panel:#28262c;--raised:#343039;--accent:#e8d9ca;--solid:#978476;--border:#4a424b;--glow:#efdfcd1a}
body[data-font=serif] h1,body[data-font=serif] h2,body[data-font=serif] .structured-card h3{font-family:Georgia,serif;font-weight:400}body[data-glow=medium]{--glow:#b49aff30}body[data-glow=bright] .emblem{filter:drop-shadow(0 0 22px var(--accent))}body[data-density=spacious] .message{margin-bottom:42px}body[data-size=large] .message-text{font-size:19px}
#main{isolation:isolate;position:relative;overflow:hidden}#main:before{content:'';position:absolute;inset:-20%;z-index:-1;pointer-events:none;opacity:.35;background:radial-gradient(ellipse at 30% 20%,var(--glow),transparent 52%),radial-gradient(ellipse at 85% 80%,var(--glow),transparent 55%);animation:aurora-drift 18s ease-in-out infinite alternate}body[data-background=particles] #main:before{background-image:radial-gradient(circle,var(--accent) 1px,transparent 2px);background-size:83px 97px;opacity:.1;animation:particle-drift 28s linear infinite}body[data-background=waves] #main:before{background:repeating-radial-gradient(ellipse at 20% 60%,transparent 0 45px,var(--glow) 46px 48px,transparent 50px 85px);animation:aurora-drift 14s ease-in-out infinite alternate}body[data-background=still] #main:before{animation:none;opacity:.12}
#welcome .emblem{animation:emblem-enter .9s var(--motion-ease) both}#welcome h1,#welcome-copy,.welcome-credit,.suggestions>button,.night{animation:luxury-rise var(--motion-time) var(--motion-ease) both}#welcome h1{animation-delay:.08s}#welcome-copy{animation-delay:.15s}.suggestions>button:nth-child(1){animation-delay:.2s}.suggestions>button:nth-child(2){animation-delay:.27s}.suggestions>button:nth-child(3){animation-delay:.34s}.suggestions>button:nth-child(4){animation-delay:.41s}.night{animation-delay:.45s}body[data-entrance=fade] #welcome *{animation-name:luxury-fade}body[data-entrance=sweep] #welcome:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,var(--glow) 50%,transparent 65%);animation:light-sweep 1s both}.message{animation:luxury-rise var(--motion-time) var(--motion-ease) both}body[data-arrival=fade] .message{animation-name:luxury-fade}body[data-arrival=slide] .message{animation-name:luxury-slide}.structured-card{animation:luxury-rise var(--motion-time) var(--motion-ease) both}.structured-card:nth-child(2){animation-delay:.08s}.structured-card:nth-child(3){animation-delay:.16s}dialog[open]{animation:luxury-rise var(--motion-time) var(--motion-ease)}dialog.closing{animation:luxury-out .16s both}dialog::backdrop{animation:luxury-fade .2s}#sidebar.open{animation:luxury-slide .3s var(--motion-ease)}.attachment,#attachment{animation:luxury-rise .3s both}.busy .emblem-core,.thinking>span:first-child{animation:thinking-orbit 2s ease-in-out infinite}.busy #chat-form{box-shadow:0 0 18px var(--glow)}body[data-style=serene] .orbit{animation-duration:35s}body[data-motion=gentle] #main:before{animation:none}
button{position:relative}button:active:not(:disabled){transform:scale(.975)}@media(hover:hover){button:hover:not(:disabled){transform:translateY(-2px)}body[data-buttons=glow] button:hover{box-shadow:0 0 18px var(--glow)}body[data-buttons=press] button:hover{transform:none}}.tap-ripple{position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:radial-gradient(circle,var(--glow),transparent 65%);animation:ripple .6s both}.copy{transition:color .2s,transform .2s}.scanning{position:relative;overflow:hidden}.scanning:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,var(--glow),transparent);animation:light-sweep 1.3s infinite}
.creator-credit{display:flex!important;gap:12px!important;align-items:center;text-align:left;padding:18px 8px!important;border-top:1px solid var(--border);overflow:hidden;min-height:83px}.signature-crest{flex-shrink:0;width:33px;height:40px;display:grid;place-items:center;border:1px solid #d5b97770;border-radius:14px 14px 20px 20px;color:var(--gold);font-size:23px;animation:crest-float 6s ease-in-out infinite}.signature-text{display:flex;flex-direction:column;gap:5px}.signature-name{font-family:Georgia,serif;font-size:19px;letter-spacing:4px;background:linear-gradient(100deg,#b89958 10%,#fff0c0 45%,#b89958 60%);background-size:220%;color:transparent;background-clip:text;animation:signature-shine 8s ease-in-out infinite}.signature-by{font-size:8px;letter-spacing:.5px;color:var(--muted);line-height:1.7}.creator-credit:hover .signature-crest{box-shadow:0 0 22px #d4ad6026}.profile-crown{animation:crest-float 5s infinite}.creator-profile{animation:luxury-rise .65s both}
dialog:has(.luxury-banner){width:min(790px,calc(100vw - 28px));max-width:790px}.luxury-banner{padding:26px 22px 30px;border:1px solid #d5b97745;border-radius:20px;background:radial-gradient(ellipse at 50% 0%,#cda76d17,transparent 70%),var(--panel);text-align:center;margin:8px 0 26px;position:relative;overflow:hidden}.luxury-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#e8c77d0a 50%,transparent 65%);animation:light-sweep 2s both;pointer-events:none}.luxury-crest{display:block;color:var(--gold);font-size:35px;margin-bottom:12px;animation:crest-float 6s infinite}.luxury-kicker{font-size:10px;letter-spacing:2.5px;color:var(--gold)}.luxury-title{font:italic 43px/1.2 Georgia,serif;letter-spacing:-1px;margin:12px 0;color:var(--text)}.luxury-banner p{font-size:13px;color:var(--muted)}.luxury-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.luxury-grid label{margin:0!important;background:var(--panel);padding:15px;border:1px solid var(--border);border-radius:12px;font-size:12px}.luxury-grid select{width:100%;max-width:none;margin-top:8px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.permission-row{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:8px;background:var(--panel);padding:16px!important;border:1px solid var(--border);border-radius:14px;margin:0!important;cursor:pointer}.permission-row strong{display:block;font-size:13px}.permission-row small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:6px}.permission-row input{appearance:none;width:37px!important;height:22px!important;border-radius:20px!important;background:var(--border);position:relative;cursor:pointer;padding:0!important;transition:background .2s}.permission-row input:before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;background:var(--muted);border-radius:50%;transition:transform .2s}.permission-row input:checked{background:var(--solid)}.permission-row input:checked:before{transform:translateX(15px);background:#fff}.permission-row:has(input:checked){border-color:var(--accent)}.permission-status{grid-column:2;text-align:center;font-size:10px;color:var(--muted)}.permission-preview,.audit-row,.preset-row{border:1px solid var(--border);border-radius:12px;padding:14px;margin:12px 0}.audit-row p{font-size:12px}.audit-row small{color:var(--muted)}.preset-row{display:flex;justify-content:space-between}.translation-output{padding:22px;border:1px solid var(--border);border-radius:18px;margin:22px 0;min-height:90px;background:linear-gradient(135deg,var(--panel),var(--raised));animation:luxury-rise .4s}.translation-output p{white-space:pre-wrap;line-height:1.9}.translation-output:empty{display:none}.luxury-error{color:#ffb5b5}.focus-lab .message{opacity:.4;transition:opacity .3s}.focus-lab .message:nth-last-child(-n+2),.focus-lab .message:hover{opacity:1}
@keyframes luxury-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes luxury-fade{from{opacity:0}to{opacity:1}}@keyframes luxury-slide{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}@keyframes luxury-out{to{opacity:0;transform:translateY(8px)}}@keyframes emblem-enter{from{opacity:0;transform:scale(.8) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes light-sweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes aurora-drift{to{transform:translate(6%,4%) rotate(8deg)}}@keyframes particle-drift{to{transform:translateY(-97px)}}@keyframes ripple{from{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.3)}}@keyframes thinking-orbit{50%{transform:rotate(15deg) scale(.9);opacity:.55}}@keyframes crest-float{50%{transform:translateY(-3px)}}@keyframes signature-shine{0%,30%{background-position:100%}70%,100%{background-position:0}}
@media(max-width:760px){.luxury-title{font-size:33px}.luxury-grid,.permission-grid{grid-template-columns:1fr}.luxury-banner{padding:22px 12px}.signature-crest{animation:none}#main:before{opacity:.18}.luxury-grid select{max-width:none}.permission-row{min-height:86px}}
body[data-motion=none] *,body[data-motion=none] *:before,body[data-motion=none] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.message.seen{animation:none}.message.seen .structured-card{animation:none}#sidebar{overflow-y:auto}.nav-link{flex-shrink:0}.creator-credit{flex-shrink:0}
