@import"https://api.fontshare.com/v2/css?f[]=satoshi@400,500,600,700&f[]=general-sans@400,500,600,700&display=swap";:root{--surface-0: #fafaf9;--surface-1: #ffffff;--surface-2: #f5f5f4;--surface-3: #e7e5e4;--ink-0: #1c1917;--ink-1: #44403c;--ink-2: #78716c;--ink-3: #a8a29e;--ink-4: #d6d3d1;--primary: #1c1917;--hover: #292524;--danger: #dc2626;--danger-hover: #b91c1c;--danger-subtle: #fef2f2;--danger-border: #fecaca;--state-green: #10b981;--state-yellow: #f59e0b;--shadow-card: 0 1px 3px rgba(28, 25, 23, .04), 0 1px 2px rgba(28, 25, 23, .02);--shadow-card-hover: 0 20px 60px -15px rgba(28, 25, 23, .08), 0 8px 24px -8px rgba(28, 25, 23, .04);--shadow-modal: 0 25px 50px -12px rgba(0, 0, 0, .15);--font-display: "General Sans", "Satoshi", system-ui, sans-serif;--font-body: "Satoshi", "General Sans", system-ui, sans-serif;--fh-keyboard-inset: 0px;--fh-safe-bottom: env(safe-area-inset-bottom);--fh-viewport-height: 100dvh;--fh-top-nav-offset: 0px}html,body{background:var(--surface-0);color:var(--ink-1);font-family:var(--font-body)}.font-display{font-family:var(--font-display)}@view-transition{navigation: auto;}::view-transition{background-color:var(--surface-0)}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes subtlePulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes toastIn{0%{transform:translateY(-100%) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-100%) scale(.95);opacity:0}}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalSheetIn{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) both}.animate-fade-in{animation:fadeIn .4s ease both}.animate-scale-in{animation:scaleIn .5s cubic-bezier(.16,1,.3,1) both}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-250{animation-delay:.25s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.toast-enter{animation:toastIn .3s cubic-bezier(.16,1,.3,1) both}.toast-exit{animation:toastOut .2s ease-in both}.grid-pattern{background-image:linear-gradient(rgba(28,25,23,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(28,25,23,.02) 1px,transparent 1px);background-size:48px 48px}.noise-overlay:before{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E")}.nav-link{transition:all .2s ease}.nav-link:hover{color:var(--ink-0);background:var(--surface-2)}.app-card{transition:all .35s cubic-bezier(.16,1,.3,1)}.app-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.app-card:hover .card-icon{animation:float 2s ease-in-out infinite}.app-card:hover .card-arrow{transform:translate(4px)}.channel-item{transition:all .15s ease}.channel-item:hover{background:var(--surface-2)}.channel-item.active{background:var(--surface-2);border-left-color:var(--ink-0)!important}.drawer-overlay{transition:opacity .3s ease}.drawer-panel{transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease}.drawer-panel.closed{transform:translate(100%);opacity:0;pointer-events:none}.drawer-panel.open{transform:translate(0);opacity:1}.drawer-overlay.hidden-overlay{opacity:0;pointer-events:none}.drawer-overlay.visible-overlay{opacity:1}@media (min-width: 768px){.drawer-panel.closed{transform:none;opacity:1;width:0!important;min-width:0!important;border-left-width:0!important;overflow:hidden;pointer-events:none}.drawer-panel.open{transform:none;opacity:1;width:min(300px,82vw);pointer-events:auto;border-left-width:1px}}.modal-content{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) both}.modal-backdrop{animation:modalBackdropIn .22s ease both}.modal-sheet{animation:modalSheetIn .3s cubic-bezier(.16,1,.3,1) both}.message-row:hover .msg-actions{opacity:1;pointer-events:auto}.message-row:focus-within .msg-actions{opacity:1;pointer-events:auto}.message-row:active .msg-actions{opacity:1;pointer-events:auto}.msg-actions{opacity:0;pointer-events:none;transition:opacity .2s ease}.chess-square{display:flex;align-items:center;justify-content:center;user-select:none;cursor:pointer;font-size:clamp(16px,2.5vw,28px);line-height:1;transition:background-color .15s ease,box-shadow .15s ease}.sq-light{background:#f4f1ee}.sq-dark{background:#d4ccc6}.chess-square.selected{background:#bae6fd!important;box-shadow:inset 0 0 0 2px #60a5fa}.chess-square-light{background:#f4f1ee}.chess-square-dark{background:#d4ccc6}.chess-square-selected{background:#bae6fd!important;box-shadow:inset 0 0 0 2px #60a5fa}.chess-sq-capture:after{content:"";position:absolute;inset:22%;border-radius:999px;border:2px solid rgba(239,68,68,.65)}.chess-sq-check{box-shadow:inset 0 0 0 2px #dc2626bf}.chess-sq-last-from{box-shadow:inset 0 0 0 2px #0ea5e9a6}.chess-sq-last-to{background:color-mix(in srgb,#facc15 38%,transparent)!important;box-shadow:inset 0 0 0 2px #f59e0bd9}.chess-square-illegal{animation:chessIllegal .36s ease}@keyframes chessIllegal{0%{box-shadow:inset 0 0 #dc262600}40%{box-shadow:inset 0 0 0 3px #dc2626d9}to{box-shadow:inset 0 0 #dc262600}}.coord-label{font-size:10px;line-height:1;color:var(--ink-3)}.status-active{animation:subtlePulse 2s ease-in-out infinite}
