/* Progressive PHP rendering: author display rules must respect hidden state. */
.public-app [hidden],.workspace [hidden],.aw-page [hidden]{display:none!important}
/* Source public components embedded inside a Moodle workspace retain tokens. */
.workspace{--p-navy:#061735;--p-blue:#0056ee;--p-teal:#007f89;--p-border:#e0e7f0}
/* The live source's final detail rhythm, scoped to the PHP portal only. */
@media(min-width:731px){
 .pd-root .pd-hero-copy h1{margin-top:0}
 .pd-root .pd-hero-copy h2{margin-top:1px}
 .pd-root .pd-hero-copy>p{margin-top:4px}
 .pd-root .pd-hero-meta{margin-top:14px}
 .pd-root .pd-tabs>button{font-size:12px}
 .pd-root .pd-apply-card h2{margin-top:0}
 .pd-root .pd-apply-card>p{margin-top:0}
}
/* Grid items must shrink around the source's horizontally scrollable filters. */
.lp-network-row>section,.lp-news-row>section,.lp-events-row>section,.lp-program-grid>div{min-width:0}
.lp-network-row .lp-tabs,.lp-startup-grid,.lp-community-list{max-width:100%;min-width:0}
.sp-ai-fab{position:fixed;right:30px;bottom:16px;z-index:40;display:flex;align-items:center;gap:9px;background:linear-gradient(125deg,#00b9c5,#12c2bc);color:#004e62;border:0;border-radius:36px;padding:11px 14px;min-height:60px;box-shadow:0 6px 22px #0095a83d;text-align:left}
.sp-ai-fab>span{display:flex;flex-direction:column;gap:4px}.sp-ai-fab small{font-size:9px;font-weight:400}.sp-ai-fab b{font-size:12px}.sp-ai-fab>svg{flex:none}.sp-ai-info{border:1px solid #dce8f2;border-radius:14px;max-width:min(440px,calc(100vw - 32px));padding:24px;color:#17395b}.sp-ai-info::backdrop{background:#08274366}.sp-ai-info h2{font-size:20px}.sp-ai-info p{line-height:1.7}.sp-ai-info button{float:right}
@media(max-width:580px){.aw-page .aw-field>input,.aw-page .aw-field>select{min-height:44px}.aw-page .aw-breadcrumb{gap:5px}}

/* Native reviewed submissions use the original feedback-complete badge. */
.up-status.status-reviewed{background:#eff6ff;color:#2563eb;}

/* Keep native Moodle body typography from replacing the source root font. */
body.startup-portal-theme{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif;font-synthesis:none;}
/* Native form defaults must not shrink the source support message field. */
body.startup-portal-theme .p-support .p-post-form textarea{width:100%;min-width:0;align-self:stretch;}

/* Direct PHP password controls must stretch just like source/email controls. */
.public-app .p-auth-form>label>input[type=password]{width:100%;min-width:0}
/* The live source resets both narrow hero heading top margins to zero. */
@media(max-width:730px){
 .pd-root .pd-hero-copy h1,.pd-root .pd-hero-copy h2{margin-top:0}
}

/* Observed login/search font transition: 16px through 900px, base sizing from 901px. */
@media(max-width:900px){
 .public-app .p-auth-form[data-api="/auth/login"] input[type=email],
 .public-app .p-auth-form[data-api="/auth/login"] input[type=password]{font-size:16px;line-height:1.55}
 .public-app .p-program-list-page .p-filter-search input[name=q],
 .public-app .p-search-events input[name=q],
 .public-app .p-search-startups input[name=q]{font-size:16px;line-height:1.55}
}
/* Source category buttons inherit 13px; native filter anchors retain their semantics. */
.public-app .p-program-list-page .p-category-choice{font-size:13px;line-height:1.55}
/* Source compact catalog layout hides only its decorative category arrow at 680px. */
@media(max-width:680px){
 .public-app .p-program-list-page .p-category-choice>.p-category-arrow{display:none}
}
/* PHP demo forms occupy the same source grid columns; unavailable roles stay disabled. */
.public-app .p-demo-login>div>form>button{width:100%}
