*{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}:root{color-scheme:light;--sovi-scale:.5;--sovi-design-width:780;--sovi-rpx:calc(100vw/var(--sovi-design-width));--sovi-px:calc(var(--sovi-rpx)/var(--sovi-scale));--sovi-font-min:.5rem;--sovi-safe-top-override:0px;--sovi-safe-bottom-override:0px;--page-bg:#fcfcff;--page-bg-soft:#f5f6fa;--page-bg-deep:#f1f2f8;--sheet:#fff;--sheet-muted:#f7f7f7;--sheet-purple:#f8f2ff;--ink:#000;--ink-2:#4a4454;--ink-3:#8e8e93;--line-soft:#e7e7e9;--line-strong:#efeefd;--shadow-soft:0 calc(var(--sovi-px)*2) calc(var(--sovi-px)*12) rgba(0,0,0,.12);--shadow-float:0 calc(var(--sovi-px)*10) calc(var(--sovi-px)*30) rgba(0,0,0,.18);--shadow-deep:0 calc(var(--sovi-px)*20) calc(var(--sovi-px)*40) rgba(85,38,136,.1);--purple:#8c55f2;--purple-soft:#f5f0ff;--purple-ink:#8c7e9f;--mint:#f3fafa;--mint-line:rgba(152,210,199,.4);--rose:#fff4f4;--rose-line:rgba(250,161,161,.4);--nav-black:#000;--nav-active:#2b2b2b;--safe-bottom:max(calc(var(--sovi-px)*10), max(env(safe-area-inset-bottom, 0px), var(--sovi-safe-bottom-override)) );--font-ui:"SF Pro Display","SF Pro Text","PingFang SC","Segoe UI",system-ui,sans-serif;--font-serif:"Playfair Display",Georgia,serif}html[data-theme=dark]{--page-bg:#1c1c1c;--page-bg-soft:#16181e;--page-bg-deep:#1b1e26;--sheet:#1a1d24;--sheet-muted:#232731;--sheet-purple:#2a2234;--ink:#f7f8fb;--ink-2:#d4d7dd;--ink-3:#959ca8;--line-soft:hsla(0,0%,100%,.08);--line-strong:hsla(0,0%,100%,.1);--shadow-soft:0 calc(var(--sovi-px)*2) calc(var(--sovi-px)*12) rgba(0,0,0,.28);--shadow-float:0 calc(var(--sovi-px)*10) calc(var(--sovi-px)*30) rgba(0,0,0,.35);--shadow-deep:0 calc(var(--sovi-px)*20) calc(var(--sovi-px)*40) rgba(0,0,0,.3);--purple-soft:#312544;--purple-ink:#d7c5ef;--mint:rgba(146,209,197,.1);--rose:rgba(250,161,161,.1);--nav-black:#000;--nav-active:#2b2b2b}*{box-sizing:border-box}#__nuxt,body,html{width:100%;height:100vh;height:100dvh;overflow:hidden!important;margin:0;padding:0;overscroll-behavior:none}#__nuxt{position:relative}.sovi-route-root{width:100%;min-height:100%}.sovi-page-route-enter-active,.sovi-page-route-leave-active{position:fixed;inset:0;width:100%;min-height:100vh;min-height:100dvh;overflow:hidden;backface-visibility:hidden;pointer-events:none;will-change:transform,opacity;background:var(--page-bg);transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .22s ease}.sovi-page-route-enter-active>*,.sovi-page-route-leave-active>*{min-height:100%}.sovi-page-route-enter-active{z-index:2;box-shadow:calc(var(--sovi-px)*-10) 0 calc(var(--sovi-px)*26) #00000029}.sovi-page-route-leave-active{z-index:1}.sovi-page-route-enter-from{transform:translate3d(100%,0,0)}.sovi-page-route-enter-to,.sovi-page-route-leave-from{transform:translateZ(0);opacity:1}.sovi-page-route-leave-to{transform:translate3d(-28%,0,0);opacity:.92}html[data-sovi-route-motion=page-back] .sovi-page-route-enter-active{z-index:1;box-shadow:none}html[data-sovi-route-motion=page-back] .sovi-page-route-leave-active{z-index:2;box-shadow:calc(var(--sovi-px)*-10) 0 calc(var(--sovi-px)*26) #00000029}html[data-sovi-route-motion=page-back] .sovi-page-route-enter-from{transform:translate3d(-28%,0,0);opacity:.92}html[data-sovi-route-motion=page-back] .sovi-page-route-enter-to,html[data-sovi-route-motion=page-back] .sovi-page-route-leave-from{transform:translateZ(0);opacity:1}html[data-sovi-route-motion=page-back] .sovi-page-route-leave-to{transform:translate3d(100%,0,0)}html[data-sovi-route-motion=page-replace] .sovi-page-route-enter-active,html[data-sovi-route-motion=page-replace] .sovi-page-route-leave-active{box-shadow:none;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .16s ease}html[data-sovi-route-motion=page-replace] .sovi-page-route-enter-from{transform:translate3d(6%,0,0);opacity:0}html[data-sovi-route-motion=page-replace] .sovi-page-route-leave-to{transform:translate3d(-6%,0,0);opacity:0}html[data-sovi-route-motion=page-none] .sovi-page-route-enter-active,html[data-sovi-route-motion=page-none] .sovi-page-route-leave-active{transition-duration:0s;box-shadow:none}html[data-sovi-route-motion=page-none] .sovi-page-route-enter-from,html[data-sovi-route-motion=page-none] .sovi-page-route-enter-to,html[data-sovi-route-motion=page-none] .sovi-page-route-leave-from,html[data-sovi-route-motion=page-none] .sovi-page-route-leave-to{transform:none;opacity:1}*{scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}body,html,html[data-theme=dark]{background:transparent}body{margin:0;color:var(--ink);font-size:max(var(--sovi-font-min),15 * var(--sovi-px));line-height:1.5;font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}img{display:block;max-width:100%}.root{width:100vw;height:100vh;padding:0;display:flex;flex-direction:column;background-color:var(--page-bg)}.page-header,.root{overflow:hidden;margin:0}.page-header{font-size:max(var(--sovi-font-min),60 * var(--sovi-rpx));font-weight:900;flex-shrink:0;line-height:1.15;width:100%;padding:0 calc(var(--sovi-rpx)*40) calc(var(--sovi-rpx)*40) calc(var(--sovi-rpx)*40);padding-top:calc(max(env(safe-area-inset-top,0px),var(--sovi-safe-top-override)) + var(--sovi-rpx)*20);white-space:nowrap;text-overflow:ellipsis}.page-content{flex:1;width:100%}.screen-body{flex-direction:column;padding:calc(var(--sovi-px)*20)}.screen-body,.topbar{display:flex;gap:calc(var(--sovi-px)*16)}.topbar{justify-content:space-between;padding:calc(var(--sovi-px)*20) calc(var(--sovi-px)*20) 0}.topbar-main{display:flex;flex-direction:column;gap:calc(var(--sovi-px)*8);min-width:0}.topbar-actions{flex-shrink:0}.context-chip,.eyebrow,.study-overview-card__pill,.tab-pill{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;min-height:calc(var(--sovi-px)*28);padding:calc(var(--sovi-px)*6) calc(var(--sovi-px)*12);border-radius:calc(var(--sovi-px)*999);font-size:max(var(--sovi-font-min),12 * var(--sovi-px));line-height:1}.eyebrow{background:var(--sheet-purple);color:var(--purple-ink);font-weight:700}.page-title{margin:0;font-size:max(var(--sovi-font-min),28 * var(--sovi-px));line-height:1.15;letter-spacing:-.03em}.card-copy,.hint,.page-subtitle,.row-copy{margin:0;color:var(--ink-3)}.context-row,.tab-row{display:flex;flex-wrap:wrap;gap:calc(var(--sovi-px)*8)}.context-chip{background:var(--sheet-muted);color:var(--ink-3);font-weight:600}.ghost-button,.icon-button,.primary-button,.secondary-button{min-height:calc(var(--sovi-px)*48);border-radius:calc(var(--sovi-px)*999);transition:transform .16s ease,opacity .16s ease,background .16s ease}.apply-preview-card__button:active,.concept-actions__circle:active,.concept-actions__pill:active,.concept-flip-bar:active,.deck-footer-button:active,.folder-hero:active,.folder-list__item:active,.folders-fab:active,.ghost-button:active,.icon-button:active,.learn-plus:active,.learn-quick-action:active,.learn-upload-pill:active,.practice-action-card__button:active,.primary-button:active,.promo-card__button:active,.secondary-button:active{transform:scale(.98)}.icon-button{width:calc(var(--sovi-px)*48);height:calc(var(--sovi-px)*48);background:var(--sheet-muted);color:var(--ink);font-size:max(var(--sovi-font-min),20 * var(--sovi-px));display:inline-flex;align-items:center;justify-content:center}.deck-footer-button,.ghost-button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--sovi-px)*8);padding:calc(var(--sovi-px)*14) calc(var(--sovi-px)*20);font-weight:600}.deck-footer-button,.primary-button{background:#000;color:#fff;box-shadow:inset 0 calc(var(--sovi-px)*4) calc(var(--sovi-px)*8) #ffffff4d}.secondary-button{background:var(--sheet-muted);color:var(--ink)}.ghost-button{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 calc(var(--sovi-px)*1) var(--line-soft)}.button-row{display:flex;flex-wrap:wrap;gap:calc(var(--sovi-px)*10)}.card,.hero-panel{background:var(--sheet);border-radius:calc(var(--sovi-px)*24);box-shadow:var(--shadow-soft);padding:calc(var(--sovi-px)*20);border:calc(var(--sovi-px)*1) solid var(--line-soft)}.card{display:flex;flex-direction:column;gap:calc(var(--sovi-px)*12)}.card-title{margin:0;font-size:max(var(--sovi-font-min),20 * var(--sovi-px));line-height:1.2;letter-spacing:-.02em}.hero-panel h2{margin:0;font-size:max(var(--sovi-font-min),24 * var(--sovi-px));line-height:1.15;letter-spacing:-.03em}.hero-panel p{margin:0;color:var(--ink-3)}.option-list,.screen-section{display:flex;flex-direction:column;gap:calc(var(--sovi-px)*10)}.list-row,.option-row,.survey-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--sovi-px)*12);padding:calc(var(--sovi-px)*14) calc(var(--sovi-px)*16);background:var(--sheet-muted);border-radius:calc(var(--sovi-px)*20)}.option-row.is-active,.survey-option.is-active{background:var(--sheet);box-shadow:inset 0 0 0 calc(var(--sovi-px)*1) var(--line-soft)}.option-row-main,.survey-option-main{display:flex;flex-direction:column;gap:calc(var(--sovi-px)*4);text-align:left;min-width:0}.row-title{margin:0;color:var(--ink);font-weight:600}.input,.textarea{width:100%;border:calc(var(--sovi-px)*1) solid var(--line-soft);border-radius:calc(var(--sovi-px)*20);padding:calc(var(--sovi-px)*16);background:var(--sheet);color:var(--ink);outline:none}.textarea{min-height:calc(var(--sovi-px)*140);resize:vertical}.progress{width:100%;height:calc(var(--sovi-px)*10);border-radius:calc(var(--sovi-px)*999);overflow:hidden;background:var(--sheet-muted)}.progress-bar{height:100%;border-radius:inherit;background:#000}.footer-bar{margin-top:calc(var(--sovi-px)*16)}.launcher-grid{display:grid;gap:calc(var(--sovi-px)*12)}.screen-link{width:100%;text-align:left}.loading-state{min-height:calc(var(--sovi-px)*240);display:grid;place-items:center;text-align:center}.screen--loading{display:flex;min-height:100vh}.loading-layout{width:100%;padding:calc(var(--sovi-px)*20) clamp(calc(var(--sovi-px)*20),5.128vw,calc(var(--sovi-px)*40)) calc(var(--sovi-px)*24);display:flex;flex-direction:column;gap:calc(var(--sovi-px)*18)}.loading-layout__label{margin:0;color:transparent;height:0}.loading-card{border-radius:calc(var(--sovi-px)*28);background:#fff;box-shadow:0 calc(var(--sovi-px)*2) calc(var(--sovi-px)*12) #00000014}.loading-card--hero{height:calc(var(--sovi-px)*100);padding:calc(var(--sovi-px)*14) calc(var(--sovi-px)*16);justify-content:center;background:linear-gradient(135deg,#f2f8ff,#eaf3ff)}.loading-card--hero,.loading-stack{display:flex;flex-direction:column;gap:calc(var(--sovi-px)*10)}.skeleton--title{height:calc(var(--sovi-px)*30);border-radius:0;background:linear-gradient(90deg,#0000000f,#0000001a 50%,#0000000f)}.skeleton--line{height:calc(var(--sovi-px)*14)}.skeleton--button{width:calc(var(--sovi-px)*60);height:calc(var(--sovi-px)*20);margin-top:calc(var(--sovi-px)*2);border-radius:calc(var(--sovi-px)*999)}.skeleton--pill{width:calc(var(--sovi-px)*56);height:calc(var(--sovi-px)*18)}.skeleton--dots{width:calc(var(--sovi-px)*6);height:calc(var(--sovi-px)*26);border-radius:calc(var(--sovi-px)*999)}.skeleton--meta{margin-top:calc(var(--sovi-px)*4)}.skeleton{width:100%;height:calc(var(--sovi-px)*14);border-radius:calc(var(--sovi-px)*999);background:linear-gradient(90deg,#0000000f,#0000001f 50%,#0000000f);background-size:200% 100%;animation:shimmer 1.5s linear infinite}html[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1f 50%,#ffffff0a);background-size:200% 100%}.hidden{display:none!important}.ios-status{height:calc(var(--sovi-px)*54);padding:calc(var(--sovi-px)*16) calc(var(--sovi-px)*20) 0;display:flex;align-items:center;justify-content:space-between;font-size:max(var(--sovi-font-min),16 * var(--sovi-px));font-weight:600}.ios-status--light{color:#fff}.ios-status--dark{color:var(--ink)}.ios-status__icons{display:flex;align-items:center;gap:calc(var(--sovi-px)*6)}.ios-status__battery,.ios-status__signal,.ios-status__wifi{display:inline-flex;align-items:center;justify-content:center}.ios-status__signal{width:calc(var(--sovi-px)*16);border-bottom:calc(var(--sovi-px)*2) solid;border-left:calc(var(--sovi-px)*2) solid;transform:skew(-18deg)}.ios-status__signal,.ios-status__wifi{height:calc(var(--sovi-px)*10);opacity:.9}.ios-status__wifi{width:calc(var(--sovi-px)*14);border-top:calc(var(--sovi-px)*2) solid;border-radius:calc(var(--sovi-px)*999) calc(var(--sovi-px)*999) 0 0}.ios-status__battery{width:calc(var(--sovi-px)*24);height:calc(var(--sovi-px)*12);border:calc(var(--sovi-px)*1.8) solid;border-radius:calc(var(--sovi-px)*4);position:relative}.ios-status__battery:after{content:"";position:absolute;top:calc(var(--sovi-px)*3);right:calc(var(--sovi-px)*-3);width:calc(var(--sovi-px)*2);height:calc(var(--sovi-px)*4)}.ios-status__battery span,.ios-status__battery:after{border-radius:calc(var(--sovi-px)*2);background:currentColor}.ios-status__battery span{width:calc(var(--sovi-px)*17);height:calc(var(--sovi-px)*7)}.ios-back-button{width:calc(var(--sovi-px)*44);height:calc(var(--sovi-px)*44);border-radius:calc(var(--sovi-px)*22);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ios-back-button--dark{background:var(--page-bg-soft);color:var(--ink)}.ios-back-button--light{background:#ffffff24;color:#fff;-webkit-backdrop-filter:blur(calc(var(--sovi-px)*12));backdrop-filter:blur(calc(var(--sovi-px)*12))}.ios-back-button__glyph{font-size:max(var(--sovi-font-min),28 * var(--sovi-px));line-height:1;margin-left:calc(var(--sovi-px)*-2)}.home-indicator{display:flex;justify-content:center;padding:calc(var(--sovi-px)*8) 0 calc(var(--safe-bottom) - var(--sovi-px)*2)}.home-indicator span{width:calc(var(--sovi-px)*134);height:calc(var(--sovi-px)*5);border-radius:calc(var(--sovi-px)*999)}.home-indicator--light span{background:#ffffffeb}.home-indicator--dark span{background:#000000eb}.bottom-nav{background:var(--nav-black);padding:calc(var(--sovi-px)*18) calc(var(--sovi-px)*20) calc(var(--sovi-px)*10)}.bottom-nav__active{display:none}.bottom-nav__items{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--sovi-px)*12)}.bottom-nav__item{min-height:calc(var(--sovi-px)*70);border-radius:calc(var(--sovi-px)*24);color:#ffffffc2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--sovi-px)*6);font-size:max(var(--sovi-font-min),11 * var(--sovi-px));font-weight:600}.bottom-nav__item.is-active{background:var(--nav-active);color:#fff}.bottom-nav__label{line-height:1}.bottom-nav__icon{position:relative;width:calc(var(--sovi-px)*22);height:calc(var(--sovi-px)*18);display:inline-block}.bottom-nav__icon--folders:after,.bottom-nav__icon--folders:before,.bottom-nav__icon--learn:before,.bottom-nav__icon--scan:before{content:"";position:absolute;border-color:currentColor}.bottom-nav__icon--scan:before{inset:0;border:calc(var(--sovi-px)*1.8) solid;border-radius:calc(var(--sovi-px)*7)}.bottom-nav__icon--learn:before{left:calc(var(--sovi-px)*1);right:calc(var(--sovi-px)*1);top:calc(var(--sovi-px)*2);bottom:calc(var(--sovi-px)*2);border-top:calc(var(--sovi-px)*1.8) solid;border-bottom:calc(var(--sovi-px)*1.8) solid}.bottom-nav__icon--folders:before{left:0;right:0;top:calc(var(--sovi-px)*5);bottom:0;border:calc(var(--sovi-px)*1.8) solid;border-radius:calc(var(--sovi-px)*5)}.bottom-nav__icon--folders:after{left:calc(var(--sovi-px)*1);top:calc(var(--sovi-px)*1);width:calc(var(--sovi-px)*9);height:calc(var(--sovi-px)*5);border:calc(var(--sovi-px)*1.8) solid;border-bottom:0;border-radius:calc(var(--sovi-px)*4) calc(var(--sovi-px)*4) 0 0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:24.3125em){.screen{padding-inline:calc(var(--sovi-px)*12)}.screen-body{padding-inline:calc(var(--sovi-px)*16)}.button-row{width:100%}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important}.sovi-page-route-enter-active,.sovi-page-route-enter-from,.sovi-page-route-enter-to,.sovi-page-route-leave-active,.sovi-page-route-leave-from,.sovi-page-route-leave-to{transform:none!important;opacity:1!important;box-shadow:none!important}}.upload-debug[data-v-be60ea17]{position:fixed;left:calc(var(--sovi-rpx)*24);bottom:calc(max(env(safe-area-inset-bottom,0px),var(--sovi-safe-bottom-override)) + var(--sovi-rpx)*24);z-index:260;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--sovi-rpx)*16)}.upload-debug__action[data-v-be60ea17],.upload-debug__toggle[data-v-be60ea17]{border:0;color:#fff;background:#000000e0}.upload-debug__toggle[data-v-be60ea17]{min-height:calc(var(--sovi-rpx)*64);padding:calc(var(--sovi-rpx)*16) calc(var(--sovi-rpx)*24);border-radius:calc(var(--sovi-rpx)*99);font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*22));font-weight:700;letter-spacing:.04em;box-shadow:0 calc(var(--sovi-rpx)*8) calc(var(--sovi-rpx)*24) #0003}.upload-debug__panel[data-v-be60ea17]{width:min(660 * var(--sovi-rpx),100vw - 48 * var(--sovi-rpx));max-height:calc(var(--sovi-rpx)*780);display:flex;flex-direction:column;gap:calc(var(--sovi-rpx)*20);padding:calc(var(--sovi-rpx)*24);border-radius:calc(var(--sovi-rpx)*28);background:#08080af0;color:#fff;box-shadow:0 calc(var(--sovi-rpx)*16) calc(var(--sovi-rpx)*40) #00000047;-webkit-backdrop-filter:blur(calc(var(--sovi-rpx)*20));backdrop-filter:blur(calc(var(--sovi-rpx)*20))}.upload-debug__summary[data-v-be60ea17]{display:flex;flex-direction:column;gap:calc(var(--sovi-rpx)*8)}.upload-debug__summary-line[data-v-be60ea17]{margin:0;font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*20));line-height:1.4;word-break:break-all}.upload-debug__actions[data-v-be60ea17]{display:flex;flex-wrap:wrap;gap:calc(var(--sovi-rpx)*12)}.upload-debug__action[data-v-be60ea17]{min-height:calc(var(--sovi-rpx)*56);padding:calc(var(--sovi-rpx)*12) calc(var(--sovi-rpx)*20);border-radius:calc(var(--sovi-rpx)*18);font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*20))}.upload-debug__list[data-v-be60ea17]{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:calc(var(--sovi-rpx)*12)}.upload-debug__empty[data-v-be60ea17]{margin:0;color:#ffffffb8;font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*20))}.upload-debug__item[data-v-be60ea17]{display:flex;flex-direction:column;gap:calc(var(--sovi-rpx)*10);padding:calc(var(--sovi-rpx)*16);border-radius:calc(var(--sovi-rpx)*18);background:#ffffff0f}.upload-debug__item--warn[data-v-be60ea17]{background:#ffc45729}.upload-debug__item--error[data-v-be60ea17]{background:#f35a462e}.upload-debug__item-head[data-v-be60ea17]{display:flex;flex-direction:column;gap:calc(var(--sovi-rpx)*6)}.upload-debug__time[data-v-be60ea17]{color:#ffffffa8;font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*18))}.upload-debug__event[data-v-be60ea17]{font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*22));line-height:1.3;word-break:break-word}.upload-debug__payload[data-v-be60ea17]{margin:0;color:#d9f5ff;white-space:pre-wrap;word-break:break-word;font-size:max(var(--sovi-font-min),calc(var(--sovi-rpx)*18));line-height:1.45}body,html{background:transparent}
