:root{--text: #fff8f0;--muted: rgba(255, 248, 240, .72);--glass: rgba(10, 6, 14, .38);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;height:100svh;height:100dvh;overflow:hidden;overscroll-behavior:none;background:#000;touch-action:pan-y}a{color:inherit}.feed{position:fixed;top:0;right:0;bottom:0;left:0;height:100%;height:100svh;height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none;touch-action:pan-y}.feed::-webkit-scrollbar{display:none}.page{position:relative;height:100%;height:100svh;height:100dvh;flex-shrink:0;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:#1a1420}.page-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:0;transition:opacity .5s ease}.page-photo.loaded{opacity:1}.page-info{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:center;padding:0 1.25rem calc(var(--safe-bottom) + 1.1rem);background:linear-gradient(180deg,transparent,rgba(0,0,0,.28) 55%,rgba(0,0,0,.42));text-shadow:0 1px 10px rgba(0,0,0,.45)}.edge{display:grid;place-items:center;background:#0c0a10;color:var(--muted);font-size:.85rem;letter-spacing:.04em}.when{margin:0 0 .15rem;font-size:.95rem}.score-line{display:flex;align-items:center;gap:.5rem}.score{font-size:clamp(3.4rem,16vw,5.6rem);font-weight:200;line-height:.95}.score-side{display:flex;flex-direction:column;line-height:1.15}.score-max{font-size:.95rem;color:var(--muted)}.prob{font-size:.9rem}.palette{display:flex;gap:0;width:min(100%,280px);height:5px;margin-top:.75rem;border-radius:99px;overflow:hidden}.palette span{min-width:3px}.top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding-top:calc(var(--safe-top) + .55rem);pointer-events:none}.top>*{pointer-events:auto}.toggle{display:inline-flex;padding:3px;border-radius:999px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.toggle button{display:inline-flex;align-items:center;gap:.3rem;padding:.36rem .9rem;border:0;border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:.86rem;cursor:pointer}.toggle button.active{background:#ffffffeb;color:#1a1020;font-weight:600}.place{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border:0;background:none;color:var(--text);font:inherit;font-size:.8rem;text-shadow:0 1px 8px rgba(0,0,0,.6);cursor:pointer}.dots{position:fixed;top:50%;right:max(.45rem,env(safe-area-inset-right));z-index:5;display:flex;flex-direction:column;gap:6px;transform:translateY(-50%)}.dot{width:5px;height:5px;padding:0;border:0;border-radius:50%;background:#ffffff52;cursor:pointer}.dot.today{box-shadow:0 0 0 2px #ffffff59}.dot.active{background:#fff;transform:scale(1.4)}.info-anchor{position:static}.info-btn{width:1.75rem;height:1.75rem;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);font:italic 600 .9rem Georgia,serif;cursor:pointer}.info-btn.pinned{background:#ffffffe6;color:#1a1020}.info-pop{position:fixed;left:.75rem;right:.75rem;bottom:calc(var(--safe-bottom) + .65rem);z-index:20;width:auto;max-width:420px;margin:0 auto}.info{max-height:min(52dvh,420px);overflow-y:auto;overscroll-behavior:contain;padding:.85rem 1rem .4rem;border-radius:16px;background:#0c0810e0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:.82rem;line-height:1.35;text-shadow:none;animation:rise .16s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.info p{margin:0 0 .3rem}.info-title{display:flex;justify-content:space-between;font-size:1.02rem;font-weight:600}.info-meta{font-size:.78rem}.info-limit{margin:.35rem 0 .55rem}.muted{color:var(--muted)}.small{font-size:.72rem}.info details{border-top:1px solid rgba(255,255,255,.1)}.info summary{display:flex;justify-content:space-between;padding:.45rem 0;list-style:none;cursor:pointer;color:var(--muted)}.info summary::-webkit-details-marker{display:none}.info summary:after{content:"+"}.info details[open] summary:after{content:"–"}.factors,.reasons{list-style:none;margin:0 0 .45rem;padding:0;display:grid;gap:.3rem}.factor{display:grid;grid-template-columns:6.2rem 1fr;align-items:center;gap:.5rem}.bar{height:4px;border-radius:3px;background:#ffffff24;overflow:hidden}.bar-fill{display:block;height:100%}.reason{position:relative;padding-left:.9rem}.reason:before{content:"";position:absolute;left:.1rem;top:.45em;width:5px;height:5px;border-radius:50%;background:#c9c2bb}.reason.good:before{background:#ffb35c}.reason.bad:before{background:#7d8aa6}.empty{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1a1420}.status{text-align:center}.btn{padding:.55rem 1rem;border:0;border-radius:10px;background:#fff;color:#1a1020;font:inherit;font-weight:600;cursor:pointer}.btn.ghost{width:100%;margin-top:.6rem;background:#ffffff1f;color:var(--text)}.dialog{width:min(92vw,420px);padding:2.4rem 1.2rem 1.2rem;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:#18101ceb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text)}.dialog::backdrop{background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.search{display:flex;gap:.5rem}.search input{flex:1;min-width:0;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff0f;color:var(--text);font:inherit;font-size:16px}.dialog-msg{min-height:1.2em;margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}.results{list-style:none;margin:.3rem 0 0;padding:0}.result{width:100%;display:flex;flex-direction:column;align-items:flex-start;padding:.55rem .4rem;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.result span{font-size:.8rem;color:var(--muted)}.close{position:absolute;top:.4rem;right:.6rem;border:0;background:none;color:var(--muted);font-size:1.6rem;cursor:pointer}
