.ambient-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ambient-bg__nebula{filter:blur(14px);border-radius:50%;position:absolute}.ambient-bg__nebula--blue{background:radial-gradient(circle,#7896ff29 0%,#7896ff00 68%);width:320px;height:320px;animation:26s ease-in-out infinite cc-neb;top:-80px;left:-60px}.ambient-bg__nebula--orange{filter:blur(18px);background:radial-gradient(circle,#ffc48c1f 0%,#ffc48c00 66%);width:380px;height:380px;animation:34s ease-in-out infinite cc-neb2;bottom:-100px;right:-90px}.ambient-bg__nebula--violet{filter:blur(20px);background:radial-gradient(circle,#aa78ff1a 0%,#aa78ff00 70%);width:260px;height:260px;animation:42s ease-in-out 6s infinite cc-neb;top:240px;left:120px}.ambient-bg__shooter{opacity:0;background:linear-gradient(90deg,#fff0 0%,#fff7e0e6 72%,#fff 100%);border-radius:1px;width:120px;height:1.4px;animation-name:cc-shoot;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute}.coop-hud{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:5px;animation:.5s both cc-fade;display:flex;position:absolute;top:12px;left:0;right:0}.coop-hud__pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a10288c;border:1px solid #cfd8f54d;border-radius:999px;align-items:center;gap:9px;padding:6px 15px;display:flex}.coop-hud__label{letter-spacing:.22em;color:#cfd8f5;font-size:11px;font-weight:700}.coop-hud__count{letter-spacing:.08em;color:var(--star,#ffd98a);font-size:11px;font-weight:700}.coop-hud__note{letter-spacing:.06em;color:#e9edffcc;font-size:12px}.coop-hud__hint{letter-spacing:.08em;color:#e9edff99;font-size:12px}.coop-release{z-index:6;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:34px;left:0;right:0}.coop-release__button{pointer-events:auto;background:linear-gradient(180deg, #ffe7b0, var(--star,#ffd98a));color:#1c264d;letter-spacing:.14em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:9px;padding:13px 34px;font-size:14px;font-weight:700;animation:.5s cubic-bezier(.16,1,.3,1) both cc-rise;display:flex;box-shadow:0 8px 30px #ffd98a66}.coop-release__button:hover{filter:brightness(1.06)}.coop-panel-overlay{z-index:7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#060a1c99;justify-content:center;align-items:center;animation:.2s both cc-fade;display:flex;position:absolute;inset:0}.coop-panel{background:linear-gradient(165deg,#182244f5,#0e142cf5);border:1px solid #cfd8f547;border-radius:18px;flex-direction:column;gap:12px;width:264px;padding:20px 20px 18px;animation:.34s cubic-bezier(.16,1,.3,1) both cc-rise;display:flex;box-shadow:0 16px 50px #00000073}.coop-panel__header{align-items:center;gap:10px;display:flex}.coop-panel__head{letter-spacing:.2em;color:#e9edff99;flex:auto;margin:0;font-size:11px;font-weight:700}.coop-panel__close{color:#e9edffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin:-4px -6px -4px 0;padding:0;display:flex}.coop-panel__close:hover{background:#ffffff14}.coop-panel__rows{flex-direction:column;gap:2px;display:flex}.coop-panel__row{border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:8px 2px;display:flex}.coop-panel__mark{width:14px;font-size:13px;font-weight:700}.coop-panel__name{color:#e9edff;flex:auto;font-size:14px}.coop-panel__note{letter-spacing:.06em;font-size:11px}.coop-notice-overlay{z-index:7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060a1c99;justify-content:center;align-items:center;animation:.24s both cc-fade;display:flex;position:absolute;inset:0}.coop-notice{background:linear-gradient(165deg,#182244f5,#0e142cf5);border:1px solid #cfd8f54d;border-radius:20px;flex-direction:column;align-items:center;gap:13px;width:300px;padding:28px 24px 24px;animation:.4s cubic-bezier(.16,1,.3,1) both cc-rise;display:flex;position:relative;box-shadow:0 16px 52px #00000073}.coop-notice__close{color:#e9edffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:12px;right:12px}.coop-notice__close:hover{background:#ffffff14}.coop-notice__label{letter-spacing:.26em;color:#cfd8f5;margin:0;font-size:11px;font-weight:700}.coop-notice__icon{display:block}.coop-notice__icon-ring{transform-origin:0 0;animation:22s linear infinite cc-spin}.coop-notice__title{letter-spacing:.05em;text-align:center;color:#f2ecdb;margin:0;font-size:19px;font-weight:700}.coop-notice__body{text-align:center;color:#e9edffd9;margin:0;font-size:14px;line-height:1.75}.coop-notice__cta{background:linear-gradient(180deg, #ffe7b0, var(--star,#ffd98a));color:#1c264d;letter-spacing:.1em;cursor:pointer;border:none;border-radius:999px;margin-top:4px;padding:12px 40px;font-size:14px;font-weight:700;box-shadow:0 6px 22px #ffd98a47}.day-content-card__overlay{z-index:7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#060a1c8c;justify-content:center;align-items:center;animation:.28s both cc-fade;display:flex;position:absolute;inset:0}.day-content-card{background:linear-gradient(165deg,#182244f2 0%,#0e142cf2 100%);border:1px solid #ffd98a66;border-radius:22px;flex-direction:column;align-items:center;gap:14px;width:min(320px,86vw);padding:30px 24px 26px;animation:.44s cubic-bezier(.16,1,.3,1) both cc-rise;display:flex;position:relative;box-shadow:0 18px 60px #00000073,inset 0 0 0 1px #ffffff0a,0 0 70px #ffd98a1a}.day-content-card__close{color:#e9edffb3;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:12px;right:12px}.day-content-card__close:hover{background:#ffffff14}.day-content-card__label{letter-spacing:.3em;color:var(--star,#ffd98a);margin:0;font-size:12px;font-weight:700}.day-content-card__icon{display:block}.day-content-card__icon-halo{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite cc-breathe}.day-content-card__title{letter-spacing:.05em;color:#f2ecdb;text-align:center;margin:0;font-size:20px;font-weight:700}.day-content-card__message{text-align:center;text-wrap:pretty;color:#e9edffe6;margin:0;font-size:14px;line-height:1.75}.day-content-card__item{color:var(--star,#ffd98a);border:1px solid #ffd98a66;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.day-content-card__cta{background:linear-gradient(180deg, #ffe7b0, var(--star,#ffd98a));color:#1c264d;letter-spacing:.1em;cursor:pointer;border:none;border-radius:999px;margin-top:6px;padding:12px 40px;font-size:14px;font-weight:700;box-shadow:0 6px 22px #ffd98a47}.debug-panel{z-index:8;color:#e9edff;background:#060a1ceb;border:1px solid #ffffff24;border-radius:12px 12px 0 0;width:min(360px,92vw);font-size:12px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.debug-panel__toggle{width:100%;color:inherit;letter-spacing:.1em;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff24;justify-content:center;align-items:center;gap:6px;padding:8px 0;font-size:11px;display:flex}.debug-panel__body{flex-direction:column;gap:10px;padding:0 16px 14px;display:flex}.debug-panel__row{flex-direction:column;gap:6px;display:flex}.debug-panel__row input[type=range]{accent-color:#ffd98a;width:100%}.debug-panel__text{width:100%;color:inherit;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:6px;padding:6px 8px;font-size:12px}.debug-panel__actions{flex-wrap:wrap;gap:8px;display:flex}.debug-panel__actions button{min-width:calc(33% - 6px);color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;flex:auto;padding:8px 6px;font-size:11px}.star-field{touch-action:none;width:100%;height:100%;display:block}.star-field__drift{animation:11s ease-in-out infinite cc-drift}.star-field__ignite{transform-box:fill-box;transform-origin:50%;animation:.75s cubic-bezier(.16,1,.3,1) both cc-ignite}.star-field__cross-spin{transform-box:fill-box;transform-origin:50%;animation:90s linear infinite cc-spin}.star-field__breathe{transform-box:fill-box;transform-origin:50%;animation:4.4s ease-in-out infinite cc-breathe}.star-field__chain-breathe{transform-box:fill-box;transform-origin:50%;animation:5.2s ease-in-out infinite cc-breathe}.star-field__chain-spin{transform-origin:0 0;animation:44s linear infinite cc-spin}.star-field__openable-breathe{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite cc-breathe}.star-field__ring1{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out infinite cc-ring}.star-field__ring2{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-out 1.6s infinite cc-ring}.star-field__orbit-cw{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite cc-spin}.star-field__orbit-ccw{transform-box:fill-box;transform-origin:50%;animation:30s linear infinite cc-spin-r}.star-field__hint-breathe{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite cc-breathe}.star-field__hint-tw{animation:2.6s ease-in-out infinite cc-tw}.star-field__chevron-tw{animation:2.2s ease-in-out infinite cc-tw}:root{--night-top:#070b1e}.constellation-calendar{box-sizing:border-box;background:linear-gradient(180deg, var(--night-top,#070b1e) 0%, #0f1633 42%, #1a2349 78%, #202a55 100%);color:#e9edff;flex-direction:column;width:100%;height:100%;min-height:100%;font-family:inherit;display:flex;position:relative;overflow:hidden}.constellation-calendar__load-error{z-index:5;color:#fff;text-align:center;background:#b42828d9;border-radius:10px;margin:0;padding:8px 12px;font-size:.82rem;font-weight:600;position:absolute;top:92px;left:16px;right:16px}.constellation-calendar__icon-button{color:#e9edff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.constellation-calendar__icon-button:hover{background:#ffffff29}.constellation-calendar__back-button{z-index:3;position:absolute;top:20px;left:20px}.constellation-calendar__top-buttons{z-index:3;gap:12px;display:flex;position:absolute;top:20px;right:20px}.constellation-calendar__event-info{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding-top:80px;transition:opacity .6s;display:flex}.constellation-calendar__event-date{letter-spacing:.2em;color:#e9edffb3;margin:0;font-size:15px;font-weight:500;line-height:1}.constellation-calendar__event-title{letter-spacing:.06em;text-align:center;color:#f2ecdb;text-shadow:0 0 18px #ffd98a59,0 0 46px #ffd98a24;margin:0;font-size:26px;font-weight:700;line-height:1.2}.constellation-calendar__finale-banner{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding-top:10px;animation:.9s cubic-bezier(.16,1,.3,1) both cc-banner;display:flex}.constellation-calendar__finale-banner-title{letter-spacing:.25em;color:var(--star,#ffd98a);text-shadow:0 0 22px #ffd98a80;font-size:17px;font-weight:700}.constellation-calendar__finale-banner-sub{letter-spacing:.2em;color:#e9edff8c;font-size:12px}.constellation-calendar__star-field-wrap{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:auto;min-height:0;position:relative}.constellation-calendar__burst-canvas{z-index:5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.constellation-calendar__progress{flex-shrink:0;align-items:center;gap:14px;padding:4px 26px 44px;transition:opacity .6s;display:flex}.constellation-calendar__progress-track{background:#ffffff1a;border-radius:2px;flex:auto;height:3px;overflow:hidden}.constellation-calendar__progress-fill{background:linear-gradient(90deg, #ffd98a66, var(--star,#ffd98a));border-radius:2px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #ffd98a99}.constellation-calendar__progress-label{letter-spacing:.06em;color:#e9edff99;white-space:nowrap;font-size:14px;font-weight:600}.constellation-calendar__gift-button{z-index:2;position:fixed;bottom:56px;right:24px}.constellation-calendar__finale-exit{z-index:6;color:var(--star,#ffd98a);letter-spacing:.16em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a102899;border:1px solid #ffd98a73;border-radius:999px;padding:11px 34px;font-size:13px;font-weight:700;animation:.8s both cc-fade;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.constellation-calendar__finale-exit:hover{background:#ffd98a24}
