.sd-home,.sd-root{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;color:#8a3f8f;font-family:var(--font-inter,"Inter"),system-ui,sans-serif}.sd-root{position:fixed;inset:0;display:flex;gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden;overscroll-behavior:none}.sd-bar{padding:8px;border-radius:20px;background:hsla(0,0%,100%,.6);box-shadow:0 2px 10px rgba(180,90,170,.15)}.sd-bar,.sd-bar-top{display:flex;align-items:center;gap:8px}.sd-bar-top .game-bgm{margin-left:0}.sd-count,.sd-title{font-weight:800;font-size:15px;text-align:center}.sd-count{white-space:nowrap}.sd-dots{gap:8px}.sd-dot,.sd-dots{display:flex;justify-content:center}.sd-dot{width:42px;height:42px;flex:none;border-radius:50%;border:3px solid #fff;color:#fff;font-weight:900;font-size:18px;align-items:center;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .15s,opacity .3s;cursor:pointer}.sd-dot:active{transform:scale(.9)}.sd-dot-hint{animation:sd-pulse 1s ease-in-out infinite}.sd-dot-done{opacity:.55}.sd-actions{display:flex;gap:6px;justify-content:center}.sd-action-btn{padding:6px 10px;border-radius:14px;border:2px solid #fff;background:linear-gradient(135deg,#ff8fc8,#b38cff);color:#fff;font-weight:800;font-size:12px;line-height:1.15;text-align:center;box-shadow:0 2px 6px rgba(180,90,170,.25);cursor:pointer;transition:transform .15s,opacity .2s}.sd-action-reveal{background:linear-gradient(135deg,#6fd3ff,#7b8cff)}.sd-action-btn:active:not(:disabled){transform:scale(.93)}.sd-action-btn:disabled{opacity:.4;cursor:default}@keyframes sd-pulse{50%{transform:scale(1.15)}}.sd-boards{gap:8px}.sd-boards,.sd-panel{flex:1;display:flex;min-width:0;min-height:0}.sd-panel{align-items:center;justify-content:center;container-type:size}.sd-board{position:relative;width:min(100cqw,calc(100cqh * var(--sd-aspect, 4 / 3)));aspect-ratio:var(--sd-aspect,4/3);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(150,60,150,.25);container-type:inline-size;cursor:pointer}.sd-img,.sd-patch{position:absolute;pointer-events:none;-webkit-user-drag:none}.sd-img,.sd-overlay{inset:0;width:100%;height:100%}.sd-overlay{position:absolute;pointer-events:none;overflow:visible}.sd-shake{animation:sd-shake .3s}.sd-shake-alt{animation:sd-shake-alt .3s}@keyframes sd-shake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}@keyframes sd-shake-alt{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}.sd-ring{fill:hsla(0,0%,100%,.15);stroke-width:6;stroke-linecap:round}.sd-ring-draw{stroke-dasharray:1;animation:sd-draw .45s ease-out both}.sd-ring-dashed{stroke-dasharray:.03 .025}.sd-ring-outer{fill:none;stroke:#fff;stroke-width:2.5;opacity:.9}@keyframes sd-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.sd-answer-num{font-size:34px;font-weight:900;text-anchor:middle;fill:#fff;stroke:#8a3f8f;stroke-width:6;paint-order:stroke}.sd-halo{fill:rgba(255,240,120,.28);stroke:#ffd84a;stroke-width:5;animation:sd-halo .9s ease-in-out 3,sd-halo-rest 0s 2.7s forwards;opacity:.45}@keyframes sd-halo{0%,to{opacity:.2}50%{opacity:1}}@keyframes sd-halo-rest{to{opacity:.45}}.sd-miss{fill:none;stroke:#b9a3c9;stroke-width:4;transform-box:fill-box;transform-origin:center;animation:sd-miss .5s ease-out forwards}@keyframes sd-miss{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1)}}.sd-burst{position:absolute;width:0;height:0;pointer-events:none}.sd-burst span{position:absolute;left:-9px;top:-12px;font-size:20px;line-height:1;animation:sd-burst .8s ease-out forwards}@keyframes sd-burst{0%{transform:translate(0) scale(.3);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1.4) rotate(90deg);opacity:0}}.sd-win{position:fixed;inset:0;z-index:10;justify-content:center;background:rgba(255,230,245,.82)}.sd-win,.sd-win-card{display:flex;align-items:center}.sd-win-card{position:relative;z-index:2;flex-direction:column;gap:14px;padding:28px 32px;border-radius:28px;background:#fff;box-shadow:0 10px 30px rgba(200,80,170,.25);animation:sd-pop .4s cubic-bezier(.3,1.6,.6,1)}.sd-win-card h1{margin:0;font-size:clamp(26px,6vw,36px);font-weight:900;color:#e0559a;text-align:center}.sd-win-emoji{font-size:48px}.sd-win-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.sd-btn{font-size:19px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff8fc8,#b38cff);border:0;border-radius:30px;padding:12px 24px;box-shadow:0 4px 12px rgba(200,80,170,.35);text-decoration:none;cursor:pointer}.sd-btn-alt{background:linear-gradient(135deg,#6fd3ff,#7b8cff)}@keyframes sd-pop{0%{transform:scale(.6);opacity:0}}.sd-confetti i{position:fixed;top:-20px;width:10px;height:14px;border-radius:3px;animation:sd-fall linear forwards}@keyframes sd-fall{to{transform:translateY(110vh) rotate(540deg)}}@media (orientation:landscape){.sd-root{flex-direction:row}.sd-bar{flex-direction:column;width:96px;flex:none;overflow-x:hidden;overflow-y:auto}.sd-bar-top{flex-direction:column;gap:10px}.sd-count,.sd-title{font-size:13px;white-space:normal}.sd-actions,.sd-dots{flex-direction:column}.sd-actions{width:100%;margin-top:auto}.sd-action-btn{width:100%;padding:6px 4px;font-size:11px}.sd-boards{flex-direction:row}}@media (orientation:portrait){.sd-root{flex-direction:column}.sd-bar{flex-wrap:wrap;justify-content:center}.sd-dots{flex-wrap:wrap;gap:6px}.sd-dot{width:38px;height:38px;font-size:16px}.sd-boards{flex-direction:column}}.sd-home{min-height:100dvh;background:linear-gradient(160deg,#ffe4f2,#efe3ff 50%,#dff1ff);padding:calc(28px + env(safe-area-inset-top, 0px)) calc(20px + env(safe-area-inset-right, 0px)) calc(40px + env(safe-area-inset-bottom, 0px)) calc(20px + env(safe-area-inset-left, 0px))}.sd-home-header{gap:16px;max-width:1000px;margin:0 auto 24px}.sd-home-header,.sd-home-title{display:flex;align-items:center}.sd-home-title{margin:0;gap:12px;font-size:clamp(24px,5vw,32px);font-weight:800;color:#5b4b8a}.sd-diff-pills{display:flex;gap:10px;flex-wrap:wrap;max-width:1000px;margin:0 auto 24px}.sd-pill{font-size:17px;font-weight:800;padding:10px 18px;border-radius:999px;border:3px solid #fff;background:hsla(0,0%,100%,.55);color:#8a3f8f;cursor:pointer}.sd-pill-on{background:linear-gradient(135deg,#ff8fc8,#b38cff);color:#fff;box-shadow:0 4px 12px rgba(200,80,170,.3)}.sd-grid{display:grid;gap:22px;max-width:1000px;margin:0 auto}.sd-grid-themes{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.sd-grid-levels{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.sd-theme-card{border-radius:28px;padding:30px 18px 22px;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;box-shadow:inset 0 4px 10px hsla(0,0%,100%,.55),0 7px 0 rgba(0,0,0,.13);transition:transform .1s}.sd-theme-card:active{transform:translateY(3px) scale(.98)}.sd-theme-icon{color:#fff;filter:drop-shadow(0 3px 3px rgba(0,0,0,.22))}.sd-theme-name{color:#fff;font-weight:800;font-size:23px;text-align:center;text-shadow:0 2px 3px rgba(0,0,0,.25)}.sd-theme-count{font-size:14px;font-weight:700;color:hsla(0,0%,100%,.94);background:rgba(0,0,0,.14);padding:4px 12px;border-radius:999px}.sd-card{display:block;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(150,60,150,.2);text-decoration:none;color:inherit;transition:transform .15s}.sd-card:active{transform:scale(.97)}@media (hover:hover){.sd-card:hover{transform:translateY(-3px)}}.sd-card-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.sd-card-title{padding:12px 14px;font-size:18px;font-weight:800}.sd-empty{max-width:520px;margin:48px auto;padding:36px 24px;text-align:center;font-size:22px;font-weight:800;color:#5b4b8a;background:hsla(0,0%,100%,.78);border:3px dashed #b9a6e8;border-radius:28px}@media (prefers-reduced-motion:reduce){.sd-home *,.sd-root *{animation-duration:.01ms!important;animation-iteration-count:1!important}.sd-card,.sd-theme-card{transition:none}.sd-card:active,.sd-theme-card:active{transform:none}}