@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap";:root{--bg-color:#0d0e15;--surface-color:#1a1c29;--primary-color:#ff3b30;--primary-glow:#ff3b3066;--text-primary:#fff;--text-secondary:#8e8e93;--dice-bg:#fff;--dice-dot:#1c1c1e;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-family:Outfit,sans-serif;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}button{cursor:pointer;transition:var(--transition-smooth);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:none;border-radius:12px;padding:14px 28px;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600;box-shadow:0 4px 14px #0003}.btn,[role=button],[role=tab]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:active{transform:scale(.96)}button.primary{background:linear-gradient(135deg, var(--primary-color), #ff2d55);color:#fff;box-shadow:0 4px 20px var(--primary-glow)}button.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #ff3b3099}button.secondary{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff1a}button.secondary:hover:not(:disabled){background-color:#ffffff26;transform:translateY(-2px)}button:disabled,button.primary:disabled,button.secondary:disabled{opacity:.4;cursor:not-allowed;filter:grayscale();box-shadow:none!important;transform:none!important}.container{flex-direction:column;flex:1;width:100%;max-width:600px;margin:0 auto;padding:2rem;display:flex}.title{text-align:center;background:linear-gradient(90deg,#fff,#8e8e93);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:3rem;font-weight:800}.glass-card{-webkit-backdrop-filter:blur(16px);background:#1a1c2999;border:1px solid #ffffff0d;border-radius:24px;padding:2rem;box-shadow:0 8px 32px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s cubic-bezier(.25,.8,.25,1) forwards fadeIn}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulseSubtle{0%{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.animate-pulse-subtle{animation:3s ease-in-out infinite pulseSubtle}@keyframes diceLose{0%{opacity:1;filter:none;transform:scale(1)}25%{filter:drop-shadow(0 0 10px #ff3b30);transform:scale(1.15)}50%{filter:drop-shadow(0 0 15px #ff3b30)brightness(1.2);transform:scale(1.15)}to{opacity:.25;filter:invert()grayscale()contrast(1.2);transform:scale(.9)}}.dice-lose-animate{animation:1.5s cubic-bezier(.25,.8,.25,1) 1s forwards diceLose}.log-container{scroll-behavior:smooth;scroll-snap-type:y mandatory;overflow:hidden auto}.log-container::-webkit-scrollbar{width:6px}.log-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.log-container::-webkit-scrollbar-thumb{background:#30d1b080;border-radius:4px}.log-container::-webkit-scrollbar-thumb:hover{background:#30d1b0cc}.log-entry{scroll-snap-align:start}.dice-grid-5{flex-wrap:wrap;justify-content:center;gap:4px;max-width:113px;margin:0 auto;display:flex}.dice-grid-4{grid-template-columns:max-content max-content;justify-content:center;justify-items:center;gap:4px;display:grid}.dice-grid-inline{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;max-width:110px;margin:0 auto;display:flex}@media (width>=768px){.dice-grid-inline:not(.dice-count-4){max-width:155px}.dice-grid-inline.dice-count-4{max-width:110px}}.game-layout-wrapper{flex-direction:column;gap:1rem;width:100%;display:flex}.log-column{flex:none;width:100%}.log-column .glass-card{height:160px!important}.main-content-column{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}@media (width>=1024px){.online-game-page.container{max-width:1000px}.game-layout-wrapper{flex-direction:row;justify-content:center;align-items:flex-start}.log-column{flex:0 0 300px;height:calc(100vh - 150px);margin-top:0;position:sticky;top:1rem}.main-content-column{flex:0 0 600px}.log-column .glass-card{height:100%!important}}.online-game-page [data-hint]{position:relative}[data-hint]{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}.hint-bubble{z-index:100000;color:#ffffffed;text-align:center;pointer-events:none;background:#12121af7;border:1px solid #ffffff29;border-radius:10px;max-width:min(230px,100vw - 32px);padding:8px 12px;font-size:.8rem;line-height:1.45;animation:.12s ease-out hintIn;position:fixed;box-shadow:0 8px 24px #00000080}@keyframes hintIn{0%{opacity:0}to{opacity:1}}.online-game-page .prefs-menu-button{display:none}@media (width<=640px){.online-game-page .pref-toggle,.online-game-page .topbar-action{display:none}.online-game-page .prefs-menu-button{display:block}}:root{--success:#34c759;--success-dim:#34c75933;--success-border:#34c75980;--danger:#ff3b30;--danger-dim:#ff3b3033;--danger-border:#ff3b3080;--info:#0a84ff;--info-dim:#0a84ff33;--info-border:#0a84ff80;--warning:#ff9500;--warning-dim:#ff950033;--warning-border:#ff950080;--teal:#30d1b0;--teal-dim:#30d1b026;--violet:#b388ff;--panel:#12121af5;--panel-border:#ffffff29;--radius-sm:8px;--radius-md:12px;--radius-lg:24px}.btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-block{width:100%}.btn-sm{padding:8px 12px;font-size:.8rem}.btn-xs{padding:4px 8px;font-size:.7rem}.btn-lg{padding:15px;font-size:1.2rem}.btn-danger{background-color:var(--danger-dim);color:var(--danger);border:1px solid var(--danger-border)}.btn-danger:hover:not(:disabled){background-color:#ff3b3052}.btn-success{background-color:var(--success-dim);color:var(--success);border:1px solid var(--success-border)}.btn-success:hover:not(:disabled){background-color:#34c75952}.btn-warning{background-color:var(--warning-dim);color:var(--warning);border:1px solid var(--warning-border)}.btn-warning:hover:not(:disabled){background-color:#ff950052}.btn-info{background-color:var(--info-dim);color:var(--info);border:1px solid var(--info-border)}.btn-info:hover:not(:disabled){background-color:#0a84ff52}.banner{text-align:center;width:100%;margin-bottom:1rem;padding:1.5rem}.banner-title{justify-content:center;align-items:center;margin:0 0 .5rem;font-size:1.2rem;display:flex}.banner-danger{border-color:var(--danger);background-color:#ff3b301a}.banner-warning{background-color:var(--warning-dim);border-color:var(--warning)}.banner-success{background-color:var(--success-dim);border-color:var(--success)}.banner-info{background-color:var(--info-dim);border-color:var(--info)}.banner-violet{border-color:var(--violet)}.menu-overlay{z-index:9998;position:fixed;inset:0}.menu-panel{z-index:9999;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;min-width:230px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000080}.menu-item{text-align:left;width:100%;box-shadow:none;color:#fff;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;display:flex}.menu-item:hover:not(:disabled){background:#ffffff14;transform:none}button:focus-visible,[role=switch]:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--info);outline-offset:2px}.dice{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:80px;height:80px;padding:10px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:grid;position:relative;box-shadow:inset 0 4px 8px #fffc,inset 0 -4px 8px #0000001a,0 8px 16px #0003}.dice:hover{transform:translateY(-4px)rotate(2deg)}.dice.rolling{animation:.6s cubic-bezier(.2,.8,.2,1.2) infinite alternate roll}@keyframes roll{0%{transform:scale(.9)rotate(-10deg)translateY(0)}50%{transform:scale(1.1)rotate(5deg)translateY(-20px)}to{transform:scale(.95)rotate(10deg)translateY(0)}}.dot{background-color:var(--dice-dot);border-radius:50%;width:14px;height:14px;box-shadow:inset 0 2px 4px #00000080}.center{grid-area:2/2;place-self:center}.top-left{grid-area:1/1}.top-right{grid-area:1/3;justify-self:end}.middle-left{grid-area:2/1;align-self:center}.middle-right{grid-area:2/3;place-self:center end}.bottom-left{grid-area:3/1;align-self:end}.bottom-right{grid-area:3/3;place-self:end}
