/* 03 — ORBIT. Spatial focus, luminous accents, floating controls. */
.management-form label.source-choice{display:flex;align-items:center;gap:10px;flex-direction:row}.source-choice input{width:22px;min-height:22px;accent-color:var(--accent)}
.management-steps{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.management-steps button{flex:1;min-width:120px;min-height:46px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:15px;padding:12px;text-align:left;font:inherit;font-size:13px}.management-form select{min-height:48px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:15px;padding:12px;font:inherit}input:read-only{opacity:.65}
.management-search{display:flex;gap:10px;align-items:center;margin:24px 0 18px}.management-search input,.management-form input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);padding:12px 14px;font:inherit;font-size:16px}.management-search button{min-height:48px;padding:10px 15px;border:1px solid var(--line);border-radius:16px;background:var(--accent-soft);color:var(--ink);font:inherit}.management-form{display:grid;gap:18px}.management-form label{display:grid;gap:8px;font-size:13px;color:var(--muted)}.management-form input:focus,.management-search input:focus{outline:2px solid var(--accent);outline-offset:2px}.read-card small.disclaimer{display:block;margin-top:5px}button:disabled{opacity:.5}#city-source-kind{min-height:44px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:8px}
body{color-scheme:dark;--bg:#171225;--ink:#f5f0ff;--muted:#a69bbd;--line:#392f4e;--panel:#231b35;--accent:#c3afff;--accent-soft:#c3afff0d;--warn:#ffb18c;--warn-soft:#ffb18c12;--source-0:#bfacff;--source-1:#f5b595;--source-2:#89c8bf;--source-3:#655a80}body .app{background:radial-gradient(ellipse 90% 32% at 90% 8%,#3c24524d,transparent),var(--bg)}body .logo{background:linear-gradient(145deg,#dacfff,#9a78d4);color:#211833;border-radius:50%}body h1{font-size:42px;line-height:1.12;font-weight:450;letter-spacing:-1.8px}body .title-block{margin-bottom:10px}.orbit-hero{height:285px;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.orbit-ring{position:absolute;border:1px solid var(--line);border-radius:50%;width:245px;height:245px;transform:rotate(-25deg)}.ring-two{width:305px;height:175px;transform:rotate(-35deg);border-color:#a28bb544}.orbit-value{display:flex;align-items:center;flex-direction:column;position:relative;z-index:1;background:radial-gradient(circle,#6a4b8f33,transparent 75%);padding:25px;min-width:230px}.orbit-value small{font-size:8px;letter-spacing:2px;color:var(--muted)}.orbit-value strong{font-size:82px;font-weight:300;letter-spacing:-5px;line-height:1.2}.orbit-value>span{font-size:11px;color:var(--warn)}.satellite{position:absolute;z-index:2;display:block;width:13px;height:13px;border-radius:50%;background:var(--warn);box-shadow:0 0 22px #ffb18c50}.satellite.one{left:14%;top:41px}.satellite.two{width:8px;height:8px;right:10%;bottom:68px;background:var(--accent);box-shadow:0 0 22px #c3afff88}.orbit-caption{position:absolute;bottom:1px;left:0;right:0;text-align:center;font-size:9px;color:var(--muted)}body .metric-tile{border-radius:25px;background:linear-gradient(145deg,#342743,#231b35);border:1px solid #59436966}body .metric-tile strong{font-weight:350;font-size:35px}body .growth{color:var(--warn);background:var(--warn-soft)}body .attention{border-radius:25px;background:var(--panel);border:0}body .insight-story{border:0;background:var(--accent-soft);border-radius:25px;padding:20px 15px}body .insight-story h2{font-weight:450}body #dock{bottom:calc(12px + var(--safe-bottom));width:calc(100% - 32px);max-width:470px;border:1px solid var(--line);border-radius:30px;padding:8px 12px;background:#241b35eF;box-shadow:0 12px 40px #0005;backdrop-filter:blur(20px)}body #dock button{border-radius:22px;min-height:49px;padding:3px 15px}body #dock button.active{background:#c3afff1a;color:var(--ink)}body .period-switch{background:none;border:1px solid var(--line);padding:4px}body .period-switch .active{background:#c3afff25;color:var(--ink)}body .analytics-hero strong{font-weight:350;font-size:64px}body .chart-panel{border:1px solid var(--line);padding:15px 16px;border-radius:28px;background:linear-gradient(145deg,#34274366,#231b3588)}body .interpretation{border-radius:24px}body .city-visual{background:radial-gradient(ellipse at center,#60417544,transparent 70%)}body .city-bubble{background:radial-gradient(ellipse at 25% 10%,#68507977,#231b35);border-color:#72518f88;box-shadow:0 5px 22px #0002}body .bubble-0{background:radial-gradient(ellipse at 25% 10%,#aa88bd,#433054);color:var(--ink)}body .city-bubble b{font-weight:350}body.light{color-scheme:light;--bg:#f2eef8;--ink:#352846;--muted:#7a6d8b;--line:#d7cce5;--panel:#e9e2f1;--accent:#7956aa;--accent-soft:#7956aa0d;--warn:#ab613d;--warn-soft:#ab613d0e}body.light .metric-tile,body.light .chart-panel{background:var(--panel);border-color:var(--line)}body.light #dock{background:#f2eef8ee}body.light .city-bubble{color:#fff}body.telegram-light:not(.light){--bg:#f2eef8;--ink:#352846;--muted:#7a6d8b;--line:#d7cce5;--panel:#e9e2f1;--accent:#7956aa;--accent-soft:#7956aa0d}body.telegram-light:not(.light) #dock{background:var(--panel)}

body{--safe-top:max(env(safe-area-inset-top,0px),var(--tg-top,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--tg-bottom,0px));font-variant-numeric:tabular-nums}.app{padding-bottom:calc(120px + var(--safe-bottom));min-height:100dvh}.identity{font-size:16px;letter-spacing:.4px}.identity-sub{font-size:8px;letter-spacing:1px}.header-actions button{width:44px;min-height:44px}.title-block h1{font-size:39px;line-height:1.1}.focus-alert{display:flex;align-items:center;gap:9px;color:var(--warn);width:100%;min-height:44px;padding:0;text-align:left;font-size:11px;margin:8px 0 0}.focus-alert>span{font-size:8px}.focus-alert>b{margin-left:auto}.orbit-hero{height:245px;margin:0 0 15px}.orbit-ring{width:215px;height:215px}.ring-two{width:290px;height:155px}.orbit-value strong{font-size:76px}.orbit-value>.growth{font-size:11px}.orbit-caption{font-size:9px}.read-card{background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:24px;margin:15px 0}.read-card h2{font-size:18px;font-weight:500}.info-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.info-row:last-child{border:0}.info-row>div{min-width:0}.info-row b{font-size:12px;font-weight:500}.info-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.6}.info-row>span{max-width:45%;text-align:right;overflow-wrap:anywhere}.summary-comparison{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-comparison>div{display:flex;flex-direction:column;gap:6px}.summary-comparison small{color:var(--muted);font-size:11px}.summary-comparison strong{font-size:35px;font-weight:350}.change-unknown{color:var(--muted);font-size:10px}.cards-list{display:grid;gap:14px}.cards-list .read-card{margin:0}.ad-title{display:flex;gap:10px;align-items:start;justify-content:space-between}.ad-title .eyebrow{margin-bottom:0}.status-pill{font-size:8px;color:var(--accent);padding:4px 7px;border:1px solid var(--line);border-radius:20px;max-width:50%;text-align:center}.ad-preview,.full-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;margin-top:15px}.reason{padding:12px;background:var(--accent-soft);border-radius:12px;font-size:11px;color:var(--muted)}.select-label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:3px;min-width:0;max-width:55%}.select-label select{min-height:44px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);padding:8px 10px;max-width:100%;font:inherit;font-size:11px}.context-picker{white-space:normal;text-align:left;min-height:44px}.context-row{align-items:end}.date-filter{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;margin:0 0 18px;gap:10px}.date-filter input{font:inherit;min-height:44px;max-width:180px;min-width:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px}.period-switch button{min-height:44px}.source-small{font-size:10px;min-height:44px}.metric-tile{padding:17px 14px}.metric-tile strong{font-size:32px}.metric-tile>span:last-child{font-size:10px}.metric-switch{gap:14px}.metric-switch button{min-height:44px;font-size:11px}.chart-reading-type{max-width:45%;text-align:right}.exact-values{font-size:11px;color:var(--muted);margin-top:10px}.exact-values summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.data-time{font-size:9px;color:var(--muted);margin-top:16px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.pagination button{border:1px solid var(--line);border-radius:15px;padding:8px 12px;min-height:44px;font-size:11px}.pagination button:disabled{opacity:.4;cursor:default}.pagination span{font-size:10px;color:var(--muted)}.loading{min-height:230px;display:grid;place-content:center;color:var(--muted);font-size:13px}.auth-panel,.error-panel{padding:26px 0}.auth-panel h1{font-size:38px}.auth-panel p,.error-panel p{font-size:13px;color:var(--muted);margin:20px 0;line-height:1.7}.error-panel{border-top:2px solid var(--warn)}.error-panel h2{font-size:28px;font-weight:450}.warning-note{font-size:12px;line-height:1.6;border-left:2px solid var(--warn);padding:10px 15px;color:var(--warn);margin-bottom:22px}.empty-note{padding:20px 0;color:var(--muted);font-size:13px;line-height:1.6}.prototype-footer{font-size:9px;display:flex;align-items:center;justify-content:space-between;gap:15px}.prototype-footer button{font-size:10px;color:var(--muted);padding:0;min-height:44px}#data-banner{padding:calc(8px + var(--safe-top)) 0 8px;color:var(--warn);font-size:8px;letter-spacing:.5px;border-bottom:1px solid var(--line)}#dock{width:calc(100% - 24px);max-width:510px;bottom:calc(8px + var(--safe-bottom));padding:7px 5px}#dock button{min-width:65px;padding:4px 8px;min-height:50px;font-size:9px}.app-header{padding-top:calc(15px + var(--safe-top))}#data-banner:not([hidden])+.app-header{padding-top:15px}.source-small>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.city-row>span:first-child{flex:1;min-width:0}.city-row>strong{font-size:17px}.city-row small{line-height:1.6}.city-list .city-row{min-height:64px}.read-card .wide-link{font-size:12px}.source-picker{min-height:44px}.sheet-close{min-width:44px;min-height:44px}.primary-button{min-height:48px}.full-text{max-height:none}.status-pill,.eyebrow{overflow-wrap:anywhere}#refresh:disabled{opacity:.4;cursor:wait}@media(min-width:700px){body{padding:24px 0;background:var(--panel)}.app{border:1px solid var(--line);border-radius:32px;box-shadow:0 15px 65px #0002}}@media(max-width:350px){.app{padding-left:17px;padding-right:17px}.title-block h1{font-size:34px}.orbit-value strong{font-size:66px}.analytics-hero strong{font-size:53px}.context-row{gap:5px}.source-picker{font-size:10px;padding:10px}.source-small{font-size:9px}.identity{font-size:14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Stage 2B UX: progressive disclosure, no changes to the shared navigation. */
.management-details{border-top:1px solid var(--line);padding-top:4px;margin-top:12px;overflow-wrap:anywhere}.management-details summary{min-height:48px;display:flex;align-items:center;font-size:13px;color:var(--muted);cursor:pointer;gap:8px}.management-details summary::after{content:'＋';margin-left:auto}.management-details[open] summary::after{content:'−'}.management-details label{margin:12px 0}.management-details p{font-size:12px;line-height:1.65;margin:10px 0}.next-step h2{font-size:23px;line-height:1.2;letter-spacing:-.7px}.next-step>p{font-size:13px;line-height:1.65;color:var(--muted);margin-top:10px}.next-step .eyebrow{margin-bottom:10px}.source-state-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin:8px 0 18px}.source-state-label select{min-height:44px;padding:9px 12px;font:inherit;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}#city-matches:empty{display:none}#city-matches{max-height:230px;overflow:auto}#city-choice{margin:0}#new-city-form,#source-form{margin-top:20px}#new-city-form>.disclaimer,#source-form>.disclaimer{margin:0}#new-city-form .primary-button,#source-form .primary-button{margin-top:5px}
