:root{--white: #ffffff;--black: #000000;--purple: #4f46e5;--red: #ef4444;--gold: #eab308;--success: #28a745;--danger: #dc3545;--warning: #ffc107;--info: #17a2b8;--gray-100: #e6e6e6;--gray-200: #cccccc;--gray-300: #b3b3b3;--gray-400: #999999;--gray-500: #808080;--gray-600: #666666;--gray-700: #4d4d4d;--gray-800: #333333;--gray-900: #1a1a1a;--gray-light: var(--gray-400);--gray: var(--gray-500);--gray-dark: var(--gray-800);--bg-primary: var(--black);--bg-secondary: var(--gray-800);--bg-card: var(--gray-900);--bg-card-hover: var(--gray-900);--text-primary: var(--white);--text-secondary: var(--gray-400);--border: var(--gray-800);--border-hover: var(--gray-600);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--topbar-height: 48px;--bottombar-height: 60px;--min-height-input: 60px;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;height:100dvh;overflow:auto}@supports (height: 100dvh){html,body{height:100dvh}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}*{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}input,textarea,[contenteditable=true],[contenteditable=true] *{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.error-text,.debug-text,pre,code,.error-message,.error-content,.vite-error-overlay,[data-vite-dev-tool],#vite-error-overlay,div[style*="position: fixed"],div[style*="z-index: 9999"],div[style*="background: rgba(0, 0, 0, 0.8)"],div[style*="color: rgb(255, 255, 255)"],*[class*=error],*[class*=overlay]{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.text-selectable{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.text-not-selectable{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--gray)}.text-red{color:var(--red)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.border{border:2px solid var(--border)}.border-t{border-top:2px solid var(--border)}.border-b{border-bottom:2px solid var(--border)}.border-l{border-left:2px solid var(--border)}.border-r{border-right:2px solid var(--border)}.border-hover{border-color:var(--border-hover)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.w-full{width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.transition{transition:all .2s ease}.opacity-50{opacity:.5}@media (max-width: 768px){input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],textarea,select{font-size:16px!important}.mobile-hidden{display:none!important}.mobile-full-width{width:100%!important}.mobile-stack{flex-direction:column!important}.mobile-center{text-align:center!important}.mobile-p-sm{padding:var(--space-sm)!important}.mobile-p-md{padding:var(--space-md)!important}.mobile-gap-sm{gap:var(--space-sm)!important}.mobile-gap-md{gap:var(--space-md)!important}}@media (max-width: 768px){body{overscroll-behavior-y:none!important}.left-panel,.gameboard,.gameboard *{overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:pan-y!important}}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}@media (display-mode: standalone){.pwa-install-prompt{display:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confirming{background:var(--red)!important;color:#fff!important}.app{height:100vh;height:100dvh;background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0}.main-content{display:flex;flex:1;min-height:0;height:calc(100vh - 60px);height:calc(100dvh - 60px);order:2}@media (max-width: 800px){.main-content{height:calc(100vh - 60px);height:calc(100dvh - 60px)}}.bottom-bar-container{order:3;flex-shrink:0;position:sticky;bottom:0;z-index:100;touch-action:manipulation;-webkit-user-select:none;user-select:none}.left-panel{flex:1;min-width:0;background:var(--bg-primary);overflow-y:auto;height:100%}.right-panel{flex:1;min-width:0;background:var(--bg-primary);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;height:100%}@media (max-width: 800px){.bottom-bar-container{padding-bottom:env(safe-area-inset-bottom)}.left-panel,.right-panel{width:100%;min-width:0}}.mobile-hidden,.left-panel.mobile-hidden,.right-panel.mobile-hidden{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;min-width:0!important;flex:0!important}.main-content .right-panel.mobile-hidden{display:none!important;flex:0!important;width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important;visibility:hidden!important;opacity:0!important}.main-content .left-panel:not(.mobile-hidden){flex:1!important;width:100%!important;border-right:none!important}@media (max-width: 800px){.main-content .left-panel:not(.mobile-hidden){flex:1!important;width:100%!important;max-width:100%!important}}.panel-header{padding:.5rem;border-bottom:2px solid var(--border);background:var(--bg-primary)}.panel-content{flex:1;overflow-y:auto;padding:.25rem;min-height:0}.database-display{padding:0;margin:0;height:100%;overflow:hidden}.panel-content:has(.database-display){overflow-y:hidden;height:100%}.panel-footer{padding:1rem;border-top:2px solid var(--border);background:var(--bg-primary)}.btn-icon{width:1.5rem;height:1.5rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.btn-icon:hover{background:var(--gray-dark)}.btn-icon[data-color=purple]{background:var(--purple)!important;color:#fff!important;border-color:var(--purple)!important}.btn-icon[data-color=purple]:hover{background:var(--gray-dark)!important}.fear-pip{transition:color .2s ease;cursor:pointer;display:inline-block;width:1.5rem;height:1.5rem;text-align:center;line-height:1.5rem}.fear-pip.filled{color:var(--purple);opacity:1}.fear-pip.empty{color:var(--gray-dark)}@media (max-width: 800px){.mobile-drawer{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1100;pointer-events:none}.mobile-drawer.open{pointer-events:auto}.drawer-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;opacity:0;pointer-events:none;visibility:hidden}.mobile-drawer.open .drawer-backdrop{opacity:1;pointer-events:auto;visibility:visible}.drawer-content{position:absolute;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:2px solid var(--border);border-radius:16px 16px 0 0;height:100%;overflow:hidden;pointer-events:none;visibility:hidden;overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:none!important;will-change:transform}.drawer-body{padding:0;height:calc(100% - 60px);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:pan-y!important}.mobile-drawer.open .drawer-content{pointer-events:auto;visibility:visible;overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:pan-y!important}.drawer-header{display:flex;align-items:center;justify-content:center;padding:1rem 0;border-bottom:2px solid var(--border);position:relative;overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:none!important;cursor:pointer;min-height:60px}.drawer-handle{width:40px;height:4px;background:var(--border);border-radius:2px;cursor:pointer;margin:.5rem auto;overscroll-behavior:none;overscroll-behavior-y:none;touch-action:none}.drawer-body .browser-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.drawer-body .browser-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:pan-y!important}.drawer-body .browser-header{overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:none!important}.drawer-body .expanded-card,.drawer-body .expanded-content{overflow:visible!important;height:auto!important;max-height:none!important}.drawer-body .browser-content thead,.drawer-body .browser-content th{overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:none!important}.mobile-drawer .drawer-content,.mobile-drawer .drawer-body{overscroll-behavior:none!important;overscroll-behavior-y:none!important}.mobile-drawer .drawer-content{overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:pan-y!important}.mobile-drawer .drawer-header,.mobile-drawer .drawer-handle{overscroll-behavior:none!important;overscroll-behavior-y:none!important;touch-action:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-600);background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.invisible-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.invisible-scrollbar::-webkit-scrollbar{display:none}
