.rally-logic-container{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:8px 12px 12px;display:flex;overflow:hidden}.rallymind-game-panel{flex-direction:column;align-items:center;gap:6px;width:100%;max-width:272px;display:flex}.feedback-key{flex-direction:row;justify-content:center;gap:14px;width:100%;display:flex}.feedback-key-item{color:hsl(var(--muted-foreground));letter-spacing:.01em;align-items:center;gap:5px;font-size:10.5px;font-weight:500;display:flex}.feedback-key-item .feedback-peg{cursor:default;flex-shrink:0;width:11px;height:11px}.logic-board{flex-direction:column;gap:4px;width:100%;display:flex}.logic-row{grid-template-columns:18px 1fr 32px;align-items:center;gap:8px;display:grid;position:relative}.logic-row-num{text-align:center;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));opacity:.45;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:800;transition:color .15s,opacity .15s,transform .15s;position:relative}.logic-row.is-current .logic-row-num{color:var(--game-accent);opacity:1;font-weight:900}.logic-row.is-current .logic-row-num:after{content:"";background:var(--game-accent);width:4px;height:4px;box-shadow:0 0 8px color-mix(in srgb, var(--game-accent) 70%, transparent);border-radius:50%;animation:1.8s ease-in-out infinite active-dot-pulse;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.logic-row.is-locked .logic-row-num{opacity:.8}@keyframes active-dot-pulse{0%,to{opacity:.85;transform:translateY(-50%)scale(1)}50%{opacity:1;transform:translateY(-50%)scale(1.35)}}.logic-pegs-pill{background:hsl(var(--background));border:1px solid hsl(var(--border));box-shadow:inset 0 1px 0 hsl(var(--background)), 0 1px 2px #0000000a;border-radius:12px;flex-direction:row;justify-content:space-around;align-items:center;gap:5px;padding:5px 10px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.logic-row.is-current .logic-pegs-pill{background:color-mix(in srgb, var(--game-accent) 5%, hsl(var(--background)));border-color:color-mix(in srgb, var(--game-accent) 60%, hsl(var(--border)));box-shadow:inset 0 1px 0 #ffffff73, 0 0 0 2px color-mix(in srgb, var(--game-accent) 28%, transparent), 0 3px 10px color-mix(in srgb, var(--game-accent) 22%, transparent)}.logic-row.is-locked .logic-pegs-pill{background:hsl(var(--muted) / .35)}.logic-feedback{background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:6px;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:2px;width:26px;height:26px;padding:3px;display:grid}.logic-feedback--placeholder{background:0 0;border-color:#0000}.logic-secret{border-bottom:1px dashed color-mix(in srgb, var(--game-accent) 30%, hsl(var(--border)));flex-direction:column;gap:5px;margin-bottom:4px;padding:10px 0 12px;transition:border-bottom-color .45s;display:flex}.logic-secret.revealed{border-bottom:1px solid color-mix(in srgb, var(--game-accent) 55%, hsl(var(--border)))}.logic-secret .logic-pegs-pill--secret{background:repeating-linear-gradient(135deg, hsl(var(--foreground) / .03) 0, hsl(var(--foreground) / .03) 4px, transparent 4px, transparent 10px), color-mix(in srgb, var(--game-accent) 7%, hsl(var(--background)));border:1.5px dashed color-mix(in srgb, var(--game-accent) 38%, hsl(var(--border)));box-shadow:0 1px 3px color-mix(in srgb, var(--game-accent) 10%, transparent)}.logic-secret.revealed .logic-pegs-pill--secret{background:linear-gradient(135deg, color-mix(in srgb, var(--game-accent) 18%, hsl(var(--background))), hsl(var(--background)));border:1.5px solid color-mix(in srgb, var(--game-accent) 55%, hsl(var(--border)));box-shadow:inset 0 1px 0 #fff6, 0 3px 10px color-mix(in srgb, var(--game-accent) 18%, transparent)}.logic-peg{width:var(--peg-size,24px);height:var(--peg-size,24px);border-radius:50%;flex-shrink:0;display:block;position:relative}.logic-peg.empty{background:hsl(var(--muted) / .4);border:1.5px dashed hsl(var(--border));box-shadow:inset 0 1px 2px #0000000f}.logic-peg:not(.empty):not(.locked){background-image:radial-gradient(circle at 34% 34%,#ffffff38,#0000 54%);box-shadow:0 3px 8px #0003,inset -4px -4px 8px #0000002e,inset 4px 4px 8px #ffffff38}.logic-peg:not(.empty):not(.locked):before{content:"";filter:blur(.8px);background:radial-gradient(circle,#ffffff85,#ffffff1f 50%,#0000 70%);border-radius:50%;width:30%;height:30%;position:absolute;top:12%;left:22%}.logic-peg.clickable{cursor:pointer;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s,filter .14s}@media (hover:hover) and (pointer:fine){.logic-peg.clickable:not(.selected):hover{filter:brightness(1.1);transform:scale(1.12)}.logic-peg.empty.clickable:not(.selected):hover{filter:none;background:color-mix(in srgb, var(--game-accent) 18%, hsl(var(--background)));border-style:solid;border-color:color-mix(in srgb, var(--game-accent) 60%, hsl(var(--border)));box-shadow:0 0 0 2px color-mix(in srgb, var(--game-accent) 22%, transparent), inset 0 1px 2px #0000000f}}.logic-peg.selected{box-shadow:0 0 0 2.5px color-mix(in srgb, var(--game-accent) 90%, transparent), 0 0 10px color-mix(in srgb, var(--game-accent) 40%, transparent), inset 1px 1px 4px #0000001f, inset -1px -1px 4px #00000014}.logic-peg.selected:not(.empty){box-shadow:0 0 0 2.5px color-mix(in srgb, var(--game-accent) 90%, transparent), 0 0 10px color-mix(in srgb, var(--game-accent) 40%, transparent), 0 4px 8px #0000002e, inset 0 -4px 8px #0000002e, inset 0 4px 8px #ffffff3d}.logic-peg.locked{background:radial-gradient(circle at 36% 30%, #ffffff1a 0%, transparent 50%), color-mix(in srgb, var(--game-accent) 12%, hsl(var(--muted)));border:1.5px solid color-mix(in srgb, var(--game-accent) 26%, hsl(var(--border)));justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 2px #0000001a}.logic-peg-q{font-size:calc(var(--peg-size,24px) * var(--peg-q-ratio,.56));color:color-mix(in srgb, var(--game-accent) 65%, hsl(var(--muted-foreground)));opacity:.85;-webkit-user-select:none;user-select:none;font-weight:800;line-height:1}.logic-peg.revealed{background-image:radial-gradient(circle at 34% 34%,#ffffff38,#0000 54%);animation:.55s cubic-bezier(.4,0,.2,1) both peg-flip;box-shadow:0 3px 8px #0003,inset -4px -4px 8px #0000002e,inset 4px 4px 8px #ffffff38}@keyframes peg-flip{0%{filter:brightness();transform:scaleX(1)}35%{filter:brightness(.6);transform:scaleX(0)}65%{filter:brightness(.6);transform:scaleX(0)}to{filter:brightness();transform:scaleX(1)}}.logic-completed .logic-peg{width:var(--peg-size-compact,22px);height:var(--peg-size-compact,22px)}.feedback-peg{border-radius:50%;width:100%;height:100%}.feedback-peg.black{background:radial-gradient(circle at 32% 28%,#555 0%,#111 70%);box-shadow:inset 0 1px 2px #000000b3,0 1px 2px #0003}.feedback-peg.white{background:radial-gradient(circle at 32% 28%,#fff 0%,#dde1e5 100%);border:1px solid #00000024;box-shadow:inset 0 -1px 2px #00000014,0 1px 1px #0000001a}.feedback-peg.empty{background:hsl(var(--background));border:1px solid hsl(var(--border))}.palette-section{background:hsl(var(--muted) / .4);border:1px solid hsl(var(--border));border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 3px #0000000a}.palette-label{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--muted-foreground));opacity:.65;padding:7px 0 0;font-size:9px;font-weight:700;display:block}.color-palette{grid-template-columns:repeat(6,1fr);gap:7px;padding:8px 10px 10px;display:grid}.color-button{aspect-ratio:1;cursor:pointer;background-image:radial-gradient(circle at 34% 34%,#ffffff38,#0000 54%);border:none;border-radius:50%;justify-content:center;align-items:center;width:100%;transition:transform .14s cubic-bezier(.34,1.56,.64,1),box-shadow .14s;display:flex;position:relative;box-shadow:0 3px 8px #0003,inset -4px -4px 8px #0000002e,inset 4px 4px 8px #ffffff38}.color-button:before{content:"";filter:blur(.8px);background:radial-gradient(circle,#ffffff85,#ffffff1f 50%,#0000 70%);border-radius:50%;width:30%;height:30%;position:absolute;top:12%;left:22%}@media (hover:hover) and (pointer:fine){.color-button:hover:not(:disabled){transform:translateY(-3px)scale(1.14);box-shadow:0 7px 16px #00000038,inset -4px -4px 8px #0000002e,inset 4px 4px 8px #ffffff38}}.color-button:active:not(:disabled){transform:translateY(-1px)scale(1.04)}.color-button:disabled{opacity:.35;cursor:not-allowed}.color-button-number{z-index:1;color:#ffffffeb;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #00000073,0 0 5px #00000040;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:800;line-height:1;position:relative}@media (min-width:640px){.rally-logic-container{padding:16px 24px}.rallymind-game-panel{gap:8px;max-width:296px}.logic-row{grid-template-columns:20px 1fr 36px;gap:10px}.logic-feedback{width:30px;height:30px}}
