:root{--color-primary:#007adc;--color-primary-hover:#0062b2;--color-secondary:#4cb030;--color-accent:#9ed12b;--color-bg:#f1f5f9;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-muted:#64748b;--font-heading:"Share Tech", sans-serif;--font-body:"Work Sans", sans-serif;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}[data-theme=dark]{--color-bg:#0f172a;--color-surface:#1e293b;--color-surface-hover:#334155;--color-border:#334155;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0009, 0 2px 4px -2px #0009;--shadow-lg:0 15px 25px -5px #000000b3}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,.font-heading{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em}a{color:var(--color-primary);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}button{font-family:var(--font-body);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.6rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}button.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}button.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}button.secondary{border-color:var(--color-border);background:0 0}button:disabled{opacity:.4;cursor:not-allowed;transform:none!important}input[type=text],input[type=url],select{font-family:var(--font-body);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);outline:none;width:100%;padding:.6rem 1rem;font-size:.875rem;transition:all .2s;box-shadow:inset 0 1px 2px #0000000d}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007adc26}.glass-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.5rem}.brand-logo{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:-.02em;align-items:center;gap:.4rem;font-size:1.5rem;display:flex}.brand-logo span{text-transform:lowercase;font-weight:400}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.nav-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:50;height:64px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex}.room-layout{flex:1;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;flex-shrink:0;width:340px;display:flex;overflow:hidden}.main-content{background:var(--color-surface);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.poker-area{background-image:radial-gradient(circle at 50% 50%, var(--color-surface-hover) 0%, transparent 60%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative}.deck-area{background:var(--color-bg);border-top:1px solid var(--color-border);z-index:40;justify-content:center;align-items:center;gap:.75rem;min-height:180px;padding:1.5rem;display:flex}.action-buttons{gap:1rem;margin-top:2rem;display:flex}.playing-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:4rem;height:5.5rem;color:var(--color-text);font-family:var(--font-heading);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.playing-card:hover:not(.selected){border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-8px)}.playing-card.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-12px);box-shadow:0 8px 16px -4px #007adc66}.table-card{border-radius:var(--radius-md);border:2px solid var(--color-border);width:5rem;height:7rem;box-shadow:var(--shadow-md);flex-direction:column;justify-content:center;align-items:center;display:flex}.story-item{cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;margin-bottom:.5rem;padding:1rem;transition:background .15s,border-color .15s}.story-item:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.story-item.active{background:var(--color-surface-hover);border-color:var(--color-primary)}.story-badge{background:var(--color-surface-hover);color:var(--color-primary);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.table-card.hidden{background:var(--color-bg);border-style:dashed;position:relative}.table-card.hidden:after{content:"P";font-family:var(--font-heading);opacity:.1;font-size:2rem}.table-card.revealed{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700}.table-center{background:var(--color-bg);border:1px solid var(--color-border);border-radius:40px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;padding:4rem 8rem;display:flex;position:relative;box-shadow:inset 0 2px 8px #0000000d}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scrollarea{overflow-y:auto}.scrollarea::-webkit-scrollbar{width:6px}.scrollarea::-webkit-scrollbar-track{background:0 0}.scrollarea::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.scrollarea::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.resize-handle{cursor:col-resize;z-index:10;background:0 0;flex-shrink:0;width:5px;transition:background .15s;position:relative}.resize-handle:after{content:"";background:var(--color-border);border-radius:2px;width:3px;transition:background .15s,width .15s;position:absolute;inset:0 0 0 1px}.resize-handle:hover:after,.resize-handle.dragging:after{background:var(--color-primary);width:4px;left:0}
