/* NOVA.GG responsive workspace, TrueMoney wallet, and seasonal skins */
body[data-theme="halloween"]{--red:#ff843e;--red2:#7b38cb;--pink:#ffc078;--side:#17131b;--panel:#201b25;--line:#3d3048}
body[data-theme="winter"]{--red:#70aef8;--red2:#4566d4;--pink:#c3e2ff;--side:#111923;--panel:#17222d;--line:#2d4153}
body[data-theme="songkran"]{--red:#22b8d7;--red2:#307ce0;--pink:#8cecff;--side:#101a21;--panel:#17242a;--line:#2e4853}
body[data-theme="lunar"]{--red:#e7a63e;--red2:#b92b39;--pink:#ffd47a;--side:#1a1314;--panel:#24191a;--line:#4a3432}
body[data-theme="valentine"]{--red:#f04d89;--red2:#a72d64;--pink:#ff9fc2;--side:#1a1319;--panel:#241922;--line:#4a3042}
body[data-theme="aurora"]{--red:#40cfa0;--red2:#387fe1;--pink:#9bf4d3;--side:#101917;--panel:#17221f;--line:#2c4740}
body[data-theme] .brand-mark,body[data-theme] .boot-mark,body[data-theme] .orb-core{background:linear-gradient(145deg,var(--red),var(--red2));box-shadow:0 8px 30px color-mix(in srgb,var(--red) 34%,transparent),inset 0 1px 0 #ffffff80}
body[data-theme] .btn:not(.secondary):not(.danger),body[data-theme] .side-action.create{background:linear-gradient(110deg,var(--red),var(--red2));border-color:color-mix(in srgb,var(--red) 75%,white);box-shadow:0 7px 24px color-mix(in srgb,var(--red) 25%,transparent),inset 0 1px #ffffff42}
body[data-theme] .side-nav .side-link.active,body[data-theme] .admin-tab.active{color:var(--pink);background:color-mix(in srgb,var(--red) 16%,#202127);border-color:color-mix(in srgb,var(--red) 20%,transparent)}
#seasonalParticles{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.58}
#app{position:relative;z-index:1;isolation:isolate}
.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}
.sidebar{position:sticky;top:0;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#53414a transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.sidebar-primary,.side-nav,.quota-mini,.profile-box,.side-divider,.side-label{flex:none}
.history-list{flex:1 1 auto;max-height:none;min-height:68px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b3941 transparent}
.side-spacer{flex:.3 1 8px;min-height:8px}
.main{height:100dvh;min-height:0}
.chat-layout{min-height:0;overscroll-behavior:contain}
.chat-thread{padding:clamp(22px,4vh,46px) clamp(15px,4vw,48px) 18px;scrollbar-width:thin;scrollbar-color:#49434a transparent;overscroll-behavior:contain;scroll-behavior:smooth}
.thread-inner{width:min(850px,100%);gap:25px;padding:0 0 26px}
.message-row{gap:13px;align-items:flex-start}
.message-avatar{width:34px;height:34px;border-radius:12px;font-size:12px;box-shadow:0 7px 20px #0003}
.message-content{max-width:min(760px,calc(100% - 48px));font-size:14px;line-height:1.85;color:#e6e4e9;overflow-wrap:anywhere}
.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}
.message-row.user .message-content{padding:13px 17px;max-width:min(670px,82%);border:1px solid color-mix(in srgb,var(--red) 22%,#3a3035);border-radius:18px 6px 18px 18px;background:linear-gradient(145deg,color-mix(in srgb,var(--red) 18%,#272126),#201e23);box-shadow:0 9px 26px #0002;color:#fbf7f8}
.message-row.assistant .message-content{padding:4px 0 0}
.message-actions{opacity:.22;transition:opacity .18s}.message-row:hover .message-actions,.message-actions:focus-within{opacity:1}
.code-wrap{margin:14px 0;border-radius:13px;border-color:#39333b;background:#111115;box-shadow:0 12px 32px #0003}.code-head{height:40px;font-size:10px}.block-code{padding:15px;font-size:12px;line-height:1.8}.copy-code{padding:6px 10px;font-size:9px}
.thinking-box{padding:12px 15px;border:1px solid color-mix(in srgb,var(--red) 24%,#343036);border-radius:13px;background:linear-gradient(120deg,color-mix(in srgb,var(--red) 8%,#1b191e),#17171b);color:var(--pink);font-size:12px;box-shadow:0 8px 25px #0002}.thinking-line{font-size:10px}
.chat-composer-area{padding:13px 18px max(16px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#121317e8,#121317);backdrop-filter:blur(18px)}
.chat-composer-area .composer-wrap{width:min(850px,100%)}.chat-composer-area .composer{min-height:104px;border-color:#454149;background:linear-gradient(155deg,#242329,#1a1a1f);box-shadow:0 16px 46px #0005,inset 0 1px #ffffff0a}.chat-composer-area .composer textarea{font-size:14px;line-height:1.75;min-height:40px}
.chat-empty-state{width:min(600px,100%);padding:28px 20px;border:1px solid #ffffff0b;border-radius:24px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--red) 8%,transparent),transparent 68%)}.chat-empty-state h2{font-size:25px;letter-spacing:-.035em}.chat-empty-state p{font-size:12px}
.model-select{max-width:min(310px,42vw);height:38px;border-color:#39373f;background:linear-gradient(145deg,#212127,#18191e);font-size:11px}
.wallet-wrap{max-width:1100px}.wallet-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:14px}.wallet-balance-card{min-width:0;display:flex;align-items:center;gap:16px;padding:21px;border:1px solid color-mix(in srgb,var(--red) 28%,#343039);border-radius:18px;background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--red) 18%,transparent),transparent 55%),linear-gradient(145deg,#211d23,#17171c);box-shadow:0 17px 45px #0003,inset 0 1px #ffffff0b}.wallet-token-card{background:radial-gradient(ellipse at 90% 0%,#5d8bff20,transparent 55%),linear-gradient(145deg,#1c2029,#17171c)}.wallet-balance-mark{width:48px;height:48px;display:grid;place-items:center;flex:none;border:1px solid color-mix(in srgb,var(--red) 35%,#4b3c43);border-radius:16px;background:color-mix(in srgb,var(--red) 15%,#211b20);color:var(--pink);box-shadow:inset 0 1px #ffffff18}.wallet-balance-mark svg{width:23px;height:23px}.wallet-balance-card span,.wallet-balance-card small{display:block;color:#98949d;font-size:10px}.wallet-balance-card b{display:block;margin:5px 0;font:600 clamp(22px,3vw,30px) var(--mono);letter-spacing:-.055em}.wallet-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr);gap:13px;align-items:stretch}.wallet-pay-card{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--red) 12%,transparent),transparent 52%),linear-gradient(150deg,#1d1c21,#17171b)}.wallet-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid #343137}.wallet-card-heading h2{font-size:21px;margin:8px 0 4px}.wallet-card-heading p{font-size:10px;color:#a6a2ab;margin:0}.wallet-card-heading p b{color:#f5edf0;font-family:var(--mono)}.wallet-live{display:flex;align-items:center;gap:7px;flex:none;padding:7px 10px;border:1px solid #315943;border-radius:99px;background:#19271f;color:#9de2b5;font-size:9px}.wallet-live i{width:7px;height:7px;border-radius:50%;background:#5ee29b;box-shadow:0 0 12px #5ee29b}.wallet-wait{border-color:#594938!important;background:#2a231a!important;color:#ffd899!important}.wallet-wait span{color:#ffc970!important}.wallet-wait small{display:block;color:#b5a58b;font-size:9px;line-height:1.7;margin-top:3px}.wallet-form{display:grid;gap:8px;padding-top:18px}.wallet-form>label{font-size:11px;color:#d6d2d9}.gift-link-field{display:flex;align-items:center;gap:10px;height:50px;padding:0 13px;border:1px solid #45404a;border-radius:12px;background:#111216;transition:.18s}.gift-link-field:focus-within{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 15%,transparent)}.gift-link-field span{color:var(--pink)}.gift-link-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;font:11px var(--mono)}.gift-link-field input::placeholder{color:#6f6b74}.wallet-rate{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #312e34;border-radius:10px;background:#161519}.wallet-rate span{font-size:10px;color:#a9a4ad}.wallet-rate b{font-size:10px;color:var(--pink)}.wallet-rate small{margin-left:auto;text-align:right;color:#77737d;font-size:8px}.wallet-submit{width:100%;min-height:45px}.wallet-submit:disabled{filter:grayscale(.65);opacity:.48;cursor:not-allowed}.wallet-safe-note,.wallet-confirm-foot{display:flex;gap:8px;align-items:flex-start;margin-top:12px;color:#85818a;font-size:9px;line-height:1.8}.wallet-safe-note svg{flex:none;width:14px;height:14px;color:var(--pink)}.wallet-side-note{display:flex;flex-direction:column;gap:10px;padding:19px;border:1px solid #302d34;border-radius:15px;background:linear-gradient(150deg,#1a191e,#151519)}.wallet-step{display:flex;align-items:flex-start;gap:11px;padding-bottom:12px;border-bottom:1px solid #302e33}.wallet-step>span{width:27px;height:27px;display:grid;place-items:center;flex:none;border:1px solid #5d3540;border-radius:9px;background:#2c1d22;color:var(--pink);font:10px var(--mono)}.wallet-step b,.wallet-step small{display:block}.wallet-step b{font-size:10px;margin:2px 0 4px}.wallet-step small{font-size:9px;color:#96919a;line-height:1.7}.wallet-side-note>.btn{margin-top:auto}.wallet-history{margin-top:14px}.wallet-error{border-color:#624047;color:#ffb6be}.wallet-error p{font-size:10px}.wallet-error small{color:#9b858a;font-size:9px}.wallet-confirm-modal{border-color:color-mix(in srgb,var(--red) 30%,#39343a);background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--red) 14%,transparent),transparent 55%),#1b1c21}.wallet-confirm-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:15px;border:1px solid color-mix(in srgb,var(--red) 32%,#50353b);border-radius:14px;background:color-mix(in srgb,var(--red) 15%,#241b21);color:var(--pink)}.wallet-confirm-modal h2{margin:7px 0 8px;font-size:20px}.wallet-confirm-modal p{font-size:11px;line-height:1.9}
.seasonal-admin-card{max-width:750px}.seasonal-preview{display:flex;align-items:center;gap:14px;margin-bottom:21px;padding:19px;border:1px solid #59343b;border-radius:15px;background:radial-gradient(ellipse at 90% 0%,#f04c5c30,transparent 55%),linear-gradient(145deg,#271b21,#17171c);transition:.2s}.seasonal-preview-orb{width:47px;height:47px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,var(--red),var(--red2));color:white;font-size:23px;box-shadow:0 0 30px color-mix(in srgb,var(--red) 30%,transparent)}.seasonal-preview small,.seasonal-preview b,.seasonal-preview span{display:block}.seasonal-preview small{font:9px var(--mono);color:var(--pink)}.seasonal-preview b{font-size:15px;margin:4px 0}.seasonal-preview span{font-size:9px;color:#99949e}
.seasonal-preview[data-theme-preview="halloween"]{border-color:#654a32;background:radial-gradient(ellipse at 90% 0%,#ff8a3650,transparent 55%),linear-gradient(145deg,#241c29,#17171c)}.seasonal-preview[data-theme-preview="winter"]{border-color:#3b5b7b;background:radial-gradient(ellipse at 90% 0%,#5ba8ff42,transparent 55%),linear-gradient(145deg,#182635,#15171c)}.seasonal-preview[data-theme-preview="songkran"]{border-color:#337187;background:radial-gradient(ellipse at 90% 0%,#22cde94a,transparent 55%),linear-gradient(145deg,#18272d,#15171c)}.seasonal-preview[data-theme-preview="lunar"]{border-color:#78513b;background:radial-gradient(ellipse at 90% 0%,#f1b33f4b,transparent 55%),linear-gradient(145deg,#2a1d1a,#17171c)}.seasonal-preview[data-theme-preview="valentine"]{border-color:#743b60;background:radial-gradient(ellipse at 90% 0%,#f04d8950,transparent 55%),linear-gradient(145deg,#291b27,#17171c)}.seasonal-preview[data-theme-preview="aurora"]{border-color:#39735d;background:radial-gradient(ellipse at 90% 0%,#40cfa050,transparent 55%),linear-gradient(145deg,#182720,#15171c)}
.chat-provider-alert{display:flex;gap:11px;max-width:520px;margin:20px auto 0;padding:13px 15px;border:1px solid #654149;border-radius:13px;background:linear-gradient(140deg,#291c21,#1b191e);text-align:left;box-shadow:0 12px 35px #0003}.chat-provider-alert>span{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:10px;background:#43252d;color:#ff9ba6}.chat-provider-alert b{font-size:11px;color:#f7e9ec}.chat-provider-alert p{margin:4px 0;color:#c0aeb2;font-size:9px;line-height:1.75}.chat-provider-alert a{font-size:9px;color:var(--pink)}
.wallet-action-grid{margin-top:14px}.wallet-convert-card{background:radial-gradient(ellipse at 100% 0%,#6c7dff18,transparent 54%),linear-gradient(150deg,#1d1d23,#17171b)}.wallet-convert-icon{width:37px;height:37px;display:grid;place-items:center;flex:none;border:1px solid #45476a;border-radius:12px;background:#29283c;color:#b7b8ff;box-shadow:0 7px 25px #3b3a7a24,inset 0 1px #ffffff18}.wallet-convert-icon svg{width:19px;height:19px}.wallet-convert-card .panel-title{align-items:flex-start}.wallet-convert-card .panel-title h3{margin:6px 0}.wallet-convert-card .panel-title p{color:#a39faa;font-size:10px;margin:0}.wallet-convert-card .wallet-rate b{color:#b7b8ff}.wallet-convert-card .gift-link-field:focus-within{border-color:#8485ff;box-shadow:0 0 0 3px #8485ff22}
@media(max-width:760px){.app-shell{height:100dvh;min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;top:0;bottom:0;width:min(300px,88vw);height:100dvh;max-height:100dvh;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(-105%);z-index:31}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{z-index:30}.history-list{min-height:50px;max-height:none}.side-spacer{min-height:6px;flex:.15}.main{height:100dvh;min-height:0}.chat-thread{padding:20px 13px 12px}.thread-inner{gap:19px}.message-content{font-size:13px;max-width:calc(100% - 43px)}.message-row.user .message-content{max-width:86%;padding:11px 13px}.message-avatar{width:29px;height:29px;border-radius:10px}.chat-composer-area{padding:9px 10px max(12px,env(safe-area-inset-bottom))}.chat-composer-area .composer{min-height:86px;padding:10px 11px}.chat-composer-area .composer textarea{font-size:13px}.model-select{max-width:42vw;height:33px;font-size:9px}.wallet-wrap{padding:25px 13px 36px}.wallet-balance-grid{gap:8px}.wallet-balance-card{gap:10px;padding:13px 11px;border-radius:14px}.wallet-balance-mark{width:36px;height:36px;border-radius:12px}.wallet-balance-mark svg{width:18px}.wallet-balance-card span,.wallet-balance-card small{font-size:8px}.wallet-balance-card b{font-size:19px}.wallet-grid{grid-template-columns:1fr}.wallet-pay-card{padding:15px}.wallet-card-heading h2{font-size:18px}.wallet-live{font-size:8px;padding:6px 8px}.wallet-rate{flex-wrap:wrap;gap:7px}.wallet-rate small{width:100%;margin-left:0;text-align:left}.wallet-side-note{padding:15px}.wallet-history{padding:14px}.wallet-history .data-table{min-width:520px}.wallet-confirm-modal{padding:18px}.seasonal-admin-card{padding:15px}}
@media(prefers-reduced-motion:reduce){#seasonalParticles{display:none}.message-row,.plan-card,.wallet-balance-card{animation:none;transition:none}}
