:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--text:#10162f;--muted:#6b7590;--accent:#526de8;--soft:#f2f5ff;--border:#e3e8f3;--danger:#a72a42;--tg-top:0px;--tg-bottom:0px;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#151824;--text:#f0f3ff;--muted:#a6b0ca;--accent:#91a2ff;--soft:#22283b;--border:#363e56;--danger:#ff9bab}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.app-shell{background:var(--bg);width:100%;max-width:480px;min-height:100dvh;margin:auto;position:relative}.app-header{height:calc(76px + var(--tg-top));padding:calc(18px + var(--tg-top)) 24px 18px;justify-content:space-between;align-items:center;display:flex}.brand{color:var(--text);letter-spacing:-.8px;align-items:center;gap:12px;font-size:23px;font-weight:750;text-decoration:none;display:flex}.brand-star{color:var(--accent);font-size:29px;line-height:1}.avatar-button,.icon-button{width:36px;height:36px;color:var(--muted);background:var(--soft);border:0;border-radius:50%;place-items:center;display:grid}.app-main{padding:12px 24px calc(105px + var(--tg-bottom))}h1{letter-spacing:-.8px;overflow-wrap:anywhere;margin:0 0 10px;font-size:28px;font-weight:750;line-height:1.15}h2{letter-spacing:-.3px;margin:0 0 12px;font-size:18px;line-height:1.35}p{margin:0 0 16px;font-size:15px;line-height:1.55}.lead{color:var(--muted);margin-bottom:24px;font-size:14px;line-height:1.5}.caption{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.5}.segmented{background:var(--soft);border:1px solid var(--border);border-radius:24px;gap:4px;margin-bottom:18px;padding:4px;display:flex}.segmented button{min-height:36px;color:var(--text);background:0 0;border:0;border-radius:20px;flex:1;font-size:14px}.segmented button[aria-pressed=true]{color:#fff;background:#526de8;box-shadow:0 2px 5px #526de829}.feature-row{border:1px solid var(--border);text-align:left;background:var(--bg);width:100%;min-height:54px;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.feature-row:hover{background:var(--soft)}.row-icon{color:var(--text);flex-shrink:0;display:flex}.row-copy{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.4}.row-copy small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.chevron{color:var(--muted);flex-shrink:0;display:flex}.pro-label{background:var(--soft);color:var(--accent);border-radius:5px;padding:4px 6px;font-size:11px;font-weight:650}.feature-list{gap:8px;display:grid}.profile-strip{margin-bottom:24px}.profile-strip .feature-row{min-height:54px}section{margin-bottom:24px}.soft-panel{background:var(--soft);border-radius:16px;padding:18px}.rhythm-note{color:var(--accent);align-items:center;gap:14px;margin-top:24px;display:flex}.rhythm-note div{min-width:0}.rhythm-note strong{color:var(--text);font-size:14px}.rhythm-note p{color:var(--muted);margin:3px 0 0;font-size:12px}.bottom-nav{background:var(--bg);border-top:1px solid var(--border);width:100%;max-width:480px;padding:10px 8px calc(10px + max(var(--tg-bottom), env(safe-area-inset-bottom)));z-index:5;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:5px;min-height:46px;font-size:11px;display:flex}.bottom-nav button[aria-current=page]{color:var(--accent);font-weight:600}.form{flex-direction:column;gap:10px;margin-top:24px;display:flex}.form label,.participant label{font-size:14px;font-weight:600}.form input,.participant select{border:1px solid var(--border);background:var(--bg);width:100%;min-height:48px;color:var(--text);border-radius:12px;min-width:0;padding:11px 13px}.form label:not(:first-child){margin-top:12px}.primary,.secondary{text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:18px;padding:12px 18px;font-size:15px;text-decoration:none;display:flex}.primary{color:#fff;background:#526de8;border:1px solid #526de8}.secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.primary:hover:not(:disabled){background:#405bcd}.text-button{color:var(--accent);background:0 0;border:0;min-height:44px;padding:10px 0;font-size:13px}.align-left{text-align:left}.danger{border:1px solid var(--danger);color:var(--danger);background:0 0;border-radius:12px;padding:12px 16px}.delete-area{margin-top:24px}.delete-area .text-button{margin-left:12px}.form-note{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.form-note p{color:var(--muted);font-size:13px}.form-note .feature-row{background:var(--soft);border:0;margin:8px 0}.participant{gap:8px;margin:16px 0;display:grid}.participant select:disabled{opacity:1;color:var(--muted)}.participant .text-button{text-align:left;min-height:30px;padding:0}.mode-selector{margin-top:22px}.pair-features{margin-top:26px}.demo-note{border:1px dashed var(--border);color:var(--muted);border-radius:10px;margin:0 0 20px;padding:10px 12px;font-size:11px;line-height:1.5}.demo-note a{margin-left:5px}.demo-result-label{color:var(--muted);border-left:2px solid var(--accent);margin-top:22px;padding-left:12px;font-size:12px}.error{color:var(--danger);background:var(--soft);border-radius:10px;padding:12px;font-size:14px}.success{color:var(--accent);font-size:14px}.loading-state,.empty-state{text-align:center;color:var(--muted);padding:50px 12px}.loading-state{justify-content:center;align-items:center;gap:12px;display:flex}.empty-state svg{color:var(--accent);margin-bottom:20px}.empty-state h2{color:var(--text)}.empty-state p{font-size:14px}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.welcome-symbol{color:var(--accent);text-align:center;padding:25px 0 40px;font-size:92px}.pro-benefits{margin:24px 0 16px}.pro-benefits p{align-items:center;gap:14px;margin-bottom:18px;font-size:14px;display:flex}.pro-benefits p:last-child{margin-bottom:0}.pro-benefits svg{flex-shrink:0}.plans{border:0;gap:10px;margin:0;padding:0;display:grid}.plan{border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;display:flex}.plan.selected{background:var(--soft);border-color:var(--accent)}.plan strong{font-size:14px}.plan small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.plan input{width:19px;height:19px;accent-color:var(--accent);flex-shrink:0}.toggle-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.toggle-row input{width:38px;height:22px;accent-color:var(--accent)}.portrait-panel{margin:24px 0;padding:16px 12px}.portrait-panel h2{padding:0 4px}.matrix{border-collapse:separate;border-spacing:5px;table-layout:fixed;width:100%}.matrix th{text-align:left;color:var(--muted);overflow-wrap:normal;width:55px;font-size:9px;font-weight:500}.matrix td{background:var(--bg);text-align:center;border-radius:9px;padding:12px 0;font-size:18px;font-weight:600}.matrix td span{position:relative}.matrix small{color:var(--muted);vertical-align:super;margin-left:3px;font-size:9px}.portrait-panel .caption{padding:0 4px}.result-copy h2{margin-top:26px}.result-copy p{color:var(--muted)}.generation-note{margin-top:26px}.generation-note p{color:var(--muted);margin:0;font-size:14px}.report-loading{text-align:center;border:1px solid var(--border);background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--accent) 10%, var(--bg)), var(--bg) 78%);border-radius:28px;margin:24px 0;padding:30px 20px 26px}.report-orbit{width:112px;height:112px;color:var(--accent);place-items:center;margin:0 auto 20px;display:grid;position:relative}.report-halo{background:color-mix(in srgb, var(--accent) 14%, transparent);filter:blur(12px);border-radius:50%;animation:3s ease-in-out infinite report-breathe;position:absolute;inset:14px}.report-orbit-ring{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:50%;position:absolute;inset:4px}.report-orbit-ring:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);border-radius:50%;position:absolute;inset:13px}.report-star{font-size:54px;line-height:1;animation:12s linear infinite report-turn}.report-satellite{animation:7s linear infinite report-turn;position:absolute;inset:4px}.report-satellite:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;position:absolute;top:-3px;left:calc(50% - 3px)}.report-loading-period{color:var(--accent);letter-spacing:.035em;margin:0 0 10px;font-size:12px;font-weight:600}.report-loading h2{letter-spacing:-.025em;margin:0;font-size:21px;line-height:1.3}.report-loading-caption{color:var(--muted);text-wrap:balance;margin:14px 0 0;font-size:13px;line-height:1.65}.report-years{justify-content:center;gap:6px;margin:22px 0 0;padding:0;list-style:none;display:flex}.report-years li{max-width:64px;color:var(--muted);background:var(--soft);border-radius:12px;flex:1;gap:8px;padding:10px 3px;font-size:12px;display:grid}.report-years li.complete,.report-years li.current{color:var(--accent)}.report-years li.current{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.report-years li.current>span:first-child{animation:2s ease-in-out infinite report-breathe}.report-skeleton{align-content:start;gap:13px;min-height:240px;margin:28px 0;display:grid}.report-skeleton>:where(span){background:linear-gradient(100deg, var(--soft) 20%, var(--border) 45%, var(--soft) 70%);background-size:250% 100%;border-radius:6px;height:12px;animation:2s ease-in-out infinite report-shimmer;display:block}.report-skeleton>.skeleton-heading{width:52%;height:20px;margin:12px 0 5px}.report-skeleton>.skeleton-short{width:78%}.report-reveal>section{animation:.28s ease-out both report-appear}@keyframes report-turn{to{transform:rotate(360deg)}}@keyframes report-breathe{50%{opacity:.45;transform:scale(.9)}}@keyframes report-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes report-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:640px){body{background:var(--soft)}.app-shell{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:620px}.app-header{height:90px;padding-left:40px;padding-right:40px}.app-main{padding:22px 40px 115px}.bottom-nav{border-left:1px solid var(--border);border-right:1px solid var(--border);max-width:620px}h1{font-size:32px}.feature-row{min-height:60px}}@media (max-width:350px){.app-header,.app-main{padding-left:18px;padding-right:18px}h1{font-size:26px}.feature-row{gap:9px;padding:12px 10px}.row-copy{font-size:13px}}@media (prefers-reduced-motion:reduce){.report-loading *,.report-skeleton>:where(span),.report-reveal>section,.spinner{animation:none}.feature-row{transition:none}}.period-form{margin:18px 0 24px}.period-form label{margin-bottom:8px;font-size:14px;font-weight:600;display:block}.period-form>div{gap:10px;display:flex}.period-form input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:12px;flex:1;padding:12px}.period-form .secondary{width:auto;margin:0}
