/* SchoolON / Discord-inspired presentation only. No application logic changes. */
:root {
 color-scheme:dark;
 --background:#313338;--foreground:#f2f3f5;--card:#2b2d31;--card-foreground:#f2f3f5;
 --popover:#232428;--popover-foreground:#f2f3f5;--primary:#5865f2;--primary-foreground:#f2f3f5;
 --secondary:#383a40;--secondary-foreground:#dbdee1;--muted:#b5bac1;--muted-foreground:#b5bac1;
 --accent:#40466b;--accent-foreground:#e0e3ff;--border:#41434a;--input:#41434a;--ring:#949cff;
 --ink:#f2f3f5;--sub:#b5bac1;--line:#41434a;--bg:#313338;--purple:#aeb5ff;--green:#65d6a3;
 --app-ink:#f2f3f5;--app-muted:#b5bac1;--app-bg:#313338;--app-line:#41434a;--app-red:#5865f2;--app-red-dark:#4752c4;
 --coral:#aeb5ff;--violet:#aeb5ff;--ui-gutter:32px;
}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#1e1f22 #2b2d31}
html,body,#root{background:#313338!important;color:#f2f3f5!important;min-height:100%;font-family:Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Segoe UI',sans-serif}
button,input,textarea,select{font-family:inherit!important}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #aeb5ff!important;outline-offset:3px}
input,textarea,select,.picker{background:#1e1f22!important;color:#f2f3f5!important;border-color:#41434a!important;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#949ba4!important;opacity:1}input[type=checkbox],input[type=radio]{accent-color:#5865f2}
.shell{width:100%;max-width:1120px!important;min-height:calc(100dvh - 72px)!important;padding:0 0 104px!important;border:0!important;background:#313338!important;box-shadow:none!important}
.topbar{max-width:none!important;height:72px!important;padding:0 var(--ui-gutter)!important;background:#1e1f22!important;border-bottom:1px solid #35373c!important;backdrop-filter:none!important}
.top-inner{height:100%;width:100%;max-width:none;padding:0!important;gap:24px}.brand{gap:12px}.brand-mark{background:#5865f2!important;border-radius:14px!important;width:40px;height:40px;box-shadow:none!important}.brand b{font-size:23px!important}.header-actions{gap:8px!important}.header-actions button,.header-signup,.account-button{min-height:40px;border-radius:6px!important;padding:9px 14px!important;background:#383a40!important;border:0!important;color:#dbdee1!important;box-shadow:none!important}.header-signup{background:#5865f2!important;color:#f2f3f5!important}
.home-screen,.home-hub,.inner-screen{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;background:#313338!important}.page-heading,.home-screen .page-heading{padding:36px var(--ui-gutter) 24px!important;margin:0!important;background:#313338!important}.page-heading h1,.home-screen .page-heading h1{font-size:30px!important;font-weight:800;line-height:1.35!important;letter-spacing:-1px!important;margin:8px 0 10px!important;color:#f2f3f5!important}.page-heading p{margin:0!important;line-height:1.7!important;color:#b5bac1!important;font-size:14px!important}.eyebrow,.home-screen .eyebrow{background:transparent!important;padding:0!important;margin:0 0 8px!important;color:#aeb5ff!important;letter-spacing:1px!important;font-size:11px!important;border:0!important}
.searchbox{margin:0 var(--ui-gutter) 12px!important;min-height:60px!important;padding:8px 8px 8px 18px!important;border:1px solid #41434a!important;border-radius:8px!important;background:#1e1f22!important;gap:12px!important}.searchbox:focus-within{border-color:#949cff!important}.searchbox input{background:transparent!important;font-size:15px!important}.searchbox .primary{min-height:42px!important;padding:10px 20px!important;border-radius:5px!important;background:#5865f2!important;color:#f2f3f5!important}
.quick-row{margin:0!important;padding:0 var(--ui-gutter) 20px!important;gap:8px!important;line-height:1.5!important}.quick-row button{min-height:34px;padding:8px 12px!important;background:#383a40!important;color:#dbdee1!important;border:0!important;border-radius:5px!important;font-size:12px!important}.catalog-strip{margin:0 var(--ui-gutter) 24px!important;max-width:none!important;padding:12px 14px!important;line-height:1.6!important;border:1px solid #3f4147!important;border-radius:6px!important;background:#2b2d31!important;color:#b5bac1!important}.catalog-strip b{color:#dbdee1!important}
.home-hub{padding:0 var(--ui-gutter)!important;border:0!important}.home-screen .home-hub{padding:0 var(--ui-gutter)!important}.home-section-title{margin:8px 0 16px!important;gap:12px;align-items:center}.home-section-title h2{font-size:19px!important;color:#f2f3f5!important}.home-section-title>div>span,.home-section-title>button{color:#b5bac1!important}.home-actions{gap:16px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-action{min-height:164px!important;height:auto!important;padding:20px!important;border:1px solid #41434a!important;border-radius:8px!important;background:#2b2d31!important;box-shadow:none!important;transform:none!important;gap:0!important}.home-action:hover{background:#35373c!important;border-color:#7278a3!important}.home-action b,.home-action h3{color:#f2f3f5!important;font-size:15px!important}.home-action small,.home-action p{color:#b5bac1!important;line-height:1.65!important;white-space:normal!important}.home-action>.action-icon,.trust-icon,.auth-icon,.login-symbol,.grade-icon,.dock-icon{background:#3b4066!important;color:#c3c8ff!important;border-radius:12px!important;box-shadow:none!important}.home-action>.action-icon{margin-bottom:16px!important}.home-action>svg{color:#949ba4!important}.home-trust{margin:16px 0 24px!important;padding:18px!important;gap:14px!important;border:1px solid #3f4147!important;border-radius:8px!important;background:#2b2d31!important}.home-trust b{color:#dbdee1!important}.home-trust p,.home-trust button{color:#b5bac1!important}
.my-community-feed{margin:0 var(--ui-gutter) 24px;padding:20px;border:1px solid #41434a;border-radius:8px;background:#2b2d31}.home-hub .my-community-feed{margin:0 0 24px}.feed-post{padding:14px 8px;gap:14px}.feed-post+.feed-post{border-top:1px solid #383a40}.feed-copy b{font-size:13px}.feed-copy>span{line-height:1.6}.feed-school-chips{padding-bottom:6px}.feed-school-chips button{padding:8px 12px}.feed-avatar{background:#5865f2}
.back-home{margin:0 var(--ui-gutter);padding-top:24px;color:#b5bac1!important}.filters{margin:0 var(--ui-gutter) 20px!important;padding:20px!important}.filters button{min-height:38px}.filters .chosen,.priorities button.chosen,.school-levels button.chosen{background:#40466b!important;color:#e0e3ff!important;border-color:#7c86f5!important}.field-label,.filter-hint{color:#b5bac1!important}.results{margin:0 var(--ui-gutter) 24px!important;border:1px solid #41434a!important;border-radius:8px!important;background:#2b2d31!important}.results .section-head{padding:18px 20px!important;gap:12px!important}.results .section-head h2{font-size:18px!important}.results .section-head h2 span{color:#aeb5ff!important}.results .results-sub{padding:12px 20px!important}.results .school-grid,.school-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;padding:20px!important;background:#313338!important}.school-card{display:flex!important;flex-direction:column!important;min-width:0!important;padding:20px!important;border:1px solid #41434a!important;border-radius:8px!important;background:#2b2d31!important;gap:0!important}.school-card>*{max-width:100%;min-width:0}.school-card .school-title{margin:16px 0 8px!important;display:flex!important}.school-card .school-title h3{font-size:20px!important;line-height:1.4!important;overflow-wrap:anywhere!important;color:#f2f3f5!important}.school-location{line-height:1.65!important}.school-card .community-preview{order:initial!important;margin:16px 0!important;padding:16px!important;border:1px solid #41434a!important;border-left:3px solid #5865f2!important;border-radius:6px!important}.school-card .ratings-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:12px!important;background:#232428!important}.school-card .ratings-pair>*{transform:none!important}.rating,.rating.student{background:transparent!important;color:#b5bac1!important}.rating b{color:#dbdee1!important}.rating.student>span{color:#65d6a3!important}.rating>span{color:#b8bfff!important}.tags>span,.badge,.plain-badge,.school-allowance b{background:#383a40!important;color:#b5bac1!important}.school-card .tags{margin:4px 0 16px!important;line-height:1.8!important}.card-footer{margin-top:auto!important;padding-top:12px!important;border-top:1px solid #41434a!important;gap:8px!important;min-height:0!important}.card-footer>*{margin:0!important;width:100%!important}.card-footer button,.card-footer a,.card-footer button:first-of-type{background:#383a40!important;color:#dbdee1!important;border-radius:5px!important;min-height:40px!important}.card-footer .community-link{background:#5865f2!important;color:#f2f3f5!important}.card-footer .community-link:before{content:'#'!important;font-size:18px!important}.community-preview-head small{background:#40466b!important}.community-main b{font-size:15px!important}.community-main i{margin-top:12px!important}.results .empty-state{padding:40px 20px!important;margin:20px!important;gap:12px!important}.pagination button{background:#383a40!important;border-color:#41434a!important;color:#dbdee1!important}.pagination button.active{background:#5865f2!important}
.mobile-nav{background:#232428!important;min-height:68px!important;padding:8px!important;border:1px solid #41434a!important;box-shadow:0 8px 32px #0003!important;gap:4px!important}.mobile-nav button{padding:9px 12px!important;border-radius:6px!important;color:#b5bac1!important;gap:6px!important;min-width:0!important;flex:1}.mobile-nav button.active{background:#40466b!important;color:#f2f3f5!important}.mobile-nav button.active:after{display:none!important}.mobile-nav button:hover{background:#383a40!important}.mobile-nav button svg{width:21px;height:21px}.mobile-nav button b{height:21px;line-height:21px;font-size:21px}
/* Dialogs, account setup, school detail and menus share the same dark palette. */
.standard-modal,.large-modal,.onboarding-modal,[role=dialog],[role=alertdialog]{background:#313338!important;color:#f2f3f5!important;border:1px solid #41434a!important;border-radius:12px!important;box-shadow:0 24px 80px #0007!important;max-height:calc(100dvh - 40px)!important;overflow-y:auto!important;padding:28px!important}
[role=dialog] h2,[role=dialog] h3,.auth-role b,.join-intro h2,.chosen-school b,.detail-title h2{color:#f2f3f5!important}.email-auth>p,.auth-footnote,.account-email,.join-intro p,.chosen-school small,.auth-role span,.school-info dt,.detail-subtitle,.join-note{color:#b5bac1!important}.auth-tabs,.detail-tabs{background:#232428!important;border-radius:6px!important;padding:4px!important}.auth-tabs button,.detail-tabs button{color:#b5bac1!important;border-radius:4px!important}.auth-tabs button.active,.auth-tabs button[data-state=active],.detail-tabs button[data-state=active]{background:#40466b!important;color:#f2f3f5!important;box-shadow:none!important}.auth-role button,.document-types button,.chosen-school,.add-school,.published-review,.questions fieldset,.join-confirm,.join-note,.join-summary em,.join-search>p,.notice,.guide,.activity-row,.locked-profile,.account-summary,.verification-head,.upload-box,.rating-choices .na.chosen{background:#2b2d31!important;color:#dbdee1!important;border-color:#41434a!important;box-shadow:none!important}.auth-role button.active,.document-types button.active,.add-school:hover,.add-school.is-open{background:#343a58!important;border-color:#949cff!important}.email-auth input{min-height:48px!important;padding:12px 14px!important;border-radius:6px!important}.email-auth input:focus{box-shadow:none!important;border-color:#949cff!important}.auth-error,.join-error{background:#482d35!important;color:#ffb4bc!important}.secondary,.document-types button,.rating-choices button{background:#383a40!important;color:#dbdee1!important;border-color:#53565f!important;border-radius:6px!important}.primary,.rating-choices button.chosen:not(.na){background:#5865f2!important;color:#f2f3f5!important;border-color:#5865f2!important;border-radius:6px!important}.primary:hover:not(:disabled){background:#4752c4!important}.form-footer{background:#313338!important;border-color:#41434a!important;padding-top:16px}.score-bars>div>span{background:#41434a!important}.school-info dt,.school-info dd,.compare-table th,.compare-table td{background:#2b2d31!important;color:#dbdee1!important;border-color:#41434a!important}.join-search [cmdk-input-wrapper],[cmdk-root],[role=listbox],[role=menu],[data-radix-popper-content-wrapper]>div{background:#232428!important;color:#dbdee1!important;border-color:#41434a!important}.join-search [cmdk-item][data-selected=true],[role=option][data-highlighted]{background:#40466b!important;color:#f2f3f5!important}.pick-schools>button:hover{background:#383a40!important}.bg-white{background:#2b2d31!important}
.shell>footer,.shell footer:not(.card-footer){margin:28px var(--ui-gutter) 0!important;padding:20px 0!important;border-top:1px solid #41434a!important;color:#949ba4!important;font-size:12px!important}
/* Existing navigation becomes a Discord-like sidebar on wide screens. */
@media(min-width:1100px){
 #root{padding-left:232px}.topbar{margin-left:-232px!important;width:calc(100% + 232px)!important}.shell{margin:0 auto!important}.mobile-nav{left:0!important;right:auto!important;top:72px!important;bottom:0!important;transform:none!important;width:232px!important;max-width:none!important;border:0!important;border-right:1px solid #3f4147!important;border-radius:0!important;padding:28px 12px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:8px!important;box-shadow:none!important;background:#2b2d31!important}.mobile-nav:before{content:'학교온 커뮤니티';display:block;padding:0 12px 16px;color:#949ba4;font-size:11px;font-weight:800;letter-spacing:1px}.mobile-nav button{flex:0 0 auto!important;flex-direction:row!important;justify-content:flex-start!important;gap:14px!important;min-height:48px!important;padding:12px 16px!important;font-size:14px!important;font-weight:650!important}.mobile-nav button.active{background:#404249!important;box-shadow:inset 3px 0 #949cff}.mobile-nav button svg,.mobile-nav button b{width:22px;flex-shrink:0}.shell{padding-bottom:32px!important}
}
/* Standalone community and timeline: same rhythm and surface treatment. */
.app{max-width:none!important;min-height:100dvh;background:#313338!important}.guilds{padding:16px 12px!important;gap:16px!important;border-right:1px solid #2b2d31}.guild{width:48px!important;height:48px!important;border-radius:16px!important}.guild.active{background:#5865f2!important}.channels{padding:0 16px!important}.school-head{min-height:72px!important;height:auto!important;padding:16px 4px;gap:12px}.school-head span{overflow-wrap:anywhere}.channel-wrap{padding-top:20px}.channel{padding:11px 12px!important;margin-bottom:4px;gap:12px!important;border-radius:5px!important}.channel.active{background:#404249!important;box-shadow:inset 3px 0 #949cff}.tip{margin:24px 0!important;padding:14px!important;font-size:12px!important;line-height:1.8!important}.chat-head,.head{min-height:72px!important;height:auto!important;padding:18px 28px!important;gap:16px!important;background:#313338!important}.chat-head b,.head h1{font-size:17px!important;line-height:1.5}.chat-head .back{width:auto!important;flex-shrink:0}.feed{padding:20px 28px 40px!important}.welcome{padding:16px 0 28px!important}.welcome h1{font-size:28px!important;margin:16px 0 8px!important;line-height:1.4!important}.welcome p{line-height:1.8!important}.message{padding:18px 8px!important;gap:16px!important;grid-template-columns:42px minmax(0,1fr)!important}.message>div{min-width:0}.message p{line-height:1.8!important;overflow-wrap:anywhere}.message time{color:#a6adb8!important}.meta{flex-wrap:wrap;gap:8px!important}.message+.message{border-top:1px solid #3a3c42}.avatar{width:40px!important;height:40px!important;background:#5865f2!important}.composer{margin:16px 28px 24px!important;padding:14px!important;border:1px solid #484b54!important;border-radius:8px!important;background:#383a40!important}.composer textarea{background:transparent!important;min-width:0;font-size:14px!important;line-height:1.6!important}.composer button{min-height:40px!important;padding:10px 16px!important;border-radius:5px!important;flex-shrink:0}.composer small{line-height:1.7;margin-top:12px!important;color:#b5bac1!important}.composer select{min-height:44px}.composer-row{gap:12px!important}.app>aside:not(.channels):not(.guilds){padding:24px 16px!important}.app>aside .brand{padding:0 12px 24px!important}.app>aside .back,.app>aside .nav{min-height:44px;padding:12px!important}.app>aside .nav{background:#404249!important;box-shadow:inset 3px 0 #949cff}.app>aside .note{font-size:12px!important;line-height:1.8!important}.empty{color:#b5bac1!important;line-height:1.8!important}.chat{min-height:100dvh}.rating-note{margin:20px 0!important;padding:20px!important;line-height:1.8!important}.school{padding:5px 8px!important}.nav-title{padding:8px 0}
@media(min-width:701px){.app:has(.guilds){grid-template-columns:72px 240px minmax(0,1fr)!important}.app:not(:has(.guilds)){grid-template-columns:232px minmax(0,1fr)!important}.chat .feed{flex:1}.app:not(:has(.guilds)) .main{max-width:1100px;width:100%;margin:auto;align-self:start}}
@media(max-width:850px){.home-actions{grid-template-columns:1fr!important}.home-action{display:grid!important;grid-template-columns:44px minmax(0,1fr) 18px!important;align-items:center!important;gap:16px!important;min-height:88px!important;padding:18px!important}.home-action>.action-icon{margin:0!important}.home-action>svg{position:static!important}.results .school-grid,.school-grid{grid-template-columns:1fr!important}.composer-row{flex-wrap:wrap}.composer-row select{width:100%}.chat-head span{display:none}}
@media(max-width:700px){
 :root{--ui-gutter:18px}.topbar{height:64px!important;padding:0 18px!important}.top-inner{gap:12px!important}.brand b{font-size:21px!important}.brand-mark{width:34px;height:34px;border-radius:11px!important}.header-actions{gap:6px!important}.header-actions button{padding:8px 10px!important;min-height:38px;font-size:12px!important}.shell{padding-bottom:100px!important}.page-heading,.home-screen .page-heading{padding:28px var(--ui-gutter) 20px!important}.page-heading h1,.home-screen .page-heading h1{font-size:25px!important;letter-spacing:-.8px!important}.searchbox{min-height:58px!important;padding-left:12px!important;gap:8px!important}.searchbox input{font-size:14px!important}.searchbox .primary{padding:10px 14px!important}.quick-row{overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:18px!important}.quick-row button{flex:none}.catalog-strip{margin-bottom:22px!important}.home-actions{gap:12px!important}.home-action{padding:16px!important;gap:12px!important}.home-action small{font-size:12px!important;white-space:normal!important}.home-section-title{align-items:flex-start!important}.home-trust{padding:16px!important}.results .section-head{padding:16px!important;align-items:flex-start}.result-tools{flex-wrap:wrap;gap:8px!important}.results .results-sub{padding:10px 16px!important;flex-wrap:wrap;gap:8px}.results .school-grid{padding:12px!important;gap:12px!important}.school-card{padding:16px!important}.school-card .school-title h3{font-size:19px!important}.community-preview-head{flex-wrap:wrap;gap:8px}.my-community-feed{padding:16px}.mobile-nav{bottom:max(8px,env(safe-area-inset-bottom))!important;width:calc(100% - 16px)!important;border-radius:10px!important}.mobile-nav button{font-size:10px!important;padding:9px 5px!important}.standard-modal,.large-modal,.onboarding-modal,[role=dialog]{width:calc(100% - 24px)!important;max-height:calc(100dvh - 32px)!important;padding:22px!important;border-radius:10px!important}.auth-role{gap:10px!important}.auth-role button{padding:14px 12px!important}.form-footer{flex-wrap:wrap}.app{display:block!important}.channels{padding:0 16px!important}.school-head{min-height:60px!important;padding:14px 0!important}.channel-wrap{padding:8px 0 12px!important;gap:8px!important;scrollbar-width:none}.channel{min-height:40px!important;padding:9px 12px!important;margin:0!important;gap:8px!important}.chat{min-height:calc(100dvh - 120px)}.chat-head,.head{padding:16px 18px!important;min-height:60px!important;gap:10px!important}.chat-head b,.head h1{font-size:15px!important}.chat-head .back{font-size:11px!important;padding:8px!important}.feed{padding:16px 18px 24px!important}.welcome{padding:12px 0 24px!important}.welcome h1{font-size:24px!important}.welcome p{font-size:13px!important}.composer{margin:12px 16px max(16px,env(safe-area-inset-bottom))!important;padding:10px!important;gap:8px!important}.composer-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}.composer select{width:100%!important;grid-column:1/-1}.composer button{padding:10px 12px!important}.message{gap:12px!important;padding:16px 0!important;grid-template-columns:36px minmax(0,1fr)!important}.avatar{width:34px!important;height:34px!important}.message time{display:inline-block;font-size:10px!important}.app>aside:not(.channels):not(.guilds){padding:12px 16px!important}.app>aside .back,.app>aside .nav{font-size:12px!important;min-height:40px!important;margin:0!important}.live{font-size:10px!important;flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Main is also the home/inner screen; keep container rules explicit. */
.shell.home-screen,.shell.inner-screen{max-width:1120px!important;margin:0 auto!important;padding:0 0 104px!important}
@media(min-width:1100px){.shell.home-screen,.shell.inner-screen{padding-bottom:32px!important}}
@media(max-width:700px){.shell.home-screen,.shell.inner-screen{padding-bottom:100px!important}}
.ratings-pair{background:#232428!important;color:#dbdee1!important;border-color:#41434a!important}
.searchbox input:focus-visible{outline:0!important}

/* v13: remove the home compare tile and keep timeline home navigation visible. */
.home-actions .home-action.compare-action{display:none!important}
.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.timeline-head{position:sticky;top:0;z-index:10;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;justify-content:initial!important;box-shadow:0 2px 8px #0002}
.timeline-home{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border:1px solid #737cf5;border-radius:6px;background:#5865f2;color:#f2f3f5;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}
.timeline-home:hover{background:#4752c4}
.timeline-home svg{width:18px;height:18px;flex-shrink:0}
.timeline-head h1{min-width:0}
@media(max-width:850px){.home-actions{grid-template-columns:1fr!important}}
@media(max-width:480px){
 .timeline-head{grid-template-columns:auto minmax(0,1fr);column-gap:12px!important;row-gap:8px!important}
 .timeline-head h1{font-size:14px!important}
 .timeline-head .live{grid-column:2;justify-self:start}
 .timeline-home{grid-row:1/3;padding:10px 12px;font-size:12px}
}

.g5-auth-link{display:flex!important;align-items:center;justify-content:center;padding:14px 16px!important;text-decoration:none;margin:12px 0;min-height:48px}
