:root{--bg-gradient: linear-gradient(135deg, #0f0c1b 0%, #1a103c 50%, #0d0a1a 100%);--card-bg: rgba(255, 255, 255, .03);--card-border: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: #a0aec0;--color-b: #ff3366;--color-i: #33ccff;--color-n: #ffcc00;--color-g: #33ff66;--color-o: #cc33ff;--primary: #8a2be2;--primary-hover: #9d4edd;--btn-primary-text: #ffffff;--danger: #e53e3e;--shadow-glow: 0 0 20px rgba(138, 43, 226, .3);--input-bg: rgba(0, 0, 0, .4);--status-bg: rgba(0, 0, 0, .2);--number-bg: rgba(255, 255, 255, .02);--number-border: rgba(255, 255, 255, .05);--number-hover: rgba(255, 255, 255, .08);--history-item-bg: rgba(255, 255, 255, .08);--btn-text: #fc8181;--btn-border: rgba(229, 62, 62, .4);--btn-hover: rgba(229, 62, 62, .1);--text-glow: 0 0 15px rgba(255, 51, 102, .5);--switcher-bg: rgba(255, 255, 255, .05);--switcher-btn-color: #a0aec0;--switcher-btn-active-bg: rgba(255, 255, 255, .15);--switcher-btn-active-color: #ffffff}body.theme-light{--bg-gradient: linear-gradient(135deg, #f5f7fa 0%, #e4e8f0 100%);--card-bg: rgba(255, 255, 255, .85);--card-border: rgba(0, 0, 0, .08);--text-primary: #1a202c;--text-secondary: #4a5568;--color-b: #d53f8c;--color-i: #3182ce;--color-n: #dd6b20;--color-g: #38a169;--color-o: #805ad5;--primary: #6b46c1;--primary-hover: #553c9a;--btn-primary-text: #ffffff;--danger: #e53e3e;--shadow-glow: 0 4px 12px rgba(107, 70, 193, .2);--input-bg: rgba(255, 255, 255, .9);--status-bg: rgba(0, 0, 0, .03);--number-bg: rgba(0, 0, 0, .02);--number-border: rgba(0, 0, 0, .06);--number-hover: rgba(0, 0, 0, .05);--history-item-bg: rgba(0, 0, 0, .05);--btn-text: #e53e3e;--btn-border: rgba(229, 62, 62, .5);--btn-hover: rgba(229, 62, 62, .08);--text-glow: none;--switcher-bg: rgba(0, 0, 0, .05);--switcher-btn-color: #4a5568;--switcher-btn-active-bg: #ffffff;--switcher-btn-active-color: #1a202c}body.theme-contrast{--bg-gradient: none;background-color:#000!important;--card-bg: #000000;--card-border: #ffffff;--text-primary: #ffffff;--text-secondary: #ffffff;--color-b: #ffff00;--color-i: #00ffff;--color-n: #ff00ff;--color-g: #00ff00;--color-o: #ffffff;--primary: #ffffff;--primary-hover: #ffffff;--btn-primary-text: #000000;--danger: #ff0000;--shadow-glow: none;--input-bg: #000000;--status-bg: #000000;--number-bg: #000000;--number-border: #ffffff;--number-hover: #333333;--history-item-bg: #000000;--btn-text: #ffff00;--btn-border: #ffffff;--btn-hover: #333333;--text-glow: none;--switcher-bg: #000000;--switcher-btn-color: #888888;--switcher-btn-active-bg: #ffffff;--switcher-btn-active-color: #000000}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);min-height:100vh;display:flex;justify-content:center;padding:2rem 1rem;transition:background .3s ease,color .3s ease}.app-container{max-width:1200px;width:100%;display:flex;flex-direction:column;gap:2rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1.5rem}.header-content{text-align:left}@media (max-width: 600px){header{flex-direction:column;text-align:center}.header-content{text-align:center}}header h1{font-size:3rem;font-weight:800;letter-spacing:-1px;margin-bottom:.5rem}header h1 span{background:linear-gradient(90deg,#9d4edd,#f36);-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.theme-contrast header h1 span{background:none;-webkit-background-clip:initial;-webkit-text-fill-color:initial;color:var(--color-b)}header p{color:var(--text-secondary);font-size:1.1rem}.theme-switcher{display:flex;background:var(--switcher-bg);padding:4px;border-radius:12px;border:1px solid var(--card-border)}.theme-btn{background:transparent;border:none;color:var(--switcher-btn-color);width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-btn:hover{color:var(--text-primary)}.theme-btn.active{background:var(--switcher-btn-active-bg);color:var(--switcher-btn-active-color);box-shadow:0 2px 8px #00000026}body.theme-contrast .theme-switcher{border:2px solid #ffffff}body.theme-contrast .theme-btn.active{outline:2px solid #ffffff}main{display:grid;grid-template-columns:350px 1fr;gap:2rem}@media (max-width: 900px){main{grid-template-columns:1fr}}.glass-card{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:20px;padding:1.75rem;box-shadow:0 8px 32px #0000005e;transition:all .3s cubic-bezier(.4,0,.2,1)}body.theme-contrast .glass-card{border:2px solid #ffffff;box-shadow:none;background:#000}.control-panel{display:flex;flex-direction:column;gap:1.5rem}.draw-card h2{font-size:1.4rem;margin-bottom:1rem;font-weight:600;color:var(--text-primary)}.input-group{display:flex;gap:.75rem}#stone-input{flex:1;background:var(--input-bg);border:1px solid var(--card-border);border-radius:12px;padding:1rem;font-size:1.25rem;color:var(--text-primary);font-weight:600;text-align:center;outline:none;transition:all .2s}body.theme-contrast #stone-input{border:2px solid #ffffff}#stone-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}#stone-input::-webkit-outer-spin-button,#stone-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#submit-btn{background:linear-gradient(135deg,var(--primary),var(--primary-hover));border:none;border-radius:12px;color:var(--btn-primary-text);font-weight:700;padding:0 1.5rem;font-size:1rem;cursor:pointer;transition:transform .1s,opacity .2s}body.theme-contrast #submit-btn{background:#fff;border:2px solid #ffffff;color:#000}#submit-btn:hover{opacity:.9}#submit-btn:active{transform:scale(.97)}.error-msg{color:var(--danger);font-size:.85rem;margin-top:.5rem;min-height:1.25rem;font-weight:500}.status-card{display:flex;flex-direction:column;gap:1.5rem}.status-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--status-bg);border-radius:14px}body.theme-contrast .status-item{border:1px solid #ffffff}.status-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}.status-value{font-size:2.5rem;font-weight:800;color:var(--text-primary)}#last-drawn{color:var(--color-b);text-shadow:var(--text-glow);animation:pulse 2s infinite alternate}body.theme-contrast #last-drawn{color:#fff;text-shadow:none;animation:none}.btn-secondary{background:transparent;border:1px solid var(--btn-border);color:var(--btn-text);border-radius:12px;padding:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}body.theme-contrast .btn-secondary{border:2px solid #ff0000;color:red}.btn-secondary:hover{background:var(--btn-hover);border-color:var(--danger)}.bingo-board-container{display:flex;flex-direction:column}.bingo-board{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;padding:2rem}@media (max-width: 600px){.bingo-board{grid-template-columns:1fr;gap:1.5rem;padding:1rem}}.bingo-column{display:flex;flex-direction:column;gap:1rem;align-items:center}.column-header{font-size:2.2rem;font-weight:800;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:.5rem;box-shadow:0 4px 15px #0003}body.theme-contrast .column-header{box-shadow:none}.bingo-column[data-letter=B] .column-header{background:#ff336626;border:2px solid var(--color-b);color:var(--color-b)}.bingo-column[data-letter=I] .column-header{background:#33ccff26;border:2px solid var(--color-i);color:var(--color-i)}.bingo-column[data-letter=N] .column-header{background:#ffcc0026;border:2px solid var(--color-n);color:var(--color-n)}.bingo-column[data-letter=G] .column-header{background:#33ff6626;border:2px solid var(--color-g);color:var(--color-g)}.bingo-column[data-letter=O] .column-header{background:#cc33ff26;border:2px solid var(--color-o);color:var(--color-o)}body.theme-contrast .bingo-column[data-letter=B] .column-header{background:#000;border:2px solid #ffffff;color:var(--color-b)}body.theme-contrast .bingo-column[data-letter=I] .column-header{background:#000;border:2px solid #ffffff;color:var(--color-i)}body.theme-contrast .bingo-column[data-letter=N] .column-header{background:#000;border:2px solid #ffffff;color:var(--color-n)}body.theme-contrast .bingo-column[data-letter=G] .column-header{background:#000;border:2px solid #ffffff;color:var(--color-g)}body.theme-contrast .bingo-column[data-letter=O] .column-header{background:#000;border:2px solid #ffffff;color:var(--color-o)}.numbers-grid{display:flex;flex-direction:column;gap:.5rem;width:100%}@media (max-width: 600px){.numbers-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}}.bingo-number{background:var(--number-bg);border:1px solid var(--number-border);border-radius:10px;padding:.6rem;text-align:center;font-weight:600;color:var(--text-secondary);transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;-webkit-user-select:none;user-select:none}body.theme-contrast .bingo-number{border:1px solid #ffffff}.bingo-number:hover{background:var(--number-hover);transform:translateY(-2px);color:var(--text-primary)}.bingo-column[data-letter=B] .bingo-number.drawn{background:var(--color-b);color:#000;box-shadow:0 0 15px #f369;border-color:transparent;animation:draw-pop .4s ease-out}.bingo-column[data-letter=I] .bingo-number.drawn{background:var(--color-i);color:#000;box-shadow:0 0 15px #3cf9;border-color:transparent;animation:draw-pop .4s ease-out}.bingo-column[data-letter=N] .bingo-number.drawn{background:var(--color-n);color:#000;box-shadow:0 0 15px #fc09;border-color:transparent;animation:draw-pop .4s ease-out}.bingo-column[data-letter=G] .bingo-number.drawn{background:var(--color-g);color:#000;box-shadow:0 0 15px #3f69;border-color:transparent;animation:draw-pop .4s ease-out}.bingo-column[data-letter=O] .bingo-number.drawn{background:var(--color-o);color:#000;box-shadow:0 0 15px #c3f9;border-color:transparent;animation:draw-pop .4s ease-out}body.theme-contrast .bingo-number.drawn{box-shadow:none!important;border-color:#fff!important;font-weight:800}.history-section{grid-column:1 / -1}.history-section h2{font-size:1.3rem;margin-bottom:1rem;color:var(--text-primary)}.history-list{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;min-height:45px}.history-item{background:var(--history-item-bg);border-radius:30px;padding:.5rem 1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;animation:slide-in .3s ease-out}body.theme-contrast .history-item{border:1px solid #ffffff}.history-item.col-B{border-left:4px solid var(--color-b);color:var(--color-b)}.history-item.col-I{border-left:4px solid var(--color-i);color:var(--color-i)}.history-item.col-N{border-left:4px solid var(--color-n);color:var(--color-n)}.history-item.col-G{border-left:4px solid var(--color-g);color:var(--color-g)}.history-item.col-O{border-left:4px solid var(--color-o);color:var(--color-o)}body.theme-contrast .history-item.col-B{color:var(--color-b);border-left:4px solid var(--color-b)}body.theme-contrast .history-item.col-I{color:var(--color-i);border-left:4px solid var(--color-i)}body.theme-contrast .history-item.col-N{color:var(--color-n);border-left:4px solid var(--color-n)}body.theme-contrast .history-item.col-G{color:var(--color-g);border-left:4px solid var(--color-g)}body.theme-contrast .history-item.col-O{color:var(--color-o);border-left:4px solid var(--color-o)}.placeholder-text{color:var(--text-secondary);font-style:italic}@keyframes draw-pop{0%{transform:scale(.8);filter:brightness(1.5)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.8}to{opacity:1}}
