:root{--env-transition-dur:25s;--color-bg-start:#dbeafc;--color-bg-mid:#eee5f9;--color-bg-end:#fde8f2;--color-text-main:#4d3a63;--color-text-muted:#826f96;--color-accent-pink:#f799bd;--color-accent-lavender:#be9fe8;--color-accent-gold:#f5c842;--color-accent-main:#be9fe8;--board-glass-bg:#ffffffd1;--board-border:#ffffffeb;--board-glow:#d7c3f54d;--glass-bg:#ffffffc7;--glass-border:#ffffffeb;--font-family:-apple-system, BlinkMacSystemFont, "Hiragino Maru Gothic ProN", "M PLUS Rounded 1c", "Rounded Mplus 1c", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;min-height:100vh;font-family:var(--font-family);color:var(--color-text-main);background:var(--color-bg-mid);transition:color var(--env-transition-dur) ease;background-attachment:fixed;margin:0;padding:0;overflow-x:hidden}body{padding:max(10px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative}.sky-ambient{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.sky-layer{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.sky-layer-base{z-index:1;background:linear-gradient(165deg, var(--color-bg-start) 0%, var(--color-bg-mid) 48%, var(--color-bg-end) 100%)}.sky-layer-overlay{z-index:2;opacity:0}.sun-glow{filter:blur(20px);pointer-events:none;z-index:3;opacity:.15;width:320px;height:320px;transition:opacity var(--env-transition-dur) ease, transform var(--env-transition-dur) ease, background var(--env-transition-dur) ease;background:radial-gradient(circle,#fff5b4bf 0%,#ffe6a04d 50%,#0000 75%);border-radius:50%;position:absolute;top:-60px;right:-60px}.cloud-float{filter:blur(14px);z-index:3;transition:opacity var(--env-transition-dur) ease, filter var(--env-transition-dur) ease;background:radial-gradient(circle,#ffffffc7 0%,#ffffff59 70%,#0000 100%);border-radius:50%;position:absolute}.cloud-top-left{width:220px;height:130px;animation:18s ease-in-out infinite cloud-drift-l;top:-20px;left:-40px}.cloud-top-right{width:260px;height:150px;animation:22s ease-in-out infinite cloud-drift-r;top:20px;right:-50px}.cloud-bottom-left{width:280px;height:160px;animation:20s ease-in-out infinite cloud-drift-r;bottom:-40px;left:-60px}.cloud-bottom-right{width:240px;height:140px;animation:24s ease-in-out infinite cloud-drift-l;bottom:10px;right:-30px}.moon-badge{filter:drop-shadow(0 0 10px #fffadcb3);opacity:.2;z-index:4;width:44px;height:44px;transition:opacity var(--env-transition-dur) ease, filter var(--env-transition-dur) ease, transform var(--env-transition-dur) ease, box-shadow var(--env-transition-dur) ease;border-radius:50%;position:absolute;top:24px;right:28px;transform:rotate(-15deg);box-shadow:10px 10px #fff5d2d9}.star-float{color:#fff8dcd9;text-shadow:0 0 8px #ffebaacc;z-index:4;opacity:.15;transition:opacity var(--env-transition-dur) ease, transform var(--env-transition-dur) ease;font-size:16px;animation:3s ease-in-out infinite star-sparkle;position:absolute}.star-fl-1{font-size:18px;animation-delay:.3s;top:90px;left:24px}.star-fl-2{font-size:14px;animation-delay:1.2s;top:140px;right:40px}.star-fl-3{font-size:15px;animation-delay:2.1s;bottom:120px;left:30px}.star-fl-4{font-size:13px;animation-delay:.7s;top:40px;left:160px}.star-fl-5{font-size:16px;animation-delay:1.5s;top:180px;left:70px}.star-fl-6{font-size:14px;animation-delay:2.4s;bottom:80px;right:90px}.heart-float{color:#ffb9d2b3;text-shadow:0 0 8px #ffb9d299;z-index:4;transition:opacity var(--env-transition-dur) ease;font-size:15px;animation:4s ease-in-out infinite heart-sway;position:absolute}.heart-fl-1{animation-delay:.8s;top:65px;right:85px}.heart-fl-2{font-size:18px;animation-delay:1.8s;bottom:180px;right:20px}@keyframes cloud-drift-l{0%,to{transform:translate(0)}50%{transform:translate(14px,-10px)}}@keyframes cloud-drift-r{0%,to{transform:translate(0)}50%{transform:translate(-16px,12px)}}@keyframes star-sparkle{0%,to{opacity:.45;transform:scale(.85)rotate(0)}50%{opacity:1;transform:scale(1.18)rotate(15deg)}}@keyframes heart-sway{0%,to{opacity:.4;transform:translate(0)scale(.9)}50%{opacity:.85;transform:translate(-6px,-10px)scale(1.1)}}.game-container{z-index:1;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:412px;margin:0 auto;display:flex;position:relative}.game-header{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.title-logo-container{justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.title-decor{-webkit-user-select:none;user-select:none;font-size:16px;animation:2.4s ease-in-out infinite decor-bob}.title-paw-l{color:#f7a2c2;transform:rotate(-18deg)}.title-heart-r{color:#c7a4ec;animation-delay:1.2s;transform:rotate(15deg)}@keyframes decor-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.12)}}.game-title{letter-spacing:.8px;color:#4a3763;text-shadow:0 1.5px #fff,0 3px #e8d0ee,0 6px 14px #a073c34d;justify-content:center;align-items:center;gap:6px;margin:0;font-size:21px;font-weight:900;line-height:1.15;display:flex}.title-main-text{display:inline-block}.title-mobile-break{display:none}.sparkle{color:#ffb1cb;text-shadow:0 0 8px #ffb1cbcc;font-size:16px;animation:2s ease-in-out infinite sparkle-pulse}.sparkle-r{animation-delay:1s}@keyframes sparkle-pulse{0%,to{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}.subtitle-ribbon{background:linear-gradient(135deg,#ffd8e8 0%,#ede0fd 100%);border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;gap:5px;margin-top:3px;padding:2px 12px;display:inline-flex;box-shadow:0 3px 10px #b48cd238,inset 0 1px 2px #fff}.ribbon-text{color:#5d4373;letter-spacing:1.2px;text-transform:uppercase;font-size:10px;font-weight:800}.ribbon-star{color:#f7a844;font-size:8px}.tutorial-banner{width:100%;max-width:370px;margin:6px auto 0;transition:opacity .35s,transform .35s}.tutorial-banner.fade-out{opacity:0;pointer-events:none;transform:translateY(-6px)}.tutorial-bubble{-webkit-backdrop-filter:blur(14px);background:#ffffffe0;border:2px solid #fffffffa;border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:7px 16px;display:flex;box-shadow:0 6px 20px #a587cd29,inset 0 2px 4px #fff}.tutorial-icon{font-size:15px;animation:2s ease-in-out infinite icon-wag}@keyframes icon-wag{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.tutorial-text{color:#55446c;text-shadow:0 1px 1px #fffc;font-size:12px;font-weight:700;line-height:1.35}.board-frame-wrapper{aspect-ratio:1;justify-content:center;align-items:center;width:100%;max-width:396px;display:flex;position:relative}.board-frame-outer{aspect-ratio:1;background:var(--board-glass-bg,linear-gradient(145deg, #fff2faf2 0%, #f2eaffe0 50%, #eaf6fff2 100%));width:100%;box-shadow:0 16px 40px #8c73b933, 0 4px 14px var(--board-glow,#d2b9f540), inset 0 2px 3px #fffffff2;transition:background var(--env-transition-dur) ease, box-shadow var(--env-transition-dur) ease;border:2px solid #fffffffa;border-radius:30px;justify-content:center;align-items:center;padding:6px;display:flex;position:relative}.board-gloss-sheen{pointer-events:none;z-index:1;background:linear-gradient(#ffffff8c 0%,#fff0 100%);border-radius:24px 24px 80px 80px;height:38%;position:absolute;top:6px;left:14px;right:14px}.frame-gem{color:#ffca48;text-shadow:0 0 6px #ffd750d9;pointer-events:none;z-index:2;-webkit-user-select:none;user-select:none;font-size:13px;position:absolute}.gem-tl{top:8px;left:10px}.gem-tr{top:8px;right:10px}.gem-bl{bottom:8px;left:10px}.gem-br{bottom:8px;right:10px}#board{aspect-ratio:1;touch-action:none;-webkit-backdrop-filter:blur(14px);background:#ffffffad;border:1.5px solid #ffffffe6;border-radius:24px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 2px 5px #aa8ccd1f}#board canvas{border-radius:22px;display:block;width:100%!important;height:100%!important}#board:focus-visible{outline:3px solid var(--color-accent-lavender);outline-offset:3px}.bottom-controls{justify-content:center;align-items:center;gap:20px;width:100%;margin-top:4px;display:flex}.candy-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff 0%,#f6eefc 100%);border:1.5px solid #fff;border-radius:24px;justify-content:center;align-items:center;gap:8px;min-width:124px;height:48px;padding:0 16px;transition:transform .12s,box-shadow .12s,background .12s;display:flex;box-shadow:0 5px #d4bee8,0 8px 18px #9173b933,inset 0 2px 2px #fff}.candy-btn:hover{background:linear-gradient(#fff 0%,#f9f4fd 100%);transform:translateY(-2px);box-shadow:0 7px #d4bee8,0 11px 22px #9173b940,inset 0 2px 2px #fff}.candy-btn:active{transform:translateY(4px);box-shadow:0 1px #d4bee8,0 3px 8px #9173b940,inset 0 1px 1px #fff}.candy-btn:disabled{opacity:.5;cursor:default;transform:none;box-shadow:0 2px #d4bee8}.candy-icon{font-size:20px;line-height:1}.candy-label{color:#513e68;letter-spacing:.5px;font-size:13px;font-weight:800}.debug-only{border:none!important;height:0!important;margin:0!important;padding:0!important;display:none!important}body.debug-mode .debug-panel.debug-only{flex-direction:column;align-items:center;height:auto!important;display:flex!important}.debug-panel{box-sizing:border-box;width:100%;max-width:396px;margin:6px auto 0;transition:all .2s cubic-bezier(.16,1,.3,1)}.debug-panel:not([open]){width:auto;max-width:none;box-shadow:none;background:0 0;border:none;margin-top:6px;padding:0}.debug-summary{-webkit-backdrop-filter:blur(10px);color:#5d4576;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffffe6;border:1.5px solid #beaae1bf;border-radius:999px;outline:none;justify-content:center;align-items:center;gap:5px;padding:4px 14px;font-size:11px;font-weight:800;list-style:none;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex;box-shadow:0 2px 8px #6e508c1f}.debug-summary::-webkit-details-marker{display:none}.debug-summary:hover{color:#4a3462;background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #6e508c33}.debug-summary:active{transform:translateY(1px)}.debug-panel:not([open]) .debug-summary-expanded,.debug-panel[open] .debug-summary-collapsed{display:none}.debug-panel[open]{-webkit-backdrop-filter:blur(16px);background:#fffffff2;border:1.5px solid #beaae1d9;border-radius:18px;width:100%;max-width:396px;margin-top:8px;margin-bottom:12px;padding:10px 14px;font-size:11px;box-shadow:0 8px 24px #3c1e5a26}.debug-panel[open] .debug-summary{background:#f2e9fc;border-color:#baa0d8;align-self:flex-start;margin-bottom:8px}.debug-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.debug-controls label{align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.debug-controls input{background:#fff;border:1px solid #c0b4d4;border-radius:8px;width:110px;min-height:32px;padding:4px 8px;font-size:12px}.debug-controls button{color:#4a3661;cursor:pointer;background:#f6f0fd;border:1px solid #b8a6d2;border-radius:8px;min-height:32px;padding:4px 12px;font-size:12px;font-weight:700}.debug-controls button:hover{background:#ede2f8}.debug-hint-text{color:#604e75;margin:6px 0;font-size:11px;line-height:1.4}#debug{white-space:pre-wrap;color:#38274f;background:#f4edf9;border:1px solid #ded0ee;border-radius:8px;min-height:58px;margin:6px 0 0;padding:8px;font-family:ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:11px}@media (width<=390px){body{padding:max(6px, env(safe-area-inset-top)) 6px max(10px, env(safe-area-inset-bottom))}.game-container{gap:6px}.game-title{font-size:19px}.tutorial-banner{margin-top:4px}.tutorial-bubble{gap:8px;padding:5px 12px}.tutorial-text{font-size:11px}.board-frame-outer{border-radius:26px;padding:5px}.candy-btn{min-width:114px;height:44px;padding:0 12px}.candy-icon{font-size:18px}.candy-label{font-size:12px}}.tutorial-banner{align-items:center;min-height:58px;display:grid;position:relative}.mission-tutorial-dismissed{opacity:0;pointer-events:none;transition:opacity .3s}.mission-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid;position:absolute;inset:4px 0 0}.mission-panel[hidden]{display:none}.mission-panel:before{content:"♡ おねだり";color:#816391;z-index:1;background:#fbf7fe;border-radius:10px;padding:0 9px;font-size:9px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.mission-card{background:#ffffffde;border:2px solid #fffffffa;border-radius:20px;justify-content:center;align-items:center;gap:5px;min-width:0;padding:4px 7px;display:flex;position:relative;box-shadow:0 5px 16px #a587cd21,inset 0 2px 4px #fff}.mission-cat{object-fit:contain;flex-shrink:0;width:37px;height:37px}.mission-info{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.mission-name{white-space:nowrap;color:#604c75;font-size:10px;font-weight:700}.mission-progress{font-variant-numeric:tabular-nums;color:#94719e;font-size:11px;font-weight:700}.mission-thanks{background:#fff2f8}.mission-thanks .mission-progress{font-size:9px}.mission-confetti{pointer-events:none;font-size:20px;position:absolute;top:10px;left:50%}.mission-visitor,.mission-visitor-heart{z-index:50;pointer-events:none;object-fit:contain;width:40px;height:40px;position:fixed}.mission-visitor-heart{color:#e2a2c2;text-shadow:0 0 10px #fff;font-size:30px}.mission-debug{flex-wrap:wrap;gap:4px;margin-top:8px;font-size:11px;display:flex}.mission-debug button{color:#604e75;background:#fff8fd;border:1px solid #d9c9e7;border-radius:7px;padding:5px 7px;font-size:10px}@media (width<=340px){.mission-panel{gap:4px}.mission-card{gap:3px;padding:3px}.mission-cat{width:29px;height:29px}.mission-name{font-size:9px}}@media (prefers-reduced-motion:reduce){.mission-tutorial-dismissed{transition:none}}body[data-environment=MORNING] .sun-glow{opacity:.65;background:radial-gradient(circle,#fff2aacc 0%,#ffe19666 45%,#0000 75%);transform:translate(0)scale(1.1)}body[data-environment=MORNING] .moon-badge{opacity:0;transform:scale(.6)rotate(-15deg)}body[data-environment=MORNING] .star-float{opacity:0;transform:scale(.5)}body[data-environment=MORNING] .cloud-float{filter:brightness(1.05)sepia(.12)blur(14px);opacity:.85}body[data-environment=DAY] .sun-glow{opacity:.2;transform:scale(.9)}body[data-environment=DAY] .moon-badge{opacity:.2;transform:scale(.85)rotate(-15deg)}body[data-environment=DAY] .star-float{opacity:.12}body[data-environment=DAY] .cloud-float{filter:blur(14px);opacity:.8}body[data-environment=SUNSET] .sun-glow{opacity:.55;background:radial-gradient(circle,#ffaf82bf 0%,#f5919666 50%,#0000 80%);inset:auto auto 20px 50%;transform:translate(-50%)scale(1.4)}body[data-environment=SUNSET] .moon-badge{opacity:.45;transform:scale(.95)rotate(-15deg);box-shadow:10px 10px #ffebbed9}body[data-environment=SUNSET] .star-fl-1,body[data-environment=SUNSET] .star-fl-2{opacity:.4}body[data-environment=SUNSET] .star-fl-3,body[data-environment=SUNSET] .star-fl-4,body[data-environment=SUNSET] .star-fl-5,body[data-environment=SUNSET] .star-fl-6{opacity:.1}body[data-environment=SUNSET] .cloud-float{filter:drop-shadow(0 0 16px #ffa08c8c)blur(14px);opacity:.85}body[data-environment=TWILIGHT] .sun-glow{opacity:0}body[data-environment=TWILIGHT] .moon-badge{opacity:.8;filter:drop-shadow(0 0 14px #c8b4ffb3);transform:scale(1)rotate(-15deg);box-shadow:10px 10px #fff5d2e6}body[data-environment=TWILIGHT] .star-float{opacity:.7;transform:scale(1)}body[data-environment=TWILIGHT] .cloud-float{filter:hue-rotate(-20deg)brightness(.9)blur(14px);opacity:.65}body[data-environment=NIGHT] .sun-glow{opacity:0}body[data-environment=NIGHT] .moon-badge{opacity:1;filter:drop-shadow(0 0 18px #fff0beeb);transform:scale(1.08)rotate(-15deg);box-shadow:11px 11px #fff8dcfa}body[data-environment=NIGHT] .star-float{opacity:.95;text-shadow:0 0 12px #fff5c8e6;transform:scale(1.1)}body[data-environment=NIGHT] .cloud-float{opacity:.35;filter:hue-rotate(-30deg)brightness(.75)blur(14px)}body[data-environment=NIGHT] .game-title{color:#fff;text-shadow:0 2px 14px #b496f0d9,0 0 24px #c8aaff80}body[data-environment=NIGHT] .title-main-text{color:#fff}body[data-environment=NIGHT] .subtitle-ribbon{color:#fff8e8;background:linear-gradient(135deg,#4b3c73e0 0%,#5f4b8ce0 100%);border-color:#dcc3ff99}body[data-environment=NIGHT] .board-frame-outer{background:#ffffffeb;box-shadow:0 16px 44px #0a081e73,0 0 35px #c8b4ff73,inset 0 2px 8px #fffffff2}body[data-environment=NIGHT] .tutorial-bubble{color:#3d325a;background:#ffffffeb}body[data-environment=NIGHT] .candy-btn{color:#3d325a;background:linear-gradient(#fff 0%,#f4edfc 100%)}.env-debug{background:#ffffffb3;border:1px solid #bea0e666;border-radius:12px;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.env-debug-status{color:#4a3360;justify-content:space-between;font-size:12px;font-weight:700;display:flex}.env-debug-actions{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;display:grid}.env-debug-actions button{color:#4a3360;cursor:pointer;background:#fff;border:1px solid #b496dc99;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:600;transition:all .15s}.env-debug-actions button:hover{background:#f6eeff;border-color:#ba94ea}.env-debug-actions button:active{transform:scale(.96)}.ad-footer-container{z-index:1;box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:412px;margin:200px auto 16px;padding:0 10px;display:flex;position:relative}.ad-label{color:#8c78a0;letter-spacing:.8px;-webkit-user-select:none;user-select:none;opacity:.75;margin-bottom:6px;font-size:10px;font-weight:700}.ad-card{-webkit-backdrop-filter:blur(8px);box-sizing:border-box;background:#ffffffa6;border:1px solid #ffffffd9;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:100px;padding:10px;display:flex;overflow:hidden;box-shadow:0 4px 16px #9678be14}.ad-card ins.adsbygoogle{width:100%!important;display:block!important}@media (width<=420px){.ad-footer-container{margin-top:200px;padding:0 8px}}
