.blocks-page{position:relative;background:radial-gradient(120% 60% at 50% -10%,#e0ecff 0,rgba(224,236,255,0) 55%),linear-gradient(180deg,#e8f2ff,#f0f7ff 40%,#f5f3ff);overflow:hidden}.blocks-top-bar{background:linear-gradient(180deg,rgba(232,242,255,.92),rgba(232,242,255,.55) 70%,rgba(232,242,255,0))}.blocks-chip{background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 4px 10px rgba(139,92,246,.32);width:30px;height:30px;border-radius:12px;justify-content:center;color:#fff}.blocks-chip,.blocks-status-compact{display:flex;align-items:center;flex-shrink:0}.blocks-status-compact{gap:6px}.combo-pill,.score-pill{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:999px;font-size:13px;font-weight:800}.combo-pill{background:linear-gradient(135deg,#fff1b8,#ffe082);border:1.5px solid rgba(245,158,11,.35);color:#b45309}.combo-pill i{color:#ef4444}.score-pill{background:rgba(79,140,255,.1);border:1.5px solid rgba(79,140,255,.2);color:var(--gc-primary)}.score-pill i{color:var(--gc-warning)}.blocks-timer-bar{display:flex;align-items:center;gap:8px;padding:4px 18px 2px;position:relative;z-index:20}.blocks-timer-info{display:flex;align-items:center;gap:3px;font-size:13px;font-weight:800;color:var(--gc-logic);flex-shrink:0;min-width:42px}.blocks-timer-track{flex:1;height:8px;background:rgba(167,139,250,.15);border-radius:999px;overflow:hidden}.blocks-timer-fill{height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#a78bfa,#8b5cf6);transition:width .6s ease,background .3s ease}.blocks-timer-fill.danger{background:linear-gradient(90deg,#f87171,#ef4444)}.rounds-bar-wrap{padding:2px 18px 4px;position:relative;z-index:20}.rounds-dots{display:flex;gap:5px;justify-content:center;align-items:center}.rounds-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--gc-border);transition:all .3s ease}.rounds-dots .dot.done{background:var(--gc-success);box-shadow:0 0 6px rgba(34,197,94,.4)}.rounds-dots .dot.current{width:20px;border-radius:999px;background:var(--gc-logic);box-shadow:0 0 10px rgba(167,139,250,.5)}.rounds-dots .dot-line{width:10px;height:2px;border-radius:999px;background:var(--gc-border)}.rounds-dots .dot-line.done{background:var(--gc-success)}.blocks-play-area{flex:1;position:relative;z-index:10;display:flex;flex-direction:column;gap:10px;padding:6px 16px 80px}.expression-card{background:var(--gc-card);border-radius:12px;box-shadow:0 4px 16px rgba(139,92,246,.08),0 1px 4px rgba(0,0,0,.04);padding:12px 14px;border:1px solid rgba(167,139,250,.1);text-align:center;position:relative;overflow:hidden}.expression-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#a78bfa,#8b5cf6,#c4b5fd)}.expr-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.expression-label{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:var(--gc-logic);background:rgba(167,139,250,.1);padding:2px 8px;border-radius:999px}.voice-btn-mini{width:26px;height:26px;border-radius:50%;border:none;background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(139,92,246,.3);flex-shrink:0}.voice-btn-mini:active{transform:scale(.9)}.target-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.target-big-number{font-size:40px;font-weight:900;background:linear-gradient(135deg,#a78bfa,#8b5cf6 50%,#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.selected-blocks-row{gap:5px;flex-wrap:wrap}.block-tile,.selected-blocks-row{display:flex;align-items:center;justify-content:center}.block-tile{font-weight:800;border-radius:12px;transition:all .2s ease}.block-tile.num{width:32px;height:32px;font-size:15px;background:var(--gc-card);border:2px solid var(--gc-border);color:var(--gc-foreground)}.block-tile.num.placeholder{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:2px dashed rgba(167,139,250,.35);color:rgba(167,139,250,.6)}.block-tile.num.selected{background:linear-gradient(180deg,#a78bfa,#8b5cf6);border-color:var(--gc-logic);color:#fff;box-shadow:0 3px 10px rgba(139,92,246,.4)}.block-tile.op{width:16px;height:16px;font-size:14px;color:var(--gc-muted-foreground);font-weight:900}.block-tile.sum{width:38px;height:32px;font-size:15px;background:rgba(34,197,94,.12);border:2px solid rgba(34,197,94,.35);color:var(--gc-success)}.block-tile.sum.wrong{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:var(--gc-danger)}.blocks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:2px}.num-block{aspect-ratio:1;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;border:2px solid transparent;user-select:none;-webkit-tap-highlight-color:transparent;padding:0;font-family:inherit}.num-block:active{transform:scale(.93)}.num-block.c-blue{background:linear-gradient(145deg,#ebf2ff,#d6e6ff);border-color:rgba(79,140,255,.25);box-shadow:0 3px 10px rgba(79,140,255,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-blue .block-num{color:var(--gc-math)}.num-block.c-green{background:linear-gradient(145deg,#ecfdf5,#d1fae5);border-color:rgba(34,197,94,.25);box-shadow:0 3px 10px rgba(34,197,94,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-green .block-num{color:#16a34a}.num-block.c-orange{background:linear-gradient(145deg,#fff7ed,#ffedd5);border-color:rgba(249,115,22,.25);box-shadow:0 3px 10px rgba(249,115,22,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-orange .block-num{color:#ea580c}.num-block.c-purple{background:linear-gradient(145deg,#f5f3ff,#ede9fe);border-color:rgba(139,92,246,.25);box-shadow:0 3px 10px rgba(139,92,246,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-purple .block-num{color:#7c3aed}.num-block.c-pink{background:linear-gradient(145deg,#fff1f2,#ffe4e6);border-color:rgba(236,72,153,.25);box-shadow:0 3px 10px rgba(236,72,153,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-pink .block-num{color:#db2777}.num-block.c-teal{background:linear-gradient(145deg,#f0fdfa,#ccfbf1);border-color:rgba(20,184,166,.25);box-shadow:0 3px 10px rgba(20,184,166,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-teal .block-num{color:#0d9488}.num-block.c-amber{background:linear-gradient(145deg,#fffbeb,#fef3c7);border-color:rgba(245,158,11,.25);box-shadow:0 3px 10px rgba(245,158,11,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-amber .block-num{color:#d97706}.num-block.c-red{background:linear-gradient(145deg,#fef2f2,#fecaca);border-color:rgba(239,68,68,.25);box-shadow:0 3px 10px rgba(239,68,68,.12),inset 0 1px 0 hsla(0,0%,100%,.8)}.num-block.c-red .block-num{color:#dc2626}.block-num{font-size:24px;font-weight:800;line-height:1}.num-block.selected{transform:scale(1.06);box-shadow:0 0 20px rgba(139,92,246,.5),0 4px 12px rgba(139,92,246,.3)!important;border-color:var(--gc-logic)!important;background:linear-gradient(145deg,#a78bfa,#8b5cf6)!important;animation:block-pop .25s cubic-bezier(.34,1.56,.64,1)}.num-block.selected .block-num{color:#fff!important}@keyframes block-pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1.06)}}.num-block.correct{background:linear-gradient(145deg,#f0fdf4,#dcfce7)!important;border-color:var(--gc-success)!important;box-shadow:0 0 20px rgba(34,197,94,.35),0 3px 10px rgba(34,197,94,.2)!important;animation:block-correct .5s ease}.num-block.correct .block-num{color:var(--gc-success)!important}.num-block.correct:after{content:"";position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--gc-success);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:10px;background-repeat:no-repeat;background-position:50%}@keyframes block-correct{0%{transform:scale(1)}30%{transform:scale(1.08)}to{transform:scale(1)}}.num-block.wrong{animation:block-shake .4s ease}@keyframes block-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.num-block.faded{opacity:.4;pointer-events:none;transform:scale(.95)}.blocks-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(245,243,255,0),rgba(245,243,255,.92) 30%,#eaf3ff);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:var(--gc-container-width);margin:0 auto}.blocks-bottom-bar .action-btn{flex:1;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px;font-weight:800;box-shadow:var(--gc-shadow-sm);transition:transform .12s ease,box-shadow .2s ease;cursor:pointer;border:none;font-family:inherit}.blocks-bottom-bar .action-btn:active{transform:scale(.96)}.blocks-bottom-bar .action-btn i,.blocks-bottom-bar .action-btn svg{width:17px;height:17px}.blocks-bottom-bar .btn-hint{background:#fff6e6;color:var(--gc-warning);border:1.5px solid rgba(245,158,11,.4)}.blocks-bottom-bar .btn-submit{flex:1.3;background:linear-gradient(135deg,#a78bfa,#8b5cf6 50%,#7c3aed);color:#fff;box-shadow:0 5px 16px rgba(139,92,246,.4);position:relative;overflow:hidden}.blocks-bottom-bar .btn-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.25),transparent);transition:left .5s ease}.blocks-bottom-bar .btn-submit:active:before{left:100%}@media (min-width:768px){.blocks-bottom-bar .action-btn{height:52px}}.blocks-bottom-bar .btn-clear{background:linear-gradient(180deg,#f5f3ff,#ede9fe);color:#7c3aed;border:1.5px solid #c4b5fd}.blocks-float-feedback,.game-float-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:20px 32px;border-radius:12px;font-size:28px;font-weight:800;pointer-events:none;z-index:100;animation:float-feedback 1.2s ease-out forwards}.blocks-float-feedback.correct,.game-float-feedback.correct{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 10px 40px rgba(34,197,94,.4)}.blocks-float-feedback.wrong,.game-float-feedback.wrong{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 10px 40px rgba(239,68,68,.4)}