:root{--color-background:#ad826e;--color-wood-dark:#5d3a1a;--color-wood-base:#c33f08;--color-vignette:#65432199;--color-text-primary:#fff;--color-text-dark:#000;--color-text-muted:#ccc;--color-text-label:#333;--color-accent-red:#b22222;--color-success:#4ade80;--color-error:#f87171;--color-warning:#d29002;--color-info:#007bff;--color-card-face:#fff;--color-card-red:#dc2626;--color-card-black:#000;--color-card-back:#b40e09;--color-card-back-loaded:#000;--color-status-waiting:#b8860b;--color-status-playing:#2e5a1c;--color-status-gameover:#5d3a1a;--color-chat-bg:#000000b3;--color-chat-bg-solid:#000000e6;--color-chat-border:#ccc;--shadow-wood-inset:inset 0 1px 0 #fff3, inset 0 -1px 0 #0000004d, 0 2px 4px #0006;--shadow-wood-hover:inset 0 2px 0 #ffffff4d, inset 0 -2px 0 #0006, 0 4px 8px #00000080;--shadow-wood-card:inset 0 1px 0 #fff3, inset 0 -1px 0 #0000004d, 0 3px 6px #0006;--shadow-input-inset:inset 2px 2px 4px #0006, inset -1px -1px 2px #fff3;--text-shadow-dark:1px 1px 2px #000c;--text-shadow-darker:2px 2px 4px #000000e6;--text-shadow-title:0 4px 8px #0006, 0 2px 4px #0000004d;--text-shadow-outline:0 0 3px black, 0 0 3px black, 0 0 3px black;--shadow-error:2px 2px 10px #0000001a;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-xxl:32px;--font-size-xs:10px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-xxl:48px;--font-size-title:72px;--font-weight-normal:400;--font-weight-bold:700;--font-weight-black:900;--font-family-serif:Georgia, serif;--font-family-mono:source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--font-family-primary:"Oswald", "Impact", "Arial Black", sans-serif;--font-family-display:"Bebas Neue", "Oswald", "Impact", sans-serif;--border-wood:2px solid var(--color-wood-dark);--border-wood-thick:3px solid var(--color-wood-dark);--border-card:2px solid black;--border-chat:2px solid var(--color-chat-border);--radius-none:0;--radius-sm:4px;--radius-md:5px;--radius-lg:8px;--radius-xl:10px;--radius-round:50%;--transition-fast:all .1s ease;--transition-base:all .2s ease;--transition-slow:all .3s ease;--z-background:0;--z-vignette:1;--z-content:10;--z-header:100;--z-dropdown:500;--z-card:1000;--z-drag-overlay:1500;--z-modal:2000;--z-chat:9999;--card-width:50px;--card-height:70px;--card-width-sm:25px;--card-height-sm:35px;--card-ratio:1.4;--btn-icon-size:44px;--btn-action-width:60px;--btn-action-height:40px}[data-theme=soviet]{--color-background:#b32929;--color-wood-dark:#0a0a0a;--color-wood-base:#f5e6c8;--color-vignette:transparent;--color-soviet-red:#b32929;--color-soviet-red-dark:#8b0000;--color-soviet-red-bright:#d42c2c;--color-soviet-gold:#e79743;--color-soviet-gold-muted:#c9a227;--color-concrete:#f5e6c8;--color-concrete-light:#faf3e3;--color-concrete-dark:#e8d9b8;--color-text-primary:#f5e6c8;--color-text-dark:#0a0a0a;--color-text-muted:#e8d9b8;--color-text-label:#f5e6c8;--color-accent-red:#b32929;--color-success:#5a8f3e;--color-error:#d42c2c;--color-warning:#e79743;--color-card-face:#f5e6c8;--color-card-red:#b32929;--color-card-back:#b32929;--color-card-back-loaded:#0a0a0a;--color-status-waiting:#e79743;--color-status-playing:#5a8f3e;--color-status-gameover:#3a3a3a;--color-chat-bg:#0a0a0af2;--color-chat-bg-solid:#1a1a1a;--color-chat-border:#b32929;--shadow-wood-inset:5px 5px 0 #0a0a0a;--shadow-wood-hover:7px 7px 0 #0a0a0a;--shadow-wood-card:4px 4px 0 #0a0a0a;--shadow-input-inset:inset 3px 3px 0 #00000080;--text-shadow-dark:none;--text-shadow-darker:none;--text-shadow-title:none;--text-shadow-outline:none;--border-wood:4px solid #b32929;--border-wood-thick:5px solid #b32929;--border-card:3px solid #0a0a0a;--border-chat:4px solid #b32929;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-xl:0}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background-color:var(--color-background);height:100vh;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:fixed;inset:0;overflow:hidden}#root{height:100%;position:relative;overflow:hidden}[draggable=true]{touch-action:auto!important}[data-chat-scrollable]{touch-action:pan-y!important;overscroll-behavior:contain!important}[data-touch-interactive]{touch-action:manipulation!important}[data-touch-none]{touch-action:none!important}button,input,textarea{touch-action:manipulation!important}@supports (-webkit-touch-callout:none){.ios-keyboard-fix{height:100dvh}}code{font-family:var(--font-family-mono)}h1{margin:0;padding:12px}h2,h3,h4,h5,h6{color:var(--color-text-primary);margin:0}p{margin:0}a{color:inherit;text-decoration:none}.no-select{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fadeInSimple{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}[data-theme=soviet] body,[data-theme=soviet] body *,[data-theme=soviet] input,[data-theme=soviet] button,[data-theme=soviet] select,[data-theme=soviet] textarea{letter-spacing:.5px;font-family:var(--font-family-primary)!important}[data-theme=soviet] h1,[data-theme=soviet] h2,[data-theme=soviet] h3,[data-theme=soviet] h4,[data-theme=soviet] h5,[data-theme=soviet] h6,[data-theme=soviet] .title,[data-theme=soviet] .title--brand,[data-theme=soviet] .title--page{text-transform:uppercase;letter-spacing:3px;font-weight:400;font-family:var(--font-family-display)!important}[data-theme=soviet] .title--brand,[data-theme=soviet] p.title--brand{text-shadow:none;letter-spacing:4px;background-color:#e79743;padding:15px 80px;font-weight:700;display:inline-block;transform:translateY(-50px)rotate(-20deg);color:var(--color-soviet-red)!important}[data-theme=soviet] .title--page,[data-theme=soviet] p.title--page{text-shadow:none;letter-spacing:4px;background-color:#f5e6c8;padding:15px 40px;font-weight:700;display:inline-block;color:var(--color-soviet-red)!important}[data-theme=soviet] .title--section,[data-theme=soviet] .subtitle{color:#0a0a0a;text-shadow:none;text-transform:uppercase;letter-spacing:2px;font-weight:700}[data-theme=soviet] .btn-wood-text,[data-theme=soviet] .btn-action-text{text-transform:uppercase;letter-spacing:2px;text-shadow:none;font-weight:700;color:#b32929!important}[data-theme=soviet] p:not(.title--brand):not(.title--page),[data-theme=soviet] span:not(.title--brand span):not(.title--page span),[data-theme=soviet] label{color:var(--color-text-primary)}[data-theme=soviet] .title--brand span,[data-theme=soviet] .title--page span{color:inherit!important}[data-theme=soviet] input,[data-theme=soviet] textarea{text-transform:uppercase;letter-spacing:1px;color:#0a0a0a;background-color:#f5e6c8;border:3px solid #0a0a0a}[data-theme=soviet] input[type=password]{-webkit-text-security:square;font-family:monospace}[data-theme=soviet] input:focus,[data-theme=soviet] textarea:focus{border-color:var(--color-soviet-gold);box-shadow:0 0 0 2px var(--color-soviet-gold);outline:none}[data-theme=soviet] .page:before{content:"";pointer-events:none;z-index:0;background:0 0;position:fixed;inset:0}[data-theme=soviet] .page:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(#0000 50%,#00000026 100%);position:fixed;inset:0}
.btn{cursor:pointer;transition:var(--transition-base);background:0 0;border:none;font-family:inherit}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-wood{border:var(--border-wood-thick);border-radius:var(--radius-none);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-wood-inset);mix-blend-mode:normal;position:relative;overflow:hidden}.btn-wood:hover:not(:disabled){filter:brightness(1.1)contrast(1.1);box-shadow:var(--shadow-wood-hover);transform:translateY(-1px)}.btn-wood:active:not(:disabled){transform:translateY(0)}.btn-wood-text{color:var(--color-text-dark)}.btn-wood--sm{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.btn-wood--md{font-size:var(--font-size-md);padding:10px 20px}.btn-wood--lg{padding:var(--spacing-md) var(--spacing-xxl);font-size:var(--font-size-md)}.btn-wood--full{width:100%}.btn-icon{top:max(10px, env(safe-area-inset-top,0px));z-index:var(--z-header);width:var(--btn-icon-size);height:var(--btn-icon-size);border:var(--border-wood);border-radius:var(--radius-none);cursor:pointer;transition:var(--transition-base);box-shadow:var(--shadow-wood-inset);justify-content:center;align-items:center;padding:0;display:flex;position:absolute;overflow:hidden}.btn-icon--left{left:max(10px, env(safe-area-inset-left,0px))}.btn-icon--right{right:max(10px, env(safe-area-inset-right,0px))}.btn-icon:hover{filter:brightness(1.1)contrast(1.1);box-shadow:var(--shadow-wood-hover);transform:translateY(-1px)}.btn-icon__symbol{color:var(--color-text-dark);font-size:28px;font-weight:var(--font-weight-black);line-height:1}.btn-action{width:var(--btn-action-width);height:var(--btn-action-height);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border:var(--border-wood);border-radius:var(--radius-none);cursor:pointer;box-shadow:var(--shadow-wood-inset);transition:var(--transition-base);mix-blend-mode:normal;position:relative;overflow:hidden}.btn-action:hover{filter:brightness(1.1)contrast(1.1);transform:translateY(-1px)}.btn-action-text{color:var(--color-text-dark)}.btn-action-spacer{width:var(--btn-action-width);height:var(--btn-action-height)}.btn-remove-player{border:var(--border-wood);border-radius:var(--radius-none);cursor:pointer;width:50px;height:50px;transition:var(--transition-base);box-shadow:var(--shadow-wood-inset);z-index:var(--z-drag-overlay) + 200;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:-55px;overflow:hidden}.btn-remove-player:hover{filter:brightness(1.1)contrast(1.1);box-shadow:var(--shadow-wood-hover);transform:translateY(-1px)}.btn-remove-player__icon{color:var(--color-text-dark);font-size:var(--font-size-xl);font-weight:var(--font-weight-black);line-height:1}.btn-add-bot{border:var(--border-wood);border-radius:var(--radius-none);box-shadow:var(--shadow-wood-inset);width:250px;height:50px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:var(--transition-base);-webkit-user-select:none;user-select:none;margin-bottom:var(--spacing-xs);z-index:var(--z-content);flex-direction:row;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;overflow:hidden}.btn-add-bot:hover{filter:brightness(1.1)contrast(1.1);transform:translateY(-1px)}.btn-add-bot__text{color:var(--color-text-dark);font-weight:var(--font-weight-bold);z-index:var(--z-content);margin:0;position:relative}.btn-ready{border:var(--border-wood);border-radius:var(--radius-none);box-shadow:var(--shadow-wood-inset);width:250px;height:50px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:var(--transition-base);-webkit-user-select:none;user-select:none;z-index:var(--z-modal);flex-direction:row;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;bottom:20px;left:50%;overflow:hidden;transform:translate(-50%)}.btn-ready:hover{filter:brightness(1.1)contrast(1.1);transform:translate(-50%)translateY(-1px)}.btn-ready__text{color:var(--color-text-dark);font-weight:var(--font-weight-bold);z-index:var(--z-content);margin:0;position:relative}.btn-chat-toggle{background-color:var(--color-chat-bg-solid);border-top:var(--border-chat);border-right:var(--border-chat);border-bottom:var(--border-chat);border-radius:0 var(--radius-lg) var(--radius-lg) 0;cursor:pointer;width:60px;height:60px;z-index:var(--z-chat);transition:var(--transition-slow);touch-action:manipulation;border-left:none;justify-content:center;align-items:center;display:flex;position:fixed;top:70%;left:0;transform:translateY(-50%)}.btn-chat-toggle__icon{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.btn-chat-close{color:var(--color-text-primary);font-size:var(--font-size-xl);cursor:pointer;background-color:#0000;border:none}.btn-chat-send{background-color:var(--color-info);color:var(--color-text-primary);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-base);border:none;padding:10px 15px}.btn-chat-send:disabled{opacity:.6;cursor:not-allowed}.btn-chat-send--sm{border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:5px 10px}.btn-error{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;border:none}.btn-error--retry{color:var(--color-text-primary);background-color:#4dabf7;margin-right:10px}.btn-error--reload{color:var(--color-text-primary);background-color:#ff6b6b}.btn-language{border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-base);font-size:var(--font-size-lg);background-color:#0000;border:none;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;display:flex;position:relative;overflow:hidden}.btn-language--active{opacity:.6;cursor:default}.btn-language__flag{z-index:0;font-size:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-language__label{z-index:1;color:var(--color-text-primary);text-shadow:var(--text-shadow-outline);font-weight:var(--font-weight-bold);position:relative}[data-theme=soviet] .btn-wood,[data-theme=soviet] .btn-action,[data-theme=soviet] .btn-icon,[data-theme=soviet] .btn-remove-player,[data-theme=soviet] .btn-add-bot,[data-theme=soviet] .btn-ready,[data-theme=soviet] .btn-chat-send,[data-theme=soviet] .btn-chat-toggle{text-transform:uppercase;letter-spacing:2px;border:4px solid #0a0a0a;transition:all .1s;box-shadow:5px 5px #0a0a0a;font-family:var(--font-family-primary)!important;background-color:#e79743!important}[data-theme=soviet] .btn-wood:hover,[data-theme=soviet] .btn-action:hover,[data-theme=soviet] .btn-icon:hover{transform:translate(-2px,-2px);box-shadow:7px 7px #0a0a0a}[data-theme=soviet] .btn-wood:active,[data-theme=soviet] .btn-action:active,[data-theme=soviet] .btn-icon:active{transform:translate(2px,2px);box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .btn-wood-text,[data-theme=soviet] .btn-action-text,[data-theme=soviet] .btn-icon__symbol,[data-theme=soviet] .btn-remove-player__icon,[data-theme=soviet] .btn-add-bot__text,[data-theme=soviet] .btn-ready__text{text-shadow:none;font-weight:700;color:#b32929!important}[data-theme=soviet] .btn-chat-send{background-color:var(--color-soviet-red);border:3px solid #0a0a0a;border-radius:0;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .btn-chat-toggle{border:3px solid var(--color-soviet-red);box-shadow:3px 3px 0 var(--color-soviet-red);background-color:#0a0a0a;border-radius:0}[data-theme=soviet] .btn-error--retry{background-color:var(--color-soviet-gold);color:#0a0a0a;border:3px solid #0a0a0a;box-shadow:4px 4px #0a0a0a}[data-theme=soviet] .btn-error--reload{background-color:var(--color-soviet-red);color:var(--color-text-primary);border:3px solid #0a0a0a;box-shadow:4px 4px #0a0a0a}.btn-language__flag--soviet{display:none}[data-theme=soviet] .btn-language{width:fit-content;height:fit-content;min-width:unset;min-height:unset;background-color:#0000;border:3px solid #0a0a0a;border-radius:0;padding:0;line-height:0;overflow:hidden;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .btn-language__flag--emoji,[data-theme=soviet] .btn-language__label--emoji{display:none}[data-theme=soviet] .btn-language__flag--soviet{display:block}[data-theme=soviet] .btn-language__label{text-shadow:none;color:#f5e6c8;font-weight:700}
.input{font-family:inherit;font-size:var(--font-size-md);transition:var(--transition-base)}.input:focus{outline:none}.input-wood{border:var(--border-wood);border-radius:var(--radius-none);color:var(--color-text-primary);text-shadow:var(--text-shadow-darker);box-shadow:var(--shadow-input-inset);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md)}.input-wood::placeholder{color:#fff9}.input-standard{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);border:var(--border-wood);border-radius:var(--radius-none);min-width:250px}.input-game-name{width:100%;font-size:2rem;font-weight:var(--font-weight-bold);text-align:center;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-base);z-index:var(--z-content);background:0 0;border:none;padding:.75rem 1rem .5rem;position:relative}.input-game-name--editing{border:var(--border-wood);border-radius:var(--radius-none);text-shadow:var(--text-shadow-darker);box-shadow:var(--shadow-input-inset);cursor:text}.input-chat{border-radius:var(--radius-lg);border:1px solid var(--color-chat-border);font-size:var(--font-size-md);flex:1;padding:10px}.input-chat--desktop{border-radius:var(--radius-md);padding:5px}.form-group{flex-direction:column;gap:5px;display:flex}.form-label{color:var(--color-text-label);font-weight:var(--font-weight-bold)}.form-row{align-items:center;gap:10px;display:flex}.form-row--actions{margin-top:10px}[data-theme=soviet] .input,[data-theme=soviet] .input-wood,[data-theme=soviet] .input-standard,[data-theme=soviet] .input-game-name,[data-theme=soviet] .input-chat,[data-theme=soviet] .form-label{text-shadow:none;font-weight:700;font-family:var(--font-family-primary)!important}
.card{background-color:var(--color-card-face);width:var(--card-width);height:var(--card-height);border-radius:var(--radius-md);border:var(--border-card);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:var(--font-family-serif);font-weight:var(--font-weight-bold);flex-direction:column;font-size:20px;line-height:15px;transition:transform .2s ease-in-out,opacity .2s ease-in-out,box-shadow .2s ease-in-out;display:flex;position:relative}.card--clickable{cursor:pointer;pointer-events:auto}.card--non-interactive{cursor:default;pointer-events:none}.card--animating{opacity:0;pointer-events:none}.card--red{color:var(--color-card-red)}.card--black{color:var(--color-card-black)}.card__index{text-align:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;justify-content:center;align-items:center;width:12px;font-size:20px;display:flex;position:absolute}.card__index--top-left{top:4px;left:4px}.card__index--bottom-right{bottom:4px;right:4px;transform:rotate(180deg)}.card__center{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;text-align:center;font-size:36px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-back{background-color:var(--color-card-back);width:var(--card-width);height:var(--card-height);background-repeat:no-repeat;background-size:100% 100%;border:1px solid #8b0000;border-radius:3px;box-shadow:0 1px 2px #0000004d}.card-back--loaded{background-color:var(--color-card-back-loaded)}.card-hand{flex-direction:row;justify-content:center;align-items:center;width:100px;height:20px;display:flex;position:relative}.card-hand__card{box-sizing:border-box;background-color:var(--color-card-back);width:var(--card-width-sm);height:var(--card-height-sm);background-repeat:no-repeat;background-size:100% 100%;border:1px solid #8b0000;border-radius:3px;position:absolute;box-shadow:0 1px 2px #0000004d}.card-hand__card--loaded{background-color:var(--color-card-back-loaded)}.card-hand__count{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);z-index:15;pointer-events:none;text-shadow:var(--text-shadow-dark);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-in-hand{min-width:20px;max-width:50px;z-index:var(--z-card);border-radius:var(--radius-md);height:70px;transition:var(--transition-fast);cursor:move;-webkit-user-select:none;user-select:none;border:var(--border-card);background-color:var(--color-card-face);flex:1 1 0;justify-content:center;align-items:center;margin:0 1px;display:flex}.card-in-hand--selected{border-color:red}.card-in-hand--dragging{opacity:.3}.card-in-hand--drag-action{border-color:red}.card-battle{flex-direction:column;justify-content:center;align-items:center;width:60px;height:80px;margin:5px;display:flex;position:relative}.card-battle--targeted{border:3px solid var(--color-warning);background-color:#d290021a}.card-battle--cover-selected{border:3px solid red}.card-battle__attack{transform-origin:bottom;z-index:2;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.card-battle__attack--covered{z-index:1;transform:translate(-50%)rotate(-11.23deg)}.card-battle__defense{transform-origin:bottom;z-index:2;position:absolute;bottom:5px;left:50%;transform:translate(-50%)rotate(11.23deg)}.card-dropzone{border:3px dashed var(--color-warning);border-radius:var(--radius-lg);background-color:#d290021a;flex-direction:column;justify-content:center;align-items:center;width:60px;height:80px;margin:5px;display:flex;position:relative}.card-dropzone__placeholder{border:2px dashed var(--color-warning);border-radius:var(--radius-sm);width:40px;height:60px;font-size:var(--font-size-xl);color:var(--color-warning);opacity:.7;justify-content:center;align-items:center;display:flex}[data-theme=soviet] .card{background-color:var(--color-card-face);border:3px solid #0a0a0a;border-radius:0;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .card--red,[data-theme=soviet] .card--red *{color:var(--color-soviet-red)!important}[data-theme=soviet] .card--black,[data-theme=soviet] .card--black *{color:#0a0a0a!important}[data-theme=soviet] .card-back{background-color:var(--color-soviet-red);border:3px solid #0a0a0a;border-radius:0;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .card-hand__card{background-color:var(--color-soviet-red);border:2px solid #0a0a0a;border-radius:0;box-shadow:2px 2px #0a0a0a}[data-theme=soviet] .card-in-hand{background-color:var(--color-card-face);border:3px solid #0a0a0a;border-radius:0;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .card-in-hand--selected{border-color:var(--color-soviet-gold);box-shadow:0 0 0 3px var(--color-soviet-gold), 4px 4px 0 #0a0a0a}[data-theme=soviet] .card-dropzone{border:4px dashed var(--color-soviet-gold);background-color:#b3292926;border-radius:0}[data-theme=soviet] .card-dropzone__placeholder{border:3px dashed var(--color-soviet-gold);color:var(--color-soviet-gold);border-radius:0}.drag-shadow{z-index:2001;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.drag-shadow__indicator{min-width:100px;color:var(--color-text-primary);text-align:center;background-color:#000c;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:4px 8px;font-size:14px;display:flex}.drag-shadow__cards{flex-direction:row;display:flex}[data-theme=soviet] .drag-shadow__indicator{color:#b32929;text-transform:uppercase;letter-spacing:1px;background-color:#f5e6c8;border:2px solid #e79743;border-radius:0;padding:6px 12px;font-weight:700;box-shadow:2px 2px #0a0a0a}
.page{width:100%;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background-color:#0000;flex-direction:column;align-items:center;display:flex;position:relative}.lobby{touch-action:manipulation;width:100%;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background-color:#0000;flex-direction:column;align-items:center;display:flex;position:relative}.lobby__name-input{text-align:center;color:var(--color-text-primary);cursor:pointer;z-index:10;background:0 0;border:none;padding:.75rem 1rem .5rem;font-size:2rem;font-weight:700;transition:all .2s;position:relative}.lobby__name-input--editing{text-shadow:2px 2px 4px #000000e6;cursor:text;border:2px solid #5d3a1a;border-radius:0;width:100%;box-shadow:inset 2px 2px 4px #0006,inset -1px -1px 2px #fff3}.lobby__game-id{z-index:10;margin:.25rem;position:relative}.lobby__qr-container{box-sizing:border-box;z-index:10;border:2px solid #5d3a1a;justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:10px;padding:5px;display:flex;position:relative;box-shadow:inset 0 1px #fff3,inset 0 -1px #0000004d,0 3px 6px #0006}.lobby__players{z-index:10;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.lobby__player-wrapper{-webkit-user-select:none;user-select:none;cursor:move;width:250px;margin-bottom:4px;transition:all .2s;position:relative}.lobby__player-wrapper--dragging{opacity:.3;pointer-events:none;transition:none;transform:scale(1.05)}.lobby__join-section{z-index:10;flex-direction:column;align-items:center;gap:10px;margin-top:10px;display:flex;position:relative}.player-card{box-sizing:border-box;cursor:move;-webkit-user-select:none;user-select:none;z-index:1500;border:2px solid #5d3a1a;border-radius:0;flex-direction:row;justify-content:space-between;gap:10px;width:250px;min-height:50px;padding:8px 12px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,inset 0 -1px #0000004d,0 2px 4px #0006}.player-card__texture{z-index:-1;transform-origin:50%;position:absolute;inset:0}.player-card__overlay{z-index:1600;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.page--centered{justify-content:center}.page--full-height{height:100%}.page--full-viewport{width:100vw;height:100vh}.page--with-padding{padding:40px 20px}.content{z-index:var(--z-content);position:relative}.content--max-width{width:100%;max-width:800px}.content--centered{flex-direction:column;align-items:center;display:flex}.content--gap-sm{gap:var(--spacing-sm)}.content--gap-md{gap:var(--spacing-lg)}.content--gap-lg{gap:20px}.bg-wool{width:100%;height:100%;z-index:var(--z-background);background-color:var(--color-background);object-fit:cover;background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;top:0;left:0;transform:scale(2)}.bg-vignette{width:100%;height:100%;z-index:var(--z-vignette);pointer-events:none;background:radial-gradient(#65432100 0% 40%,#65432133 70%,#65432199 100%);position:absolute;top:0;left:0}.bg-soviet{width:100%;height:100%;z-index:var(--z-background);background-color:#b32929;display:none;position:absolute;top:0;left:0}.bg-vignette--soviet{display:none}[data-theme=soviet] .bg-soviet{display:block}[data-theme=soviet] .bg-wool,[data-theme=soviet] .bg-vignette--default{display:none}.bg-wood{z-index:-1;transform-origin:50%;position:absolute;inset:0}[data-theme=soviet] .bg-wood{display:none}.game-container{touch-action:none;width:100%;height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between}.flex-end{justify-content:flex-end}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.player-list{width:100%;z-index:var(--z-content);flex-direction:column;align-items:center;display:flex;position:relative}.player-card{border:var(--border-wood);border-radius:var(--radius-none);box-shadow:var(--shadow-wood-card);width:250px;min-height:50px;padding:var(--spacing-sm) var(--spacing-md);cursor:move;transition:var(--transition-base);-webkit-user-select:none;user-select:none;z-index:var(--z-drag-overlay);flex-direction:row;justify-content:space-between;gap:10px;display:flex;position:relative;overflow:hidden}.player-card--drop-target{background-color:#ffffff1a}.player-card__name{z-index:var(--z-content);text-align:center;justify-content:center;margin:0;padding:0 5px;line-height:30px}.player-card__status{align-items:center;gap:var(--spacing-sm);display:flex}.player-card-wrapper{width:250px;margin-bottom:var(--spacing-xs);-webkit-user-select:none;user-select:none;cursor:move;transition:var(--transition-base);position:relative}.player-card-wrapper--dragging{opacity:.3;pointer-events:none;transition:none;transform:scale(1.05)}.game-card{border:var(--border-wood);border-radius:var(--radius-none);box-shadow:var(--shadow-wood-card);cursor:pointer;padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text-primary);box-sizing:border-box;width:100%;max-width:95vw;min-height:70px;transition:var(--transition-base);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.game-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff26,inset 0 -1px #00000040,0 5px 10px #0006}.game-card__header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.game-card__title{font-size:1.1rem;font-weight:var(--font-weight-bold);text-shadow:var(--text-shadow-dark);margin:0}.game-card__info{text-shadow:var(--text-shadow-dark);font-size:.8rem}.game-card__players{margin:var(--spacing-xs) 0;font-size:.85rem}.game-card__player{text-shadow:var(--text-shadow-dark);align-items:center;gap:4px;display:flex}.game-card__player-name{color:var(--color-text-primary)}.game-card__player-name--current{color:var(--color-success);font-weight:700}.game-card__player-status{align-items:center;gap:4px;display:flex}.game-card__hand-count{font-size:.75rem}.badge{padding:var(--spacing-xs) 10px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:var(--font-weight-bold);text-shadow:1px 1px 1px #00000080;border:1px solid #0000004d}.badge--waiting{background-color:var(--color-status-waiting);color:var(--color-text-primary)}.badge--playing{background-color:var(--color-status-playing);color:var(--color-text-primary)}.badge--gameover{background-color:var(--color-status-gameover);color:var(--color-text-muted)}.player-ring__item{flex-direction:column;align-items:center;width:80px;height:80px;display:flex;position:absolute;transform:translate(-50%,-50%)}.player-ring__name{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:center;justify-content:center;align-items:center;height:30px;margin:0;display:flex;position:relative}.player-ring__sword{font-size:var(--font-size-md);justify-content:center;align-items:center;height:20px;display:flex}.qr-container{border:var(--border-wood);box-sizing:border-box;width:120px;height:120px;box-shadow:var(--shadow-wood-card);z-index:var(--z-content);justify-content:center;align-items:center;margin-bottom:10px;padding:5px;display:flex;position:relative}.action-buttons{flex-direction:column;justify-content:flex-end;align-items:center;height:200px;display:flex;position:absolute;bottom:10px;left:0;right:0}.action-buttons__sidebar{z-index:999;flex-direction:column;gap:5px;display:flex;position:absolute;bottom:90px;right:20px}.deck-area{flex-direction:column;justify-content:center;align-items:center;width:100px;height:240px;display:flex;position:absolute;top:0;left:0}.deck-area__count{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-shadow:var(--text-shadow-dark);pointer-events:none;z-index:1003;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck-area__trump{justify-content:center;align-items:center;font-size:64px;display:flex}.table-battles{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:300px;margin:0 auto;display:flex}.win-screen__title{color:var(--color-text-primary);font-size:2rem;font-weight:var(--font-weight-bold);text-align:center;z-index:var(--z-content);margin-bottom:.5rem;position:relative}.win-screen__subtitle{color:var(--color-text-primary);text-align:center;z-index:var(--z-content);opacity:.8;margin-bottom:1.5rem;font-size:1.2rem;font-weight:400;position:relative}.win-screen__results{align-items:center;gap:var(--spacing-sm);width:100%;max-width:350px;z-index:var(--z-content);flex-direction:column;margin-bottom:1.5rem;display:flex;position:relative}.result-card{border:var(--border-wood);border-radius:var(--radius-none);box-shadow:var(--shadow-wood-card);width:100%;padding:var(--spacing-md) var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex;position:relative;overflow:hidden}.result-card--current-user{border:3px solid var(--color-success)}.result-card__rank{text-align:center;min-width:36px;font-size:1.5rem}.result-card__name{font-weight:var(--font-weight-bold);text-overflow:ellipsis;white-space:nowrap;text-shadow:var(--text-shadow-dark);font-size:1rem;overflow:hidden}.result-card__name--current{color:var(--color-success)}.result-card__you{color:var(--color-success);text-shadow:var(--text-shadow-dark);font-size:.75rem;font-weight:400}.result-card__elo{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.result-card__elo-change{font-weight:var(--font-weight-bold);text-shadow:var(--text-shadow-dark);font-size:.9rem}.result-card__elo-change--positive{color:var(--color-success)}.result-card__elo-change--negative{color:var(--color-error)}.result-card__elo-change--neutral{color:var(--color-text-muted)}[data-theme=soviet] .player-card,[data-theme=soviet] .game-card,[data-theme=soviet] .result-card{border-color:#0a0a0a}[data-theme=soviet] .game-card,[data-theme=soviet] .game-card *,[data-theme=soviet] .player-card,[data-theme=soviet] .player-card *,[data-theme=soviet] .result-card,[data-theme=soviet] .result-card *{font-family:var(--font-family-primary)!important;color:#0a0a0a!important;text-shadow:none!important}[data-theme=soviet] .player-card__name,[data-theme=soviet] .game-card__title,[data-theme=soviet] .game-card__info,[data-theme=soviet] .game-card__players,[data-theme=soviet] .result-card__name{text-transform:uppercase;letter-spacing:1px}[data-theme=soviet] .game-card__player{text-shadow:none}[data-theme=soviet] .game-card__player-name,[data-theme=soviet] .game-card__player-name--current{color:#0a0a0a}[data-theme=soviet] .badge{text-transform:uppercase;letter-spacing:1px;text-shadow:none;border:3px solid #0a0a0a;border-radius:0;font-weight:700;box-shadow:3px 3px #0a0a0a;font-family:var(--font-family-primary)!important;color:#0a0a0a!important}[data-theme=soviet] .badge *{font-family:var(--font-family-primary)!important;border:none!important}[data-theme=soviet] .qr-container{border-color:#c00;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .win-screen__title{color:var(--color-soviet-red);text-transform:uppercase;letter-spacing:3px;text-shadow:none;font-weight:900}[data-theme=soviet] .win-screen__subtitle{color:#0a0a0a;text-transform:uppercase;letter-spacing:2px;text-shadow:none;font-weight:700}[data-theme=soviet] .game-container,[data-theme=soviet] .game-container *,[data-theme=soviet] .title--game-display,[data-theme=soviet] .player-ring__name,[data-theme=soviet] .deck-area__count,[data-theme=soviet] .action-buttons,[data-theme=soviet] .action-buttons *{font-family:var(--font-family-primary)!important}[data-theme=soviet] .title--game-display{text-transform:uppercase;letter-spacing:2px;text-shadow:none;text-align:center;z-index:10;background-color:#f5e6c8;width:100vw;margin-left:calc(50% - 50vw);padding:12px 0;font-weight:700;display:block;position:relative;color:var(--color-soviet-red)!important}[data-theme=soviet] .lobby,[data-theme=soviet] .lobby *{font-family:var(--font-family-primary)!important}[data-theme=soviet] .lobby h1,[data-theme=soviet] .lobby h2,[data-theme=soviet] .lobby h3,[data-theme=soviet] .lobby input{text-transform:uppercase;letter-spacing:2px;font-family:var(--font-family-display)!important}[data-theme=soviet] .lobby p,[data-theme=soviet] .lobby span,[data-theme=soviet] .lobby button{text-transform:uppercase;letter-spacing:1px}[data-theme=soviet] .lobby__name-input{color:#b32929;background-color:#f5e6c8;width:100vw;margin-left:calc(50% - 50vw);padding:12px 0}[data-theme=soviet] .lobby__name-input--editing{text-shadow:none;border:3px solid #0a0a0a;box-shadow:4px 4px #0a0a0a}[data-theme=soviet] .lobby__qr-container,[data-theme=soviet] .player-card{background-color:#f5e6c8;border:3px solid #0a0a0a;box-shadow:4px 4px #0a0a0a}[data-theme=soviet] .player-card__name{color:#0a0a0a}
.chat-toggle{cursor:pointer;z-index:100000;touch-action:manipulation;background-color:#000c;border:2px solid #ccc;border-left:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s;display:flex;position:fixed;top:70%;left:0;transform:translateY(-50%)}.chat-toggle__icon{color:var(--color-text-primary);font-size:24px;font-weight:700}.chat{z-index:100000;touch-action:none;background-color:#000000b3;border:2px solid #ccc;border-radius:10px;flex-direction:column;width:300px;height:400px;transition:all .3s;display:flex;position:absolute;bottom:220px;left:20px;overflow:hidden}.chat--mobile{top:max(10px, env(safe-area-inset-top,0px));left:max(10px, env(safe-area-inset-left,0px));right:max(10px, env(safe-area-inset-right,0px));bottom:max(10px, env(safe-area-inset-bottom,0px));background-color:#000000e6;width:auto;height:auto;position:fixed}.chat__header{color:var(--color-text-primary);cursor:pointer;background-color:#000000e6;border-bottom:1px solid #ccc;padding:10px;font-size:14px;font-weight:700}.chat__header--mobile{background-color:#000;flex-shrink:0;justify-content:space-between;align-items:center;padding:15px;font-size:18px;display:flex}.chat__close-btn{color:var(--color-text-primary);cursor:pointer;background-color:#0000;border:none;padding:0;font-size:24px}.chat__messages{touch-action:pan-y;flex:1;max-height:280px;padding:10px;overflow-y:auto}.chat__messages--mobile{min-height:0;max-height:none;padding:15px}.chat__message{color:var(--color-text-primary);word-wrap:break-word;margin-bottom:8px;padding:5px;font-size:12px}.chat__message--mobile{margin-bottom:12px;padding:8px;font-size:14px}.chat__message-sender{font-weight:700}.chat__message-text{color:inherit}.chat__message-time{color:#ccc;font-size:10px}.chat__message-time--mobile{font-size:12px}.chat__form{border-top:1px solid #ccc;gap:5px;padding:10px;display:flex}.chat__form--mobile{background-color:#000000f2;flex-shrink:0;gap:10px;padding:15px}.chat__input{border:1px solid #ccc;border-radius:5px;flex:1;padding:5px;font-size:16px}.chat__input--mobile{border-radius:8px;padding:10px}.chat__submit{color:var(--color-text-primary);cursor:pointer;background-color:#007bff;border:none;border-radius:5px;padding:5px 10px;font-size:12px}.chat__submit--mobile{border-radius:8px;padding:10px 15px;font-size:14px}.chat__submit:disabled{opacity:.5;cursor:not-allowed}.chat-bubble{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:150px;z-index:var(--z-card);background-color:#000000d9;border:1px solid #ffffff4d;border-radius:12px;margin-bottom:5px;padding:6px 10px;font-size:11px;animation:.3s ease-in fadeInSimple;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 8px #0006}.chat-bubble__pointer{border-top:6px solid #000000d9;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}[data-theme=soviet] .chat-toggle{background-color:#e79743;border:3px solid #0a0a0a;border-left:none;border-radius:0;box-shadow:3px 3px #0a0a0a}[data-theme=soviet] .chat-toggle__icon{color:#b32929}[data-theme=soviet] .chat{background-color:#f5e6c8;border:3px solid #0a0a0a;border-radius:0;box-shadow:4px 4px #0a0a0a}[data-theme=soviet] .chat--mobile{background-color:#f5e6c8}[data-theme=soviet] .chat__header{color:#b32929;text-transform:uppercase;letter-spacing:2px;background-color:#e79743;border-bottom:3px solid #0a0a0a}[data-theme=soviet] .chat__header--mobile{background-color:#e79743}[data-theme=soviet] .chat__close-btn{color:#b32929;background-color:#e79743;border:2px solid #0a0a0a;padding:4px 8px}[data-theme=soviet] .chat__messages{background-color:#f5e6c8}[data-theme=soviet] .chat__message{color:#0a0a0a}[data-theme=soviet] .chat__message-sender{color:#b32929;text-transform:uppercase}[data-theme=soviet] .chat__message-text{color:#0a0a0a}[data-theme=soviet] .chat__message-time{color:#666}[data-theme=soviet] .chat__form{background-color:#f5e6c8;border-top:3px solid #0a0a0a}[data-theme=soviet] .chat__form--mobile{background-color:#f5e6c8}[data-theme=soviet] .chat__input{color:#0a0a0a;background-color:#f5e6c8;border:2px solid #0a0a0a;border-radius:0}[data-theme=soviet] .chat__submit{color:#b32929;text-transform:uppercase;background-color:#e79743;border:2px solid #0a0a0a;border-radius:0;font-weight:700;box-shadow:2px 2px #0a0a0a}[data-theme=soviet] .chat,[data-theme=soviet] .chat *{font-family:var(--font-family-primary)!important}[data-theme=soviet] .chat-bubble{background-color:#0a0a0a;border:2px solid #b32929;border-radius:0;box-shadow:2px 2px #b32929}[data-theme=soviet] .chat-bubble__pointer{border-top-color:#0a0a0a;bottom:-8px}
.title{color:var(--color-text-primary);font-weight:var(--font-weight-bold);text-align:center;z-index:var(--z-content);position:relative}.title--brand{font-size:var(--font-size-title);color:var(--color-accent-red);text-shadow:var(--text-shadow-title);margin-bottom:30px}.title--page{font-size:var(--font-size-xxl);color:var(--color-accent-red);text-shadow:var(--text-shadow-title);margin:0}.title--section{text-shadow:var(--text-shadow-dark);margin-bottom:.75rem;font-size:1.3rem}.title--game-name{z-index:var(--z-content);margin:.25rem;font-size:2rem;position:relative}.title--game-display{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.subtitle{color:var(--color-text-primary);z-index:var(--z-content);position:relative}.subtitle--game-id{margin:.25rem}.text{color:var(--color-text-primary)}.text--muted{color:var(--color-text-muted)}.text--dark{color:var(--color-text-dark)}.text--label{color:var(--color-text-label);font-weight:var(--font-weight-bold)}.text--shadow{text-shadow:var(--text-shadow-dark)}.text--shadow-dark{text-shadow:var(--text-shadow-darker)}.text--center{text-align:center}.about-content{border:var(--border-wood-thick);line-height:1.5;font-size:var(--font-size-md);color:var(--color-text-label);background-color:#ffffffe6;padding:20px;box-shadow:0 4px 12px #0000004d}.about-content p:first-child{margin-top:0}.about-content p:last-child{margin-bottom:0}.link{color:var(--color-wood-dark);font-size:var(--font-size-base);cursor:pointer;z-index:var(--z-content);text-shadow:0 1px 2px #ffffff80;text-decoration:underline}.link--bottom{position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.loading{background-color:var(--color-background);min-height:100vh;color:var(--color-text-primary);justify-content:center;align-items:center;display:flex}.app-background{z-index:-1;pointer-events:none;position:fixed;inset:0}.empty-state{color:var(--color-text-primary);text-align:center;text-shadow:var(--text-shadow-dark);padding:2rem;font-size:1.1rem}.spectating{color:var(--color-text-primary);font-size:var(--font-size-lg)}[data-theme=soviet] .title--brand,[data-theme=soviet] p.title--brand{text-shadow:none;text-transform:uppercase;letter-spacing:3px;background-color:#e79743;padding:15px 80px;font-weight:900;display:inline-block;transform:translateY(-50px)rotate(-20deg);color:var(--color-soviet-red)!important}[data-theme=soviet] .title--page,[data-theme=soviet] p.title--page{text-shadow:none;text-transform:uppercase;letter-spacing:3px;background-color:#f5e6c8;padding:15px 40px;font-weight:900;display:inline-block;color:var(--color-soviet-red)!important}[data-theme=soviet] .title--section{text-shadow:none;text-transform:uppercase;text-align:center;z-index:10;background-color:#f5e6c8;width:100vw;margin-left:calc(50% - 50vw);padding:12px 0;font-weight:700;display:block;position:relative;color:var(--color-soviet-red)!important}[data-theme=soviet] .about-content{color:#b32929;background-color:#f5e6c8;border:3px solid #0a0a0a;box-shadow:4px 4px #0a0a0a;font-family:var(--font-family-primary)!important}[data-theme=soviet] .about-content p{color:#0a0a0a;font-weight:500;font-family:var(--font-family-primary)!important}[data-theme=soviet] .link,[data-theme=soviet] .form-label{color:#f5e6c8;text-shadow:none;text-transform:uppercase;letter-spacing:1px;font-weight:700;font-family:var(--font-family-primary)!important}
.error-boundary{border-radius:var(--radius-lg);color:#c92a2a;font-family:var(--font-family-mono);background-color:#fff5f5;border:2px solid #ff6b6b;max-width:800px;margin:20px auto;padding:20px}.error-boundary__title{margin-top:0}.error-boundary__info{margin:10px 0}.error-boundary__details{margin-top:10px}.error-boundary__summary{cursor:pointer;font-weight:var(--font-weight-bold)}.error-boundary__stack{border-radius:var(--radius-sm);max-height:200px;font-size:var(--font-size-sm);background-color:#f8f8f8;padding:10px;overflow:auto}.error-boundary__actions{margin-top:20px}.error-boundary__footer{font-size:var(--font-size-sm);opacity:.7;margin-top:15px}.error-boundary__footer p{margin:5px 0}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.center-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-x{left:50%;transform:translate(-50%)}.center-y{top:50%;transform:translateY(-50%)}.z-background{z-index:var(--z-background)}.z-vignette{z-index:var(--z-vignette)}.z-content{z-index:var(--z-content)}.z-header{z-index:var(--z-header)}.z-dropdown{z-index:var(--z-dropdown)}.z-card{z-index:var(--z-card)}.z-drag{z-index:var(--z-drag-overlay)}.z-modal{z-index:var(--z-modal)}.z-chat{z-index:var(--z-chat)}.hidden{display:none!important}.invisible{visibility:hidden}.block{display:block}.inline-block{display:inline-block}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.border-wood{border:var(--border-wood)}.border-wood-thick{border:var(--border-wood-thick)}.border-none{border:none}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-default{cursor:default}.cursor-text{cursor:text}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.transition-fast{transition:var(--transition-fast)}.transition-base{transition:var(--transition-base)}.transition-slow{transition:var(--transition-slow)}.transition-none{transition:none}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-wood{box-shadow:var(--shadow-wood-inset)}.shadow-wood-hover{box-shadow:var(--shadow-wood-hover)}.shadow-card{box-shadow:var(--shadow-wood-card)}.shadow-input{box-shadow:var(--shadow-input-inset)}.text-shadow{text-shadow:var(--text-shadow-dark)}.text-shadow-dark{text-shadow:var(--text-shadow-darker)}.text-shadow-title{text-shadow:var(--text-shadow-title)}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.touch-pan-y{touch-action:pan-y}.safe-left{left:env(safe-area-inset-left,0)}.safe-right{right:env(safe-area-inset-right,0)}.safe-top{top:env(safe-area-inset-top,0)}.safe-bottom{bottom:env(safe-area-inset-bottom,0)}.drag-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.drag-overlay--active{pointer-events:auto}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.min-w-0{min-width:0}.min-h-0{min-height:0}

