.shell{display:flex;flex-direction:column;height:100%;margin:0 auto;background:radial-gradient(ellipse at center,var(--bg-gradient-inner),var(--bg-gradient-outer));position:relative;overflow:hidden}.shell-medium{max-width:480px}.shell-small{max-width:300px}.shell-small .shell-header{padding:6px 10px}.shell-small .shell-logo{font-size:12px}.shell-small .shell-title{font-size:11px}.shell-small .shell-game{padding:4px}.shell-small .shell-game>*{transform:scale(.72);transform-origin:top center}.shell-small .cta-text{font-size:20px}.shell-small .cta-button{font-size:13px;padding:8px 20px}.shell-wide{max-width:728px;flex-direction:column}.shell-wide .shell-header{padding:4px 12px;border-bottom:none}.shell-wide .shell-logo{font-size:13px}.shell-wide .shell-title{font-size:11px}.shell-wide .shell-game{flex:1;flex-direction:row;padding:2px 12px 4px;gap:8px}.shell-wide .shell-game>*{transform:scale(.65);transform-origin:center center}.shell-wide .shell-cta-overlay{flex-direction:row}.shell-wide .shell-cta{flex-direction:row;gap:20px;align-items:center}.shell-wide .cta-text{font-size:20px}.shell-wide .cta-button{font-size:13px;padding:8px 20px}.shell-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--title-color),transparent 90%);flex-shrink:0}.shell-logo{font-family:var(--font-display);font-size:16px;color:var(--title-color)}.shell-title{font-family:var(--font-body);font-weight:800;font-size:14px;color:var(--text-muted)}.shell-game{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;overflow:hidden}.shell-cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--overlay);animation:fadeIn .4s ease;z-index:10}.shell-cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.cta-text{font-family:var(--font-display);font-size:28px;color:var(--title-color)}.cta-button{font-family:var(--font-body);font-weight:800;font-size:16px;padding:12px 32px;border:none;border-radius:var(--radius-lg);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;transition:transform .15s,background .15s;box-shadow:0 4px color-mix(in srgb,var(--btn-primary-bg),#000 25%),0 6px 12px #0003}.cta-button:hover{background:var(--btn-primary-hover);transform:translateY(-2px)}.cta-button:active{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--btn-primary-bg),#000 25%),0 2px 4px #0003}.rotate-wrapper{height:100%;display:flex;flex-direction:column;transition:opacity .35s ease}.rotate-wrapper.rotate-fading{opacity:0}.rotate-dots{display:flex;justify-content:center;gap:6px;padding:4px 0 2px}.rotate-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);transition:background .3s ease,transform .3s ease}.rotate-dot--active{background:var(--accent);transform:scale(1.4)}.nono{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.nono-progress{width:min(100%,280px);height:6px;background:var(--cell-empty);border-radius:3px;overflow:hidden}.nono-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.nono-grid{display:grid;gap:3px;width:min(100%,280px)}.nono-clue{display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:800;font-size:16px;color:var(--text-color)}.nono-col-clue{flex-direction:column;gap:1px}.nono-row-clue{flex-direction:row;gap:5px;justify-content:flex-end;padding-right:8px}.nono-cell{border:none;border-radius:4px;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s;background:var(--cell-empty);aspect-ratio:1;width:100%}.nono-cell.blocked{cursor:default}.nono-cell.hint{background:#f0b83040;animation:nono-glow 1.8s ease-in-out infinite;cursor:pointer}.nono-cell.hint:hover{background:var(--cell-filled-hover);transform:scale(1.08);animation:none}.nono-cell.prefilled{background:var(--cell-filled);opacity:.7}.nono-cell.filled{background:var(--cell-filled);animation:nono-fill-pop .25s ease}.nono-cell.solved{animation:nono-solve-pop .4s ease}.nono-hint-text{font-size:13px;color:var(--text-muted);text-align:center}.glow-label{color:var(--accent);font-weight:800}@keyframes nono-glow{0%,to{box-shadow:0 0 4px #f0b8304d;background:#f0b83033}50%{box-shadow:0 0 12px #f0b83099;background:#f0b83059}}@keyframes nono-fill-pop{0%{transform:scale(.8)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes nono-solve-pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.sb{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;position:relative}.sb-instruction{font-weight:800;font-size:13px;color:var(--title-color);text-align:center;margin:0}.sb-grid{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px;width:min(100%,300px);aspect-ratio:1}.sb-cell{border:none;border-radius:2px;cursor:pointer;background:var(--cell-empty);transition:background .15s,transform .15s}.sb-cell.filled{background:var(--cell-filled)}.sb-cell.hover-valid{background:color-mix(in srgb,var(--success) 45%,transparent);transform:scale(1.06)}.sb-cell.hover-invalid{background:color-mix(in srgb,var(--error) 30%,transparent)}.sb-cell.border-top{border-top:2px solid var(--cell-stroke)}.sb-cell.border-left{border-left:2px solid var(--cell-stroke)}@keyframes hintPulse{0%,to{box-shadow:0 0 4px 1px color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 20%,transparent)}50%{box-shadow:0 0 10px 3px color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 40%,transparent)}}.sb-cell.hint-glow{animation:hintPulse 1.2s ease-in-out infinite;z-index:1}@keyframes clearFlash{0%{background:var(--cell-filled);transform:scale(1);opacity:1}30%{background:color-mix(in srgb,var(--accent) 80%,white);transform:scale(1.15);opacity:1}to{background:color-mix(in srgb,var(--accent) 80%,white);transform:scale(0);opacity:0}}.sb-cell.clearing{animation:clearFlash .35s ease-out forwards;z-index:2}.sb-pieces{display:flex;gap:12px;justify-content:center;align-items:center;min-height:60px}.sb-piece{display:flex;align-items:center;justify-content:center;padding:8px;border:2px solid transparent;border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:border-color .15s,transform .15s}.sb-piece:hover{transform:scale(1.05)}.sb-piece.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(1.1)}.sb-piece-empty{width:56px;height:56px}.sb-piece-grid{display:grid;gap:2px}.sb-piece-cell{border-radius:2px;background:transparent}.sb-piece-cell.on{background:var(--cell-filled)}.sb-hint{font-size:12px;color:var(--text-muted);text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rope{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.rope-info{display:flex;justify-content:space-between;align-items:center;width:min(100%,230px)}.rope-status{font-weight:800;font-size:13px;color:var(--title-color)}.rope-btn{font-family:var(--font-body);font-weight:800;font-size:11px;padding:4px 12px;border:2px solid var(--accent);border-radius:var(--radius-sm);background:transparent;color:var(--title-color);cursor:pointer;transition:background .15s}.rope-btn:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.rope-grid{display:grid;gap:6px;width:min(100%,220px);position:relative}.rope-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.rope-cell{border:none;border-radius:50%;cursor:pointer;aspect-ratio:1;width:100%;background:transparent;position:relative;z-index:2;transition:transform .15s}.rope-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:10px;height:10px;border-radius:50%;background:var(--cell-empty);transition:background .15s,box-shadow .15s,width .15s,height .15s}.rope-cell.start:after{width:22px;height:22px;background:var(--success);box-shadow:0 0 12px color-mix(in srgb,var(--success) 50%,transparent)}.rope-cell.end:after{width:22px;height:22px;background:var(--error);box-shadow:0 0 12px color-mix(in srgb,var(--error) 50%,transparent)}.rope-cell.peg:after{width:18px;height:18px;background:#f59e0b;box-shadow:0 0 12px #f59e0b80}.rope-cell.on-path:after{width:14px;height:14px;background:color-mix(in srgb,var(--accent) 50%,transparent)}.rope-cell.current:after{width:18px;height:18px;background:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 60%,transparent)}.rope-cell.reachable:after{animation:pin-pulse 1.2s ease-in-out infinite}.rope-cell.reachable:hover{transform:scale(1.1)}.rope-cell.reachable:hover:after{width:14px;height:14px;background:color-mix(in srgb,var(--accent) 35%,transparent)}.rope-cell.hint-glow:after{background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 20%,transparent)}.rope-cell.solved:after{background:var(--success);box-shadow:0 0 10px color-mix(in srgb,var(--success) 50%,transparent);animation:pin-pop .35s ease both;animation-delay:var(--pop-delay, 0ms)}@keyframes pin-pulse{0%,to{box-shadow:0 0 6px color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 12px color-mix(in srgb,var(--accent) 15%,transparent)}}@keyframes pin-pop{0%{transform:scale(1)}50%{transform:scale(1.6)}to{transform:scale(1)}}.plokk{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;position:relative}.plokk-status{display:flex;justify-content:center;width:min(100%,300px);font-weight:800;font-size:14px}.plokk-progress{color:var(--text-muted)}.plokk-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:3px;width:min(100%,240px);aspect-ratio:1}.plokk-cell{border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;background:var(--cell-empty);transition:background .12s,transform .12s,box-shadow .12s}.plokk-cell.filled{background:var(--cell-filled);box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 35%,transparent)}.plokk-cell.hover{background:var(--cell-filled);opacity:.6;transform:scale(1.06)}.plokk-cell.clearing{background:var(--success);transform:scale(1.12);box-shadow:0 0 8px color-mix(in srgb,var(--success) 50%,transparent);animation:plokk-pop .28s ease}.plokk-cell.hint-glow{animation:plokk-hint-pulse 1.2s ease-in-out infinite;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}.plokk-pieces{display:flex;gap:10px;justify-content:center;align-items:center;min-height:56px}.plokk-piece{display:flex;align-items:center;justify-content:center;padding:6px;border:2px solid transparent;border-radius:var(--radius-md, 10px);background:var(--bg-surface);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.plokk-piece:hover{transform:scale(1.05)}.plokk-piece.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);transform:scale(1.1)}.plokk-piece-empty{width:52px;height:52px}.plokk-piece-grid{display:grid;gap:2px}.plokk-piece-cell{border-radius:3px;background:transparent}.plokk-piece-cell.on{background:var(--cell-filled);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 30%,transparent)}.plokk-hint{font-size:12px;color:var(--text-muted);text-align:center;min-height:1.4em}@keyframes plokk-pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1.12)}}@keyframes plokk-hint-pulse{0%,to{background:var(--cell-empty);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 30%,transparent)}50%{background:color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 60%,transparent)}}@keyframes plokk-fade-in{0%{opacity:0}to{opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fef6e8;--bg-surface: rgba(74, 32, 8, .05);--bg-gradient-inner: #fef8f0;--bg-gradient-outer: #f8edd8;--cell-empty: rgba(74, 32, 8, .12);--cell-empty-hover: rgba(74, 32, 8, .2);--cell-filled: #f0b830;--cell-filled-hover: #ffda68;--cell-marked: rgba(74, 32, 8, .06);--cell-stroke: rgba(74, 32, 8, .15);--title-color: #4a2008;--text-color: #5a2a08;--text-muted: rgba(74, 32, 8, .5);--btn-primary-bg: #f0b830;--btn-primary-hover: #ffda68;--btn-primary-text: #4a2008;--btn-secondary-bg: #e8d4a8;--btn-secondary-text: #6b3a15;--accent: #f0b830;--success: #6abf4b;--error: #e05040;--overlay: rgba(254, 248, 240, .85);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-display: "Lilita One", cursive;--font-body: "Nunito", sans-serif}.game-plokk{--bg: #12081e;--bg-surface: rgba(255, 255, 255, .06);--bg-gradient-inner: #1c1030;--bg-gradient-outer: #0d0618;--cell-empty: rgba(255, 255, 255, .08);--cell-filled: #e83882;--cell-filled-hover: #ff4d9a;--title-color: #fff;--text-color: rgba(255, 255, 255, .9);--text-muted: rgba(255, 255, 255, .45);--btn-primary-bg: #e83882;--btn-primary-hover: #ff4d9a;--btn-primary-text: #fff;--accent: #e83882;--success: #50ff80;--overlay: rgba(12, 6, 20, .88)}.game-sudoku-blocks{--bg: #eef3ff;--bg-surface: rgba(30, 58, 138, .05);--bg-gradient-inner: #f2f6ff;--bg-gradient-outer: #dce4f8;--cell-empty: rgba(30, 58, 138, .1);--cell-filled: #5b8def;--cell-filled-hover: #7ba8ff;--cell-stroke: rgba(30, 58, 138, .15);--title-color: #1e3a6e;--text-color: #1e3a6e;--text-muted: rgba(30, 58, 138, .45);--btn-primary-bg: #5b8def;--btn-primary-hover: #7ba8ff;--btn-primary-text: #fff;--accent: #5b8def;--success: #22c55e;--error: #ef4444;--overlay: rgba(238, 243, 255, .88)}.game-rope-puzzle{--bg: #f6fbff;--bg-surface: rgba(0, 150, 210, .04);--bg-gradient-inner: #fafcff;--bg-gradient-outer: #eaf4fc;--cell-empty: rgba(0, 80, 120, .08);--cell-filled: #29b6f6;--cell-filled-hover: #4fc3f7;--title-color: #1a3a5c;--text-color: #1a3a5c;--text-muted: rgba(26, 58, 92, .45);--btn-primary-bg: #29b6f6;--btn-primary-hover: #4fc3f7;--btn-primary-text: #fff;--accent: #29b6f6;--success: #22c55e;--error: #ef4444;--overlay: rgba(246, 251, 255, .88)}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-body);color:var(--text-color);background:var(--bg);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
