.shutters-root{box-sizing:border-box;width:100%;max-width:440px;color:var(--color-foreground,#fff);-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;justify-content:flex-start;align-items:center;margin:0 auto;padding:1rem .75rem 2rem;font-family:inherit;display:flex}.shutters-header{text-align:center;width:100%;margin-bottom:.75rem}.shutters-title{letter-spacing:-.02em;color:#fbbf24;margin:0 0 .25rem;font-size:1.5rem;font-weight:800}.shutters-subtitle{color:var(--color-muted-foreground,#8e9cae);margin:0;font-size:.85rem;line-height:1.3}.shutters-status-card{box-sizing:border-box;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:12px;justify-content:space-between;align-items:center;width:100%;margin-bottom:.75rem;padding:.6rem 1rem;display:flex}.shutters-goal-badge{color:#fbbf24;font-size:.95rem;font-weight:800}.shutters-presses-badge{color:var(--color-muted-foreground,#8e9cae);font-size:.85rem;font-weight:600}.shutters-grid{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px;margin:.5rem 0 1rem;display:grid}.shutter-cell{cursor:pointer;touch-action:manipulation;background:#ffffff0a;border:2px solid #ffffff26;border-radius:16px;justify-content:center;align-items:center;width:100%;min-width:80px;height:100%;min-height:80px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 4px 12px #00000040}.shutter-cell:hover:not(:disabled){border-color:#fbbf2499;transform:scale(1.02)}.shutter-cell:active:not(:disabled){border-color:#fbbf24;transform:scale(.96)}.shutter-cell.closed{background:#4ade800d;border-color:#4ade8066}.shutter-slats{pointer-events:none;flex-direction:column;justify-content:space-evenly;align-items:center;width:44px;height:44px;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex}.shutter-cell.pos-0 .shutter-slats{transform:rotate(0)}.shutter-cell.pos-1 .shutter-slats{transform:rotate(45deg)}.shutter-cell.pos-2 .shutter-slats{transform:rotate(90deg)}.shutter-cell.pos-3 .shutter-slats{transform:rotate(135deg)}.slat-bar{background:#fbbf24;border-radius:3px;width:38px;height:5px;box-shadow:0 0 4px #fbbf2466}.shutter-cell.closed .slat-bar{background:#4ade80;box-shadow:0 0 6px #4ade8066}.shutter-pips{pointer-events:none;gap:3px;display:flex;position:absolute;top:6px;right:6px}.shutter-pip{background:#fbbf24;border-radius:50%;width:5px;height:5px}.shutter-pip.empty{background:#fff3}.shutters-toolbar{gap:.5rem;width:100%;max-width:320px;display:flex}.shutters-tool-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:12px;flex:1;min-height:44px;padding:.65rem;font-size:.9rem;font-weight:700;transition:all .15s}.shutters-tool-btn:hover:not(:disabled){background:#ffffff1f}.shutters-tool-btn:disabled{opacity:.4;cursor:not-allowed}.shutters-win-card{text-align:center;box-sizing:border-box;background:#ffffff0d;border:1px solid #fbbf244d;border-radius:16px;width:100%;max-width:340px;margin-top:.5rem;padding:1.5rem 1rem}.shutters-win-title{color:#fbbf24;margin:0 0 .25rem;font-size:1.5rem;font-weight:900}.shutters-win-sub{color:var(--color-muted-foreground,#8e9cae);margin:0 0 1rem;font-size:.95rem}.shutters-actions{gap:.5rem;width:100%;display:flex}.shutters-primary-btn{cursor:pointer;color:#120c04;background:#fbbf24;border:none;border-radius:12px;flex:1;padding:.75rem;font-size:.95rem;font-weight:800;transition:all .15s}.shutters-secondary-btn{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:12px;flex:1;padding:.75rem;font-size:.95rem;font-weight:700;transition:all .15s}@media (prefers-reduced-motion:reduce){.shutter-cell,.shutter-slats,.shutters-tool-btn,.shutters-primary-btn,.shutters-secondary-btn{transition:none!important}.shutter-cell:hover:not(:disabled),.shutter-cell:active:not(:disabled){transform:none}}@media (max-height:430px){.shutters-root{padding:.5rem .75rem .75rem}.shutters-header{margin-bottom:.4rem}.shutters-title{font-size:1.15rem}.shutters-subtitle{display:none}.shutters-status-card{margin-bottom:.4rem;padding:.4rem 1rem}.shutters-grid{gap:8px;max-width:196px;margin:.25rem 0 .5rem}.shutter-cell{border-radius:12px;min-width:44px;min-height:44px}.shutter-slats{width:30px;height:30px}.slat-bar{width:26px}}
