/* StudentSOS v19 — cabinet cleanup, files library, referral hub, image vision, reliable mobile hero */

/* Mobile hero: one predictable phrase at a time. This intentionally disables all inherited animations. */
@media(max-width:620px){
  .s11-seo-hero .s11-bubble-stage{display:grid!important;grid-template-rows:102px 58px!important;place-items:center!important;height:174px!important;min-height:174px!important;overflow:visible!important;position:relative!important;margin-top:4px!important}
  .s11-seo-hero .s11-bubble-stage>.sos-mascot{display:block!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:90px!important;height:90px!important;grid-row:1!important;opacity:1!important;visibility:visible!important;margin:0!important}
  .s11-seo-hero .s11-bubble-stage>.s11-float-bubble{display:block!important;position:absolute!important;left:50%!important;right:auto!important;top:108px!important;bottom:auto!important;transform:translateX(-50%)!important;animation:none!important;transition:opacity .2s ease,transform .2s ease!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;width:max-content!important;max-width:calc(100% - 12px)!important;white-space:normal!important;text-align:center!important;padding:8px 11px!important;font-size:12px!important;line-height:1.3!important;z-index:4!important}
  .s11-seo-hero .s11-bubble-stage>.s11-float-bubble.is-visible{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}
}

/* The fake invitation caret belongs before the placeholder sentence, not after it. */
.s11-typing-invite>span:after{display:none!important;content:none!important}
.s11-typing-invite>span:before{content:"";display:inline-block!important;width:2px;height:1.16em;margin-right:5px;vertical-align:-.13em;background:#1769ff;border-radius:2px;animation:s19Caret .9s steps(1,end) infinite}
@keyframes s19Caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.s11-typing-invite>span:before{animation:none}}

/* App dashboard: controls in legacy CSS had !important 16px font sizes. Reassert product scale. */
body.s2-product-app .s2-app-main{max-width:1320px!important;padding-top:18px!important}
.s7-app-work-picker{margin-top:14px!important;margin-bottom:18px!important}
.s7-app-work-grid{gap:9px!important}
.s7-app-work-grid>a,.s7-app-work-grid>button{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;border:1px solid #e3e8f0!important;background:#fff!important;border-radius:16px!important;padding:14px!important;text-decoration:none!important;color:#172033!important;text-align:left!important;cursor:pointer!important;font:inherit!important;box-shadow:none!important}
.s7-app-work-grid>a:hover,.s7-app-work-grid>button:hover{border-color:#b9cffb!important;background:#f8fbff!important}
.s7-app-work-grid>a>.sos-icon,.s7-app-work-grid>button>.sos-icon{width:21px!important;height:21px!important;color:#1769ff!important}
.s7-app-work-grid>a>b,.s7-app-work-grid>button>b{font-size:13px!important;line-height:1.25!important;margin:0!important}
.s7-app-work-grid>a>span:not(.sos-icon),.s7-app-work-grid>button>span:not(.sos-icon){font-size:11px!important;line-height:1.35!important;color:#728096!important}
.s19-referral-cta{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border:1px solid #e4e8ef;border-radius:17px;background:#fff;color:#253249;text-decoration:none}.s19-referral-cta>span{width:38px;height:38px;border-radius:11px;background:#eef4ff;color:#1769ff;display:grid;place-items:center}.s19-referral-cta .sos-icon{width:19px}.s19-referral-cta b,.s19-referral-cta small{display:block}.s19-referral-cta b{font-size:13px}.s19-referral-cta small{font-size:10px!important;color:#7a8496;margin-top:2px}.s19-referral-cta em{font-style:normal;color:#1769ff;font-size:18px}

/* Project chat: compact ChatGPT-like secondary actions. */
.s18-msg-tools{display:flex!important;align-items:center!important;gap:5px!important;margin-top:9px!important;opacity:1!important;flex-wrap:wrap!important}
.s18-msg-tools>a,.s18-msg-tools>button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;padding:0 8px!important;border:1px solid #e6e9ef!important;background:#fff!important;border-radius:8px!important;color:#687386!important;font-size:10px!important;line-height:1!important;font-weight:750!important;text-decoration:none!important;cursor:pointer!important}
.s18-msg-tools>a:hover,.s18-msg-tools>button:hover{background:#f5f7fa!important;color:#172033!important;border-color:#d9dfe8!important}
.s18-quick{gap:4px!important}.s18-quick button{min-height:28px!important;padding:0 8px!important;border:1px solid #e8ebf0!important;background:#f6f7f9!important;border-radius:9px!important;color:#687386!important;font-size:10px!important;line-height:1!important;font-weight:750!important}
.s18-upload-button,.s18-send{width:36px!important;height:36px!important}
.s18-composer{padding:9px!important}.s18-composer-bottom{gap:6px!important}
.s18-chat-stream{padding-top:22px!important;gap:19px!important}.s18-message{line-height:1.68!important}
.s18-context-save{font-size:11px!important}.s18-context-card{padding:10px!important;margin-bottom:8px!important}.s18-context-card label{font-size:9px!important}.s18-file-card{min-width:0}.s18-file-card b{font-size:10px!important}.s18-file-card small{font-size:9px!important}
@media(min-width:1101px){.s18-project{min-height:100dvh!important}.s18-chat-shell{min-height:100dvh!important}.s18-context{top:0!important;max-height:100dvh!important}}
@media(max-width:720px){.s18-chat-head{gap:7px!important}.s18-chat-actions a,.s18-chat-actions button{font-size:10px!important;min-height:32px!important;padding:0 8px!important}.s18-composer-wrap{padding-top:7px!important}.s18-quick button{font-size:9px!important}.s18-msg-tools>a,.s18-msg-tools>button{font-size:9px!important;padding:0 7px!important}.s18-chat-stream{width:calc(100% - 18px)!important}.s18-msg{grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important}.s18-avatar{width:30px!important;height:30px!important}.s18-message{font-size:14px!important}}

/* AI tutor card inside the cabinet. */
.s19-tutor-tool{position:relative;overflow:hidden}.s19-tutor-tool:after{content:"AI";position:absolute;right:12px;top:10px;padding:3px 6px;border-radius:99px;background:#eef4ff;color:#1769ff;font-size:9px;font-weight:900}.s19-tutor-tool em{font-style:normal;font-size:10px;color:#1769ff;font-weight:750}

/* Files library */
.s19-files-page{max-width:1220px!important}.s19-files-section{margin-bottom:30px}.s19-files-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 13px}.s19-files-head>div>span{display:block;color:#1769ff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.s19-files-head h2{margin:3px 0 0;font-size:22px;letter-spacing:-.035em}.s19-files-head>a{font-size:12px;font-weight:800;color:#1769ff;text-decoration:none}.s19-files-head>small{font-size:11px!important;color:#8590a2}.s19-generated-grid,.s19-upload-grid{display:grid;gap:9px}.s19-generated-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;background:#fff;border:1px solid #e4e8ef;border-radius:16px}.s19-generated-icon{width:42px;height:42px;border-radius:12px;background:#eef4ff;color:#1769ff;display:grid;place-items:center}.s19-generated-icon .sos-icon{width:21px}.s19-generated-main{min-width:0}.s19-generated-main>span{display:block;color:#7c8798;font-size:10px}.s19-generated-main h3{margin:2px 0 3px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s19-generated-main small{display:block;font-size:10px!important;color:#8b95a5}.s19-generated-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.s19-generated-actions a{display:inline-flex;align-items:center;min-height:29px;padding:0 8px;border:1px solid #e0e5ed;border-radius:8px;color:#566277;background:#fff;font-size:10px;font-weight:800;text-decoration:none}.s19-generated-actions a:first-child{background:#172033;color:#fff;border-color:#172033}
.s19-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.s19-upload-card{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:11px;background:#fff;border:1px solid #e4e8ef;border-radius:15px}.s19-upload-preview{grid-row:1/3;width:54px;height:54px;border-radius:11px;background:#f1f5fb;display:grid;place-items:center;overflow:hidden;text-decoration:none}.s19-upload-preview img{width:100%;height:100%;object-fit:cover}.s19-file-ext{font-size:10px;font-weight:900;color:#1769ff}.s19-upload-meta{min-width:0}.s19-upload-meta b,.s19-upload-meta small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s19-upload-meta b{font-size:11px}.s19-upload-meta small{font-size:9px!important;color:#8c96a5;margin-top:3px}.s19-upload-actions{display:flex;gap:10px}.s19-upload-actions a{font-size:10px;font-weight:800;color:#1769ff;text-decoration:none}.s19-files-empty{padding:34px 18px!important}

/* Referral page */
.s19-ref-page{max-width:1120px!important}.s19-ref-hero{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:22px;align-items:center;padding:26px 28px;margin-bottom:14px;border-radius:22px;background:linear-gradient(135deg,#172033,#24406f);color:#fff;overflow:hidden}.s19-ref-hero>div>span{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#8eb7ff}.s19-ref-hero h1{margin:4px 0 8px;font-size:32px;letter-spacing:-.045em}.s19-ref-hero p{margin:0;max-width:650px;color:#d1dbeb;font-size:13px;line-height:1.55}.s19-ref-hero .sos-mascot{width:100px;height:100px}.s19-ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.s19-ref-stats article{padding:16px;border:1px solid #e4e8ef;border-radius:16px;background:#fff}.s19-ref-stats b{display:block;font-size:25px;letter-spacing:-.04em}.s19-ref-stats span{display:block;margin-top:3px;color:#7e8898;font-size:10px}.s19-ref-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:10px;margin-bottom:22px}.s19-ref-card{padding:20px;border:1px solid #e4e8ef;border-radius:18px;background:#fff}.s19-ref-card.primary{background:#f5f8ff;border-color:#dbe7ff}.s19-ref-card>span{font-size:9px;font-weight:900;color:#1769ff;text-transform:uppercase}.s19-ref-card h2{margin:5px 0 7px;font-size:22px}.s19-ref-card p{margin:0 0 13px;color:#768194;font-size:11px;line-height:1.5}.s19-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.s19-copy input{min-width:0;height:38px;border:1px solid #dce3ee;border-radius:10px;padding:0 10px;background:#fff;font-size:10px}.s19-copy button,.s19-share,.s19-copy-code{min-height:38px;border:0;border-radius:10px;padding:0 12px;background:#172033;color:#fff;font-size:10px!important;font-weight:850;cursor:pointer}.s19-share{width:100%;margin-top:7px;background:#1769ff}.s19-copy-code{background:#1769ff}.s19-ref-contest,.s19-ref-history{margin-bottom:22px;padding:18px;border:1px solid #e4e8ef;border-radius:18px;background:#fff}.s19-prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.s19-prizes article{display:flex;align-items:center;gap:7px;padding:10px;border-radius:11px;background:#f7f9fc}.s19-prizes b{color:#1769ff}.s19-prizes span{font-size:10px}.s19-ref-contest ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}.s19-ref-contest li,.s19-ref-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:11px;background:#f8fafc}.s19-ref-contest li span,.s19-ref-list b{font-size:11px}.s19-ref-contest li b,.s19-ref-list span{font-size:10px;color:#7e8999}.s19-ref-list{display:grid;gap:6px}.s19-ref-list article>div{display:grid;gap:2px}.s19-ref-list em{font-style:normal;font-size:9px;font-weight:850;padding:5px 7px;border-radius:99px;background:#fff5df;color:#906111}.s19-ref-list em.granted{background:#eaf9f0;color:#176b45}.s19-ref-empty{padding:20px;border-radius:12px;background:#f8fafc;color:#798496;font-size:11px;text-align:center}

@media(max-width:900px){.s19-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s19-ref-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .s7-app-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.s7-app-work-grid>a,.s7-app-work-grid>button{padding:11px!important;border-radius:14px!important}.s7-app-work-grid>a>b,.s7-app-work-grid>button>b{font-size:12px!important}.s7-app-work-grid>a>span:not(.sos-icon),.s7-app-work-grid>button>span:not(.sos-icon){font-size:10px!important}
  .s19-generated-card{grid-template-columns:38px minmax(0,1fr);padding:11px}.s19-generated-icon{width:38px;height:38px}.s19-generated-actions{grid-column:2;justify-content:flex-start}.s19-upload-grid{grid-template-columns:1fr}.s19-files-head{align-items:flex-start}.s19-files-head h2{font-size:19px}
  .s19-ref-hero{grid-template-columns:1fr;padding:22px 18px}.s19-ref-hero .sos-mascot{display:none}.s19-ref-hero h1{font-size:28px}.s19-ref-stats{grid-template-columns:1fr 1fr}.s19-ref-stats article:last-child{grid-column:1/-1}.s19-prizes{grid-template-columns:1fr}.s19-copy{grid-template-columns:1fr}.s19-copy button{width:100%}
}
.s18-file-thumb .s18-file-fallback{font-size:8px!important;font-weight:900!important;color:#1769ff!important;letter-spacing:.03em}.s18-file-thumb img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
