:is(.stage-inner:has(>.prototype-chat-screen),.stage-inner:has(>.direct-model-chat)){flex-direction:column;display:flex}.prototype-chat-screen>.prototype-chat-notice,.direct-model-chat>.scoped-notice{overflow-wrap:anywhere;flex:none;min-width:0}.prototype-chat-screen>.prototype-chat-notice{margin:12px 16px 0}:is(.stage-inner:has(>.prototype-chat-screen)>.prototype-chat-screen,.stage-inner:has(>.direct-model-chat)>.direct-model-chat){flex:1 1 0;height:auto;min-height:0}
.app-loading-overlay{--loading-bg:#edf7f4;--loading-surface:#fff;--loading-accent:#0e7a6e;--loading-accent-soft:#a7dfd6;--loading-active:#e6f6f3;--loading-border:#d3eae4;--loading-border-soft:#e2f0eb;--loading-skeleton:#e4f1ed;--loading-skeleton-soft:#f1f8f6;z-index:1000;background:var(--loading-bg);opacity:0;grid-template-columns:284px minmax(0,1fr);animation:.18s ease-out .26s forwards app-loading-appear;display:none;position:fixed;inset:0;overflow:hidden}body:has(.auth-gate[data-auth-state=bootstrap-loading],.onboarding-screen)>.app-loading-overlay{display:grid}body:has(.auth-gate[data-auth-state=bootstrap-loading],.onboarding-screen){background:var(--loading-bg,#edf7f4)}body:has(.auth-gate[data-auth-state=bootstrap-loading],.onboarding-screen) :is(.auth-gate[data-auth-state=bootstrap-loading],.okky-shell:has(.onboarding-screen)){opacity:0}@keyframes app-loading-appear{to{opacity:1}}.app-loading-sidebar{border-inline-end:1px solid var(--loading-border);background:var(--loading-surface);flex-direction:column;gap:10px;min-width:0;padding:18px 16px;display:flex}.app-loading-brand{background:url(/okky-logo.png) 0/auto 42px no-repeat;width:148px;height:42px;margin-block-end:14px}.app-loading-nav{background:var(--loading-skeleton);border-radius:12px;height:42px}.app-loading-nav.is-active{background:var(--loading-active)}.app-loading-spacer{flex:1}.app-loading-footer{background:var(--loading-skeleton);border-radius:14px;height:46px}.app-loading-main{flex-direction:column;gap:18px;min-width:0;padding:26px 30px;display:flex}.app-loading-row{align-items:center;gap:14px;display:flex}.app-loading-heading{background:var(--loading-skeleton);border-radius:10px;width:min(320px,58%);height:30px}.app-loading-pill{background:var(--loading-skeleton);border-radius:999px;flex:none;width:132px;height:38px;margin-inline-start:auto}.app-loading-line{background:var(--loading-skeleton-soft);border-radius:8px;width:min(420px,72%);height:15px}.app-loading-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;max-width:1080px;display:grid}.app-loading-card{aspect-ratio:3/4;background:var(--loading-skeleton);border-radius:18px}.app-loading-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:820px;display:grid}.app-loading-tile{border:1px solid var(--loading-border-soft);background:var(--loading-skeleton-soft);border-radius:16px;height:74px}.app-loading-nav,.app-loading-footer,.app-loading-heading,.app-loading-pill,.app-loading-line,.app-loading-card,.app-loading-tile{position:relative;overflow:hidden}.app-loading-nav:after,.app-loading-footer:after,.app-loading-heading:after,.app-loading-pill:after,.app-loading-line:after,.app-loading-card:after,.app-loading-tile:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffffb8 50%,#0000 80%);animation:1.25s linear infinite app-loading-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes app-loading-sweep{to{transform:translate(100%)}}.app-loading-badge{border:1px solid var(--loading-border-soft);background:var(--loading-surface);border-radius:50%;width:138px;height:138px;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 22px 44px -22px #0e7a6e80}.app-loading-arc{border:3px solid var(--loading-accent-soft);border-top-color:var(--loading-accent);border-radius:50%;animation:.95s linear infinite app-loading-spin;position:absolute;inset:-1px}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.app-loading-mascot{aspect-ratio:898/780;background:url(/okky-loading-mascot.png) bottom/contain no-repeat;width:104px;animation:2.1s ease-in-out infinite app-loading-bob;display:block;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@keyframes app-loading-bob{0%,to{transform:translate(-50%,2px)}50%{transform:translate(-50%,-4px)}}@media (max-width:920px){.app-loading-overlay{grid-template-columns:minmax(0,1fr)}.app-loading-sidebar{display:none}.app-loading-main{gap:14px;padding:18px 16px}.app-loading-heading{width:70%}.app-loading-cards,.app-loading-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.app-loading-badge{width:118px;height:118px}.app-loading-mascot{width:90px}}@media (prefers-reduced-motion:reduce){.app-loading-overlay{opacity:1;animation:none}.app-loading-nav:after,.app-loading-footer:after,.app-loading-heading:after,.app-loading-pill:after,.app-loading-line:after,.app-loading-card:after,.app-loading-tile:after,.app-loading-mascot{animation:none}.app-loading-arc{animation-duration:2.4s}}
