:root{--ink:#2e231c;--ink-2:#6b594c;--ink-3:#8f7d6e;--rule:#dfd2bf;--paper:#fffdfa;--ground:#f0e7da;--panel:#e5d3b9;--on-bright:#2e231c;--disabled-ink:#635244;--m1:#4c5f69;--m2:#6e828c;--m3:#9aa6ac;--m4:#86b4ce;--m5:#e0a03c;--accent:#e49c6c;--accent-ink:#8e4e22;--accent-bg:#fbefe5;--accent-edge:#b27a54;--sky1-a:#33424a;--sky1-b:#5e747e;--sky2-a:#41525a;--sky2-b:#7a8b93;--sky3-a:#5a6b72;--sky3-b:#98a6ac;--sky4-a:#42809f;--sky4-b:#a0c9dc;--sky5-a:#3585b8;--sky5-b:#c6e2ee;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-body:"Zen Kaku Gothic New", -apple-system, "Hiragino Sans", "Yu Gothic", sans-serif;--r-s:6px;--r-m:12px;--r-pill:999px;--shadow:0 1px 2px #1e24290f}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#eee9e3;--ink-2:#b9b6b5;--ink-3:#96989f;--rule:#3d4050;--paper:#282b3a;--panel:#282b3a;--on-bright:#2e231c;--disabled-ink:#b9b6b5;--ground:#1d1f2b;--m1:#91a7b2;--m2:#849ba5;--m3:#a6afb4;--m4:#8db4ca;--m5:#d4a373;--accent:#d4a373;--accent-ink:#f1d8b9;--accent-bg:#3b3233;--accent-edge:#997553;--shadow:0 1px 3px #04060c52}body{font-family:var(--font-body);background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased}.num,.stat-tile-value,.mypage-date{font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.18em;color:var(--ink-3);font-size:11px;font-weight:500;display:block}.rule-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:16px;padding:17px 0;display:flex}.rule-row>span{color:var(--ink-2);letter-spacing:.04em;font-size:13px}.rule-row>b{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.rule-row>b u{color:var(--ink-3);margin-left:4px;font-size:12px;font-weight:400;text-decoration:none}.figure{border-bottom:1px solid var(--rule);padding:32px 0 28px}.figure strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:68px;font-weight:900;line-height:1;display:block}.figure strong u{color:var(--ink-3);margin-left:6px;font-size:19px;font-weight:700;text-decoration:none}.figure p{color:var(--ink-2);margin-top:12px;font-size:13px}.btn-primary{border-radius:var(--r-pill);background:var(--accent);width:100%;color:var(--on-bright);font-family:var(--font-display);letter-spacing:.08em;cursor:pointer;border:0;padding:17px;font-size:16px;font-weight:700}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{background:var(--rule);color:var(--disabled-ink)}*{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-body);background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .35s,color .35s}:root[data-theme=night] .side-menu,:root[data-theme=night] .modal-card,:root[data-theme=night] .recommendation-item,:root[data-theme=night] .mypage-pager button{background:var(--paper)}:root[data-theme=night] .bottom-nav,:root[data-theme=night] .mypage-header,:root[data-theme=night] .mood-popup,:root[data-theme=night] .overall{background:#282b3af5}:root[data-theme=night] .map-mascot-bubble{--mascot-bubble-bg:#282b3af5}:root[data-theme=night] .bottom-nav-post{border-color:var(--paper)}:root[data-theme=night] .menu-toggle-btn,:root[data-theme=night] .side-menu-item:not(.side-menu-item-primary):not(.active),:root[data-theme=night] .score-btn{background:var(--paper)}.login-gate{background:var(--ground);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-gate-card{border-radius:var(--r-m);background:var(--paper);border:1px solid var(--rule);width:100%;max-width:360px;box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 28px;display:flex}.login-gate-wordmark{width:140px;height:auto}.login-gate-card h1{color:var(--ink);margin:0;font-size:1.4rem;font-weight:800}.login-gate-card p{color:var(--ink-2);margin:0 0 6px;font-size:.88rem;line-height:1.6}.post-flow{background:linear-gradient(180deg, var(--ground) 0%, var(--ground) 280px);max-width:420px;min-height:100vh;margin:0 auto;padding:32px 20px 48px}.post-flow h1{letter-spacing:-.01em;text-align:center;color:var(--ink);margin:8px 0 24px;font-size:1.5rem;font-weight:800}.hint{text-align:center;color:var(--ink-3);margin:16px 0;font-weight:700}.hint.error{color:var(--ink)}.hint.hint-danger{color:#c0392b}.ward-select{flex-direction:column;gap:12px;display:flex}.ward-select-secondary{border:1px solid var(--rule);border-radius:var(--r-pill);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;padding:13px 16px;font-weight:700}.ward-select-field{flex-direction:column;gap:8px;margin-top:6px;display:flex}.ward-select-field>span{letter-spacing:.02em;color:var(--ink-3);font-size:12px;font-weight:700}.ward-select-confirm{border-top:1px solid var(--rule);flex-direction:column;gap:12px;padding-top:14px;display:flex}.ward-select-confirm p{text-align:center;color:var(--ink);margin:0;font-weight:700}.ward-select-confirm button{border-radius:var(--r-pill);background:var(--ink);width:100%;color:var(--paper);font:inherit;cursor:pointer;border:0;padding:16px;font-size:1rem;font-weight:700}.ward-select select{width:100%;color:var(--ink);border:2px solid var(--rule);background:var(--paper);cursor:pointer;border-radius:16px;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:700;transition:border-color .15s}.ward-select select:focus{border-color:var(--m4);outline:none}.ward-display{text-align:center;color:var(--m1);background:var(--ground);border:2px solid var(--rule);border-radius:999px;margin:4px auto 24px;padding:8px 20px;font-size:1.05rem;font-weight:800;display:table}.submit-btn{letter-spacing:.03em;text-transform:uppercase;width:100%;color:var(--on-bright);background:var(--accent);border:none;border-bottom:4px solid var(--accent-ink);cursor:pointer;border-radius:16px;margin-top:20px;padding:16px;font-size:1.05rem;font-weight:800;transition:transform 80ms,border-bottom-width 80ms,background .15s}.submit-btn:hover:not(:disabled){filter:brightness(1.05)}.submit-btn:active:not(:disabled){border-bottom-width:1px;transform:translateY(3px)}.submit-btn:disabled{background:var(--rule);border-bottom-color:var(--disabled-ink);color:var(--disabled-ink);cursor:not-allowed}html,#root{height:100%}.view-hidden{display:none}.map-view{flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.map-panel{flex-direction:column;flex:1;min-height:0;display:flex}.main-panel-hidden{display:none}.home{background:var(--ground);flex:1;min-height:0;position:relative;overflow-y:auto}.home-sky{--sky-fall:50vh;color:#fff;border-bottom:1px solid var(--rule);min-height:42vh;transition:background 1s;display:flex;position:relative;overflow:hidden}.sky-rain,.sky-flash,.sky-drift,.sky-shine,.sky-glow,.sky-sun,.sky-haze,.sky-stars,.sky-bolts,.sky-scrim{pointer-events:none;position:absolute}.sky-rain,.sky-flash,.sky-drift,.sky-shine,.sky-haze,.sky-stars,.sky-bolts,.sky-scrim{inset:0;overflow:hidden}.sky-scrim.is-day{background:linear-gradient(#060a1000 40%,#060a1057 70%,#060a1094 100%)}.sky-scrim.is-dawn{background:linear-gradient(#060a1000 46%,#060a102e 74%,#060a1061 100%)}.sky-scrim.is-dusk{background:linear-gradient(#060a1000 46%,#060a1029 74%,#060a1057 100%)}.sky-scrim.is-night{background:linear-gradient(#060a1000 58%,#060a101f 100%)}.sky-rain i{background:linear-gradient(#fff0, rgba(255, 255, 255, var(--drop-dim,.36)));width:1px;animation-name:sky-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-48px}@keyframes sky-fall{0%{transform:translateY(0)}to{transform:translateY(var(--sky-fall,58vh))}}.sky-flash{opacity:0;background:radial-gradient(70% 60% at 40% 6%,#e4f0ff,#c6dcff73 52%,#b4cdff24);animation:.62s linear both sky-flash}@keyframes sky-flash{0%{opacity:0}4%{opacity:.32}17%{opacity:.04}27%{opacity:.24}42%{opacity:.03}55%{opacity:.14}to{opacity:0}}.sky-bolt{opacity:0;filter:drop-shadow(0 0 9px #96c3ffe6)drop-shadow(0 0 28px #6ea0ff80);animation:.62s linear both sky-bolt;position:absolute;top:-2%;overflow:visible}.sky-bolt path{fill:none;stroke-linecap:round;stroke-linejoin:round}.bolt-halo{stroke:#96c0ff80;stroke-width:7px}.bolt-core{stroke:#f2f7ff;stroke-width:2.2px}@keyframes sky-bolt{0%{opacity:0}3%{opacity:1}15%{opacity:.08}25%{opacity:.95}40%{opacity:.06}53%{opacity:.55}to{opacity:0}}.sky-drift{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-drift i{background:radial-gradient(closest-side,#ffffff21,#0000);border-radius:50%;width:78%;height:46%;animation:46s linear infinite sky-drift;position:absolute;top:8%;left:-80%}.sky-drift i:nth-child(2){opacity:.72;width:62%;height:34%;animation-duration:67s;animation-delay:-24s;top:30%}.sky-drift i:nth-child(3){opacity:.5;width:96%;height:30%;animation-duration:92s;animation-delay:-52s;top:2%}.sky-drift i:nth-child(4){opacity:.6;width:54%;height:26%;animation-duration:38s;animation-delay:-9s;top:46%}.sky-drift.is-heavy i{background:radial-gradient(closest-side,#0c121c6b,#0000)}.sky-drift.is-heavy i:nth-child(3){opacity:.8;height:42%;top:-6%}@keyframes sky-drift{0%{transform:translate(0)}to{transform:translate(250%)}}.sky-shine{background:radial-gradient(60% 55% at 78% 8%,#ffffff42,#0000 70%);animation:7s ease-in-out infinite sky-shine}.sky-shine.is-clear{background:radial-gradient(66% 62% at 76% 6%,#ffffff6b,#ffffff17 46%,#0000 72%)}@keyframes sky-shine{0%,to{opacity:.82}50%{opacity:1}}.sky-sun-day{pointer-events:none;filter:blur(22px);background:radial-gradient(circle,#fffdeed1 0%,#fff0c866 42%,#ffe6b400 72%);border-radius:50%;width:210px;height:210px;animation:10s ease-in-out infinite sky-sun-breathe;position:absolute;top:6%;right:12%}.sky-glow{height:62%;inset:auto 0 0}.sky-glow.is-dawn{background:linear-gradient(#0000,#64529c0f 20%,#9e60ae24 38%,#e476a447 58%,#ffb0a675 78%,#ffd69ebd);height:78%}.sky-dawn-veil{pointer-events:none;filter:blur(30px);background:radial-gradient(circle,#ffd6c85c 0%,#ffb8c829 45%,#0000 74%);border-radius:50%;width:78%;height:68%;position:absolute;bottom:-40px;left:-10%}.sky-glow.is-dusk{background:linear-gradient(#0000,#96468224 42%,#e66e6e52 70%,#ff965ca8)}.sky-sun{filter:blur(24px);border-radius:50%;width:260px;height:260px;animation:12s ease-in-out infinite sky-sun-breathe;bottom:-90px}.sky-sun.is-dawn{background:radial-gradient(circle,#fff8e2e6 0%,#ffd29e8f 38%,#ffb08238 60%,#ffb06c00 78%);left:7%}.sky-sun.is-dusk{background:radial-gradient(circle,#ffecd2db 0%,#fca07a8a 38%,#ee786033 60%,#ee785400 78%);right:5%}@keyframes sky-sun-breathe{0%,to{opacity:.85}50%{opacity:1}}.sky-moon{pointer-events:none;filter:blur(2.5px);background:radial-gradient(circle at 38% 34%,#fdfdfa 0%,#eef1f6 46%,#c7d2e659 74%,#c7d2e600 90%);border-radius:50%;width:92px;height:92px;animation:14s ease-in-out infinite sky-moon-breathe;position:absolute;top:8%;right:13%;box-shadow:0 0 50px 16px #d2dcf53d}@keyframes sky-moon-breathe{0%,to{opacity:.86}50%{opacity:1}}.sky-moon.is-dim{background:radial-gradient(circle at 38% 34%,#c3cad8 0%,#9aa4b8 46%,#9aa4b838 74%,#9aa4b800 90%);animation:14s ease-in-out infinite sky-moon-breathe-dim;box-shadow:0 0 22px 6px #9aa4b81f}@keyframes sky-moon-breathe-dim{0%,to{opacity:.38}50%{opacity:.5}}.sky-haze{background:radial-gradient(38% 30% at 82% 12%,#e2ebff29,#0000 70%),linear-gradient(112deg,#0000 34%,#b4c8ff12 50%,#0000 66%)}.sky-city{pointer-events:none;width:100%;height:30%;position:absolute;inset:auto 0 0}.sky-city-building{fill:url(#skyCityFill)}.sky-city-antenna{stroke:#040814db;stroke-width:.25px}.sky-city-window{filter:drop-shadow(0 0 .5px)}.sky-city-window.is-warm{fill:#ffc882e6;color:#ffc8828c}.sky-city-window.is-cool{fill:#c8dcffd1;color:#c8dcff80}.sky-city-window.is-twinkle{animation:6s ease-in-out infinite sky-city-twinkle}.sky-city.is-dim{opacity:.5}.sky-city.is-dim .sky-city-window{filter:none}@keyframes sky-city-twinkle{0%,to{opacity:1}50%{opacity:.3}}.sky-stars i{background:#fff;border-radius:50%;animation-name:sky-twinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}@keyframes sky-twinkle{0%,to{opacity:calc(var(--star-max,1) * .34);transform:scale(.85)}50%{opacity:var(--star-max,1);transform:scale(1)}}.home-sky-body{z-index:1;flex-direction:column;flex:1;padding:24px 22px 28px;display:flex;position:relative}.home-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.home-head .eyebrow{color:#ffffffe0;text-shadow:0 1px 2px #060a1059}.home-head h1{font-family:var(--font-display);letter-spacing:.06em;color:#fffffffa;text-shadow:0 1px 2px #060a1059;margin:5px 0 0;font-size:1.2rem;font-weight:500}.home-menu-toggle{background:#ffffff24;border:0;border-radius:999px;gap:5px;width:42px;height:42px}.home-menu-toggle:hover{background:#ffffff38}.home-menu-toggle:active{transform:none}.home-menu-toggle span{background:#fff;width:17px}.home-now{align-items:center;gap:20px;margin-top:auto;padding-top:22px;display:flex}.home-now-text{flex-direction:column;min-width:0;animation:.6s cubic-bezier(.2,.7,.3,1) .1s both home-rise;display:flex}.home-now-label{letter-spacing:.18em;color:#ffffffe6;text-shadow:0 1px 2px #060a1059;font-size:10px;font-weight:500}.home-now-text strong{font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 2px 6px #060a104d;white-space:nowrap;margin-top:6px;font-size:clamp(1.9rem,9vw,3.6rem);font-weight:700;line-height:1.02}.home-now-meta{letter-spacing:.04em;color:#ffffffeb;text-shadow:0 1px 2px #060a1059;align-items:baseline;gap:10px;margin-top:10px;font-size:12px;font-weight:500;display:flex}.home-now-meta time{letter-spacing:.08em;color:#ffffffb8;font-variant-numeric:tabular-nums;font-size:10px}.home-now-text time{letter-spacing:.1em;color:#ffffffe6;text-shadow:0 1px 2px #060a1059;font-variant-numeric:tabular-nums;margin-top:9px;font-size:10px}.home-now-comment{color:#fffffff2;text-shadow:0 1px 2px #060a1059;margin:14px 0 0;font-size:.9rem;line-height:1.75}.home-empty{margin-top:auto;padding-top:22px}.home-empty p{font-family:var(--font-display);color:#fffffff2;text-shadow:0 1px 2px #060a1059;margin:0 0 18px;font-size:1.15rem;line-height:1.7}.home-empty button{color:var(--on-bright);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:#fff;border:0;border-radius:999px;padding:15px 26px;font-size:.95rem;font-weight:700}.home-empty button:active{transform:translateY(1px)}.home-ground{background:var(--ground);flex-direction:column;gap:20px;padding:18px 16px 104px;display:flex}.home-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 2px 6px;display:grid}.home-stats>div{flex-direction:column;gap:9px;padding:18px 12px 20px;display:flex}.home-stats>div+div{border-left:1px solid var(--rule)}.home-stats span{letter-spacing:.01em;color:var(--ink-2);font-size:11px;font-weight:500}.home-stats b{font-family:var(--font-display);letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.05}.home-stats b.is-up{color:var(--accent-ink)}.home-stats b.is-down{color:var(--m1)}.home-stats b u{font-family:var(--font-body);color:var(--ink-3);margin-left:3px;font-size:11px;font-weight:500;text-decoration:none}.home-stats-empty{color:var(--ink-3);margin:4px 2px 6px;padding:18px 12px 20px;font-size:13px;line-height:1.9}.home-advice{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-m);box-shadow:var(--shadow);padding:20px 18px 22px}.home-advice .recommendation-facts dt,.home-advice .recommendation-constraint{color:var(--ink-2)}.home-advice .recommendation-constraint:before{background:var(--ink-2)}.home-advice .recommendation-item{border-top-color:#2e231c29}.home-footer-logo{opacity:.7;width:72px;height:auto;margin:24px auto 4px;display:block}.home-insight{align-items:flex-end;gap:12px;padding:4px 2px 0;display:flex}.home-insight-avatar{object-fit:contain;flex-shrink:0;width:78px;height:78px;animation:5.5s ease-in-out infinite mascot-float}.home-insight-bubble{background:var(--paper);border:1px solid var(--rule);min-width:0;box-shadow:var(--shadow);border-radius:18px 18px 18px 5px;flex:1;margin-bottom:10px;padding:15px 17px;position:relative}.home-insight-bubble:before,.home-insight-bubble:after{content:"";border-style:solid;width:0;height:0;position:absolute}.home-insight-bubble:before{border-width:0 10px 10px 0;border-color:transparent var(--rule) transparent transparent;bottom:9px;left:-10px}.home-insight-bubble:after{border-width:0 9px 9px 0;border-color:transparent var(--paper) transparent transparent;bottom:10px;left:-9px}.home-insight-bubble p{color:var(--ink);margin:0;font-size:14px;line-height:1.85;animation:.3s ease-out advice-appear}.insight-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.insight-dots{gap:5px;display:flex}.insight-arrows{align-items:center;margin:-6px -6px -6px 0;display:flex}.insight-prev,.insight-next{width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;transition:background .15s,color .15s;display:flex}.insight-prev span,.insight-next span{transform:translateY(-1px)}.insight-prev:hover,.insight-next:hover{background:var(--ground);color:var(--ink-2)}.insight-prev:active,.insight-next:active{transform:scale(.94)}.insight-prev:focus-visible,.insight-next:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.insight-dots span{background:var(--rule);border-radius:50%;width:5px;height:5px;transition:width .2s,background .2s;position:relative;overflow:hidden}.insight-dots span.is-active{border-radius:999px;width:22px}.insight-dots span.is-active:after{content:"";border-radius:inherit;background:var(--accent);transform-origin:0;animation:insight-advance var(--advice-rotation,6s) linear forwards;position:absolute;inset:0}.insight-dots.is-manual span.is-active:after{animation:none}@keyframes insight-advance{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.insight-dots span.is-active:after{animation:none}}.home-advice .eyebrow{background:var(--accent-bg);color:var(--accent-ink);border-radius:999px;padding:5px 11px;font-weight:700;display:inline-block}.home-advice-content{cursor:pointer;outline:none}.home-advice-content:focus-visible{outline:2px solid var(--ink);outline-offset:6px;border-radius:var(--r-s)}.home-advice-title{color:var(--ink);margin-top:13px;font-size:17px;font-weight:700;line-height:1.5;animation:.3s ease-out advice-appear;display:block}.home-advice-body{align-items:flex-start;gap:14px;margin-top:13px;display:flex}.home-advice-body p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.9;animation:.3s ease-out advice-appear}.home-spot-link{letter-spacing:.02em;color:var(--ink);text-underline-offset:3px;margin-top:15px;font-size:12px;text-decoration:underline;display:inline-block}.home-spot-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.home-floating-post{z-index:20;background:var(--accent);min-width:108px;height:58px;color:var(--on-bright);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 21px;font-family:inherit;transition:transform .12s,filter .12s;display:flex;position:fixed;bottom:24px;right:24px}.home-floating-post>span{font-size:1.85rem;font-weight:500;line-height:1}.home-floating-post>strong{font-size:1rem}.home-floating-post:hover{filter:brightness(1.05)}.home-floating-post:active{transform:translateY(1px)}.weather-glyph{flex-shrink:0;animation:.7s cubic-bezier(.2,.7,.3,1) both home-rise}.weather-glyph-ray{animation:.45s ease-out both glyph-draw}@keyframes home-rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes glyph-draw{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.weather-glyph,.weather-glyph-ray,.home-now-text,.home-advice-title,.home-advice-body p,.sky-flash,.sky-drift i,.sky-shine,.sky-sun,.sky-sun-day,.sky-moon,.sky-stars i,.sky-city-window.is-twinkle,.sky-bolt{animation:none}.sky-bolts,.sky-rain{display:none}}.map-canvas{flex:1;min-height:0;position:relative}.google-map-container{z-index:0;width:100%;height:100%}.map-load-error{height:100%;color:var(--ink);background:var(--ground);text-align:center;place-items:center;padding:24px;font-weight:800;display:grid}.ward-emoji-badge{opacity:1;transition:opacity .25s}.pins-visible .ward-emoji-badge{opacity:0;pointer-events:none}.ward-emoji-badge-inner{border:2px solid #ffffffd9;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 6px #0000004d}.pins-visible .ward-emoji-badge-inner{transform:scale(.6)}.menu-toggle-btn{border:2px solid var(--rule);border-bottom:4px solid var(--rule);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:50px;height:50px;transition:transform 80ms,border-bottom-width 80ms,background .15s;display:flex}.menu-toggle-btn:hover{background:var(--ground)}.menu-toggle-btn:active{border-bottom-width:2px;transform:translateY(2px)}.menu-toggle-btn span{background:var(--ink);border-radius:2px;width:22px;height:3px;display:block}.map-menu-toggle{margin-left:auto;box-shadow:0 3px 10px #00000024}.side-menu-backdrop{z-index:1900;background:#0006;position:fixed;inset:0}.side-menu{z-index:2000;background:#fff;flex-direction:column;gap:10px;width:min(78%,280px);padding:24px 16px;transition:transform .25s cubic-bezier(.34,1.2,.64,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0003}.side-menu-open{transform:translate(0)}.side-menu-close{background:var(--ground);width:32px;height:32px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;align-self:flex-end;margin-bottom:8px;font-size:1.1rem;line-height:1}.side-menu-item{border:2px solid var(--rule);border-bottom:4px solid var(--rule);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:11px;padding:14px 16px;font-size:.95rem;font-weight:800;transition:transform 80ms,border-bottom-width 80ms,background .15s;display:flex}.side-menu-item svg{flex-shrink:0;width:21px;height:21px}.side-menu-plus{text-align:center;flex-shrink:0;width:21px;font-size:1.6rem;font-weight:500;line-height:.8}.side-menu-item:hover{background:var(--ground)}.side-menu-item.active{border-color:var(--rule);background:var(--accent-bg);color:var(--accent-ink)}.side-menu-item:disabled{opacity:.45;cursor:not-allowed}.side-menu-item:active{border-bottom-width:2px;transform:translateY(2px)}.side-menu-item-primary{border-color:var(--accent);border-bottom-color:var(--accent-edge);background:var(--accent);color:var(--on-bright)}.side-menu-item-primary:hover{background:var(--accent);filter:brightness(1.05)}.side-menu-divider{background:var(--rule);height:1px;margin:2px 2px 4px}@keyframes mascot-float{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-10px)rotate(1.5deg)}}@keyframes mascot-appear{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes advice-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.map-mascot{z-index:1050;pointer-events:none;justify-content:flex-end;align-items:flex-end;gap:8px;width:min(330px,100vw - 28px);display:flex;position:absolute;bottom:18px;right:14px}.map-mascot-bubble{--mascot-bubble-bg:#fffffff7;background:var(--mascot-bubble-bg);border:2px solid var(--rule);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;border-radius:16px;width:min(215px,100vw - 142px);margin-bottom:66px;padding:11px 14px;position:relative;box-shadow:0 4px 14px #245a4629}.map-mascot-label{background:var(--accent-bg);color:var(--accent-ink);border-radius:999px;margin-bottom:4px;padding:2px 8px;font-size:.65rem;font-weight:800;display:inline-block}.map-mascot-bubble p{color:var(--ink);margin:0;font-size:.78rem;font-weight:700;line-height:1.45}.map-mascot-advice{animation:.3s ease-out advice-appear}.map-mascot-bubble .insight-nav{margin-top:6px}.map-mascot-image{object-fit:contain;filter:drop-shadow(0 6px 8px #19473933);width:120px;height:120px;animation:.35s ease-out mascot-appear,3.2s ease-in-out .35s infinite mascot-float}.bottom-nav{z-index:1300;min-height:calc(72px + env(safe-area-inset-bottom));padding:7px max(10px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border-top:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;display:grid;position:relative;box-shadow:0 -4px 18px #1e46381a}.bottom-nav-item,.bottom-nav-post{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;font-family:inherit}.bottom-nav-item{min-width:0;min-height:54px;color:var(--ink-3);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:.65rem;font-weight:800;display:flex}.bottom-nav-item svg{width:23px;height:23px}.bottom-nav-item.is-active{color:var(--ink)}.bottom-nav-item[aria-disabled=true]{cursor:default}.bottom-nav-post{background:var(--accent);width:58px;height:58px;color:var(--on-bright);box-shadow:none;border:4px solid #fff;border-radius:50%;flex-direction:column;justify-content:center;place-self:start center;align-items:center;transition:transform .12s,background .12s;display:flex;transform:translateY(-17px)}.bottom-nav-post>span{font-size:1.8rem;font-weight:500;line-height:.72}.bottom-nav-post small{margin-top:4px;font-size:.58rem;font-weight:800}.bottom-nav-post:active{filter:brightness(.96);transform:translateY(-15px)scale(.97)}@media (width>=769px){.bottom-nav{display:none}.map-mascot{gap:12px;width:410px;bottom:26px;right:24px}.map-mascot-image{width:152px;height:152px}.map-mascot-bubble{width:245px;margin-bottom:82px;padding:14px 17px}.map-mascot-label{font-size:.72rem}.map-mascot-bubble p{font-size:.9rem;line-height:1.5}}.mood-pin{pointer-events:none;opacity:0;transition:opacity .15s}.pins-visible .mood-pin{opacity:1;pointer-events:auto;cursor:pointer}.mood-pin-shape{border:2.5px solid #ffffffd9;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:rotate(-45deg)scale(.4);box-shadow:0 2px 5px #0000004d}.pins-visible .mood-pin-shape{transform:rotate(-45deg)scale(1)}.mood-pin-face{display:flex;transform:rotate(45deg)}.mood-pin-mine .mood-pin-shape{box-shadow:0 0 0 3px var(--accent), 0 2px 6px #0000004d}.mood-pin-mine-badge{filter:drop-shadow(0 1px 1px #0006);font-size:14px;line-height:1;position:absolute;top:-8px;right:-8px;transform:rotate(45deg)}.mood-popup{border:2px solid var(--rule);opacity:1;background:#fffffff7;border-radius:14px;width:max-content;max-width:150px;padding:5px 10px;position:absolute;bottom:49px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0003;writing-mode:horizontal-tb!important;white-space:normal!important}.mood-popup:after{content:"";border:7px solid #0000;border-top-color:var(--rule);position:absolute;top:100%;left:50%;transform:translate(-50%)}.mood-bubble{color:var(--ink-2);white-space:normal;word-break:break-word;max-width:140px;font-size:.72rem;font-weight:700;line-height:1.3}@media (width<=480px){.overall{width:min(88%,300px)}.overall-label{font-size:.76rem}.overall-value{font-size:1.35rem}.overall-real-weather{font-size:.8rem}.current-ward{font-size:.84rem}.map-mascot{bottom:10px;right:8px}.map-mascot-image{width:104px;height:104px}.map-mascot-bubble{width:min(190px,100vw - 120px);margin-bottom:54px;padding:9px 11px}.map-mascot-bubble p{font-size:.76rem}.mood-bubble{font-size:.78rem}}@media (width<=768px){.map-menu-toggle,.home-floating-post{display:none}}.modal-backdrop{z-index:2000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-compact{width:100%;max-width:420px}.modal-large{width:100%;max-width:600px}.modal-close{width:32px;height:32px;color:var(--ink);cursor:pointer;z-index:1;background:#0000000f;border:none;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:8px;right:8px}.modal-compact .post-flow{padding:32px 20px 24px}.mypage{border-radius:var(--r-m);padding:24px 20px}.mypage h2{text-align:center;margin:0 0 4px;font-size:1.2rem}.mypage-sub{text-align:center;color:var(--ink-3);margin:0 0 16px;font-size:.78rem}.mypage-list{flex-direction:column;gap:6px;max-height:min(50vh,500px);display:flex;overflow-y:auto}.mypage-row{background:var(--ground);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;font-size:.82rem;display:flex}.mypage-row-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.mypage-date{color:var(--ink-2);white-space:nowrap;font-size:.75rem}.mypage-emoji{font-size:1.1rem}.mypage-ward{white-space:nowrap;font-weight:700}.mypage-comment{min-width:60px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:100px;overflow:hidden}.mypage-tags{flex-wrap:wrap;gap:4px;display:flex}.mypage-tag{background:var(--accent-bg);color:var(--accent-ink);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.mypage-pager{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.mypage-pager button{border:1px solid var(--rule);cursor:pointer;background:#fff;border-radius:8px;padding:6px 14px}.mypage-pager button:disabled{opacity:.4;cursor:not-allowed}.settings-page-content{flex:1;width:100%;min-height:0;padding:16px;overflow-y:auto}.settings-tab-wrap{max-width:480px;margin:0 auto}.settings-tab{flex-direction:column;gap:16px;display:flex}.settings-field{border-radius:var(--r-m);background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.settings-field label{color:var(--ink);font-size:.95rem;font-weight:700}.settings-field .mypage-sub{text-align:left;margin:0}.settings-field input{color:var(--ink);border-radius:var(--r-s);border:1px solid var(--rule);background:var(--ground);padding:12px 14px;font-family:inherit;font-size:1rem;transition:border-color .15s}.settings-field input:focus{border-color:var(--m4);outline:none}.nickname-input-row{align-items:center;gap:10px;display:flex}.nickname-input-row input{flex:1;min-width:0}.settings-tab .submit-btn{flex-shrink:0;width:auto;margin-top:0;padding:12px 28px}@media (width<=480px){.nickname-input-row{flex-wrap:wrap}.nickname-input-row input{flex-basis:100%}.settings-tab .submit-btn{padding:10px 20px;font-size:.85rem}}.settings-section-title{letter-spacing:.04em;color:var(--ink-2);font-size:.8rem;font-weight:700}.tag-editor-list{flex-wrap:wrap;gap:8px;display:flex}.tag-editor-chip{border-radius:var(--r-pill);background:var(--ground);border:1px solid var(--rule);color:var(--ink-2);align-items:center;gap:4px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.tag-editor-chip.removable{background:var(--accent-bg);color:var(--accent-ink);border-color:#0000}.tag-editor-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-size:.95rem;line-height:1}.tag-editor-add{gap:8px;margin-top:4px;display:flex}.tag-editor-add input{min-width:0;color:var(--ink);border-radius:var(--r-s);border:1px solid var(--rule);background:var(--ground);flex:1;padding:10px 12px;font-family:inherit;font-size:.9rem}.tag-editor-add input:focus{border-color:var(--m4);outline:none}.tag-editor-add button{border-radius:var(--r-pill);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;border:0;padding:10px 16px;font-size:.82rem;font-weight:700}.tag-editor-add button:disabled{background:var(--rule);color:var(--disabled-ink);cursor:not-allowed}.onboarding{flex-direction:column;gap:14px;padding:40px 24px 28px;display:flex;position:relative}.onboarding-intro{text-align:center;align-items:center;padding-top:32px}.onboarding-intro-mascot{object-fit:contain;filter:drop-shadow(0 8px 12px #1e242924);width:126px;height:126px;animation:.35s ease-out mascot-appear,3.2s ease-in-out .35s infinite mascot-float}.onboarding-intro-bubble{border:1px solid var(--rule);border-radius:var(--r-m);background:var(--paper);width:100%;padding:20px;position:relative}.onboarding-intro-bubble h2{color:var(--ink);margin:7px 0 8px;font-size:1.35rem}.onboarding-intro-bubble p{color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.7}.onboarding-intro-actions{gap:8px;width:100%;display:grid}.onboarding-intro .onboarding-next{background:var(--accent);color:var(--on-bright)}.onboarding-defer{color:var(--ink-2);cursor:pointer;border-radius:var(--r-pill);background:0 0;border:0;padding:10px;font-family:inherit;font-size:.85rem;font-weight:500}.onboarding-defer:hover{color:var(--ink)}.onboarding-defer:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.admin-panel{text-align:center;padding:34px 24px 26px}.admin-panel h2{color:var(--ink);margin:8px 0 12px;font-size:1.35rem}.admin-panel p{color:var(--ink-2);margin:0;font-size:.9rem;line-height:1.75}.admin-panel-close{border-radius:var(--r-pill);background:var(--ink);width:100%;color:var(--paper);font:inherit;cursor:pointer;border:0;margin-top:24px;padding:13px 18px;font-weight:700}.admin-panel-reset{border:1px solid var(--accent);border-radius:var(--r-m);background:var(--accent-bg);width:100%;color:var(--accent-ink);font:inherit;cursor:pointer;margin-top:22px;padding:14px 16px;font-size:.88rem;font-weight:800;line-height:1.45}.admin-panel-reset:disabled{cursor:wait;opacity:.6}.admin-panel-error{color:#b94a48!important;margin-top:12px!important;font-size:.8rem!important}.onboarding-close{background:var(--ground);width:32px;height:32px;color:var(--ink);cursor:pointer;border:none;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute;top:8px;right:8px}.onboarding-progress{border-radius:var(--r-pill);background:var(--rule);height:4px;overflow:hidden}.onboarding-progress-bar{background:var(--accent);height:100%;transition:width .25s}.onboarding-step{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.onboarding-title{color:var(--ink);margin:0;font-size:1.2rem;font-weight:800;line-height:1.4}.onboarding-hint{color:var(--ink-3);margin:-8px 0 0;font-size:.78rem}.onboarding-options{flex-direction:column;gap:8px;margin:4px 0 8px;display:flex}.onboarding-option{text-align:left;border-radius:var(--r-m);border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;padding:14px 16px;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.onboarding-option:hover{border-color:var(--m4)}.onboarding-option.is-selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-ink)}.onboarding-actions{gap:10px;display:flex}.onboarding-back{border-radius:var(--r-pill);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;background:0 0;padding:12px 18px;font-size:.88rem;font-weight:700}.onboarding-next{border-radius:var(--r-pill);background:var(--ink);color:var(--paper);cursor:pointer;border:0;flex:1;padding:12px 18px;font-size:.92rem;font-weight:700}.onboarding-next:disabled{background:var(--rule);color:var(--disabled-ink);cursor:not-allowed}.settings-logout-btn{border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;flex-shrink:0;margin-left:auto;padding:6px 14px;font-size:.82rem;font-weight:700}.settings-logout-btn:hover{background:var(--ground)}.login-status{border-radius:var(--r-pill);background:var(--accent-bg);color:var(--accent-ink);align-items:center;gap:8px;width:100%;margin-bottom:20px;padding:8px 12px;font-size:.85rem;font-weight:700;display:flex}.settings-field .login-status{margin-bottom:0}.login-status-avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px}.login-status-email{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.login-status-suffix{white-space:nowrap;flex-shrink:0}@media (width<=480px){.login-status{gap:6px;padding:6px 8px 6px 10px;font-size:.78rem}.login-status-suffix{display:none}.login-status-avatar{width:20px;height:20px}.settings-logout-btn{padding:5px 10px;font-size:.74rem}}.mypage-page{background:var(--ground);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.mypage-header{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid var(--rule);box-shadow:var(--shadow);background:#fffffff2;align-items:center;gap:16px;padding:14px 20px;display:flex;position:sticky;top:0}.mypage-header h1{margin:0;font-size:1.1rem}.mypage-layout{flex:1;gap:16px;width:100%;max-width:900px;min-height:0;margin:0 auto;padding:16px;display:flex;overflow-y:auto}.mypage-menu{flex-direction:column;flex-shrink:0;gap:4px;width:140px;display:flex}.mypage-menu-item{color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:12px 14px;font-size:.9rem;font-weight:700}.mypage-menu-item.active{background:var(--paper);color:var(--accent-ink);border:1px solid var(--rule);border-left:2px solid var(--accent);box-shadow:var(--shadow)}.mypage-content{background:0 0;flex:1;min-width:0}.mypage-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:280px;padding:32px 20px;display:flex}.mypage-empty p{color:var(--ink-3);margin:0;font-weight:700;line-height:1.8}.mypage-empty button{border-radius:var(--r-pill);background:var(--accent);color:var(--on-bright);font:inherit;cursor:pointer;border:0;padding:13px 24px;font-weight:700}.mypage-empty button:hover{filter:brightness(1.05)}.mypage-empty button:active{transform:translateY(1px)}.stat-tile,.profile-section,.mypage{background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow)}@media (width<=640px){.mypage-layout{flex-direction:column;padding:12px}.mypage-menu{flex-direction:row;width:100%}.mypage-menu-item{text-align:center;flex:1;padding:10px 6px;font-size:.8rem}.mypage-menu-item.active{border-left:1px solid var(--rule);border-bottom:2px solid var(--accent)}}.profile-card{flex-direction:column;gap:18px;display:flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat-tile{border-radius:var(--r-m);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat-tile-label{color:var(--ink-3);font-size:.7rem;font-weight:600}.stat-tile-value{color:var(--ink);align-items:center;font-size:1.5rem;font-weight:700;line-height:1.2;display:flex}.stat-tile-mood{align-items:center;gap:6px;min-width:0;display:flex}.stat-tile-mood-word{white-space:nowrap;font-size:1.05rem}.stat-tile-mood-count{color:var(--ink-3);white-space:nowrap;font-size:.72rem;font-weight:600}.profile-section{border-radius:var(--r-m);padding:18px 20px}.profile-section-title{color:var(--ink-2);margin-bottom:14px;font-size:.8rem;font-weight:700;display:block}.profile-recent-row{justify-content:center;align-items:center;gap:24px;display:flex}.profile-recent-mood{flex-shrink:0;align-items:center;font-size:2.4rem;display:flex}.profile-recent-body{flex-direction:column;gap:3px;min-width:0;display:flex}.profile-recent-ward{font-size:1.05rem;font-weight:700}.profile-recent-weather{color:var(--ink-2);word-break:keep-all;font-size:.85rem}.profile-recent-comment{color:var(--ink-2);margin:2px 0 0;font-size:.85rem}.profile-recent-date{color:var(--ink-3);font-size:.72rem}.recommendation-section{background:var(--ground)}.recommendation-summary{color:var(--ink);margin:0 0 14px;line-height:1.7}.recommendation-error{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.recommendation-error p{flex:220px}.recommendation-error button{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;padding:9px 16px;font-size:.82rem;font-weight:700}.recommendation-list{display:grid}.recommendation-item{border-top:1px solid var(--rule);grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:18px 0 20px;display:grid}.recommendation-no{font-family:var(--font-display);color:var(--accent);font-variant-numeric:tabular-nums;grid-row:1/span 2;padding-top:2px;font-size:21px;font-weight:700;line-height:1}.recommendation-item h3{color:var(--ink);margin:0;font-size:15.5px;font-weight:700;line-height:1.55}.recommendation-item>p{color:var(--ink-2);grid-column:2;margin:7px 0 0;font-size:13.5px;line-height:1.9}.recommendation-item>dl,.recommendation-item>.recommendation-constraint,.recommendation-item>.recommendation-locations,.recommendation-item>.recommendation-safety-contacts,.recommendation-item>a{grid-column:2}.recommendation-safety-contacts{gap:10px;margin:7px 0 0;padding:0;list-style:none;display:grid}.recommendation-safety-contacts li{border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);overflow-wrap:anywhere;border-radius:8px;min-width:0;padding:10px 12px;font-size:13.5px;line-height:1.9}.recommendation-safety-contacts a{color:var(--ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.recommendation-locations{margin-top:14px}.recommendation-locations h4{color:var(--ink-2);margin:0 0 8px;font-size:.75rem}.recommendation-locations ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recommendation-locations li{border:1px solid var(--rule);background:var(--paper);border-radius:8px;padding:10px 12px}.recommendation-location-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.recommendation-location-heading strong{color:var(--ink);font-size:.8rem;font-weight:700}.recommendation-location-heading a{color:var(--ink-2);text-underline-offset:3px;font-size:.72rem;text-decoration:underline}.recommendation-location-row{flex-direction:column;display:flex}.recommendation-photo{cursor:pointer;background:0 0;border:0;margin:0 0 8px;padding:0;display:block}.recommendation-photo img{aspect-ratio:16/9;object-fit:cover;background:var(--rule);border-radius:6px;width:100%;transition:opacity .15s;display:block}.recommendation-photo:hover img{opacity:.85}.recommendation-location-body{min-width:0}.modal-backdrop:has(.photo-lightbox){padding:0}.modal-large:has(.photo-lightbox){width:auto;max-width:100vw;max-height:100vh;box-shadow:none;background:0 0;border-radius:0;overflow:visible}.modal-large:has(.photo-lightbox) .modal-close{color:#fff;background:#0000008c}.photo-lightbox img{object-fit:contain;width:auto;max-width:100vw;height:auto;max-height:100vh;display:block}.photo-lightbox-attribution{text-align:right;color:#fff;background:#0000008c;margin:0;padding:10px 16px;font-size:.78rem}.photo-lightbox-attribution a{color:#fff;text-decoration-color:#fff9}@media (width>=769px){.recommendation-location-row{flex-direction:row;align-items:stretch;gap:14px}.recommendation-photo{flex:0 0 160px;width:160px;margin:0}.recommendation-location-body{flex:1}}.recommendation-locations .recommendation-facts{gap:4px;margin-top:6px;display:grid}.recommendation-locations .recommendation-facts>div{grid-template-columns:5rem minmax(0,1fr);gap:6px;display:grid}.recommendation-locations .recommendation-facts dd{overflow-wrap:anywhere;min-width:0}.recommendation-locations .recommendation-constraint{margin-top:5px}.recommendation-item>a{color:var(--ink);text-underline-offset:3px;justify-self:start;margin-top:11px;font-size:12px;text-decoration:underline;display:inline-block}.recommendation-facts{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;margin:11px 0 0;font-size:.74rem;display:flex}.recommendation-facts>div{align-items:baseline;gap:6px;display:flex}.recommendation-facts dt{letter-spacing:.06em;color:var(--ink-3);font-size:.64rem;font-weight:700}.recommendation-constraint{color:var(--ink-3);margin:7px 0 0;padding-left:13px;font-size:.74rem;line-height:1.7;position:relative}.recommendation-constraint:before{content:"";background:var(--ink-3);border-radius:50%;width:4px;height:4px;position:absolute;top:8px;left:2px}.recommendation-facts div{gap:4px;display:flex}.recommendation-facts dt{font-weight:700}.recommendation-facts dd{margin:0}.recommendation-item .recommendation-constraint{color:var(--ink-2);font-size:.74rem}.recommendation-status,.recommendation-disclaimer,.recommendation-sources{color:var(--ink-2);margin:12px 0 0;font-size:.75rem;line-height:1.6}.recommendation-disclaimer{border-top:1px solid var(--rule);padding-top:12px}@media (width<=640px){.stat-row{grid-template-columns:repeat(2,1fr)}}.share-row{justify-content:center;gap:14px;margin-top:20px;display:flex}.share-icon{color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:0;transition:opacity .15s,transform .12s;display:flex}.share-icon:hover{opacity:.82}.share-icon:active{transform:translateY(1px)}.share-icon svg{width:23px;height:23px}.share-icon.instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.share-icon.threads,.share-icon.x{background:#000}.share-notice{text-align:center;color:var(--ink-2);margin-top:10px;font-size:13px}.dist-bar-wrap{flex-direction:column;gap:14px;display:flex}.dist-bar-track{border-radius:10px;width:100%;height:34px;display:flex;overflow:hidden}.dist-bar-segment{border-right:2px solid var(--paper);min-width:4px}.dist-bar-segment:last-child{border-right:none}.dist-bar-legend{color:var(--ink);grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.dist-bar-legend li{align-items:center;gap:6px;display:flex}.dist-bar-legend-count{color:var(--ink);font-weight:700}.dist-bar-legend-pct{color:var(--ink-3);font-size:.75rem}.chart-empty{color:var(--ink-3);padding:20px 0;font-size:.78rem}.line-svg{width:100%;height:auto;display:block}.calendar-tab{border-radius:var(--r-m);background:var(--paper);border:1px solid var(--rule);min-width:0;box-shadow:var(--shadow);padding:18px 20px}.mood-input{--sky-overscan:30%;--sky-fall:calc(min(96vh, 920px) * 1.3);color:#fff;height:100%;transition:background 1s;display:flex;position:relative;overflow:hidden}.mood-input-sky{inset:0 0 calc(-1 * var(--sky-overscan));pointer-events:none;will-change:transform;position:absolute}.mood-input-body{z-index:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:26px 24px 28px;display:flex;position:relative;overflow-y:auto}.mood-input-body>:not(.mood-input-stage){flex-shrink:0}.mood-input-bar{letter-spacing:.14em;color:#ffffffe0;text-shadow:0 1px 2px #060a1059;font-variant-numeric:tabular-nums;align-items:baseline;gap:12px;font-size:12px;display:flex}.mood-input-bar b{letter-spacing:.06em;color:#ffffffeb;font-size:13px;font-weight:500}.mood-input-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff57;border-radius:999px;width:30px;height:30px;margin-left:auto;font-size:17px;line-height:1}.mood-input-lead{font-family:var(--font-display);letter-spacing:.04em;color:#fffffff2;text-shadow:0 1px 2px #060a1059;margin:30px 0 0;font-size:19px;font-weight:500}.mood-input-stage{flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:12px;min-height:190px;padding:16px 0;display:flex}.mood-input-word{font-family:var(--font-display);letter-spacing:.07em;font-size:clamp(2.1rem,11vw,3rem);font-weight:700;line-height:1}.mood-input-desc{color:#ffffffe0;text-shadow:0 1px 2px #060a1059;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:clamp(11px,3.6vw,13px);line-height:1.5;overflow:hidden}.mood-input-emotion-group{flex-direction:column;gap:6px;margin-top:22px;display:flex}.mood-input-emotion-buttons{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.mood-input-emotion-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 2px 8px;transition:background .15s,border-color .15s,color .15s;display:flex}.mood-input-emotion-btn:hover{background:#ffffff24}.mood-input-emotion-btn.selected{color:var(--on-bright);background:#fff;border-color:#fff}.mood-input-emotion-btn span{letter-spacing:.02em;white-space:nowrap;font-size:10px}.mood-input-intensity-group{margin-top:14px}.mood-input-volume{align-items:center;gap:10px;display:flex}.mood-input-volume-track{width:88px;height:28px;position:relative}.mood-input-volume-bars{pointer-events:none;align-items:flex-end;gap:6px;display:flex;position:absolute;inset:0}.mood-input-volume-bar{background:#ffffff52;border-radius:3px 3px 1px 1px;flex:1;transition:background .15s}.mood-input-volume-bar:first-child{height:42%}.mood-input-volume-bar:nth-child(2){height:70%}.mood-input-volume-bar:nth-child(3){height:100%}.mood-input-volume-bar.filled{background:#fff}.mood-input-volume-input{appearance:none;opacity:0;cursor:pointer;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.mood-input-volume-input:focus-visible{outline:none}.mood-input-volume-track:has(.mood-input-volume-input:focus-visible){border-radius:6px;box-shadow:0 0 0 3px #ffffff73}.mood-input-volume-label{letter-spacing:.06em;color:#ffffffeb;text-shadow:0 1px 2px #060a1059;min-width:1.4em;font-size:13px}.mood-input-tags{flex-direction:column;gap:12px;margin-top:22px;display:flex}.mood-input-tag-group{flex-direction:column;gap:6px;display:flex}.mood-input-tag-label{letter-spacing:.14em;color:#ffffffd9;text-shadow:0 1px 2px #060a1059;font-size:11px}.mood-input-tag-buttons{flex-wrap:wrap;gap:8px;display:flex}.mood-input-tag-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:13px;transition:background .15s,border-color .15s,color .15s}.mood-input-tag-btn:hover{background:#ffffff24}.mood-input-tag-btn.selected{color:var(--on-bright);background:#fff;border-color:#fff}.mood-input-note{color:#fff;background:0 0;border:0;border-bottom:1px solid #ffffff4d;outline:none;width:100%;margin-top:20px;padding:15px 0;font-family:inherit;font-size:15px}.mood-input-note::placeholder{color:#ffffffb8}.mood-input-note:focus{border-bottom-color:#ffffffd9}.mood-input-error{color:#fff;margin:13px 0 0;font-size:13px}.mood-input-send{color:var(--on-bright);font-family:var(--font-display);letter-spacing:.08em;cursor:pointer;background:#fff;border:0;border-radius:999px;margin-top:18px;padding:17px;font-size:16px;font-weight:700;transition:transform .1s,opacity .15s}.mood-input-send:disabled{opacity:.62;cursor:default}.mood-input-send:active:not(:disabled){transform:translateY(1px)}.modal-sky{background:0 0;border-radius:20px;width:100%;max-width:460px;height:min(92vh,880px);max-height:none;overflow:hidden;box-shadow:0 18px 50px #00000052}@media (width<=520px){.modal-backdrop:has(.modal-sky){padding:0}.modal-sky{max-width:none;height:100dvh;box-shadow:none;border-radius:0}.mood-input{--sky-fall:calc(104dvh * 1.3)}}.theme-setting{padding:18px 0}.theme-setting-options{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--ground);gap:6px;margin-top:10px;padding:4px;display:flex}.theme-setting-option{border-radius:var(--r-pill);color:var(--ink-2);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;flex:1;padding:10px 8px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,color .15s}.theme-setting-option:hover{color:var(--ink)}.theme-setting-option.is-active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.theme-setting-hint{color:var(--ink-3);margin:9px 0 0;font-size:12px}.share{border-top:1px solid var(--rule);padding:20px 2px 0}.share .share-row{margin-top:12px}.map-mascot-close{z-index:2;border:1px solid var(--rule);background:var(--paper);width:26px;height:26px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow);pointer-events:auto;border-radius:50%;font-size:15px;line-height:1;position:absolute;top:-8px;right:-6px}.map-mascot-close:hover{color:var(--ink)}.map-overlay-top{z-index:1000;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;left:12px;right:20px}.map-overlay-top>*{pointer-events:auto}.overall{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--rule);border-radius:var(--r-m);min-width:0;max-width:calc(100% - 62px);box-shadow:var(--shadow);background:#fffdfaf0;flex:0 auto;padding:9px 14px 10px}.overall-context{color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:2px 14px;font-size:.72rem;display:flex}.overall-context>span{white-space:nowrap}.overall-context em{letter-spacing:.08em;color:var(--ink-3);margin-right:5px;font-size:.62rem;font-style:normal;font-weight:700}.overall-row{flex-wrap:wrap;align-items:center;gap:2px 9px;margin-top:3px;display:flex}.overall-label{letter-spacing:.06em;color:var(--ink-2);white-space:nowrap;font-size:.68rem;font-weight:700}.overall-value{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.mood-calendar-mode{border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--ground);gap:6px;margin-bottom:10px;padding:4px;display:flex}.mood-calendar-mode-option{border-radius:var(--r-pill);color:var(--ink-2);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;flex:1;padding:10px 8px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,color .15s}.mood-calendar-mode-option:hover{color:var(--ink)}.mood-calendar-mode-option.is-active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.mood-calendar-head{justify-content:center;align-items:center;gap:14px;margin-bottom:6px;display:flex}.mood-calendar-head strong{text-align:center;min-width:0;font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex:1;font-size:1.05rem;font-weight:700}.mood-calendar-head button{border:1px solid var(--rule);background:var(--paper);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:1rem;line-height:1}.mood-calendar-head button:disabled{color:var(--ink-3);cursor:not-allowed;opacity:.5}.mood-calendar-summary{text-align:center;color:var(--ink-2);margin:0 0 12px;font-size:.78rem}.mood-calendar-summary strong{color:var(--ink);font-variant-numeric:tabular-nums}.mood-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0;display:grid}.mood-calendar-dow{text-align:center;color:var(--ink-3);padding-bottom:4px;font-size:.68rem;font-weight:700}.mood-calendar-dow.is-sun{color:var(--m1)}.mood-calendar-dow.is-sat{color:var(--m4)}.mood-calendar-day{aspect-ratio:1;border:1px solid var(--rule);font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:center;padding:5px 2px;display:flex}.mood-calendar-day-num{color:var(--ink-2);font-size:.64rem;font-weight:600}.mood-calendar-day-value{color:var(--ink);font-size:.92rem;font-weight:800}.mood-calendar-day.is-future{border-style:dashed}.mood-calendar-day.is-future .mood-calendar-day-num{color:var(--ink-3)}.mood-calendar-day.is-today{box-shadow:0 0 0 2px var(--ink);font-weight:700}.mood-calendar-pad{aspect-ratio:1}.mood-calendar-legend{color:var(--ink-3);justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;font-size:.68rem;display:flex}.mood-calendar-legend i{border:1px solid var(--rule);border-radius:4px;width:15px;height:15px}.mood-calendar-legend--average{flex-wrap:wrap;justify-content:center;gap:8px 14px}.mood-calendar-legend-item{color:var(--ink-2);align-items:center;gap:5px;font-size:.68rem;display:flex}:root[data-theme=night] .mood-input-send,:root[data-theme=night] .mood-input-tag-btn.selected,:root[data-theme=night] .mood-input-emotion-btn.selected{color:#eee9e3;background:#20294a;border:1px solid #ffffff6b}:root[data-theme=night] .mood-input-send:disabled{color:#eee9e399}:root[data-theme=night] .mood-input-close{background:#20294ab8}
