:root{--orbit-bg: #0a0a1a;--outer-radius: min(38vw, 38vh, 280px);--inner-radius: min(18vw, 18vh, 125px);--card-w: calc(min(38vw, 38vh, 280px)/5) ;--card-h: calc(var(--card-w) * 1.4);--card-radius: 4px;--card-back: #2d3561;--gold: #ffd700;--green: #4caf50;--purple: #9c27b0}[data-theme=midnight]{--orbit-bg: #050510;--gold: #00ffff;--purple: #ff00ff;--card-back: #1a1a1a}[data-theme=classic]{--orbit-bg: #1b5e20;--gold: #ffffff;--purple: #ffd700;--card-back: #b71c1c}@media(max-width:500px){:root{--card-radius: 2px}.orbit-header{flex-wrap:wrap;gap:6px;padding:6px 10px}.orbit-header h1{font-size:.95rem;width:100%}.orbit-stats{gap:6px;font-size:.7rem}.orbit-stat{padding:3px 6px}.orbit-container{margin:auto;display:flex;justify-content:center;align-items:center;width:100%;height:calc(var(--outer-radius) * 2 + var(--card-h) + 40px);overflow:visible;flex-shrink:0}.sun-center{z-index:100!important}.sun-deck{width:65px!important;height:65px!important;box-shadow:0 0 20px #ffd70099,0 0 40px #ffa50066!important}.sun-deck .count{font-size:.75rem!important}.satellite.history-1,.satellite.history-2{display:none!important}.satellite.active{display:block!important;transform:translate(-50%,-50%) scale(1.5);z-index:200}.foundation,.tableau{width:var(--card-w);height:var(--card-h)}.card{font-size:9px;padding:3px;position:relative}.c-top,.c-bot{display:flex!important;flex-direction:row!important;align-items:center;gap:1.5px;font-size:8px;line-height:1;padding:0 1px;width:100%}.c-top{justify-content:flex-start}.c-bot{justify-content:flex-start;transform:rotate(180deg)}.c-top span.rank,.c-bot span.rank{font-size:1.2em}.c-top span.suit,.c-bot span.suit{font-size:1.1em}.c-mid{font-size:16px!important;opacity:.45}.jagged-card{--cascade-y: 8px}.orbit-controls{gap:6px;padding:8px}.orbit-btn{padding:6px 10px;font-size:.75rem}}@media(max-width:380px){.orbit-container{width:100%!important;margin:0 auto;box-sizing:border-box;overflow:visible}.sun-deck{width:45px!important;height:45px!important}.satellite.active{transform:translate(-50%,-50%) scale(.8)!important}}@media(max-height:500px)and (orientation:landscape){:root{--outer-radius: 140px;--inner-radius: 65px;--card-w: 36px;--card-h: 50px}.orbit-game-wrapper{padding:8px 8px 60px}.orbit-header{padding:4px 8px;gap:4px}.orbit-header h1{font-size:.85rem}.score-display{gap:8px;font-size:.75rem}.score-display span{padding:4px 8px}.orbit-container{height:calc(var(--outer-radius) * 2 + var(--card-h) + 20px)}.sun-deck{width:50px!important;height:50px!important}.sun-deck .count{font-size:.7rem!important}.orbit-controls{display:none!important}.mobile-bottom-bar{display:flex!important}}.mobile-bottom-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(50px + env(safe-area-inset-bottom,0px));background:#0a0a1ae6;border-top:1px solid rgba(255,215,0,.3);backdrop-filter:blur(10px);z-index:1000;justify-content:space-around;align-items:flex-start;padding:6px 10px;padding-bottom:env(safe-area-inset-bottom,6px);padding-left:env(safe-area-inset-left,10px);padding-right:env(safe-area-inset-right,10px)}.mobile-bottom-bar button{flex:1;max-width:70px;height:40px;border:none;border-radius:4px;background:#ffffff0d;color:#fff;font-size:.7rem;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:all .2s}.mobile-bottom-bar button:active{background:var(--gold);color:#1a1a1a;transform:scale(.95)}.mobile-bottom-bar button svg{width:18px;height:18px;fill:currentColor}@media(max-width:500px){.orbit-controls{display:none!important}.mobile-bottom-bar{display:flex!important}.orbit-game-wrapper{padding-bottom:60px}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--green),0 0 10px var(--green)}50%{box-shadow:0 0 15px var(--green),0 0 25px var(--green),0 0 35px #4caf5080}}.pulse-glow{animation:pulse-glow 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.pulse-glow{animation:none;box-shadow:0 0 10px var(--green)}}.orbit-game-wrapper{min-height:100vh;background:var(--orbit-bg);padding:15px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@media(max-width:500px){.orbit-game-wrapper{padding:5px}}.orbit-game-wrapper:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,white,transparent),radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 60% 20%,white,transparent),radial-gradient(1px 1px at 80% 60%,rgba(255,255,255,.7),transparent);background-size:200px 200px;animation:twinkle 4s infinite ease-in-out;pointer-events:none}[data-theme=classic] .orbit-game-wrapper:before{display:none}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}.orbit-header{display:flex;justify-content:space-between;align-items:center;max-width:900px;margin:0 auto 15px;color:#fff;position:relative;z-index:10}.orbit-header h1{font-size:1.4rem;margin:0;color:var(--gold)}.header-actions{display:flex;gap:10px}.score-display{display:flex;gap:15px;font-size:.9rem}.score-display span{background:#ffffff1a;padding:6px 14px;border-radius:0;backdrop-filter:blur(5px)}.rotation-progress{color:var(--purple);border:1px solid var(--purple)}.event-toast{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);background:#0f0f23e6;border:2px solid var(--gold);color:#fff;padding:15px 30px;border-radius:0;z-index:1000;opacity:0;transition:all .4s cubic-bezier(.175,.885,.32,1.275);pointer-events:none;box-shadow:0 0 30px #ffd7004d;display:flex;align-items:center;gap:12px}.event-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.event-icon{font-size:1.5rem}.orbit-container{position:relative;width:calc(var(--outer-radius) * 2 + var(--card-w) + 20px);max-width:100vw;height:calc(var(--outer-radius) * 2 + var(--card-h) + 20px);margin:0 auto;flex-shrink:0;box-sizing:border-box;transition:width .3s,height .3s}#foundation-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--outer-radius) * 2 + var(--card-w) + 40px);height:calc(var(--outer-radius) * 2 + var(--card-h) + 40px);pointer-events:none}.foundation{position:absolute;width:var(--card-w);height:var(--card-h);cursor:pointer;border-radius:var(--card-radius);background:#ffffff0d;border:2px dashed rgba(255,215,0,.3);display:flex;align-items:center;justify-content:center;transform-origin:center center}.foundation.has-cards{background:transparent;border:none;overflow:visible}.foundation.valid-target{box-shadow:0 0 15px 3px var(--green);z-index:50}.foundation .placeholder{color:#ffd70066;font-size:1.5rem;font-weight:700}.foundation .petal-card{position:absolute;left:0;top:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;transform-origin:center bottom}.foundation:hover .petal-card{box-shadow:0 4px 15px #0006}.inner-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;pointer-events:none}.tableau{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.tableau.selected .jagged-card:last-child{box-shadow:0 0 25px 8px var(--gold)}.tableau.valid-target .jagged-card:last-child{box-shadow:0 0 20px 6px var(--green)}.jagged-card{position:absolute;transition:transform .8s cubic-bezier(.34,1.56,.64,1),left .8s cubic-bezier(.34,1.56,.64,1),top .8s cubic-bezier(.34,1.56,.64,1),filter .5s ease,box-shadow .4s ease,opacity .3s ease;transform-origin:center center;cursor:pointer;pointer-events:none;will-change:transform,left,top}.jagged-card.snap-target{box-shadow:0 0 25px 12px var(--green)!important;z-index:500!important}.jagged-card.dragging{transition:none!important;z-index:1000!important;box-shadow:0 10px 40px #00000080;cursor:grabbing}.sun-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:50}.sun-deck{width:100px;height:100px;background:#2a1a4a;border-radius:0;border:3px solid rgba(255,215,0,.6);cursor:grab;position:relative;box-shadow:0 0 30px #ffd70080,0 0 60px #ffa5004d,inset 0 0 20px #ffc80033;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;user-select:none}.sun-deck:active{cursor:grabbing}.sun-deck:hover{transform:scale(1.08);box-shadow:0 0 40px #ffd70099,0 0 80px #ffa5004d}.sun-deck.empty{background:#281e3ccc;border:2px dashed rgba(255,215,0,.3);box-shadow:none}.sun-deck .count{color:var(--gold);font-size:1rem;font-weight:700;text-shadow:0 0 10px rgba(255,215,0,.5)}.satellite-orbit{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}.satellite{position:absolute;pointer-events:auto;cursor:pointer;transition:transform .4s cubic-bezier(.25,.1,.25,1),opacity .3s ease,left .4s cubic-bezier(.25,.1,.25,1),top .4s cubic-bezier(.25,.1,.25,1)}.satellite.active{transform:translate(-50%,-50%) scale(.8);opacity:1;z-index:53}.satellite.active:hover{transform:translate(-50%,-52%) scale(.88)}.satellite.history-1{transform:translate(-70px,-50%) rotate(-10deg) scale(.65);opacity:.7;z-index:52}.satellite.history-2{transform:translate(35px,-50%) rotate(10deg) scale(.65);opacity:.7;z-index:51}.satellite.selected .card{box-shadow:0 0 25px 8px var(--gold)}.card{width:var(--card-w);height:var(--card-h);background:#fff;border-radius:var(--card-radius);box-shadow:2px 2px 6px #0000004d;display:flex;flex-direction:column;justify-content:space-between;padding:3px;box-sizing:border-box;font-weight:700;font-size:13px;user-select:none;touch-action:none;pointer-events:auto;cursor:pointer;transition:transform .1s}.card.face-down{background:var(--card-back);border:1px solid rgba(255,255,255,.2)}.card.face-down *{display:none}.card.red{color:#d32f2f}.card.black{color:#212121}.card.selected-card{outline:2px solid var(--gold);outline-offset:2px}.c-top,.c-bot{display:flex;flex-direction:column;align-items:center;line-height:.9;text-align:center}.c-top span.rank,.c-bot span.rank{font-size:1.1em}.c-top span.suit,.c-bot span.suit{font-size:.9em}.c-top{align-self:flex-start}.c-bot{align-self:flex-end;transform:rotate(180deg)}.c-mid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:calc(var(--card-w) * .45);opacity:.8}.orbit-controls{display:flex;justify-content:center;gap:12px;margin-top:10px;margin-bottom:20px;position:relative;z-index:200}.orbit-btn{padding:10px 24px;border:none;border-radius:0;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.orbit-btn.primary{background:var(--gold);color:#1a1a1a}.orbit-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ffd70066}.orbit-btn.secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3)}.orbit-btn.secondary:hover{background:#fff3}.orbit-btn.hint{background:var(--green);color:#fff}.modal{display:none;position:fixed;inset:0;background:#000000d9;justify-content:center;align-items:center;z-index:2000;backdrop-filter:blur(8px)}.modal.show{display:flex}.modal-content{background:#1a1a2e;border:2px solid var(--gold);border-radius:0;padding:40px;max-width:500px;width:90%;color:#fff;text-align:center}.modal-content h2{color:var(--gold);margin-top:0;font-size:1.8rem}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.4s;border:1px solid rgba(255,255,255,.2)}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--gold);border-color:var(--gold)}input:checked+.slider:before{transform:translate(20px);background-color:#1a1a1a}.theme-btn.active{background:var(--gold)!important;color:#1a1a1a!important;border:none!important}
