:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{width:100%;min-height:100vh;-webkit-overflow-scrolling:touch;touch-action:pan-y}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f1419);color:#fff;display:flex;flex-direction:column}.room-header{background:#00000080;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;box-shadow:0 4px 16px #0000004d;min-height:48px}.app-header{background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));box-shadow:0 2px 20px #0000004d}.content-area{flex:1;background:#ffffff05;padding-bottom:env(safe-area-inset-bottom);-webkit-overflow-scrolling:touch;overflow-y:auto}.content-container{padding:24px;max-width:1200px;margin:0 auto;height:100%;overflow:auto}.main-card{background:#ffffff0d;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d;text-align:center}.room-list-container{background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1);overflow:hidden;margin-bottom:24px}.room-list-scroll{max-height:200px;overflow-y:auto}.room-item{padding:12px 16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between}.room-item:hover{background:#ffffff0d}.dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.dialog-content{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:12px;padding:24px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000080}.status-display{padding:16px;border-radius:8px;margin-top:16px;text-align:center}.status-success{background:#2ed57333;border:1px solid rgba(46,213,115,.3);color:#27ae60}.status-error{background:#ff475733;border:1px solid rgba(255,71,87,.3);color:#e74c3c}.access-denied{background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:12px;padding:24px;text-align:center}.flex-center{display:flex;align-items:center;gap:12px}.flex-center-small{display:flex;align-items:center;gap:8px}.flex-center-tiny{display:flex;align-items:center;gap:6px}button,.btn-base{border:none;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:4px}.btn-base:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-rounded{border-radius:12px}.btn-primary{background:linear-gradient(45deg,#00b894,#00cec9);color:#fff}.btn-success{background:linear-gradient(45deg,#27ae60,#2ecc71);color:#fff}.btn-settings{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;cursor:pointer;padding:8px 12px;font-size:12px;transition:all .2s ease}.btn-settings:hover{background:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.input-base{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 12px;color:#fff;outline:none;transition:all .2s ease}.input-base:focus{border-color:#fff6;background:#ffffff26}.input-room-name{font-size:16px;font-weight:600}.input-player-name{font-size:14px}.app-title{margin:0 0 8px;font-size:28px;font-weight:700;background:linear-gradient(45deg,#fff,#a8c8ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-title-small{margin:0;font-size:18px;font-weight:700;background:linear-gradient(45deg,#fff,#a8c8ec);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-room-name{margin:0;font-size:20px;color:#fff;font-weight:600;cursor:text;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;position:relative}.title-room-name:hover{background:#ffffff1a}.text-player-name{color:#fff;font-size:14px;font-weight:500;cursor:text;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;position:relative}.text-player-name:hover{background:#ffffff1a}.text-small{color:#fff;font-size:12px;font-weight:600}.text-mono{font-family:JetBrains Mono,monospace;color:#fffc}.text-description{color:#ffffffb3;margin-bottom:32px;font-size:16px}.room-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:2px;display:flex;align-items:center;gap:6px}.room-code{color:#fff9;font-size:12px;font-family:JetBrains Mono,monospace;letter-spacing:.5px;text-align:left}.room-date{color:#ffffff80;font-size:11px;text-align:right;min-width:60px}.section-divider{display:flex;align-items:center;gap:12px;color:#ffffff80;font-size:14px;margin-bottom:16px}.section-divider-line{height:1px;background:#fff3;flex:1}.dialog-title{margin:0;font-size:20px;font-weight:600;color:#fff}.form-label{display:block;font-size:14px;font-weight:500;margin-bottom:8px;color:#ffffffe6}.text-error{color:#e74c3c;margin-bottom:16px}.text-muted{color:#ffffffb3}.badge-base{padding:6px 12px;border-radius:8px;font-size:10px;color:#fff;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;margin-right:8px}.badge-gm{background:linear-gradient(45deg,#ff6b35,#f7931e)}.badge-gm:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px #0003}.badge-admin{background:linear-gradient(45deg,#9b59b6,#8e44ad)}.badge-admin:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px #0003}.badge-admin-gm{background:linear-gradient(45deg,#e74c3c,#c0392b)}.badge-admin-gm:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 4px 12px #0003}.badge-player{background:#3498db4d;border:1px solid rgba(52,152,219,.5)}.color-picker-btn{width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.3);cursor:pointer;outline:none;transition:all .2s ease;padding:0;margin:0;flex-shrink:0;box-sizing:border-box}.color-picker-btn:hover{border-color:#fff;transform:translateY(-1px) scale(1.1);box-shadow:0 4px 12px #0003}.color-picker-dropdown{position:absolute;top:25px;background:#000000e6;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.2);z-index:1000;box-shadow:0 8px 32px #0000004d;min-width:200px;max-width:calc(100vw - 24px)}.color-picker-dropdown--mobile{left:50%;right:auto;transform:translate(-50%);margin-left:0;width:auto;min-width:180px}.color-picker-dropdown--desktop{right:0;left:auto}.toast{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#000c;color:#fff;padding:8px 16px;border-radius:8px;box-shadow:0 4px 16px #0000004d;z-index:1000;font-size:12px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:6px}.logo-container{display:flex;align-items:center;gap:12px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:all .2s ease}.logo-container:hover{background:#ffffff1a;transform:scale(1.02)}.logo-icon{width:36px;height:36px;background:linear-gradient(45deg,#ff6b35,#f7931e);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.logo-icon-large{width:64px;height:64px;background:linear-gradient(45deg,#ff6b35,#f7931e);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px}.system-icon{font-size:16px;width:24px;text-align:center;display:inline-block;flex-shrink:0}.crown-icon{color:#f7931e}.edit-icon{opacity:0;transition:opacity .2s ease;font-size:12px;margin-left:8px}.title-room-name:hover .edit-icon,.text-player-name:hover .edit-icon{opacity:1}.edit-icon--small{font-size:10px;margin-left:6px}.icon-spacing{margin-right:6px}.relative{position:relative}.close-btn{background:none;border:none;color:#ffffffb3;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.tab-nav{background:#ffffff1a;border-radius:12px;padding:4px;display:flex;gap:4px}.tab-btn{padding:8px 12px;background:transparent;color:#ffffffb3;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.tab-btn:hover{background:#ffffff1a;color:#ffffffe6;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.tab-btn.active{color:#fff}.tab-btn.active.primary{background:linear-gradient(45deg,#ff6b35,#f7931e)}.tab-btn.active.secondary{background:linear-gradient(45deg,#4facfe,#00f2fe)}.tab-icon{font-size:16px}.game-room-container{min-height:100vh;background:linear-gradient(135deg,#0f0f23,#1a1a2e,#16213e);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.game-room-content{display:flex}.mobile-layout{flex:1;display:flex;flex-direction:column;padding:8px 12px 100px}.desktop-layout{flex:1;display:flex;gap:20px;padding:20px 20px 100px}.tab-navigation{display:flex;background:#0006;border-radius:8px;margin-bottom:12px;overflow:hidden}.tab-button{flex:1;padding:14px 16px;background:transparent;border:none;color:#ffffffb3;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;font-size:14px;font-weight:500}.tab-button.active{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff}.tab-button:hover:not(.active){background:#ffffff1a;color:#ffffffe6}.tab-content{display:flex;flex-direction:column;gap:12px}.left-panel{flex:0 0 400px;display:flex;flex-direction:column;gap:20px}.right-panel{flex:1;display:flex;flex-direction:column;gap:20px}.connection-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;margin-bottom:12px;border-radius:8px;font-size:14px;font-weight:500}.connection-status.disconnected{background:#e74c3c33;border:1px solid #e74c3c;color:#e74c3c}.connection-status.connecting{background:#ffc10733;border:1px solid #ffc107;color:#ffc107}.refresh-btn{background:none;border:none;color:#e74c3c;text-decoration:underline;cursor:pointer;font-size:inherit;font-weight:inherit;margin-left:4px;transition:color .2s ease}.refresh-btn:hover{color:#c0392b}.notification-dot{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;background:#e74c3c;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;border:2px solid rgba(0,0,0,.8);z-index:1}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:40px 20px 20px}.toast-notification{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#27ae60;color:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 16px #0000004d;z-index:1000;font-size:14px;font-weight:500;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.roll-button{padding:14px 28px;color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:700;transition:all .3s ease;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #0003;flex-shrink:0}.roll-button:disabled{background:#ffffff1a;cursor:not-allowed;opacity:.6}.roll-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.roll-button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 8px #0003}.roll-button.dice-mode{background:linear-gradient(45deg,#ff6b35,#f7931e)}.roll-button.chat-mode{background:linear-gradient(45deg,#4facfe,#00f2fe)}.help-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-overflow-scrolling:touch;touch-action:pan-y;overflow:auto}.help-modal-content{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:12px;padding:24px;max-width:800px;max-height:80vh;overflow:auto;color:#fff;box-shadow:0 10px 30px #00000080;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.help-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.help-modal-title{margin:0}.help-modal-close{background:#e74c3c;color:#fff;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease}.help-modal-close:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.help-modal-tabs{display:flex;gap:8px;margin-bottom:16px}.help-modal-tab{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;transition:all .2s ease}.help-modal-tab.active{background:#ffffff26}.help-modal-tab:hover:not(.active){background:#ffffff1a;transform:translateY(-1px)}.help-content{line-height:1.6}.help-section{margin-bottom:16px}.help-section-title{margin-bottom:6px;font-weight:600}.help-section-title.dice{color:#1abc9c;font-weight:700}.help-section-title.basic{color:#3498db}.help-section-title.labels{color:#e67e22}.help-section-title.advanced{color:#27ae60}.help-section-title.pool{color:#8e44ad}.help-section-title.daggerheart{color:#e74c3c}.help-section-title.examples{color:#f39c12}.help-section-title.room{color:#9b59b6}.help-section-title.sharing{color:#2ecc71}.help-section-title.quick{color:#e67e22}.help-section-title.variables{color:#3498db}.help-code-block{background:#0000004d;padding:12px;border-radius:8px;font-family:monospace}.help-code-line{margin-bottom:4px}.help-code-line:last-child{margin-bottom:0}.help-code-strong{font-weight:700}.help-code-strong.dice{color:#ecf0f1}.help-code-strong.pool{color:#f39c12}.help-code-strong.target{color:#e67e22}.help-code-strong.sum{color:#3498db}.help-text{margin-bottom:8px}.help-text:last-child{margin-bottom:0}.help-text-small{font-size:13px;line-height:1.4}.help-text-italic{font-style:italic;opacity:.85}.help-text-bold{font-weight:700;margin-bottom:6px}.help-text-bold.pool{color:#f39c12;margin:0 0 8px}.help-text-bold.target{color:#e67e22;margin:8px 0}.help-text-bold.sum{color:#3498db;margin:8px 0}.help-warning{margin-top:6px;padding:6px;background:#f1c40f1a;border-left:3px solid #f1c40f;font-size:12px}.help-list{margin:0 0 8px;font-weight:700}.help-list.dice{color:#ecf0f1}.help-list.pool{color:#f39c12}.help-list.target{color:#e67e22}.help-list.sum{color:#3498db}.help-examples{background:#0000004d;padding:12px;border-radius:8px}.help-example-group{margin:0 0 6px;font-weight:700;color:#ecf0f1}.help-example-group:last-child{margin-bottom:0}.help-tips{margin-top:8px;font-size:13px;line-height:1.4}.help-tip{margin-bottom:6px}.help-tip:last-child{margin-bottom:0}.help-section-title.room{color:#2980b9;margin-bottom:8px}.help-section-title.login{color:#f1c40f;margin:0 0 6px}.help-section-title.create{color:#2ecc71;margin:0 0 6px}.help-section-title.join{color:#e67e22;margin:0 0 6px}.help-section-title.roles{color:#9b59b6;margin:0 0 6px}.help-section-title.quick{color:#e67e22;margin:0 0 6px}.help-section-title.variables{color:#3498db;margin:0 0 6px}.help-list.room{background:#00000040;border-radius:8px;margin:0;padding:12px 12px 12px 18px}.help-list.management{background:#00000040;padding:12px;border-radius:8px;display:grid;gap:6px}.help-list.visibility{background:#00000040;padding:12px;border-radius:8px}.help-management-item{margin-bottom:12px}.help-management-item:last-child{margin-bottom:0}.help-management-title{font-weight:700;margin-bottom:4px}.help-management-title.kick{color:#f39c12}.help-management-title.ban{color:#e74c3c}.help-management-title.unban{color:#27ae60}.help-management-title.promote{color:#9b59b6}.help-management-note.whisper{background:#9b59b61a;border-left:3px solid #9b59b6}.help-visibility-title{font-weight:700}.help-visibility-title.public{color:#2ecc71}.help-visibility-title.private{color:#f39c12}.help-visibility-title.whisper{color:#9b59b6}.help-visibility-title.aside{color:#3498db}.help-visibility-title.secret{color:#e74c3c}.help-examples.room{background:#0000004d;padding:12px;border-radius:8px}.help-example-group.room{margin:0 0 6px;font-weight:700;color:#ecf0f1}.help-example-group.room:last-child{margin-bottom:0}.help-example-code{font-family:monospace;margin-bottom:8px}.help-example-code:last-child{margin-bottom:0}.variables-panel{background:#0006;border-radius:16px;border:1px solid rgba(255,255,255,.15);overflow:visible;box-shadow:0 8px 32px #0000004d}.variables-panel-header{padding:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:transparent;transition:all .2s ease}.variables-panel-header.active{background:#ffffff1a}.variables-panel-title{margin:0;font-size:16px;color:#fff;font-weight:600}.variables-panel-arrow{color:#ffffffb3;font-size:14px;transform:rotate(0);transition:transform .2s ease}.variables-panel-arrow.rotated{transform:rotate(180deg)}.variables-panel-content{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.variables-add-form{background:#0003;border-radius:8px;padding:12px;margin-bottom:16px;border:1px solid rgba(255,255,255,.1)}.variables-add-title{font-size:12px;color:#fffc;margin-bottom:8px;font-weight:600}.variables-input-row{display:flex;gap:8px;margin-bottom:8px;align-items:stretch}.variables-input-group{flex:1;min-width:100px}.variables-input-group.small{min-width:70px}.variables-input-label{font-size:10px;color:#fff9;margin-bottom:2px;font-weight:600}.variables-input{width:100%;padding:8px 10px;font-size:12px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;outline:none;text-align:center;font-family:JetBrains Mono,monospace;font-weight:600;box-sizing:border-box;transition:border-color .2s ease}.variables-input:focus{border-color:#ff6b35}.variables-input.number{font-family:inherit}.variables-select{width:100%;padding:8px 10px;font-size:12px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;outline:none;box-sizing:border-box}.variables-select option{background:#333;color:#fff}.variables-add-button{padding:8px 16px;background:#ffffff1a;color:#fff;border:none;border-radius:8px;cursor:not-allowed;font-size:12px;font-weight:600;white-space:nowrap;transition:all .3s ease;min-width:60px}.variables-add-button.enabled{background:linear-gradient(45deg,#ff6b35,#f7931e);cursor:pointer}.variables-add-button:hover.enabled{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b354d}.variables-required-info{background:#f39c121a;border:1px solid rgba(243,156,18,.3);border-radius:8px;padding:8px 12px;margin-bottom:16px;font-size:12px;color:#fffc;display:flex;align-items:center;gap:6px}.variables-grid{display:grid;gap:12px}.variables-grid.mobile{grid-template-columns:repeat(3,1fr)}.variables-grid.desktop{grid-template-columns:repeat(4,1fr)}.variable-card{border-radius:8px;padding:8px;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);position:relative}.variable-card.room{background:linear-gradient(45deg,#6f42c1,#8b5cf6)}.variable-card.player{background:linear-gradient(45deg,#4facfe,#00f2fe)}.variable-card.required{background:linear-gradient(45deg,#f39c12,#e67e22)}.variable-card-header{font-size:10px;color:#fffc;margin-bottom:4px;font-weight:600;display:flex;align-items:center;gap:4px}.variable-card-input{width:100%;padding:4px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-size:14px;font-weight:700;text-align:center;outline:none;box-sizing:border-box;transition:border-color .2s ease}.variable-card-input:focus{border-color:#ff6b35}.variable-card-display{font-size:14px;color:#fff;font-weight:700;text-align:center;padding:4px 8px}.variable-card-delete{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#e74c3c;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;flex-shrink:0;box-sizing:border-box;transition:all .2s ease}.variable-card-delete:hover{background:#e74c3c;transform:scale(1.1)}.variables-required-section{grid-column:1 / -1;margin-top:16px;margin-bottom:8px;border-top:1px solid rgba(255,255,255,.2);padding-top:16px}.variables-required-title{margin:0 0 12px;font-size:14px;color:#f39c12;font-weight:600;display:flex;align-items:center;gap:8px}.variables-required-subtitle{font-size:11px;color:#fff9}.variable-card-description{font-size:9px;color:#ffffffb3;margin-bottom:4px;line-height:1.2}.variable-card-default{font-size:12px;color:#fff;font-weight:700;text-align:center;padding:4px 8px;background:#fff3;border-radius:4px}.variables-add-required-form{margin-top:16px;padding:16px;background:#f39c121a;border-radius:8px;border:1px solid rgba(243,156,18,.3)}.variables-add-required-title{margin:0 0 12px;font-size:14px;color:#f39c12;font-weight:600}.variables-add-required-inputs{display:flex;flex-direction:column;gap:8px}.variables-add-required-input{padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:14px;outline:none;width:100%;box-sizing:border-box;transition:border-color .2s ease}.variables-add-required-input:focus{border-color:#f39c12}.variables-add-required-button{padding:10px 16px;background:#ffffff1a;color:#fff;border:none;border-radius:8px;cursor:not-allowed;font-size:14px;font-weight:600;transition:all .2s ease}.variables-add-required-button.enabled{background:linear-gradient(45deg,#f39c12,#e67e22);cursor:pointer}.variables-add-required-button:hover.enabled{transform:translateY(-1px);box-shadow:0 4px 12px #f39c124d}.roll-feed-container{flex:1;padding:2px;background:#ffffff08}.roll-feed-panel{background:#0006;border-radius:16px;border:1px solid rgba(255,255,255,.15);overflow:hidden;box-shadow:0 8px 32px #0000004d}.roll-feed-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.roll-feed-title{margin:0;font-size:16px;color:#fff;font-weight:600}.roll-feed-clear-button{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.roll-feed-clear-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.roll-feed-content{padding:16px}.roll-feed-empty{text-align:center;color:#fff9;font-size:14px;padding:32px 16px}.roll-feed-list{display:flex;flex-direction:column;gap:12px}.roll-item{background:#4facfe1a;border:1px solid rgba(79,172,254,.2);border-radius:12px;padding:16px;transition:all .2s ease}.roll-item.dice{background:#3498db1a;border:1px solid rgba(52,152,219,.2)}.roll-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.roll-item-player-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.roll-item-player-dot{width:8px;height:8px;border-radius:50%;background:#3498db}.roll-item-player-name{color:#fff;font-weight:600;font-size:14px}.roll-item-label{background:#fff3;padding:3px 8px;border-radius:4px;font-size:11px;color:#fffc;font-weight:500}.roll-item-command{color:#ffffffb3;font-size:12px;font-family:JetBrains Mono,monospace}.roll-item-actions{display:flex;align-items:center;gap:8px}.roll-item-timestamp{color:#ffffff80;font-size:11px}.roll-item-delete-button{background:#e74c3ccc;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:10px;cursor:pointer;transition:all .2s ease}.roll-item-delete-button:hover{background:#e74c3c;transform:scale(1.05)}.roll-content{margin-bottom:8px;padding:8px 0}.roll-text-message{color:#fff;font-size:16px;line-height:1.4;word-wrap:break-word}.roll-text-hidden{color:#ffffff80}.roll-dice-result{color:#fff;font-size:28px;font-weight:700;text-align:left;font-family:JetBrains Mono,monospace;display:flex;align-items:center;justify-content:flex-start;gap:8px}.roll-target-number{font-size:20px;margin-right:8px;color:#f39c12}.roll-tag{font-size:16px;margin-left:8px;color:#95a5a6;font-weight:500}.roll-breakdown{color:#ffffff80;font-size:10px;font-family:JetBrains Mono,monospace;margin-top:4px;text-align:left;line-height:1.2}.dice-breakdown-strike{text-decoration:line-through;color:#95a5a6;opacity:.7}.dice-breakdown-success{color:#27ae60;font-weight:700}.dice-breakdown-fumble{color:#e74c3c;font-weight:700}.dice-breakdown-critical{color:#f39c12;font-weight:700}.dice-breakdown-explosive{color:#3498db;font-weight:700}.dice-breakdown-reroll{color:#95a5a6;font-weight:700;font-style:italic}.dice-breakdown-number{font-weight:700}.role-management-panel{padding:16px;background:#0006;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-top:12px}.role-management-no-permission{color:#ffffffb3;font-size:14px;text-align:center;padding:20px}.role-management-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.role-management-title{color:#fff;margin:0;font-size:16px;font-weight:600}.role-management-loading{color:#ffffffb3;text-align:center;padding:20px;font-size:14px}.role-management-players-list{display:flex;flex-direction:column;gap:8px}.role-management-player-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.role-management-player-info{display:flex;align-items:center;gap:12px}.role-management-player-name{color:#fff;font-weight:600;font-size:14px}.role-management-player-current{margin-left:8px;font-size:12px;color:#f39c12;background:#f39c1233;padding:2px 6px;border-radius:4px}.role-management-player-role{color:#fff9;font-size:12px;margin-top:2px}.role-management-player-role.gm{color:#f39c12}.role-management-player-status{margin-left:8px;color:#27ae60;font-size:11px;font-weight:500}.role-management-player-status.offline{color:#fff6}.role-management-actions{display:flex;gap:6px}.role-management-button{padding:6px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.role-management-button:disabled{opacity:.5;cursor:not-allowed}.role-management-button.promote{background:linear-gradient(45deg,#f39c12,#e67e22);color:#fff}.role-management-button.promote:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f39c124d}.role-management-button.demote{background:linear-gradient(45deg,#95a5a6,#7f8c8d);color:#fff}.role-management-button.demote:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #95a5a64d}.role-management-button.kick{background:linear-gradient(45deg,#e67e22,#d35400);color:#fff}.role-management-button.kick:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e67e224d}.role-management-button.ban{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff}.role-management-button.ban:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.role-management-button.unban{background:linear-gradient(45deg,#27ae60,#229954);color:#fff}.role-management-button.unban:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #27ae604d}.role-management-banned-section{margin-top:16px}.role-management-banned-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.role-management-banned-title{color:#fff;margin:0;font-size:14px;font-weight:600}.role-management-banned-toggle{padding:4px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fffc;font-size:11px;cursor:pointer;transition:all .2s ease}.role-management-banned-toggle:hover{background:#fff3}.role-management-banned-list{display:flex;flex-direction:column;gap:8px}.role-management-banned-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#e74c3c1a;border-radius:8px;border:1px solid rgba(231,76,60,.2)}.role-management-banned-user-name{color:#f44;font-weight:600;font-size:14px}.role-management-banned-user-id{color:#fff9;font-weight:400;font-size:12px}.role-management-banned-details{color:#fff9;font-size:11px;margin-top:2px}.role-management-banned-reason{margin-left:8px;color:#ffffff80;font-size:10px}.role-management-banned-timestamp{color:#ffffff80;font-size:10px;margin-top:2px}.role-management-info{margin-top:12px;padding:8px 12px;background:#3498db1a;border-radius:8px;border:1px solid rgba(52,152,219,.2);color:#fffc;font-size:12px;line-height:1.4}.gm-requests-panel{background:#0006;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-top:12px}.gm-requests-header{padding:16px;display:flex;align-items:center;justify-content:space-between;background:transparent;transition:all .2s ease}.gm-requests-title{color:#fff;margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.gm-requests-button{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.gm-requests-button:hover,.gm-requests-button.active{background:#ffffff26}.gm-requests-form{padding:20px;background:#0003}.gm-requests-form-fields{display:flex;flex-direction:column;gap:12px}.gm-requests-form-label{color:#fff;font-size:14px;font-weight:600;display:block;margin-bottom:6px}.gm-requests-form-input{width:100%;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;outline:none}.gm-requests-form-input:focus{border-color:#fff6}.gm-requests-form-select{width:100%;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;outline:none}.gm-requests-form-select:focus{border-color:#fff6}.gm-requests-submit-button{background:linear-gradient(45deg,#00b894,#00cec9);color:#fff;border:none;border-radius:8px;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;opacity:1}.gm-requests-submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00b8944d}.gm-requests-submit-button:disabled{background:#9696964d;cursor:not-allowed;opacity:.5}.gm-requests-list{max-height:400px;overflow-y:auto;padding:0}.gm-requests-list.mobile{max-height:300px}.gm-requests-list.desktop{max-height:400px}.gm-requests-empty{text-align:center;color:#fff9;font-size:14px;padding:20px}.gm-requests-item{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05;transition:background .2s ease}.gm-requests-item:hover{background:#ffffff0d}.gm-requests-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gm-requests-item-name{color:#fff;font-weight:700;font-size:14px}.gm-requests-item-actions{display:flex;align-items:center;gap:8px}.gm-requests-visibility-badge{background:#e74c3c40;padding:2px 6px;border-radius:4px;font-size:10px;color:#fff;font-weight:700}.gm-requests-visibility-badge.secret{background:#e74c3c40}.gm-requests-action-button{background:linear-gradient(45deg,#00b894,#00cec9);color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.gm-requests-action-button:hover{background:linear-gradient(45deg,#00a085,#00b7b3);transform:scale(1.05)}.gm-requests-action-button.delete{background:#e74c3ccc}.gm-requests-action-button.delete:hover{background:#e74c3c;transform:scale(1.05)}.gm-requests-item-expression{color:#fffc;font-size:13px;font-family:monospace;background:#0000004d;padding:8px 12px;border-radius:4px;margin-bottom:6px}.gm-requests-item-label{color:#fff9;font-size:12px}.gm-requests-item-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#fff9;margin-top:8px}.quick-rolls-panel{background:#0006;border-radius:16px;border:1px solid rgba(255,255,255,.15);overflow:hidden;box-shadow:0 8px 32px #0000004d;margin-top:12px}.quick-rolls-header{padding:16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:transparent;transition:all .2s ease}.quick-rolls-header:hover{background:#ffffff0d}.quick-rolls-title{margin:0;font-size:16px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.quick-rolls-subtitle{color:#ffffffb3;font-size:14px;margin-top:4px}.quick-rolls-content{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.quick-rolls-info{font-size:12px;color:#fffc;margin-bottom:12px;padding:8px 12px;background:#ffffff0d;border-radius:8px;border-left:3px solid #6f42c1}.quick-rolls-grid{display:grid;gap:8px}.quick-rolls-grid.mobile{grid-template-columns:repeat(2,1fr)}.quick-rolls-grid.desktop{grid-template-columns:repeat(3,1fr)}.quick-roll-item{position:relative}.quick-roll-button{padding:8px 12px;background:linear-gradient(45deg,#6f42c1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px #6f42c14d}.quick-roll-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6f42c166}.quick-roll-button.system,.quick-roll-button.shared{background:linear-gradient(45deg,#6f42c1,#8b5cf6)}.quick-roll-button.private{background:linear-gradient(45deg,#4facfe,#00f2fe);box-shadow:0 2px 8px #4facfe4d}.quick-roll-button.private:hover{box-shadow:0 4px 12px #4facfe66}.quick-roll-label{font-size:11px;font-weight:700}.quick-roll-expression{font-size:9px;opacity:.8}.quick-roll-delete{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #0000004d}.quick-roll-delete:hover{background:#c0392b;transform:scale(1.1)}.players-list-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-overflow-scrolling:touch;touch-action:pan-y;overflow:auto}.players-list-content{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:12px;padding:24px;max-width:500px;width:100%;color:#fff;box-shadow:0 10px 30px #00000080;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.players-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.players-list-title{margin:0;font-size:20px;font-weight:700}.players-list-close{background:#e74c3c;color:#fff;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:4px}.players-list-close:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.players-list-scrollable{max-height:60vh;overflow:auto;padding-right:8px}.players-list-item{display:flex;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s ease}.players-list-item:hover{background:#ffffff0d;border-radius:8px;padding-left:8px;padding-right:8px}.players-list-item:last-child{border-bottom:none}.players-list-player-info{flex:1;font-size:16px;font-weight:600;display:flex;align-items:center;gap:12px}.players-list-role-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.players-list-role-badge.gm{background:linear-gradient(45deg,#f39c12,#e67e22);color:#fff}.players-list-role-badge.player{background:#fff3;color:#fffc}.players-list-actions{display:flex;gap:8px;align-items:center}.players-list-kick{background:#e67e22;color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.players-list-kick:hover{background:#d35400;transform:translateY(-1px);box-shadow:0 4px 12px #e67e224d}.players-list-empty{text-align:center;padding:20px;color:#fff9;font-style:italic}.player-color-badge{border-radius:50%;display:inline-block;position:relative;transition:all .2s ease}.player-color-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.color-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.color-picker-button{width:24px;height:24px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center}.color-picker-button:hover{transform:scale(1.2);box-shadow:0 4px 12px #0000004d}.color-picker-button.selected{border-color:#fff;box-shadow:0 0 0 2px #ffffff4d}.color-picker-button.disabled{opacity:.3;cursor:not-allowed}.color-picker-button.disabled:hover{transform:none;box-shadow:none}.color-used-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fffc;border-radius:50%;font-size:8px;display:flex;align-items:center;justify-content:center;color:#000;font-weight:700}.player-color-display{display:flex;align-items:center;gap:8px}.player-color-display-name{color:#fff}.color-usage-indicator{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.color-usage-item{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3);position:relative}.color-usage-item.used{opacity:.6}.color-usage-item.used:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:8px;color:#fff;font-weight:700}.palette-selector{display:flex;flex-direction:column;gap:8px;margin-top:12px}.palette-selector-label{color:#fff;font-size:12px;font-weight:600}.palette-selector-select{background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:8px 12px;font-size:12px;outline:none}.palette-selector-select:focus{border-color:#fff6}.palette-selector-option{background:#2c3e50}.roll-request-notifications{position:fixed;top:20px;right:20px;z-index:1000;animation:slideInRight .3s ease-out}.roll-request-notification{background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:12px;box-shadow:0 8px 32px #0000004d;margin-bottom:12px;min-width:320px;max-width:400px}.roll-request-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}.roll-request-title{color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}.roll-request-actions{display:flex;gap:4px}.roll-request-dismiss-all{background:#ffffff26;color:#fff;border:none;border-radius:8px;padding:4px 8px;font-size:11px;cursor:pointer;transition:all .2s ease}.roll-request-dismiss-all:hover{background:#ffffff40;transform:translateY(-1px)}.roll-request-content{max-height:400px;overflow-y:auto}.roll-request-item{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.roll-request-item:last-child{border-bottom:none}.roll-request-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.roll-request-item-title{color:#fff;font-weight:700;font-size:13px}.roll-request-item-actions{display:flex;align-items:center;gap:4px}.roll-request-visibility-badge{background:#e74c3c4d;padding:1px 4px;border-radius:4px;font-size:10px;color:#fff;font-weight:700;text-transform:uppercase}.roll-request-dismiss{background:#ffffff26;color:#fff;border:none;border-radius:4px;padding:2px 6px;font-size:10px;cursor:pointer;transition:all .2s ease}.roll-request-dismiss:hover{background:#ffffff40;transform:translateY(-1px)}.roll-request-expression{color:#ffffffe6;font-size:12px;font-family:Courier New,monospace;background:#0003;padding:8px 12px;border-radius:4px;margin:4px 0}.roll-request-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.roll-request-timestamp{font-size:11px;color:#ffffffb3}.roll-request-roll-button{background:linear-gradient(45deg,#00b894,#00cec9);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.roll-request-roll-button:hover{background:linear-gradient(45deg,#00a085,#00b7b3);transform:translateY(-1px);box-shadow:0 4px 12px #00b8944d}.confirmation-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirmation-modal{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow:auto}.confirmation-modal-header{display:flex;align-items:center;margin-bottom:20px}.confirmation-modal-icon{font-size:2rem;margin-right:12px}.confirmation-modal-title{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.confirmation-modal-message{margin:0 0 30px;color:#6b7280;line-height:1.5;font-size:1rem}.confirmation-modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirmation-modal-cancel{padding:12px 24px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.confirmation-modal-cancel:hover{background-color:#e5e7eb;transform:translateY(-1px)}.confirmation-modal-confirm{padding:12px 24px;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.confirmation-modal-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.confirmation-modal-confirm.danger{background-color:#dc2626}.confirmation-modal-confirm.danger:hover{background-color:#b91c1c}.confirmation-modal-confirm.warning{background-color:#f59e0b}.confirmation-modal-confirm.warning:hover{background-color:#d97706}.confirmation-modal-confirm.info{background-color:#3b82f6}.confirmation-modal-confirm.info:hover{background-color:#2563eb}.recipients-selector{background:#0000004d;border-radius:8px;padding:12px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1)}.recipients-selector-label{color:#fff;font-size:12px;font-weight:600;margin-bottom:8px}.recipients-selector-list{display:flex;flex-wrap:wrap;gap:6px}.recipients-selector-item{padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:11px;font-weight:500;border:1px solid transparent;color:#fff}.recipients-selector-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003}.recipients-selector-item.selected{background:#2ecc714d;border-color:#2ecc7180;color:#fff}.recipients-selector-item.unselected{background:#ffffff1a;border-color:#fff3;color:#ffffffb3}.last-minute-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.last-minute-dialog{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:80vh;overflow:auto}.last-minute-dialog-title{margin:0 0 20px;color:#333;font-size:24px;font-weight:600}.last-minute-dialog-description{margin:0 0 20px;color:#666;font-size:16px;line-height:1.5}.last-minute-dialog-form{margin-bottom:20px}.last-minute-dialog-field{margin-bottom:15px}.last-minute-dialog-label{display:block;font-size:16px;font-weight:500;color:#374151;margin-bottom:8px}.last-minute-dialog-input{width:100%;padding:12px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .2s ease}.last-minute-dialog-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.last-minute-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.last-minute-dialog-button{padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.last-minute-dialog-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.last-minute-dialog-button.cancel{background-color:#6b7280;color:#fff}.last-minute-dialog-button.cancel:hover{background-color:#4b5563}.last-minute-dialog-button.submit{background-color:#4caf50;color:#fff}.last-minute-dialog-button.submit:hover{background-color:#45a049}.role-change-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d;z-index:1000;max-width:400px;width:90%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-change-notification-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.role-change-notification-icon{font-size:24px}.role-change-notification-title{color:#fff;margin:0;font-size:18px;font-weight:600}.role-change-notification-message{color:#ffffffe6;margin:0 0 16px;line-height:1.5;font-size:14px}.role-change-notification-actions{display:flex;gap:8px;justify-content:flex-end}.role-change-notification-button{padding:8px 16px;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.role-change-notification-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.role-change-notification-button.dismiss{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.role-change-notification-button.dismiss:hover{background:#fff3;border-color:#ffffff4d}.role-change-notification-button.refresh{background:linear-gradient(45deg,#f39c12,#e67e22);color:#fff;border:none}.role-change-notification-button.refresh:hover{background:linear-gradient(45deg,#e67e22,#d35400);box-shadow:0 4px 12px #f39c124d}.emoji-keyboard{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.emoji-keyboard-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;cursor:pointer;font-size:20px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#fff}.emoji-keyboard-button:hover{background:#fff3;transform:scale(1.1)}.emoji-keyboard-button:active{transform:scale(.95)}.mobile-layout.min-height{min-height:0}.tab-navigation.bordered{border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 16px #0000004d}.tab-button.responsive{padding:14px 16px;font-size:13px}.tab-button.responsive.small{padding:12px 8px;font-size:16px}.tab-button-content{position:relative;display:flex;align-items:center;justify-content:center}.tab-button-badge{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700;border:2px solid rgba(0,0,0,.3)}.connection-status.small{font-size:12px}.refresh-btn.small{font-size:12px;font-weight:600}.loading-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;color:#fff;font-size:18px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.name-hint-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 16px #0000004d;z-index:1000;font-size:14px;font-weight:500;animation:slideInDown .3s ease-out;max-width:90%;text-align:center}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dice-panel{background:#0006;border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #0000004d}.dice-mode-toggle{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;background:#ffffff0d;border-radius:8px;padding:4px;flex-wrap:nowrap}.dice-mode-buttons{display:flex;gap:4px;flex-shrink:0}.dice-mode-btn{padding:8px 12px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;background:transparent;color:#ffffffb3}.dice-mode-btn.active{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 2px 8px #ff6b354d}.dice-mode-btn:hover:not(.active){background:#ffffff1a;color:#ffffffe6;transform:translateY(-1px)}.dice-visibility-compact{position:relative;flex-shrink:1;min-width:0}.dice-visibility-toggle{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffe6;cursor:pointer;font-size:12px;white-space:nowrap;min-width:80px;max-width:120px}.dice-visibility-toggle:hover{background:#fff3;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.dice-visibility-arrow{font-size:10px;margin-left:8px;transition:transform .2s ease}.dice-visibility-dropdown{position:absolute;top:100%;left:0;right:0;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 8px 32px #0000004d;z-index:1000;margin-top:4px;overflow:hidden}.dice-visibility-option{display:block;width:100%;padding:8px 12px;background:transparent;border:none;color:#fffc;cursor:pointer;transition:all .2s ease;font-size:14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.1)}.dice-visibility-option:last-child{border-bottom:none}.dice-visibility-option:hover{background:#ffffff1a;color:#fff}.dice-visibility-option.active{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff}.dice-input-container{display:flex;gap:8px;margin-bottom:12px;align-items:stretch}.dice-input-wrapper{position:relative;display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;overflow:hidden;transition:all .2s ease;flex:1}.dice-input-wrapper:focus-within{border-color:#ff6b3580;box-shadow:0 0 0 2px #ff6b351a}.dice-input{flex:1;padding:12px 16px;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:16px;font-family:monospace;outline:none;transition:all .2s ease}.dice-input:focus{border-color:#ff6b3580;box-shadow:0 0 0 2px #ff6b351a}.dice-input::placeholder{color:#ffffff80}.dice-input-btn{padding:8px 12px;background:#ffffff1a;border:none;color:#ffffffb3;cursor:pointer;font-size:12px;transition:all .2s ease;border-left:1px solid rgba(255,255,255,.1)}.dice-input-btn:hover{background:#ffffff26;color:#fff}.dice-recipients{margin-bottom:12px}.dice-actions{display:flex;gap:8px;margin-bottom:12px}.dice-action-btn{padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:#fffc;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.dice-action-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.dice-action-btn.active{background:#ff6b3533;border-color:#ff6b3566;color:#ff6b35}.dice-quick-rolls{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.dice-quick-rolls-title{color:#fffc;font-size:14px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.dice-quick-rolls-list{display:flex;flex-wrap:wrap;gap:6px}.dice-quick-roll-btn{padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;cursor:pointer;font-size:12px;transition:all .2s ease;display:flex;align-items:center;gap:4px}.dice-quick-roll-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #0003}@media (max-width: 480px){.dice-mode-toggle{gap:6px}.dice-mode-btn{padding:6px 8px;font-size:12px}.dice-visibility-toggle{padding:4px 6px;font-size:11px;min-width:70px;max-width:100px}}@media (max-width: 360px){.dice-mode-toggle{flex-direction:column;gap:6px;align-items:stretch}.dice-mode-buttons{justify-content:center}.dice-visibility-toggle{padding:6px 10px;font-size:12px;min-width:100px;max-width:none}}@media (max-width: 767px){.room-header{padding:6px 12px;gap:8px}.flex-center{gap:8px}.flex-center-small{gap:6px}.title-room-name{font-size:18px}.text-player-name{font-size:13px}}.btn-base:focus,.input-base:focus,.color-picker-btn:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}@media (prefers-contrast: high){.badge-base{border:1px solid currentColor}.input-base{border-width:2px}}@media (prefers-reduced-motion: reduce){.btn-base,.color-picker-btn,.edit-icon,.title-room-name,.text-player-name,.tab-btn,.close-btn,.badge-base{transition:none}.btn-base:hover,.color-picker-btn:hover,.tab-btn:hover,.close-btn:hover,.badge-base:hover{transform:none}}.help-code-example{background:#0000004d;padding:12px;border-radius:8px}.help-code-example-title{margin:0 0 6px;font-weight:700;color:#ecf0f1}.help-code-example-content{font-family:monospace;margin-bottom:8px}.help-code-example-content:last-child{margin-bottom:0}.help-list-indented{margin:0;padding-left:18px}.help-section-spaced{margin-bottom:16px}.help-section-title.management{color:#e74c3c;margin:0 0 6px}.help-section-title.customization{color:#1abc9c;margin:0 0 6px}.help-section-title.visibility,.help-section-title.sharing{color:#16a085;margin:0 0 6px}.help-section-title.quick{color:#2ecc71;margin:0 0 6px}.help-section-title.variables{color:#e67e22;margin:0 0 6px}.help-section-title.roll-models{color:#9b59b6;margin:0 0 6px}.help-management-item{background:#00000040;padding:12px;border-radius:8px}.help-management-item:not(:last-child){margin-bottom:12px}.help-management-title.kick{font-weight:700;color:#f39c12;margin-bottom:4px}.help-management-title.ban{font-weight:700;color:#e74c3c;margin-bottom:4px}.help-management-title.unban{font-weight:700;color:#27ae60;margin-bottom:4px}.help-management-title.promote{font-weight:700;color:#9b59b6;margin-bottom:4px}.help-management-description{font-size:13px;margin-left:8px;margin-bottom:8px}.help-management-details{font-size:12px;color:#bdc3c7;margin-left:8px}.help-management-note{margin-top:12px;padding:8px;background:#e74c3c1a;border-radius:4px;font-size:12px;border-left:3px solid #e74c3c}.help-customization-list{background:#00000040;border-radius:8px;margin:0;padding:12px 12px 12px 18px}.help-visibility-options{background:#00000040;padding:12px;border-radius:8px}.help-visibility-option{margin-bottom:8px}.help-visibility-option:last-child{margin-bottom:0}.help-visibility-title.public{font-weight:700;color:#2ecc71}.help-visibility-title.private{font-weight:700;color:#f39c12}.help-visibility-title.whisper{font-weight:700;color:#9b59b6}.help-visibility-title.aside{font-weight:700;color:#3498db}.help-visibility-title.secret{font-weight:700;color:#e74c3c}.help-visibility-description{font-size:13px;margin-left:8px}.help-visibility-note{margin-top:8px;padding:8px;background:#9b59b61a;border-radius:4px;font-size:12px;border-left:3px solid #9b59b6}.help-sharing-list{background:#00000040;border-radius:8px;margin:0;padding:12px 12px 12px 18px}.help-quick-rolls-content{line-height:1.6}.help-quick-rolls-section{margin-bottom:16px}.help-quick-rolls-title{color:#1abc9c;margin-bottom:8px}.help-quick-rolls-subsection{margin-bottom:16px}.help-quick-rolls-description{background:#00000040;padding:12px;border-radius:8px}.help-quick-rolls-info{margin-top:8px}.help-quick-rolls-info strong{font-weight:700}.help-quick-rolls-list{margin:8px;padding-left:18px}.help-variables-content{background:#00000040;padding:12px;border-radius:8px}.help-variables-section{margin-top:8px}.help-variables-section:first-child{margin-top:0}.help-variables-title{font-weight:700}.help-variables-list{margin:0;padding-left:18px}.help-variables-code{font-family:monospace}.help-variables-example{font-family:monospace;background:#00000040;padding:10px;border-radius:8px}.help-variables-note{margin-top:6px;font-size:12px;opacity:.85}.help-roll-models-content{background:#00000040;padding:12px;border-radius:8px}.help-roll-models-title{margin-bottom:8px;font-size:14px;font-weight:600;color:#ecf0f1}.help-roll-models-section{margin-bottom:8px}.help-roll-models-section:last-child{margin-bottom:0}.help-roll-models-subtitle{font-weight:700;margin-bottom:4px}.help-roll-models-list{margin:0;padding-left:18px;font-size:13px}.help-roll-models-note{font-size:12px;opacity:.85;font-style:italic}.help-main-title{color:#1abc9c;margin-bottom:8px}.help-section-unified{margin-bottom:16px}.help-section-unified:last-child{margin-bottom:0}.help-section-title-unified{margin:0 0 6px;font-weight:600}.help-section-title-unified.customization{color:#1abc9c}.help-section-title-unified.visibility,.help-section-title-unified.sharing{color:#16a085}.help-section-title-unified.quick-rolls{color:#2ecc71}.help-section-title-unified.variables{color:#e67e22}.help-section-title-unified.roll-models{color:#9b59b6}.help-content-box{background:#00000040;padding:12px;border-radius:8px}.help-list-unified{background:#00000040;border-radius:8px;margin:0;padding:12px 12px 12px 18px}.help-visibility-option-unified{margin-bottom:8px}.help-visibility-option-unified:last-child{margin-bottom:0}.help-visibility-title-unified{font-weight:700}.help-visibility-title-unified.public{color:#2ecc71}.help-visibility-title-unified.private{color:#f39c12}.help-visibility-title-unified.whisper{color:#9b59b6}.help-visibility-title-unified.aside{color:#3498db}.help-visibility-title-unified.secret{color:#e74c3c}.help-visibility-description-unified{font-size:13px;margin-left:8px}.help-note-box{margin-top:8px;padding:8px;border-radius:4px;font-size:12px}.help-note-box.whisper{background:#9b59b61a;border-left:3px solid #9b59b6}.help-variables-section-unified{margin-top:8px}.help-variables-section-unified:first-child{margin-top:0}.help-variables-title-unified{font-weight:700}.help-variables-list-unified{margin:0;padding-left:18px}.help-variables-code-unified{font-family:monospace}.help-variables-example-unified{font-family:monospace;background:#00000040;padding:10px;border-radius:8px}.help-variables-note-unified{margin-top:6px;font-size:12px;opacity:.85}.help-quick-rolls-info-unified{margin-top:8px}.help-quick-rolls-info-unified strong{font-weight:700}.help-quick-rolls-list-unified{margin:8px;padding-left:18px}.statistics-modal{max-width:800px;width:90vw;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff;position:relative;margin:40px auto 0;top:0;transform:none}.statistics-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header-actions{display:flex;align-items:center;gap:12px}.export-csv-button{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.export-csv-button:hover:not(:disabled){background:linear-gradient(135deg,#229954,#27ae60);transform:translateY(-1px);box-shadow:0 4px 12px #2ecc714d}.export-csv-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.quick-dice-gui{position:fixed;top:20px;right:20px;background:#000000e6;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d;transition:all .3s ease}.quick-dice-gui.minimized{padding:8px}.quick-dice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.quick-dice-title{font-size:12px;font-weight:600;color:#ecf0f1;text-transform:uppercase;letter-spacing:.5px}.quick-dice-minimize{background:none;border:none;color:#95a5a6;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .2s ease}.quick-dice-minimize:hover{background:#ffffff1a;color:#ecf0f1}.quick-dice-toggle{background:linear-gradient(135deg,#3498db,#2980b9);border:none;color:#fff;font-size:18px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3498db4d}.quick-dice-toggle:hover{background:linear-gradient(135deg,#2980b9,#1f4e79);transform:translateY(-1px);box-shadow:0 4px 12px #3498db66}.quick-dice-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-dice-button{background:linear-gradient(135deg,#34495e,#2c3e50);border:1px solid rgba(255,255,255,.1);color:#ecf0f1;font-size:11px;font-weight:600;padding:6px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:center;min-width:32px}.quick-dice-button:hover{background:linear-gradient(135deg,#3498db,#2980b9);border-color:#3498db80;transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.quick-dice-button:active{transform:translateY(0);box-shadow:0 1px 4px #3498db33}.dice-input-wrapper{display:flex;align-items:center;gap:8px;width:100%}.last-roll-button{background:linear-gradient(135deg,#f39c12,#e67e22);border:none;color:#fff;font-size:16px;font-weight:700;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #f39c124d}.last-roll-button:hover{background:linear-gradient(135deg,#e67e22,#d35400);transform:translateY(-1px);box-shadow:0 4px 12px #f39c1266}.last-roll-button:active{transform:translateY(0);box-shadow:0 2px 8px #f39c124d}.statistics-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.statistics-modal .modal-close{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease}.statistics-modal .modal-close:hover{background:#c0392b;transform:scale(1.1)}.statistics-modal .modal-body{max-height:70vh;overflow-y:auto;padding:0}.statistics-modal .statistics-panel{background:transparent;border:none;box-shadow:none;padding:0;height:auto;overflow:visible}.statistics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.statistics-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.statistics-error{text-align:center;padding:40px;color:#ffffffb3}.statistics-tabs{display:flex;gap:4px;margin-bottom:20px;background:#ffffff0d;border-radius:8px;padding:4px}.statistics-tab{flex:1;padding:8px 12px;background:transparent;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.statistics-tab:hover{background:#ffffff1a;color:#ffffffe6}.statistics-tab.active{background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 4px 12px #ff6b354d}.statistics-content{height:calc(100% - 60px);overflow-y:auto}.statistics-overview{display:flex;flex-direction:column;gap:20px}.statistics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.statistics-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:16px;text-align:center}.statistics-card h3{margin:0 0 8px;font-size:14px;color:#fffc;font-weight:500}.statistics-value{font-size:24px;font-weight:700;color:#ff6b35}.statistics-details{display:flex;flex-direction:column;gap:20px}.statistics-section{background:#ffffff0d;border-radius:8px;padding:16px}.statistics-section h4{margin:0 0 12px;font-size:16px;color:#fff;font-weight:600}.dice-distribution{display:flex;flex-wrap:wrap;gap:8px}.dice-item{display:flex;align-items:center;gap:8px;background:#ffffff1a;border-radius:6px;padding:6px 10px;font-size:14px}.dice-type{font-weight:700;color:#ff6b35}.dice-count{color:#fff;font-weight:600}.dice-percentage{color:#ffffffb3;font-size:12px}.crit-fumble-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.crit-fumble-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff1a;border-radius:6px}.crit-fumble-item .label{color:#fffc;font-size:14px}.crit-fumble-item .value{color:#fff;font-weight:600;font-size:16px}.statistics-players h3{margin:0 0 16px;font-size:18px;color:#fff;font-weight:600}.players-list{display:flex;flex-direction:column;gap:8px}.player-stat-item{display:flex;align-items:center;gap:12px;background:#ffffff1a;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.2)}.player-rank{font-size:18px;font-weight:700;color:#ff6b35;min-width:30px}.player-info{flex:1;display:flex;flex-direction:column;gap:4px}.player-name{font-weight:600;font-size:16px}.player-session{font-size:12px;color:#ffffffb3}.player-stats{display:flex;gap:16px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label{font-size:12px;color:#ffffffb3}.stat-value{font-size:14px;font-weight:600;color:#fff}.statistics-sessions h3{margin:0 0 16px;font-size:18px;color:#fff;font-weight:600}.sessions-list{display:flex;flex-direction:column;gap:8px}.session-stat-item{background:#ffffff1a;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.2)}.session-date{font-size:16px;font-weight:600;color:#fff;margin-bottom:8px}.session-stats{display:flex;gap:16px;margin-bottom:8px}.session-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.session-stat .label{font-size:12px;color:#ffffffb3}.session-stat .value{font-size:14px;font-weight:600;color:#fff}.session-time{font-size:12px;color:#ffffffb3}.statistics-dice h3{margin:0 0 16px;font-size:18px;color:#fff;font-weight:600}.dice-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.dice-stat-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:16px}.dice-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dice-stat-header h4{margin:0;font-size:18px;color:#ff6b35;font-weight:700}.dice-stat-count{font-size:24px;font-weight:700;color:#fff}.dice-stat-details{display:flex;flex-direction:column;gap:8px}.dice-stat-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.dice-stat-item .label{color:#fffc;font-size:14px}.dice-stat-item .value{color:#fff;font-weight:600;font-size:14px}.players-list-actions{padding:16px;border-top:1px solid rgba(255,255,255,.1);margin-top:16px}.players-list-stats-btn{width:100%;justify-content:center;background:linear-gradient(45deg,#ff6b35,#f7931e);color:#fff;font-weight:600;font-size:16px;padding:12px 16px;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.players-list-stats-btn:hover{background:linear-gradient(45deg,#e55a2b,#e8821a);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b354d}@media (max-width: 767px){.statistics-cards{grid-template-columns:repeat(2,1fr)}.statistics-card{padding:12px}.statistics-value{font-size:20px}.player-stats,.session-stats{gap:8px}.dice-stats-grid,.crit-fumble-stats{grid-template-columns:1fr}.dice-average{color:#3498db;font-weight:700;margin-left:8px}.frequency-distribution{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;max-height:200px;overflow-y:auto}.frequency-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#ffffff0d;border-radius:4px;font-size:12px}.frequency-item .dice-type{color:#f39c12;font-weight:700}.frequency-distribution{margin-top:24px;padding:16px;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.frequency-distribution h4{margin:0 0 16px;color:#f39c12;font-size:16px;font-weight:600}.frequency-grid{display:flex;flex-direction:column;gap:20px}.frequency-dice-group{background:#ffffff08;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.05)}.frequency-dice-group h5{margin:0 0 12px;color:#e74c3c;font-size:14px;font-weight:600}.frequency-bars{display:flex;flex-direction:column;gap:6px}.frequency-bar{display:flex;align-items:center;gap:8px;font-size:12px}.frequency-label{min-width:20px;text-align:center;color:#ecf0f1;font-weight:500}.frequency-bar-container{flex:1;height:16px;background:#ffffff1a;border-radius:8px;overflow:hidden;position:relative}.frequency-bar-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:8px;transition:width .3s ease;min-width:2px}.frequency-stats{display:flex;gap:4px;min-width:60px;justify-content:flex-end}.frequency-count{color:#ecf0f1;font-weight:500}.frequency-percentage{color:#95a5a6;font-size:11px}.dice-mini-frequency{margin-top:12px;padding:10px;background:#ffffff14;border-radius:8px;border:1px solid rgba(255,255,255,.15)}.mini-frequency-chart-container{height:120px;width:100%;position:relative}.mini-frequency-title{font-size:12px;color:#95a5a6;margin-bottom:8px;text-align:center;font-weight:600}.mini-frequency-bars{display:flex;flex-direction:column;gap:3px}.mini-frequency-bar{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:2px}.mini-frequency-label{min-width:16px;text-align:center;color:#ecf0f1;font-weight:600;font-size:10px}.mini-frequency-bar-container{flex:1;height:16px;background:#ffffff1a;border-radius:4px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.2)}.mini-frequency-bar-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;transition:width .3s ease;min-width:1px}.mini-frequency-count{min-width:20px;text-align:right;color:#95a5a6;font-size:10px;font-weight:600}}.quick-dice-integrated{margin-bottom:12px}.quick-dice-integrated .quick-dice-gui{position:static!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;padding:8px!important;z-index:auto!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;transition:all .2s ease!important;display:block!important}.quick-dice-integrated .quick-dice-gui:hover{background:#ffffff14!important;border-color:#ffffff40!important}.quick-dice-integrated .quick-dice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.quick-dice-integrated .quick-dice-title{font-size:11px;font-weight:600;color:#fffc;text-transform:uppercase;letter-spacing:.5px}.quick-dice-integrated .quick-dice-minimize,.quick-dice-integrated .quick-dice-toggle{display:none!important}.quick-dice-integrated .quick-dice-buttons{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:4px!important}.quick-dice-integrated .quick-dice-button{background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;color:#ffffffe6!important;font-size:10px!important;font-weight:500!important;padding:4px 6px!important;border-radius:4px!important;cursor:pointer!important;transition:all .2s ease!important;text-align:center!important;min-height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important}.quick-dice-integrated .quick-dice-button:hover{background:#ff6b3533!important;border-color:#ff6b3566!important;color:#fff!important;transform:translateY(-1px)!important}.quick-dice-integrated .quick-dice-button:active{transform:translateY(0)!important}@media (max-width: 480px){.quick-dice-integrated .quick-dice-buttons{grid-template-columns:repeat(4,1fr)!important;gap:3px!important}.quick-dice-integrated .quick-dice-button{font-size:9px!important;padding:3px 4px!important;min-height:24px!important}}@media (max-width: 360px){.quick-dice-integrated .quick-dice-buttons{grid-template-columns:repeat(3,1fr)!important}}.quick-dice-toggle-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.15);border-radius:4px;cursor:pointer;font-size:10px;font-weight:400;transition:all .2s ease}.quick-dice-toggle-btn:hover{background:#ffffff1f}.quick-dice-toggle-btn.active{background:#ff6b3533;color:#fff;border-color:#ff6b3566}.quick-dice-toggle-btn.active:hover{background:#ff6b354d}@media (max-width: 480px){.quick-roll-actions{flex-direction:column;gap:4px}.quick-dice-toggle-btn{justify-content:center}}@media (max-width: 480px){.dice-panel{margin:0 8px;padding:12px;max-width:calc(100vw - 16px);box-sizing:border-box}.dice-input-container{flex-direction:column;gap:8px}.dice-input{font-size:16px;padding:12px 14px}.roll-button{width:100%;padding:14px 20px;font-size:16px}.dice-mode-toggle{flex-wrap:wrap;gap:4px}.dice-mode-buttons,.dice-visibility-compact{flex:1;min-width:0}}@media (max-width: 360px){.dice-panel{margin:0 4px;padding:8px;max-width:calc(100vw - 8px)}.dice-mode-toggle{flex-direction:column;gap:6px;align-items:stretch}.dice-mode-buttons{justify-content:center}.dice-visibility-toggle{padding:6px 10px;font-size:12px;min-width:100px;max-width:none}}#root{width:100%;min-height:100vh;margin:0;padding:0}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes pulse{0%{transform:scale(1);opacity:1;box-shadow:0 2px 8px #e74c3c66}50%{transform:scale(1.1);opacity:.8;box-shadow:0 4px 12px #e74c3c99}to{transform:scale(1);opacity:1;box-shadow:0 2px 8px #e74c3c66}}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
