:root{color-scheme:dark;font-family:Hiragino Maru Gothic ProN,Yu Gothic,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:#050818;overscroll-behavior:none}#root{width:100%;height:100%;height:100dvh}.app-root{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:#050818}.sky-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;cursor:crosshair}.top-bar{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 14px 8px;pointer-events:none}.app-header{flex:1;min-width:0;text-shadow:0 2px 8px rgba(0,0,0,.6)}.app-header__title{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:#fff8e1;letter-spacing:.02em;line-height:1.2}.app-header__title-main{font-size:clamp(1.05rem,4vw,1.6rem);font-weight:800}.app-header__title-sub{font-size:clamp(.8rem,3vw,1.05rem);color:#ffe6a8}.app-header__subtitle{margin:6px 0 0;font-size:clamp(.85rem,2.8vw,1.1rem);color:#cfe3ff;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.trace-hint{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;text-align:center;animation:trace-hint-fade-in .8s ease .6s backwards}.trace-hint__finger{font-size:2.6rem;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));animation:trace-hint-wiggle 2.4s ease-in-out infinite}.trace-hint__text{color:#cfe3ffd9;font-size:clamp(.9rem,3.2vw,1.05rem);font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.7);word-break:keep-all}@keyframes trace-hint-wiggle{0%,to{transform:translate(-18px,10px) rotate(-8deg)}50%{transform:translate(18px,-10px) rotate(8deg)}}@keyframes trace-hint-fade-in{0%{opacity:0}to{opacity:1}}.onboarding-guide{position:absolute;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:10px;max-width:min(88vw,380px);padding:10px 14px;border-radius:16px;background:#0a1228d9;border:1px solid rgba(255,220,150,.35);box-shadow:0 6px 20px #0006;animation:trace-hint-fade-in .5s ease backwards}.onboarding-guide__icon{font-size:1.4rem;flex-shrink:0}.onboarding-guide__text{margin:0;color:#cfe3ff;font-size:clamp(.85rem,3vw,.95rem);font-weight:700;word-break:keep-all}.onboarding-guide__close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff1f;color:#cfe3ff;font-size:.9rem;line-height:1;cursor:pointer}.result-panel{position:absolute;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:3;width:min(92vw,420px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:#0f1430eb;border:1px solid rgba(255,220,150,.35);border-radius:20px;padding:18px 22px 20px;text-align:center;box-shadow:0 12px 40px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.result-panel__badge{margin:0 0 4px;color:#ffd97a;font-size:.95rem;font-weight:600}.result-panel__name{margin:0;font-size:clamp(1.4rem,6vw,2rem);color:#fff}.result-panel__sub{margin:4px 0 16px;color:#a9b8e6;font-size:.95rem}.result-panel__compare-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-block;border:1px solid rgba(126,232,255,.5);border-radius:999px;padding:8px 16px;margin:0 0 14px;font-size:.85rem;font-weight:700;color:#dff6ff;background:#7ee8ff1f;cursor:pointer;touch-action:manipulation}.result-panel__compare-toggle[aria-pressed=true]{border-color:#ffd97ae6;background:#ffd97a38;color:#fff8e1}.result-panel__compare-hint{margin:-8px 0 14px;color:#cfe3ff;font-size:.82rem;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.result-panel--compare{background:#0f143052;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 8px 24px #00000059;transition:background .25s ease,box-shadow .25s ease}.result-panel--compare .constellation-diagram,.result-panel--compare .result-panel__description,.result-panel--compare .result-panel__score,.result-panel--compare .result-panel__praise{display:none}@media (prefers-reduced-motion: reduce){.result-panel--compare{transition:none}}.constellation-diagram{display:block;width:min(46vw,160px);height:min(46vw,160px);margin:0 auto 12px}.constellation-diagram__line{fill:none;stroke:#ffcd5ae6;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.constellation-diagram__star{fill:#fff8e1;stroke:#ffd97ad9;stroke-width:.6;animation:constellation-twinkle 2.4s ease-in-out infinite}.constellation-diagram__star:nth-child(3n+1){animation-delay:0s}.constellation-diagram__star:nth-child(3n+2){animation-delay:.6s}.constellation-diagram__star:nth-child(3n){animation-delay:1.2s}@keyframes constellation-twinkle{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.constellation-diagram__star,.result-panel__new-ribbon,.result-panel__zukan--emphasis,.trace-hint__finger,.notfound__emoji{animation:none}}.result-panel__description{margin:0 0 14px;color:#cfe3ff;font-size:.92rem;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.result-panel__score{display:flex;align-items:center;gap:10px;margin-bottom:8px}.result-panel__praise{margin:0 0 16px;color:#ffe98a;font-size:.95rem;font-weight:800;word-break:keep-all}.result-panel__score-label{color:#cfe3ff;font-size:.85rem;white-space:nowrap}.result-panel__score-bar{flex:1;height:10px;border-radius:999px;background:#ffffff1f;overflow:hidden}.result-panel__score-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7ee8ff,#ffd97a);transition:width .6s ease-out}@media (prefers-reduced-motion: reduce){.result-panel__score-fill{transition:none}}.result-panel__score-value{color:#fff8e1;font-weight:700;min-width:3ch;text-align:right}.reaction{margin:0 0 16px;padding:12px 10px 14px;border-radius:16px;background:#7ee8ff14;border:1px solid rgba(126,232,255,.22)}.reaction__question{margin:0 0 10px;color:#cfe3ff;font-size:.9rem;font-weight:700;word-break:keep-all}.reaction__buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.reaction__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;padding:10px 20px;font-size:.95rem;font-weight:700;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:7px;min-height:48px;color:#eaf3ff;background:#ffffff14;border:2px solid rgba(255,255,255,.28);transition:transform .12s ease,background .12s ease}.reaction__button:hover{background:#ffffff29}.reaction__button:active{transform:scale(.95)}.reaction__button--up{border-color:#ffd97a8c}.reaction__face{font-size:1.35rem;line-height:1}.reaction--done{margin:0 0 16px;color:#ffe98a;font-size:.95rem;font-weight:800}@media (prefers-reduced-motion: reduce){.reaction__button{transition:none}.reaction__button:active{transform:none}}.result-panel--compare .reaction{display:none}.result-panel__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.result-panel__retry{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:12px 24px;font-size:1rem;font-weight:700;white-space:nowrap;color:#14163a;background:linear-gradient(90deg,#7ee8ff,#ffd97a);cursor:pointer;touch-action:manipulation}.result-panel__retry:active{transform:scale(.97)}.result-panel__zukan{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,220,150,.5);border-radius:999px;padding:12px 18px;font-size:1rem;font-weight:700;white-space:nowrap;color:#fff8e1;background:#ffffff0f;cursor:pointer;touch-action:manipulation}.result-panel__zukan:active{transform:scale(.97)}.result-panel__save{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(126,232,255,.5);border-radius:999px;padding:12px 18px;font-size:1rem;font-weight:700;white-space:nowrap;color:#fff8e1;background:#7ee8ff1a;cursor:pointer;touch-action:manipulation}.result-panel__save:active{transform:scale(.97)}.result-panel__zukan--emphasis{border-color:#ffd97acc;background:#ffd97a29;animation:zukan-emphasis-pulse 1.6s ease-in-out infinite}@keyframes zukan-emphasis-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (hover: hover){.result-panel__retry:hover{filter:brightness(1.08)}.result-panel__zukan:hover{background:#ffffff1f}.result-panel__save:hover{background:#7ee8ff2e}}@media (max-height: 540px){.result-panel{width:min(94vw,660px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);display:grid;grid-template-columns:156px 1fr;grid-template-areas:"ribbon ribbon" "diagram badge" "diagram name" "diagram sub" "diagram category" "diagram description" "score score" "actions actions";column-gap:18px;align-items:center;text-align:left;padding:12px 20px 14px}.result-panel__new-ribbon{grid-area:ribbon;text-align:center;margin:0 0 6px}.result-panel__badge{grid-area:badge;margin:0}.result-panel__name{grid-area:name;font-size:1.35rem}.result-panel__sub{grid-area:sub;margin:2px 0 4px}.result-panel__category{grid-area:category;justify-self:start;margin:0 0 6px}.result-panel .constellation-diagram{grid-area:diagram;width:156px;height:156px;margin:0}.result-panel__description{grid-area:description;margin:0;font-size:.85rem}.result-panel__score{grid-area:score;margin:10px 0 4px}.result-panel__praise{display:none}.result-panel__actions{grid-area:actions}.result-panel__compare-toggle,.result-panel__compare-hint{grid-column:1 / -1}.result-panel__compare-toggle{justify-self:start}}.result-panel--notfound{border-color:#a0afdc66}.notfound__emoji{font-size:2.6rem;animation:notfound-search 2.6s ease-in-out infinite}.notfound__title{margin:8px 0 6px;font-size:clamp(1.15rem,5vw,1.45rem);color:#fff;word-break:keep-all}.notfound__text{margin:0 0 18px;color:#cfe3ff;font-size:.92rem;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.notfound__streak-text{margin:-8px 0 18px;padding:8px 14px;border-radius:12px;background:#ffd97a24;color:#ffd97a;font-size:.88rem;font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.notfound__myconstellation-text{margin:-8px 0 18px;padding:8px 14px;border-radius:12px;background:#a0dcff24;color:#a0dcff;font-size:.88rem;font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}@keyframes notfound-search{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.result-panel__name-emoji{margin-right:6px}.result-panel__category{display:inline-block;margin:8px 0 14px;padding:3px 12px;border-radius:999px;font-size:.78rem;font-weight:700}.result-panel__category--real{color:#bfe3ff;background:#5aa0ff2e;border:1px solid rgba(120,180,255,.4)}.result-panel__category--fun{color:#ffd3ec;background:#ff78c82e;border:1px solid rgba(255,150,210,.45)}.result-panel--new{border-color:#ffe178e6;box-shadow:0 0 0 2px #ffe17859,0 12px 40px #00000080;animation:result-pop .45s ease}.result-panel__new-ribbon{margin:-6px 0 10px;color:#ffe98a;font-size:1rem;font-weight:800;letter-spacing:.03em;animation:ribbon-pop-in .35s cubic-bezier(.34,1.56,.64,1),ribbon-glow 1.4s ease-in-out .35s infinite}@keyframes ribbon-pop-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes result-pop{0%{transform:translate(-50%) scale(.9);opacity:.4}60%{transform:translate(-50%) scale(1.03)}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes ribbon-glow{0%,to{text-shadow:0 0 6px rgba(255,225,120,.4)}50%{text-shadow:0 0 16px rgba(255,225,120,.9)}}.top-nav{flex-shrink:0;display:flex;align-items:center;gap:8px;pointer-events:auto}.nav-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(255,220,150,.4);border-radius:999px;background:#0f1430b8;color:#fff8e1;font-weight:700;font-size:.95rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:manipulation}.nav-button:active{transform:scale(.94)}@media (hover: hover){.nav-button:hover{background:#1e264ed9}}.nav-button__icon{font-size:1.2rem;line-height:1}.app-menu{position:relative;pointer-events:auto}.app-menu__dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:6;display:flex;flex-direction:column;min-width:210px;padding:6px;border:1px solid rgba(255,220,150,.4);border-radius:14px;background:#0f1430f5;box-shadow:0 12px 32px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:menu-pop .14s ease}@keyframes menu-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:none;border-radius:10px;background:transparent;color:#fff8e1;font-size:.98rem;font-weight:700;text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.app-menu__item:active{transform:scale(.98)}@media (hover: hover){.app-menu__item:hover{background:#7ee8ff1f}}.app-menu__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;border:none;padding:0;margin:0;background:transparent;cursor:default}.nav-button__count{font-size:.95rem}.dashboard,.feedback,.myconst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(160deg,#080c22f7,#14102ef7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.dashboard__header,.feedback__header,.myconst__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;max-width:720px;margin:0 auto 8px}.dashboard__title,.feedback__title,.myconst__title{margin:0;font-size:clamp(1.2rem,5vw,1.6rem);color:#fff8e1}.dashboard__close,.feedback__close,.myconst__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff14;color:#fff;font-size:1.1rem;cursor:pointer;touch-action:manipulation}.dashboard__message{max-width:720px;margin:24px auto;text-align:center;color:#cfe3ff;word-break:keep-all}.dashboard__body{width:100%;max-width:720px;margin:0 auto}.dashboard__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,220,150,.22);text-align:center}.stat-tile--gold{border-color:#ffd878cc;box-shadow:0 0 0 2px #ffd87840}.stat-tile__icon{font-size:1.5rem}.stat-tile__value{font-size:clamp(1.1rem,5vw,1.5rem);font-weight:800;color:#fff8e1}.stat-tile__label{font-size:.72rem;color:#b8c6e8;word-break:keep-all;line-height:1.3}.dashboard__subtitle{margin:18px 0 10px;font-size:1.05rem;color:#ffd97a}.dashboard__compare{padding:14px 16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12)}.dashboard__compare .dashboard__subtitle{margin-top:0}.compare-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.compare-row__label{flex:0 0 42%;font-size:.82rem;color:#cfe3ff;word-break:keep-all}.compare-row__bar{flex:1;height:12px;border-radius:999px;background:#ffffff1f;overflow:hidden}.compare-row__fill{height:100%;border-radius:999px;transition:width .5s ease}.compare-row__fill--mine{background:linear-gradient(90deg,#7ee8ff,#b6f0ff)}.compare-row__fill--all{background:linear-gradient(90deg,#ffd97a,#ffe9a8)}.compare-row__value{flex:0 0 auto;min-width:3.5ch;text-align:right;font-weight:700;color:#fff8e1;font-size:.85rem}.dashboard__compare-note{margin:6px 0 0;font-size:.85rem;color:#ffe98a;font-weight:700;word-break:keep-all}.ranking{list-style:none;margin:0 0 12px;padding:0}.ranking__row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.ranking__rank{flex:0 0 1.5ch;text-align:center;font-weight:800;color:#ffd97a;font-size:.9rem}.ranking__emoji{font-size:1.2rem}.ranking__main{flex:1;min-width:0}.ranking__name{display:block;font-size:.85rem;color:#fff8e1;word-break:keep-all;margin-bottom:4px}.ranking__mine{color:#7ee8ff;font-weight:800}.ranking__row--masked .ranking__emoji{opacity:.6}.ranking__name--masked{color:#cfe3ffb3;font-weight:700}.ranking__masked-note{font-size:.72rem;color:#cfe3ff8c;font-weight:400}.ranking__row--masked .ranking__bar-fill{background:#b4c3ff80}.ranking__bar{height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden}.ranking__bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7ee8ff,#ffd97a);transition:width .5s ease}.ranking__count{flex:0 0 auto;min-width:3ch;text-align:right;font-weight:700;color:#cfe3ff;font-size:.85rem}.feedback__body,.feedback__thanks,.myconst__body,.myconst__thanks{width:100%;max-width:560px;margin:0 auto}.feedback__lead,.myconst__lead{margin:4px 0 16px;color:#cfe3ff;font-size:.92rem;line-height:1.6;word-break:keep-all}.myconst__input{display:block;width:100%;padding:12px 14px;margin-bottom:14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fff8e1;font-size:1.05rem;font-family:inherit;text-align:center}.myconst__input:focus{outline:none;border-color:#7ee8ffb3}.feedback__categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.feedback__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 14px;background:#ffffff0d;color:#cfe3ff;font-size:.85rem;font-weight:700;cursor:pointer;touch-action:manipulation;word-break:keep-all}.feedback__chip--active{color:#14163a;background:linear-gradient(90deg,#7ee8ff,#ffd97a);border-color:transparent}.feedback__textarea{width:100%;resize:vertical;min-height:96px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fff8e1;font-size:1rem;font-family:inherit;line-height:1.6}.feedback__textarea:focus{outline:none;border-color:#7ee8ffb3}.feedback__meta{display:flex;justify-content:flex-end;margin:6px 0 12px}.feedback__count{font-size:.78rem;color:#94a3c8}.feedback__error{margin:0 0 12px;color:#ffb4b4;font-size:.85rem}.feedback__primary,.myconst__primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:none;border-radius:999px;padding:14px 24px;font-size:1.05rem;font-weight:800;color:#14163a;background:linear-gradient(90deg,#7ee8ff,#ffd97a);cursor:pointer;touch-action:manipulation}.feedback__primary:disabled,.myconst__primary:disabled{opacity:.5;cursor:default}.feedback__privacy{margin:12px 0 0;text-align:center;font-size:.76rem;color:#94a3c8;word-break:keep-all}.feedback__thanks,.myconst__thanks{text-align:center;padding-top:32px}.feedback__thanks-emoji,.myconst__thanks-emoji{font-size:3rem}.feedback__thanks-text,.myconst__thanks-text{margin:12px 0 4px;font-size:1.3rem;font-weight:800;color:#fff8e1;word-break:keep-all;overflow-wrap:anywhere}.feedback__thanks-sub,.myconst__thanks-sub{margin:0 0 24px;color:#cfe3ff;word-break:keep-all}.myconst__thanks .reaction{margin:0 0 20px}@media (max-width: 380px){.dashboard__tiles{gap:6px}.stat-tile{padding:12px 4px}}.zukan{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(160deg,#080c22f7,#14102ef7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zukan__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.zukan__title{margin:0;font-size:clamp(1.2rem,5vw,1.6rem);color:#fff8e1}.zukan__progress-text{margin:4px 0 0;color:#ffd97a;font-size:.9rem;font-weight:700}.zukan__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff14;color:#fff;font-size:1.1rem;cursor:pointer;touch-action:manipulation}.zukan__progress-bar{margin:12px 0 4px;height:10px;border-radius:999px;background:#ffffff1f;overflow:hidden}.zukan__progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7ee8ff,#ffd97a);transition:width .4s ease}.zukan__filters{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.zukan__filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 11px;background:#ffffff0d;color:#cfe3ff;font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer;touch-action:manipulation}.zukan__filter--active{color:#14163a;background:linear-gradient(90deg,#7ee8ff,#ffd97a);border-color:transparent}.zukan__grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:12px;padding:4px 2px 12px;-webkit-overflow-scrolling:touch;width:100%;max-width:900px;margin-inline:auto}.zukan__header,.zukan__progress-bar,.zukan__filters,.zukan__footer{width:100%;max-width:900px;margin-inline:auto}.zukan__progress-bar{margin-top:12px;margin-bottom:4px}.zukan-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:14px 12px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,220,150,.25);text-align:center;transition:transform .15s ease,box-shadow .15s ease}.zukan-card__season-badge{position:absolute;top:8px;right:8px;padding:2px 7px;border-radius:999px;background:#ffd97a2e;border:1px solid rgba(255,217,122,.5);color:#ffd97a;font-size:.62rem;font-weight:700;white-space:nowrap}@media (hover: hover){.zukan-card:not(.zukan-card--locked):hover{transform:translateY(-3px);box-shadow:0 8px 22px #0006}}.zukan-card--locked{justify-content:center;border-style:dashed;border-color:#ffffff2e;background:#ffffff08;min-height:150px}.zukan-card__mystery{font-size:2rem;font-weight:800;color:#cfe3ff80;line-height:1.1}.zukan-card__hint-label{margin:6px 0 2px;font-size:.72rem;font-weight:700;color:#ffd97a}.zukan-card__emoji{font-size:1.4rem}.zukan-card .constellation-diagram{width:92px;height:92px;margin:4px auto 8px}.zukan-card__name{margin:0 0 6px;color:#fff8e1;font-size:.92rem;font-weight:700;line-height:1.3;word-break:keep-all}.zukan-card__found-date{margin:6px 0 0;color:#ffd98a;font-size:.7rem;line-height:1.4}.zukan-card__desc{margin:0;color:#b8c6e8;font-size:.76rem;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.zukan-card__hint{margin:0;color:#d7e4ffd9;font-size:.8rem;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}.zukan__mysection{width:100%;max-width:900px;margin:4px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.zukan__mysection-title{margin:0 0 10px;color:#ffd97a;font-size:1rem;font-weight:800}.zukan__mysection-empty{margin:0 0 4px;color:#94a3c8;font-size:.85rem;line-height:1.6;word-break:keep-all}.zukan__mysection-grid{overflow:visible;flex:none}.zukan-card--mine{position:relative}.zukan-card__delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:8px;right:8px;width:26px;height:26px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#00000059;color:#fff;font-size:.75rem;line-height:1;cursor:pointer;touch-action:manipulation}.zukan__footer{display:flex;justify-content:center;padding-top:10px}.zukan__reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,150,150,.4);border-radius:999px;padding:8px 18px;background:#ff5a5a1a;color:#ffc9c9;font-size:.85rem;font-weight:700;cursor:pointer;touch-action:manipulation}.zukan__reset:disabled{opacity:.4;cursor:default}.zukan__confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.zukan__confirm-text{color:#ffc9c9;font-size:.9rem;font-weight:700}.zukan__confirm-yes{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:8px 18px;background:#ff6b6b;color:#fff;font-weight:700;cursor:pointer}.zukan__confirm-no{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 18px;background:#ffffff14;color:#fff;font-weight:700;cursor:pointer}.releasenotes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(160deg,#080c22f7,#14102ef7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.releasenotes__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;max-width:640px;margin:0 auto 8px}.releasenotes__title{margin:0;font-size:clamp(1.2rem,5vw,1.6rem);color:#fff8e1}.releasenotes__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff14;color:#fff;font-size:1.1rem;cursor:pointer;touch-action:manipulation}.releasenotes__body{width:100%;max-width:640px;margin:0 auto}.releasenotes__list{list-style:none;margin:0;padding:0}.release{position:relative;padding:16px 16px 16px 18px;margin-bottom:12px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,220,150,.22)}.release__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.release__emoji{font-size:1.6rem}.release__title{margin:0;font-size:1.05rem;color:#fff8e1;word-break:keep-all}.release__date{color:#ffd97a;font-size:.78rem;font-weight:700}.release__items{margin:0;padding-left:20px;color:#cfe3ff;font-size:.9rem;line-height:1.7}.release__items li{margin-bottom:3px;word-break:keep-all;overflow-wrap:anywhere}.debug-panel{position:fixed;top:8px;left:8px;z-index:60;width:min(92vw,330px);max-height:min(70dvh,520px);display:flex;flex-direction:column;background:#080c1cf0;border:1px solid rgba(150,180,255,.35);border-radius:10px;padding:10px 12px;color:#e8ecfa;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums;box-shadow:0 8px 28px #00000073}.debug-panel__head{display:flex;align-items:flex-start;gap:8px}.debug-panel__verdict{flex:1;font-weight:700}.debug-panel__verdict--hit{color:#7fe0a8}.debug-panel__verdict--margin{color:#ffd166}.debug-panel__verdict--low{color:#ff9a8b}.debug-panel__close{flex:0 0 auto;background:none;border:none;color:#9fb0d8;font-size:18px;line-height:1;padding:0 2px;cursor:pointer}.debug-panel__meta{margin:4px 0 8px;color:#93a4cc;font-size:11px}.debug-panel__list{margin:0;padding:0;list-style:none;overflow-y:auto}.debug-row{display:grid;grid-template-columns:1.6em 1fr 3.4em 3.4em 3.4em;gap:0 6px;padding:3px 0;border-top:1px solid rgba(150,180,255,.12)}.debug-row:first-child{border-top:0}.debug-row__rank{color:#7d8fbb}.debug-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-row__score{text-align:right;font-weight:700}.debug-row__delta{text-align:right;color:#93a4cc}.debug-row__dir{color:#93a4cc;font-size:11px}.debug-row__angle{text-align:right;color:#93a4cc;font-size:11px}.debug-row__angle--clamped{color:#ffd166}@media (prefers-reduced-motion: reduce){.debug-panel{transition:none}}.debug-panel__copy{margin:0 0 8px;padding:5px 8px;background:#96b4ff24;border:1px solid rgba(150,180,255,.35);border-radius:6px;color:#cfd9f5;font-size:11px;cursor:pointer}
