:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f5;--surface:#fff;--surface-2:#f1f4f2;--border:#e3e8e5;--text:#14201a;--muted:#5d6b63;--accent:#267a42;--accent-soft:#267a421f;--accent-text:#1f6b34;--success:#1b7f45;--danger:#c62f2f;--warn:#a66a00;--radius:14px;--radius-sm:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--nav-h:64px;--header-h:56px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}a{color:var(--accent-text)}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:100%;min-height:44px;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--muted)}button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;padding:10px 16px}button:disabled{opacity:.5;cursor:not-allowed}table{color:inherit}code{background:var(--surface-2);border-radius:6px;padding:2px 6px}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);min-height:44px;color:var(--text);padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:0 0}.btn-danger{color:var(--danger);background:0 0;border-color:#ff7a7a66}.btn-sm{min-height:44px;padding:8px 14px;font-size:.9rem}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell-header{z-index:20;align-items:center;gap:var(--space-3);min-height:calc(var(--header-h) + var(--safe-top));padding:var(--safe-top) var(--space-4) 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffeb;display:flex;position:sticky;top:0}.logo-mark{color:#fff;background:url(/icons/icon-192.png) 50%/cover no-repeat;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.logo-mark svg{width:22px;height:22px}.shell-title{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.shell-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;overflow:hidden}.store-pick{align-items:center;min-width:0;max-width:100%;display:inline-flex;position:relative}.store-pick select{appearance:none;text-overflow:ellipsis;background:0 0;border:0;max-width:52vw;min-height:44px;padding:0 28px 0 0;font-size:1.05rem;font-weight:700}.store-pick svg{pointer-events:none;width:20px;height:20px;color:var(--muted);position:absolute;right:0}.role-chip{background:var(--accent-soft);color:var(--accent-text);white-space:nowrap;border:1px solid #7c6cf280;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.role-chip svg{width:14px;height:14px}.icon-link{width:44px;height:44px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-link svg{width:24px;height:24px}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;position:absolute;top:4px;right:2px}.shell-main{width:100%;max-width:1240px;padding:var(--space-4) var(--space-4) calc(var(--nav-h) + var(--safe-bottom) + var(--space-5));flex:1;margin:0 auto}@media (width>=640px){.shell-main{padding-left:var(--space-5);padding-right:var(--space-5)}}.bottom-nav{z-index:30;height:calc(var(--nav-h) + var(--safe-bottom));padding:6px 6px var(--safe-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);background:#fffffff5;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-brand,.nav-item.only-sidebar{display:none}.nav-item{min-width:0;min-height:52px;color:var(--muted);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item svg{width:24px;height:24px}.nav-item span:not(.badge){text-overflow:ellipsis;text-align:center;overflow-wrap:normal;max-width:100%;line-height:1.1;overflow:hidden}.nav-item[aria-current=page]{background:var(--accent);color:#fff}.nav-item .badge{border:2px solid var(--surface);top:0;right:calc(50% - 30px)}.nav-item[aria-current=page] .badge{color:var(--accent);border-color:var(--accent);background:#fff}@media (width>=900px){.bottom-nav{justify-content:flex-start;gap:var(--space-1);width:232px;height:auto;padding:var(--space-4) var(--space-3);border-top:0;border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;flex-direction:column;top:0;right:auto}.nav-brand{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-5);font-size:1.05rem;font-weight:800;display:flex}.nav-item.only-bar{display:none}.nav-item.only-sidebar{display:flex}.nav-item{justify-content:flex-start;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border-radius:12px;flex-direction:row;flex:none;font-size:1rem}.nav-item:hover:not([aria-current=page]){background:var(--surface-2);color:var(--text)}.nav-item .badge{top:50%;right:var(--space-3);border:0;transform:translateY(-50%)}.shell{padding-left:232px}.shell-header .logo-mark{display:none}.search{max-width:520px}.shell-main{padding-top:var(--space-5);padding-bottom:var(--space-6)}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.page-head p{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.stack{gap:var(--space-3);display:grid}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.chip{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.chip-muted{background:var(--surface-2);color:var(--muted)}.form-grid{gap:var(--space-3);display:grid}.error-text{color:var(--danger);margin:0}.toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.search{flex:200px;min-width:0;position:relative}.search svg{width:20px;height:20px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search input{border-radius:14px;width:100%;padding-left:42px}.game-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.game-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1000px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1400px){.game-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.game-tile{aspect-ratio:3/4;border:1px solid var(--border);background:var(--art,linear-gradient(160deg, #20243a, #12141e));isolation:isolate;border-radius:18px;position:relative;overflow:hidden}.game-tile img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.game-tile:not(.has-art):before{content:"";z-index:-1;background:radial-gradient(70% 50% at 50% 30%,#ffffff24,#0000 70%),repeating-linear-gradient(135deg,#ffffff0b 0 2px,#0000 2px 14px);position:absolute;inset:0}.game-initial{color:#ffffff38;z-index:-1;place-items:center;font-size:clamp(3rem,12vw,4.5rem);font-weight:800;display:grid;position:absolute;inset:0 0 38%}.game-scrim{max-height:58%;padding:56px var(--space-3) var(--space-3);color:#fff;background:linear-gradient(#06070c00 0%,#06070ce0 55%,#06070cf5 100%);gap:2px;display:grid;position:absolute;inset:auto 0 0}.game-scrim h3{text-shadow:0 1px 6px #000c;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.05rem;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.game-scrim p{color:#cdd1df;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}@media (width>=640px){.game-scrim p{-webkit-line-clamp:2}}.manage-list{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=1000px){.manage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.manage-card{gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:96px minmax(0,1fr);display:grid}@media (width>=640px){.manage-card{grid-template-columns:120px minmax(0,1fr)}}.manage-art{aspect-ratio:3/4;background:var(--art,linear-gradient(160deg, #20243a, #12141e));isolation:isolate;border-radius:12px;align-self:start;position:relative;overflow:hidden}.manage-art img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.manage-art .game-initial{font-size:2.4rem;inset:0}.manage-body{gap:var(--space-2);align-content:start;min-width:0;display:grid}.manage-body h3{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.manage-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9rem;display:-webkit-box;overflow:hidden}.pill{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.pill:before{content:"";background:var(--muted);border-radius:50%;width:8px;height:8px}.pill-active{color:var(--success);background:#4cd9a01a;border-color:#4cd9a066}.pill-active:before{background:var(--success)}.action-row{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.action-btn{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:6px 4px;font-size:.75rem;font-weight:600;display:flex}.action-btn svg{width:20px;height:20px}.action-btn.danger{color:var(--danger)}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.state{justify-items:center;gap:var(--space-3);text-align:center;padding:var(--space-6) var(--space-4);color:var(--muted);display:grid}.state svg{width:48px;height:48px;color:var(--accent-text)}.state h2{color:var(--text);margin:0}.state p{max-width:34ch;margin:0}.offline-banner{top:calc(var(--header-h) + var(--safe-top));z-index:15;margin:0 calc(var(--space-4) * -1) var(--space-4);padding:var(--space-2) var(--space-4);color:var(--warn);text-align:center;background:#3a2d0f;font-size:.9rem;position:sticky}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.list-item{gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;display:flex}.list-item.unread{border-color:var(--accent);background:linear-gradient(0deg, var(--surface), var(--accent-soft))}.list-item .grow{flex:1;min-width:0}.list-item small{color:var(--muted)}.more-row{color:var(--text);text-decoration:none}.more-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-text);border-radius:12px;place-items:center;display:inline-grid}.more-icon svg,.more-chevron svg{width:22px;height:22px}.more-chevron{color:var(--muted)}.auth{background:var(--bg);grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:100dvh;display:grid}.auth-brand{color:#fff;border-bottom:1px solid var(--border);background:radial-gradient(90% 80% at 100% 100%,#ffffff29,#0000 60%),linear-gradient(135deg,#3aa35a,#1f6b34);position:relative;overflow:hidden}.auth-brand:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 90%);mask-image:linear-gradient(#000,#0000 90%)}.auth-brand-inner{z-index:1;padding:calc(var(--space-4) + var(--safe-top)) var(--space-4) var(--space-4);position:relative}.auth-logo{align-items:center;gap:var(--space-3);font-size:1.1rem;display:flex}.auth-line{display:none}.auth-main{padding:var(--space-5) var(--space-4) calc(var(--space-6) + var(--safe-bottom));place-items:start center;display:grid}.auth-card{width:100%;max-width:440px;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 28px #14201a0f}.auth-card h1{margin-bottom:var(--space-2);font-size:1.75rem}.auth-sub{margin:0 0 var(--space-5);color:var(--muted)}.auth-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);text-align:center;color:var(--muted)}.auth-footer p{margin:0}@media (width>=900px){.auth{grid-template-rows:1fr;grid-template-columns:minmax(380px,5fr) minmax(480px,6fr)}.auth-brand{border-bottom:0;border-right:1px solid var(--border);display:flex}.auth-brand-inner{width:100%;padding:var(--space-6);flex-direction:column;justify-content:space-between;display:flex}.auth-logo{font-size:1.3rem}.auth-line{max-width:24ch;padding-bottom:var(--space-6);margin:0;font-size:1.6rem;font-weight:700;line-height:1.25;display:block}.auth-main{padding:var(--space-6);align-items:center}}.field{gap:6px;display:grid}.field label{font-size:.92rem;font-weight:600}.field-box{align-items:center;display:flex;position:relative}.field-box input{background:var(--surface);border-radius:12px;width:100%;min-height:48px;padding:12px 14px}.field-icon+input{padding-left:44px}.field-icon{color:var(--muted);pointer-events:none;display:inline-flex;position:absolute;left:14px}.field-icon svg{width:20px;height:20px}.field-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-box.has-error input{border-color:var(--danger)}.field-box:has(.field-toggle) input{padding-right:52px}.field-toggle{width:44px;height:44px;min-height:44px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;right:4px}.field-toggle svg{width:22px;height:22px}.field-error{color:var(--danger);margin:0;font-size:.88rem}.field-hint{color:var(--muted);margin:0;font-size:.85rem}.field-aside{margin-top:calc(var(--space-2) * -1);justify-content:flex-end;display:flex}.btn-lg{width:100%;min-height:48px;font-size:1rem}.notice{gap:var(--space-3);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);display:flex}.notice p{color:var(--muted);margin:4px 0 0}.notice-error{color:#9e2020;background:#c62f2f12;border-color:#c62f2f66}.notice-ok{background:#1b7f4514;border-color:#1b7f4566}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.inline-icon{vertical-align:middle;width:20px;height:20px;display:inline-flex}.back-link{align-items:center;gap:6px;display:inline-flex}.muted{color:var(--muted)}.splash{place-items:center;min-height:100dvh;display:grid}.logo-lg{border-radius:18px;width:64px;height:64px;animation:1.4s ease-in-out infinite pulse;display:block}@keyframes pulse{50%{opacity:.55}}.chooser{gap:var(--space-3);display:grid}@media (width>=700px){ul.chooser{grid-template-columns:repeat(2,minmax(0,1fr))}}.chooser-card,.more-row{text-align:left;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:72px;color:var(--text);text-decoration:none;display:flex}.chooser-card:hover,.more-row:hover{border-color:var(--accent)}.chooser-avatar{color:#fff;background:linear-gradient(135deg,#3aa35a,#1f6b34);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:800;display:grid}.profile-card{align-items:center;gap:var(--space-4);display:flex}.state-icon{background:var(--accent-soft);width:64px;height:64px;color:var(--accent-text);border-radius:20px;place-items:center;display:inline-grid}.state-icon svg{width:32px;height:32px}.page-actions{flex:none}.icon-btn{border:1px solid var(--border);background:var(--surface-2);width:44px;height:44px;min-height:44px;color:var(--text);cursor:pointer;border-radius:12px;place-items:center;padding:0;display:inline-grid}.icon-btn svg{width:20px;height:20px}.dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px}.segmented{margin-bottom:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;display:inline-flex}.segmented button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:6px 20px;font-weight:600}.segmented button.on{background:var(--accent);color:#fff}.alert-row{align-items:center;gap:var(--space-3);width:100%;min-height:72px;padding:var(--space-3) var(--space-4);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex}.alert-row.unread{background:linear-gradient(0deg, var(--surface), var(--accent-soft));border-color:#267a42b3}.rtable{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.rtable th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:12px 16px;font-size:.8rem}.rtable td{vertical-align:middle;border-top:1px solid var(--border);padding:14px 16px}.rtable td.actions{text-align:right;white-space:nowrap;display:table-cell}.rtable td.actions .btn{margin-left:var(--space-2)}@media (width<=899px){.rtable{background:0 0;border:0;border-radius:0;display:block}.rtable thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.rtable tbody{gap:var(--space-3);display:grid}.rtable tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:block;overflow:hidden}.rtable td{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:right;border-top:0;padding:10px 16px;display:flex}.rtable td+td{border-top:1px solid var(--border)}.rtable td[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;flex:none;font-size:.8rem;font-weight:600}.rtable td code{overflow-wrap:anywhere}.rtable td.actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.rtable td.actions .btn{flex:auto;margin-left:0}}.account-list{gap:var(--space-4)}@media (width>=900px){.account-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-card{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.account-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.account-head h2{margin:0}.account-art{background:var(--art);color:#ffffffd9;border-radius:12px;place-items:center;width:48px;height:48px;font-weight:800;display:grid}.credential{gap:var(--space-3);margin:0;display:grid}.credential dt{color:var(--muted);margin-bottom:4px;font-size:.8rem;font-weight:600}.credential dd{align-items:center;gap:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:12px;min-height:52px;margin:0;padding:4px 4px 4px 14px;display:flex}.credential dd code{overflow-wrap:anywhere;background:0 0;flex:1;min-width:0;padding:0;font-size:1rem}.credential dd.note{padding:12px 14px;display:block}.account-foot{margin:var(--space-3) 0 0;font-size:.85rem}.shell-bare{top:var(--vvt,0px);height:var(--vvh,100dvh);min-height:0;position:fixed;left:0;right:0;overflow:hidden}html.chat-open,html.chat-open body{overscroll-behavior:none;overflow:hidden}.shell-main-bare{min-height:0;padding:0 0 calc(var(--nav-h) + var(--safe-bottom));flex-direction:column;max-width:none;display:flex}html[data-kb=open] .shell-bare .bottom-nav{display:none}html[data-kb=open] .shell-main-bare{padding-bottom:0}.chat{flex:1;width:100%;max-width:1240px;min-height:0;margin:0 auto;display:flex}.chat-list{width:100%;min-height:0;padding:var(--space-4);flex-direction:column;display:none;overflow-y:auto}.chat-list-title{margin-bottom:var(--space-3)}.chat-thread{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-two:not(.has-active) .chat-list{display:flex}.chat-two:not(.has-active) .chat-thread{display:none}@media (width>=900px){.chat-two .chat-list,.chat-two:not(.has-active) .chat-list{border-right:1px solid var(--border);flex:none;width:340px;display:flex}.chat-two:not(.has-active) .chat-thread{display:flex}.shell-main-bare{padding-bottom:0}.thread-back{display:none!important}}.convo{align-items:center;gap:var(--space-3);width:100%;min-height:68px;padding:var(--space-3);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex}.convo .grow{min-width:0;display:grid}.convo small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.convo.is-active{border-color:var(--accent);background:var(--accent-soft)}.convo.is-unread strong{color:#fff}.avatar{background:var(--surface-2);width:44px;height:44px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar.sm{width:32px;height:32px;font-size:.85rem}.thread-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.thread-head>div{display:grid}.thread-empty{flex:1;place-items:center;display:grid}.thread-scroll{overscroll-behavior:contain;min-height:0;padding:var(--space-4);flex:1;overflow-y:auto}.load-older{margin:0 auto var(--space-3);display:block}.messages{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.day{text-align:center;color:var(--muted);margin:var(--space-2) 0;font-size:.78rem}.msg{align-items:flex-end;gap:var(--space-2);max-width:100%;display:flex}.msg.mine{justify-content:flex-end}.bubble{overflow-wrap:anywhere;background:#e8eeea;border-radius:18px 18px 18px 6px;max-width:min(78%,560px);padding:10px 14px}.msg.mine .bubble{background:var(--accent);color:#fff;border-radius:18px 18px 6px}.who{color:var(--accent-text);margin-bottom:2px;font-size:.78rem;font-weight:700}.bubble time{color:var(--muted);text-align:right;margin-top:4px;font-size:.75rem;display:block}.msg.mine .bubble time{color:#ffffffe0}.bubble a{color:inherit;text-decoration:underline}.pic{margin-top:6px;display:block}.pic img{background:#0003;border-radius:12px;width:100%;max-width:280px;height:auto;display:block}.composer{padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom,0px) * 0);border-top:1px solid var(--border);background:var(--bg);flex:none}.composer-row{align-items:flex-end;gap:var(--space-2);display:flex}.composer textarea{resize:none;border-radius:22px;flex:1;min-width:0;min-height:44px;max-height:140px;padding:11px 14px;line-height:1.35}.attach{border-radius:50%;flex:none}.send-btn{background:var(--accent);color:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.send-btn svg{width:20px;height:20px}.composer-error,.composer-note{margin:0 0 var(--space-2);font-size:.85rem}.pending{gap:var(--space-2);margin:0 0 var(--space-2);padding:0;list-style:none;display:flex}.pending li{position:relative}.pending img{object-fit:cover;border:1px solid var(--border);border-radius:12px;width:64px;height:64px;display:block}.pending button{border-radius:50%;width:28px;height:28px;min-height:28px;padding:0;line-height:1;position:absolute;top:-8px;right:-8px}@media (width>=900px){.composer{padding:var(--space-3) var(--space-4)}.chat:not(.chat-two) .chat-thread{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:860px;margin:0 auto}}.update-banner{top:calc(var(--header-h) + var(--safe-top));z-index:18;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--accent);color:#fff;font-weight:600;display:flex;position:sticky}.update-banner .btn{color:var(--accent);background:#fff;border-color:#fff}.install-card .steps{margin:var(--space-3) 0 0;gap:var(--space-2);padding-left:1.2rem;display:grid}.switches{margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.switches label{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;border-top:1px solid var(--border);display:flex}.switches label>span{display:grid}.switches input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;flex:none;width:52px;height:32px;min-height:32px;padding:0;transition:background .15s;position:relative}.switches input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px}.switches input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.switches input[type=checkbox]:checked:after{transform:translate(20px)}.home-hero{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--border);color:#fff;background:radial-gradient(90% 90% at 100% 100%,#ffffff29,#0000 60%),linear-gradient(135deg,#3aa35a,#1f6b34);border-radius:20px;display:flex;position:relative;overflow:hidden}.home-hero h2{margin:2px 0 var(--space-2);overflow-wrap:anywhere;font-size:1.6rem}.logo-hero{border-radius:18px;flex:none;width:64px;height:64px;font-size:1.9rem;font-weight:800}.home-hero p{color:#ffffffeb;margin:0}.home-hero .logo-hero{background:#fff3;border:1px solid #ffffff59}.home-section{margin-bottom:var(--space-5)}.section-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.section-head h2{margin:0}.see-all{align-items:center;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.rail{gap:var(--space-3);scroll-snap-type:x proximity;padding-bottom:var(--space-2);margin:0 calc(var(--space-4) * -1);padding-left:var(--space-4);padding-right:var(--space-4);display:flex;overflow-x:auto}.rail-tile{scroll-snap-align:start;flex:0 0 140px}@media (width>=900px){.rail{padding:0 0 var(--space-2);margin:0}.rail-tile{flex-basis:170px}}.shortcuts{gap:var(--space-3)}@media (width>=700px){.shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}.shortcut{align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;display:flex}.shortcut:hover{border-color:var(--accent)}.shortcut .grow{min-width:0;display:grid}.prompts{gap:var(--space-3);margin-bottom:var(--space-5);display:grid}.prompt{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius);border:1px dashed #267a4299;flex-wrap:wrap;display:flex}.prompt .grow{flex:200px;min-width:0;display:grid}.messages>li.group-cont{margin-top:calc(var(--space-3) * -.6)}.avatar-gap{flex:none;width:32px}.msg.mine .bubble{align-self:flex-end}html,body{overscroll-behavior-y:contain}.badge-inline{margin-left:var(--space-2);flex:none;position:static}.convo.is-unread small{color:var(--text)}.new-pill{z-index:5;min-height:36px;padding:0 var(--space-4);background:var(--accent);color:#fff;border:0;border-radius:18px;font-weight:600;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059}.chat-thread{position:relative}.chat-banner{z-index:60;top:calc(var(--safe-top) + var(--space-2));left:var(--space-3);right:var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);max-width:420px;margin:0 auto;animation:.18s ease-out banner-in;display:flex;position:fixed;box-shadow:0 10px 30px #00000073}.chat-banner a{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);color:var(--text);flex:1;text-decoration:none;display:flex}.chat-banner small{color:var(--muted);display:block}.chat-banner button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;font-size:1.4rem}@keyframes banner-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.chat-banner{animation:none}}.ptr{justify-content:center;align-items:center;gap:var(--space-2);color:var(--muted);font-size:.9rem;transition:height .15s ease-out;display:flex;overflow:hidden}.ptr-failed{color:var(--warn)}.back-btn{margin-left:calc(var(--space-2) * -1);background:0 0;border-color:#0000;flex:none}.switch-group{margin:var(--space-4) 0 var(--space-1);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.form-head{align-items:center;gap:var(--space-2);display:flex}.form-head h2{margin:0}.volume-row{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.volume-row input[type=range]{min-width:0;accent-color:var(--accent);flex:120px}.sound-help{margin:var(--space-3) 0 0;font-size:.85rem}.account-actions{margin-top:var(--space-3)}.art-picker{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.art-preview{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:96px}.modal-backdrop{z-index:60;padding:var(--space-4);background:#14201a73;place-items:end center;display:grid;position:fixed;inset:0}.modal{gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-5);background:var(--surface);border-radius:20px;display:grid;box-shadow:0 18px 48px #14201a40}.modal h2,.modal p{margin:0}.modal p{color:var(--muted)}.modal-actions{gap:var(--space-2);margin-top:var(--space-2);display:grid}@media (width>=640px){.modal-backdrop{align-items:center}}.install-actions{gap:var(--space-3);margin-top:var(--space-5);display:grid}
