@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans KR,sans-serif;color:#20222a;background:#f5f7fa;font-synthesis:none;--blue: #0645bd;--blue2: #2253d2;--yellow: #ffd200;--ink: #24262d;--muted: #687080;--line: #e2e6ed;--bg: #f5f7fa;--shadow: 0 8px 24px rgba(24, 41, 72, .065)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;min-height:100vh;overflow-x:clip;-webkit-font-smoothing:antialiased;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(6,69,189,.2);outline-offset:2px}.btn{border:0;border-radius:999px;padding:10px 20px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn.primary{background:var(--blue);color:#fff}.btn.outline{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue)}.wide{width:100%}.panel{background:#fff;border-radius:30px;box-shadow:var(--shadow)}.avatar{border-radius:50%;object-fit:cover;background:#edf2ff}.mobile-nav,.mobile-actions{display:none}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-brand{display:grid;place-items:center;background:#0a46ba;color:#fff;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;width:760px;height:760px}.auth-brand:after{width:530px;height:530px}.auth-brand-inner{position:relative;z-index:1;width:min(520px,70%)}.auth-logo,.auth-mobile-logo{font-size:46px;font-weight:700;letter-spacing:-3px}.auth-brand p{font-size:38px;line-height:1.42;font-weight:600;margin:72px 0 50px;letter-spacing:-1.8px}.auth-points{display:grid;gap:20px}.auth-points span{display:flex;align-items:center;gap:13px;font-size:17px}.auth-points svg{color:var(--yellow);font-size:24px}.auth-form-wrap{display:grid;place-items:center;padding:50px}.auth-card{width:min(440px,100%)}.auth-mobile-logo{display:none;color:var(--blue)}.overline{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:2px}.auth-card h1{font-size:31px;margin:8px 0 10px;letter-spacing:-1.5px}.subcopy{color:var(--muted);margin-bottom:34px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:26px}.auth-tabs button{border:0;background:transparent;padding:13px;color:#8b92a0;font-weight:600}.auth-tabs button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.auth-card form{display:grid;gap:17px}.auth-card label,.write-form label{display:grid;gap:8px;font-size:13px;font-weight:600}.auth-card input,.write-form input,.write-form select,.write-form textarea{border:1px solid #d8dde7;border-radius:10px;padding:13px 14px;background:#fff;resize:vertical}.auth-card form .btn{margin-top:8px;padding:14px}.demo-link{display:block;border:0;background:transparent;color:var(--blue);margin:16px auto;font-weight:600}.auth-help{display:flex;gap:6px;justify-content:center;align-items:center;color:#8a919e;font-size:11px;margin-top:25px}.signup-success{text-align:center}.signup-success svg{color:var(--blue)}.signup-success h1{margin-top:22px}.signup-success p{color:var(--muted);margin-bottom:30px}.topbar{height:76px;background:#fff;border-bottom:1px solid #e8ebef;position:sticky;top:0;z-index:30}.topbar-inner{max-width:1200px;height:100%;margin:auto;display:flex;align-items:center;padding:0 28px}.wordmark{border:0;background:transparent;color:var(--blue);font-size:31px;font-weight:600;letter-spacing:-2px;margin-right:55px}.topbar nav{display:flex;gap:34px;height:100%}.topbar nav button{border:0;background:transparent;color:#515765;font-weight:500;position:relative}.topbar nav button.active{color:var(--blue);font-weight:600}.topbar nav button.active:after{content:"";position:absolute;bottom:21px;left:0;right:0;height:2px;background:var(--blue)}.header-actions{margin-left:auto;display:flex;gap:20px;align-items:center}.header-actions>button,.mobile-menu,.mobile-actions>button{border:0;background:transparent;color:#333a49;font-size:23px;padding:3px;position:relative}.header-actions .account{padding:0}.header-actions .alert i{position:absolute;width:7px;height:7px;border-radius:50%;background:#d32626;right:1px;top:1px}.header-actions .logout{font-size:19px}.mobile-menu{display:none}.page-shell{max-width:1120px;margin:0 auto;padding:22px 0 80px}.safety-banner{margin-bottom:40px;border:1px solid #e2c117;border-radius:30px;background:#fff5c4;min-height:112px;padding:24px;display:flex;align-items:center;gap:22px;color:#7a6500}.safety-banner strong{font-size:22px;font-weight:500}.safety-banner p{margin:4px 0 0;color:#635d4d}.safety-banner button{margin-left:auto;border:0;background:#7d6800;color:#fff;border-radius:999px;padding:13px 25px}.safety-banner.compact{background:#2253d2;color:#fff;border:0;border-radius:28px}.safety-banner.compact p{color:#c8d4ff}.safety-banner.compact button{background:#fff;color:var(--blue)}.safety-banner .safety-report{margin-left:auto;flex:0 0 auto}.safety-banner .safety-close{margin-left:-10px;width:34px;height:34px;padding:0;display:grid;place-items:center;background:transparent;color:#7a6500}.safety-banner.compact .safety-close{background:#ffffff21;color:#fff}.safety-close svg{width:18px;height:18px}.form-error,.page-error{color:#a62222;background:#fff0f0;border:1px solid #f3c8c8;border-radius:10px;padding:10px 12px;font-size:13px}.form-success{color:#17643a;background:#edfff4;border:1px solid #bfe9cf;border-radius:10px;padding:10px 12px;font-size:13px}.app-loading{min-height:55vh;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted)}.app-loading .auth-logo{color:var(--blue)}.school-hero{display:flex;align-items:center;gap:18px;margin-bottom:26px;padding:24px 28px;border-radius:24px;background:linear-gradient(135deg,#0a46ba,#2253d2);color:#fff}.school-hero h1,.school-hero p{margin:0}.school-hero p{margin-top:4px;color:#dce6ff}.board-search{display:flex;align-items:center;margin:18px 0;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.board-search input{min-width:0;flex:1;border:0;outline:0;padding:12px 0;background:transparent}.board-search svg{color:var(--muted)}.empty-state{padding:54px 20px;text-align:center;color:var(--muted)}.empty-state h3{margin:12px 0 4px;color:var(--ink)}.empty-state p{margin:0 0 18px}.muted-copy{color:var(--muted);font-size:13px}.post-author>button{margin-left:auto;border:0;background:transparent;color:#8b92a0;font-size:12px}.detail-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.detail-report{border:0;background:transparent;color:#8b92a0;font-size:13px}.account-page{max-width:760px}.account-card{padding:34px}.account-card>h1{margin:5px 0 24px;font-size:30px}.account-summary{display:flex;align-items:center;gap:16px;padding:18px;margin-bottom:24px;border-radius:18px;background:#f4f7fc}.account-summary div{display:grid;gap:4px}.account-summary strong{font-size:20px}.account-summary span{color:var(--muted);font-size:13px}.profile-photo-summary{align-items:center}.profile-photo-summary .profile-photo-preview{position:relative;display:block;flex:0 0 auto}.profile-photo-preview .avatar{display:block;border:4px solid #d2ddf8;box-shadow:0 8px 20px #1f48a01f}.profile-photo-preview>button{position:absolute;right:-3px;bottom:-2px;width:30px;height:30px;display:grid;place-items:center;border:3px solid #f4f7fc;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 3px 9px #1f48a03d}.profile-photo-preview>button svg{width:14px;height:14px}.profile-photo-summary .profile-photo-copy{display:grid;min-width:0;gap:3px}.profile-photo-copy small{color:#8991a0;font-size:11px}.profile-photo-actions{display:flex!important;align-items:center;gap:8px!important;margin-top:8px}.profile-photo-actions .btn{padding:8px 13px;font-size:12px}.photo-remove{border:0;background:transparent;color:#697284;font-size:12px;text-decoration:underline;text-underline-offset:3px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.settings-section h2,.danger-zone h2{display:flex;align-items:center;gap:8px;font-size:19px}.danger-zone{display:grid;gap:12px;margin-top:30px;padding-top:26px;border-top:1px solid #efd6d6}.danger-zone p{margin:0;color:var(--muted)}.password-hint{margin:-12px 0 15px;color:var(--muted);font-size:12px}.danger-zone label{display:grid;gap:8px;font-size:13px;font-weight:600}.danger-zone input{border:1px solid #d8dde7;border-radius:10px;padding:13px 14px}.btn.danger{background:#b52a2a;color:#fff}.btn.danger:disabled{cursor:not-allowed;opacity:.38}.confirm-content{display:grid;justify-items:center;gap:16px;padding:12px 0 2px;text-align:center}.confirm-content>svg{color:#c63838}.confirm-content>div{display:flex;gap:10px}.admin-head h1{display:flex;align-items:center;gap:10px;margin:5px 0 6px}.admin-head h1 svg{color:#d7a900}.admin-head>div>p:last-child{margin:0 0 24px;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.admin-stats article{display:grid;gap:2px;padding:22px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.admin-stats strong{color:var(--blue);font-size:28px}.admin-stats span{color:var(--muted);font-size:13px}.admin-panel{padding:24px;margin-bottom:18px}.admin-panel h2{margin:0 0 12px;font-size:18px}.admin-panel>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px;border-top:1px solid var(--line)}.admin-panel article>div:first-child{min-width:0;display:grid;gap:4px}.admin-panel b{display:flex;align-items:center;gap:5px}.admin-panel b svg{color:#d7a900}.admin-panel small{color:var(--muted)}.admin-panel p{margin:3px 0 0}.admin-panel button{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px}.admin-actions{display:flex!important;flex-direction:row;gap:8px!important}.danger-text{color:#ad2929}.dashboard-grid{display:grid;grid-template-columns:250px 1fr 250px;gap:38px}.profile-stack,.main-stack,.right-stack{display:grid;gap:38px;align-content:start}.profile-card{text-align:center;padding:24px}.profile-card .avatar{border:4px solid #d2ddf8}.profile-card h2{font-size:24px;margin:12px 0 0}.profile-card p{color:var(--muted);margin:2px 0 17px}.profile-card .btn{padding:9px 18px;margin:2px}.badge-card{padding:24px}.badge-card>p{display:flex;align-items:center;gap:8px;margin:0 0 20px}.badge-card>p svg{color:#826b00}.badge-card>div{display:flex;justify-content:space-between}.badge-card span{display:grid;justify-items:center;gap:6px}.badge-card .activity-counts strong{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eaf0ff;color:var(--blue);font-size:18px}.badge-card span>svg{width:48px;height:48px;padding:12px;border-radius:50%;background:#eaf0ff;color:var(--blue)}.badge-card span:nth-child(1)>svg{background:#ffdc2e;color:#7a6300}.badge-card span:nth-child(2)>svg{background:#dceef2;color:#067189}.badge-card small{font-size:11px}.main-stack .panel,.right-stack .panel{overflow:hidden}.panel-title{display:flex;align-items:center;gap:14px;padding:24px}.panel-title.pale{background:#e4f0f4;color:#00647e}.panel-title h2{margin:0;color:var(--ink);font-size:23px;font-weight:500}.panel-title span{margin-left:auto;background:#b6d6df;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.panel-title-link{border:0;background:transparent;color:#00647e;padding:4px 0 4px 4px;font-size:12px;font-weight:700}.meal-content{display:flex;padding:20px 25px 24px;align-items:center}.meal-content ul{list-style:none;margin:0;padding:0;line-height:2}.meal-content li:before{content:"";display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:10px}.meal-content .star{color:#7b6500}.meal-content .star:before{background:#8a7100}.meal-content img{margin-left:auto;width:130px;height:84px;object-fit:cover}.home-empty-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:150px;padding:24px}.home-empty-card>svg{width:42px;height:42px;padding:10px;border-radius:14px;background:#eef3ff;color:var(--blue)}.home-empty-card strong{display:block;margin-bottom:4px}.home-empty-card p,.home-list-empty{margin:0;color:var(--muted);font-size:13px}.home-empty-card button{border:1px solid var(--blue);border-radius:999px;background:#fff;padding:9px 13px;color:var(--blue);font-weight:600}.notice-panel,.hot-panel{padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title h2{font-size:23px;font-weight:500;margin:0;display:flex;align-items:center;gap:9px}.section-title button{border:0;background:transparent;color:var(--blue)}.home-post-row{width:100%;border:0;background:transparent;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:13px 10px;color:inherit;text-align:left}.home-post-row:hover,.home-post-row:focus-visible{background:#f7f9fc}.home-post-row small{color:var(--muted)}.home-list-empty{padding:18px 10px;text-align:center}.tag{font-size:11px;padding:4px 10px;border-radius:999px}.tag.red{color:#c12424;background:#fce4e4}.tag.blue{color:var(--blue);background:#e4ecff}.hot-panel .hot-row{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line)}.hot-panel .hot-row small{display:flex;gap:4px;color:#687080;align-items:center}.quick-qa,.mini-clubs{padding:24px}.quick-qa h2,.mini-clubs h2{margin:0 0 18px;display:flex;gap:10px;align-items:center;font-size:22px}.quick-qa h2 svg{color:var(--blue)}.quick-qa>.qa-row{width:100%;border:0;display:grid;background:#f6f7f9;border-radius:25px;padding:16px;margin:10px 0;cursor:pointer;color:inherit;text-align:left}.quick-qa>.qa-row b{color:var(--blue);font-size:11px}.quick-qa>.qa-row span{font-size:13px;margin:4px 0}.quick-qa>.qa-row small{text-align:right}.mini-clubs>button{display:flex;border:0;background:transparent;width:100%;text-align:left;gap:10px;align-items:center;margin:14px 0}.mini-clubs img{width:70px;height:70px;object-fit:cover;border-radius:24px}.mini-clubs span{font-weight:600}.mini-clubs small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.board-grid{display:grid;grid-template-columns:1fr 320px;gap:34px}.board-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.board-head h1,.club-head h1,.study-head h1{font-size:34px;font-weight:500;margin:0 0 4px}.board-head p,.club-head p{margin:0;color:var(--muted)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-row button{border:0;border-radius:999px;background:#eff0f2;padding:9px 18px;color:#4e5562}.filter-row button.active{background:var(--yellow);color:#665400}.posts{display:grid;gap:18px}.post-card{background:#fff;border-radius:30px;padding:25px;box-shadow:var(--shadow)}.post-author{display:flex;align-items:center;gap:11px}.post-author>div:nth-child(2){display:grid}.post-author strong{font-size:12px}.post-author small{font-size:10px;color:var(--muted)}.post-author>button{margin-left:auto;border:0;background:transparent;color:#6d7481}.post-card h2{font-size:21px;font-weight:500;margin:17px 0 8px}.post-title-link,.question-title-link{border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit}.post-title-link:hover,.question-title-link:hover{color:var(--blue)}.post-card>p{color:#535b69;margin:0}.post-image{float:right;width:110px;height:90px;object-fit:cover;border-radius:8px;margin-top:-48px}.post-meta{display:flex;gap:16px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line);color:#7d8492;font-size:12px}.post-meta button,.post-meta span{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:5px}.post-meta button:has(svg[weight=fill]){color:var(--blue)}.post-meta .views{margin-left:auto}.board-grid aside{display:grid;gap:24px;align-content:start}.board-grid aside .panel{padding:24px}.board-summary h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:19px}.board-summary h2 svg{color:var(--blue)}.board-summary>strong{display:block;color:var(--blue);font-size:38px;line-height:1}.board-summary>p{margin:7px 0 0;color:var(--muted);font-size:13px}.tag-panel h2,.ranking h2,.anon-rule h2{font-size:21px;margin:0 0 18px;display:flex;align-items:center;gap:8px}.tag-panel h2 svg{color:#f0b600}.tag-panel div{display:flex;gap:8px;flex-wrap:wrap}.tag-panel span{background:#bdeaff;color:#11647d;border-radius:999px;padding:6px 10px;font-size:12px}.ranking ol{list-style:none;margin:0;padding:0}.ranking li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.ranking b{font-size:22px;color:#858b99}.ranking li:first-child b{color:#e3b000}.anon-rule{text-align:center;color:#304266}.anon-rule>svg{font-size:35px;color:var(--blue)}.anon-rule p{font-size:13px;color:var(--muted)}.more-button{border:0;background:#eff1f4;border-radius:999px;padding:10px 27px;margin:24px auto;display:flex;align-items:center;gap:5px}.anonymous-hero{background:#222c4a;color:#fff;border-radius:28px;margin-bottom:36px;padding:26px 30px;display:flex;align-items:center;gap:20px}.anonymous-hero h1{margin:0;font-size:23px}.anonymous-hero p{margin:5px 0 0;color:#c5cad8}.anonymous-hero>span{margin-left:auto;background:#374261;padding:9px 15px;border-radius:999px;font-size:11px}.anonymous-card{border-left:4px solid #27365e}.anonymous-avatar{width:38px;height:38px;border-radius:50%;display:grid!important;place-items:center;background:#e9ecf4;color:#27365e}.study-grid{display:grid;grid-template-columns:1fr 340px;gap:32px}.study-head{display:flex;justify-content:space-between;align-items:center}.study-head label{display:flex;border:1px solid #bdc5d4;border-radius:999px;padding:8px 13px;background:#fff}.study-head input{border:0;outline:0;background:transparent;width:220px}.filter-row.outlined button{background:#fff;border:1px solid #bdc5d4}.filter-row.outlined button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.question-list{display:grid;gap:16px}.question-list article{background:#fff;padding:24px}.question-list article>div{display:flex;gap:7px;align-items:center}.subject,.status{border-radius:999px;padding:4px 9px;font-size:11px;background:var(--yellow);font-weight:500}.status{background:#e9eaec;color:#69707c}.status.done{background:#04788f;color:#fff}.question-list time{margin-left:auto;color:var(--muted);font-size:11px}.question-list h2{font-size:21px;font-weight:500}.question-list p{color:#606775}.question-list footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:11px}.question-list footer span{display:flex;align-items:center;gap:5px}.ask-button{width:100%;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:22px;padding:16px;display:flex;justify-content:center;gap:10px}.study-grid aside{display:grid;gap:24px;align-content:start}.question-stats,.study-ranking{padding:24px}.question-stats h2,.study-ranking h2{font-weight:500;margin:0 0 18px}.question-stats>div{display:grid;grid-template-columns:1fr 1fr}.question-stats span{text-align:center;color:var(--muted);border-right:1px solid var(--line)}.question-stats span:last-child{border:0}.question-stats strong{display:block;color:var(--blue);font-size:27px}.study-ranking h2{display:flex;gap:8px;align-items:center}.study-ranking h2 svg{color:#e1b300}.study-ranking ol{list-style:none;margin:0;padding:0}.study-ranking li{display:flex;align-items:center;gap:10px;margin:12px 0}.study-ranking li>b{font-size:20px;color:#bdc2cf}.study-ranking li:first-child>b{color:#e4b400}.study-ranking span{font-size:12px}.study-ranking small{display:block}.club-head{display:flex;justify-content:space-between;align-items:end;margin:18px 0 46px}.club-head .filter-row{margin:0}.club-head .filter-row button.active{background:var(--blue);color:#fff}.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.club-grid article{background:#fff;border:1px solid #dfe3ea;box-shadow:var(--shadow)}.club-image{height:200px;position:relative}.club-image img{width:100%;height:100%;object-fit:cover}.club-image b{position:absolute;left:13px;top:13px;background:var(--yellow);color:#6f5b00;border-radius:999px;padding:4px 10px;font-size:11px}.club-body{padding:22px}.club-body>span{background:#bdeaff;color:#14677e;border-radius:999px;padding:4px 9px;font-size:11px}.club-body h2{font-size:22px;font-weight:500;margin:12px 0}.club-body p{color:#636b79;min-height:52px}.club-body button{width:100%;border:0;border-radius:999px;background:var(--yellow);color:#705d00;padding:10px}.club-grid article.closed{filter:grayscale(.7);opacity:.68}.club-body button:disabled{background:#ececee;color:#898d95}.profile-sheet-backdrop{position:fixed;z-index:110;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0f192d7a}.profile-sheet{width:min(410px,100%);height:100%;overflow-y:auto;background:#f7f8fb;padding:26px;box-shadow:-24px 0 60px #0c19342e}.profile-sheet>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.profile-sheet>header p{margin:0 0 4px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1.7px}.profile-sheet>header h2{margin:0;font-size:25px}.profile-sheet>header button,.profile-summary>button{border:0;background:#e9edf5;color:#4f5869}.profile-sheet>header button{width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.profile-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.profile-summary .avatar{border:3px solid #d2ddf8}.profile-summary strong,.profile-summary span{display:block}.profile-summary strong{font-size:18px}.profile-summary span{margin-top:3px;color:var(--muted);font-size:12px}.profile-summary>button{border-radius:999px;padding:8px 11px;color:var(--blue);font-size:11px;font-weight:600}.profile-form{display:grid;gap:16px;margin-top:18px}.profile-fields,.notification-settings{display:grid;gap:14px;margin:0;padding:18px;border:0;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.profile-fields label{display:grid;gap:7px;font-size:12px;font-weight:600}.profile-fields input,.profile-fields textarea{width:100%;border:1px solid #d8dde7;border-radius:10px;padding:11px 12px;background:#fff;resize:vertical}.notification-settings legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.notification-settings label{display:flex;align-items:center;justify-content:space-between;gap:16px}.notification-settings span{font-size:13px;font-weight:600}.notification-settings small{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:400}.notification-settings input{width:20px;height:20px;accent-color:var(--blue)}.save-status{margin:-8px 0 0;color:#08705f;text-align:center;font-size:12px}.profile-logout{width:100%;margin-top:18px;border:0;background:transparent;color:#9f2c35;padding:10px;display:flex;align-items:center;justify-content:center;gap:7px}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#0f192d8c;display:grid;place-items:center;padding:20px;overflow-y:auto}.modal{width:min(520px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 80px #0003}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal h2{margin:0}.modal header button{border:0;background:#eff1f4;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.write-form{display:grid;gap:16px}.write-form .btn{margin-top:8px;padding:13px}.editor-page,.detail-page{max-width:940px}.back-link{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#555f70;padding:8px 2px;margin-bottom:14px;font-weight:600}.editor-card,.detail-card,.comment-card{border-radius:24px;padding:38px 42px}.editor-card h1,.detail-card h1{margin:6px 0 10px;font-size:32px;letter-spacing:-1.2px}.editor-intro{color:var(--muted);margin:0 0 30px}.page-write-form{gap:22px}.page-write-form textarea{min-height:250px;line-height:1.7}.field-counter{align-self:end;margin-top:-3px;color:#687080;font-size:12px;font-weight:500}.editor-actions{display:flex;justify-content:flex-end;gap:10px}.editor-actions .btn{min-width:120px}.detail-badges{display:flex;gap:8px;align-items:center}.detail-badges>b{border-radius:999px;padding:5px 11px;background:var(--yellow);color:#665400;font-size:12px}.detail-author{display:flex;align-items:center;gap:11px;padding:20px 0;margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-author>div:nth-child(2){display:grid}.detail-author small{color:var(--muted)}.detail-author>span{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:13px}.detail-body{min-height:220px;padding:30px 0;line-height:1.85;color:#3f4652}.detail-body p{white-space:pre-wrap}.detail-body img{max-width:100%;max-height:520px;object-fit:contain;border-radius:14px;margin-top:20px}.detail-like{display:flex;align-items:center;gap:7px;border:1px solid #d6dce7;background:#fff;border-radius:999px;padding:9px 15px;color:#687080}.detail-like.active{border-color:var(--blue);color:var(--blue);background:#f2f6ff}.comment-card{margin-top:18px}.comment-card h2{margin:0 0 18px;font-size:20px}.comment-card h2 span{color:var(--blue)}.empty-comments{border-radius:12px;background:#f6f7f9;color:var(--muted);padding:18px;text-align:center;font-size:13px}.comment-card>article{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.comment-card>article p{margin:5px 0}.comment-card>article small{color:var(--muted)}.comment-card form{display:flex;gap:10px;align-items:flex-end;margin-top:18px}.comment-card textarea{flex:1;resize:vertical;border:1px solid #d8dde7;border-radius:12px;padding:13px 14px}.not-found-page{display:grid;place-items:center;min-height:calc(100vh - 76px)}.school-life-page{padding-top:38px}.school-life-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.school-life-head .overline{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:1.5px}.school-life-head h1{margin:0;font-size:34px;line-height:1.25;letter-spacing:-1.5px}.school-life-head>div>p:last-child{margin:8px 0 0;color:var(--muted)}.school-life-actions{display:flex;gap:8px}.refresh-chip{flex:0 0 auto;min-height:42px;border:1px solid #dbe2ec;border-radius:999px;background:#fff;color:#555d6b;padding:0 18px;font-size:13px;font-weight:600}.refresh-chip.done{border-color:#b9d3c1;background:#edf8f0;color:#24743d}.refresh-chip:disabled{cursor:default;opacity:.55}.school-config-panel{display:grid;gap:18px;margin-bottom:18px;padding:22px;border-radius:20px}.school-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.school-config-head>div{display:grid;gap:4px}.school-config-head strong{font-size:18px}.school-config-head span{color:var(--muted);font-size:12px}.school-config-head>button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#f1f4f8}.school-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.school-search-row label,.school-class-fields label{display:grid;gap:6px;min-width:0}.school-search-row label>span,.school-class-fields label>span{color:#69717f;font-size:11px;font-weight:700}.school-search-row input,.school-class-fields input,.school-class-fields select{width:100%;min-width:0;height:42px;border:1px solid #d8dde7;border-radius:11px;background:#fff;padding:0 12px;color:var(--ink)}.school-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:226px;overflow-y:auto}.school-search-results button{display:grid;gap:3px;min-width:0;border:1px solid #e0e4eb;border-radius:12px;background:#fff;padding:12px;text-align:left}.school-search-results button.active{border-color:var(--blue);background:#eef3ff}.school-search-results span,.school-search-results small{overflow:hidden;color:#727a88;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.school-class-fields{display:grid;grid-template-columns:minmax(180px,1.5fr) 120px 100px auto;align-items:end;gap:10px}.school-class-fields label>strong{display:flex;align-items:center;min-height:42px;overflow:hidden;border-radius:11px;background:#f4f6f9;padding:0 12px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.school-life-status{display:flex;align-items:center;gap:8px;margin-bottom:14px;border-radius:12px;padding:11px 14px;font-size:13px}.school-life-status.error{background:#fff0f0;color:#a63131}.school-life-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(420px,100%);margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:18px;background:#fff}.school-life-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:13px;background:transparent;color:#737a87;font-weight:600}.school-life-tabs button.active{background:var(--blue);color:#fff;box-shadow:0 7px 16px #0645bd2e}.school-setup-empty{display:flex;align-items:center;gap:16px;min-height:150px;padding:26px}.school-setup-empty>svg{flex:0 0 auto;width:46px;height:46px;padding:11px;border-radius:15px;background:#eef3ff;color:var(--blue)}.school-setup-empty h2{margin:0 0 4px;font-size:19px}.school-setup-empty p{margin:0;color:var(--muted)}.school-setup-empty .btn{margin-left:auto;flex:0 0 auto}.school-life-page.unconfigured .school-life-quick-controls,.school-life-page.unconfigured .date-picker-panel,.school-life-page.unconfigured .school-life-grid{display:none}.school-life-quick-controls{display:flex;align-items:end;gap:12px;margin-bottom:12px;padding:14px 18px;border-radius:18px}.school-life-quick-controls label{display:grid;gap:5px}.school-life-quick-controls label>span{color:#6f7785;font-size:11px;font-weight:700}.school-life-quick-controls input,.school-life-quick-controls select{min-width:150px;height:40px;border:1px solid #d8dde7;border-radius:11px;background:#fff;padding:0 11px;color:var(--ink);font:inherit;font-size:13px}.school-life-quick-controls select{min-width:100px}.school-life-quick-controls p{margin:0 0 10px;color:var(--muted);font-size:12px}.date-picker-panel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:14px;margin-bottom:22px;padding:14px 18px;border-radius:22px}.date-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--blue);font-size:19px}.date-arrow:disabled{cursor:default;opacity:.28}.school-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.school-date-strip button{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;min-height:62px;border:0;border-radius:15px;background:transparent;color:#777e8c;padding:7px 4px}.school-date-strip button span{font-size:12px}.school-date-strip button strong{color:var(--ink);font-size:15px}.school-date-strip button small{position:absolute;top:-6px;right:50%;transform:translate(50%);border-radius:999px;background:var(--yellow);color:#655400;padding:1px 6px;font-size:9px;font-weight:700}.school-date-strip button.active{background:#eaf0ff;color:var(--blue)}.school-date-strip button.active strong{color:var(--blue)}.school-life-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:22px}.school-main-card,.week-preview-card,.timetable-summary-card{overflow:hidden}.school-card-head{display:flex;align-items:center;gap:14px;min-height:104px;padding:22px 24px}.school-card-head.meal-head{background:#e3f0f4;color:#00647e}.school-card-head.timetable-head{background:#eaf0ff;color:var(--blue)}.school-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#ffffffbf;font-size:25px}.school-card-head p{margin:0 0 3px;font-size:12px;font-weight:700}.school-card-head h2{margin:0;color:var(--ink);font-size:22px;font-weight:600}.school-card-head>span{margin-left:auto;border-radius:999px;background:#ffffffbf;padding:7px 12px;font-size:12px;font-weight:700}.meal-menu-list,.period-list{margin:0;padding:14px 24px;list-style:none}.meal-menu-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:57px;border-bottom:1px solid #edf0f4}.meal-menu-list li:last-child{border-bottom:0}.meal-menu-list li.school-empty,.period-list li.school-empty{display:flex;min-height:84px;color:#687080;font-size:13px}.meal-menu-list li>span{color:#687080;font-size:11px;font-weight:700}.meal-menu-list li strong{font-size:16px}.meal-menu-list li.featured strong{color:#715d00}.meal-menu-list li b{border-radius:999px;background:#fff1a8;color:#786200;padding:5px 9px;font-size:10px}.allergy-note{margin:0 24px 24px;border-radius:16px;background:#fff8d9;padding:15px 17px;color:#655400}.allergy-note strong{font-size:13px}.allergy-note p{margin:4px 0;font-size:13px;font-weight:600}.allergy-note small{color:#7d7350;font-size:11px}.week-preview-card,.timetable-summary-card{padding:22px}.week-preview-card .section-title,.timetable-summary-card .section-title{margin-bottom:12px}.week-preview-card .section-title h2,.timetable-summary-card .section-title h2{font-size:19px}.week-preview-card .section-title svg,.timetable-summary-card .section-title svg{color:var(--blue)}.week-preview-list,.mini-timetable{display:grid}.week-preview-list button,.mini-timetable button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:58px;border:0;border-bottom:1px solid #edf0f4;background:transparent;color:#7a818e;padding:8px 4px;text-align:left}.week-preview-list button:last-child,.mini-timetable button:last-child{border-bottom:0}.week-preview-list button.active,.mini-timetable button.active{color:var(--blue)}.week-preview-list button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0f3f7;color:var(--ink);font-size:12px;font-weight:700}.week-preview-list button.active>span{background:var(--blue);color:#fff}.week-preview-list p{min-width:0;margin:0;overflow:hidden;color:#555d6b;font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.period-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding-block:18px 24px}.period-list li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:72px;border-bottom:1px solid #edf0f4}.period-list li>b{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#eaf0ff;color:var(--blue);font-size:14px}.period-list li>div{display:grid;min-width:0}.period-list li strong{font-size:15px}.period-list li span{overflow:hidden;color:#8a919d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.period-list li em{border-radius:999px;background:#fff1a8;color:#796300;padding:4px 7px;font-size:9px;font-style:normal;font-weight:700}.mini-timetable button{grid-template-columns:30px minmax(0,1fr)}.mini-timetable button strong{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f0f3f7;color:var(--ink);font-size:12px}.mini-timetable button.active strong{background:var(--blue);color:#fff}.mini-timetable button span{overflow:hidden;color:#555d6b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.class-note{display:flex;align-items:center;gap:12px;margin-top:14px;border-radius:15px;background:#fff8d9;padding:13px;color:#766100}.week-change-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.week-change-buttons button{min-height:34px;border:1px solid #dfe4ec;border-radius:10px;background:#fff;color:#596170;font-size:11px;font-weight:700}.class-note>svg{flex:0 0 auto;font-size:24px}.class-note p{display:grid;gap:2px;margin:0}.class-note strong{font-size:12px}.class-note span{color:#746e5c;font-size:11px}.not-found-page .panel{padding:50px;text-align:center}.not-found-page strong{color:var(--blue);font-size:52px}.not-found-page p{color:var(--muted);margin-bottom:24px}@media(max-width:1050px){.page-shell{padding-inline:24px}.dashboard-grid{grid-template-columns:220px 1fr}.right-stack{display:none}.board-grid,.study-grid{grid-template-columns:1fr 280px}.club-grid{grid-template-columns:repeat(2,1fr)}.topbar nav{gap:20px}.wordmark{margin-right:32px}.school-life-grid{grid-template-columns:minmax(0,1fr) 310px}.period-list{grid-template-columns:1fr}}@media(max-width:760px){body{padding-bottom:0}body:has(.mobile-nav){padding-bottom:calc(60px + env(safe-area-inset-bottom))}.auth-page{display:block}.auth-brand{display:none}.auth-form-wrap{min-height:100dvh;padding:22px 18px 26px;place-items:start stretch;align-content:start}.auth-mobile-logo{display:block;margin-bottom:26px;font-size:38px;letter-spacing:-2.5px}.auth-card h1{font-size:24px;line-height:1.3;margin:6px 0 7px}.subcopy{margin:0 0 20px;font-size:13px}.auth-tabs{margin-bottom:18px}.auth-tabs button{padding:10px}.auth-card form{gap:12px}.auth-card label,.write-form label{gap:6px}.auth-card input,.write-form input,.write-form select,.write-form textarea{min-height:44px;padding:10px 12px}.auth-card form .btn{padding:12px}.demo-link{margin:12px auto}.auth-help{margin-top:16px;line-height:1.45}.topbar{height:56px}.topbar-inner{padding:0 16px}.wordmark{font-size:23px;margin:0}.topbar nav,.header-actions{display:none}.mobile-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.mobile-actions>button{display:grid;place-items:center;width:34px;height:34px;padding:4px;font-size:18px}.mobile-actions .account{padding:0}.mobile-actions .avatar{width:30px;height:30px}.page-shell{padding:14px 12px 28px}.safety-banner{display:grid;grid-template-columns:24px minmax(0,1fr) 32px;align-items:start;border-radius:16px;padding:14px;min-height:auto;margin-bottom:16px;gap:12px}.safety-banner strong{font-size:14px}.safety-banner p{font-size:12px;line-height:1.45}.safety-banner button{display:none}.safety-banner .safety-report{display:inline-flex;grid-column:2 / -1;justify-self:start;margin:0;padding:8px 14px;font-size:12px}.safety-banner .safety-close{display:grid;grid-column:3;grid-row:1;width:32px;height:32px;margin:0}.safety-banner>div{min-width:0}.dashboard-grid{display:block}.profile-stack,.right-stack{display:none}.main-stack{gap:12px}.panel{border-radius:16px}.panel-title,.notice-panel,.hot-panel{padding:14px}.home-empty-card{grid-template-columns:auto minmax(0,1fr);gap:10px;min-height:124px;padding:14px}.home-empty-card>svg{width:36px;height:36px;padding:8px}.home-empty-card strong{font-size:13px}.home-empty-card p{font-size:11px}.home-empty-card button{grid-column:2;justify-self:start;padding:7px 11px;font-size:12px}.panel-title h2,.section-title h2{font-size:17px}.meal-content{padding:13px 14px 15px;font-size:13px}.meal-content ul{line-height:1.75}.meal-content img{width:76px;height:58px}.panel-title{flex-wrap:wrap}.panel-title span{margin-left:auto}.panel-title-link{width:100%;padding:0;text-align:right}.home-post-row{grid-template-columns:auto 1fr;gap:8px;padding:9px 4px;font-size:13px}.home-post-row small{grid-column:2}.hot-panel .hot-row{display:grid;gap:5px;padding:11px 0;font-size:13px}.board-grid,.study-grid{display:block}.board-grid aside,.study-grid aside{display:none}.board-head{align-items:center}.board-head h1,.club-head h1,.study-head h1{font-size:24px}.board-head p,.club-head p{font-size:12px}.board-head .btn{font-size:0;padding:12px}.board-head .btn svg{font-size:18px}.filter-row{flex-wrap:nowrap;overflow:auto;gap:8px;margin-bottom:18px;padding-bottom:2px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.filter-row::-webkit-scrollbar{display:none}.filter-row button{white-space:nowrap;min-height:38px;padding:8px 14px;font-size:13px;scroll-snap-align:start}.post-card{border-radius:16px;padding:14px}.post-card h2{font-size:17px;margin:12px 0 6px}.post-card>p{font-size:12.5px;line-height:1.55}.posts,.question-list{gap:12px}.post-meta{margin-top:14px;padding-top:11px}.anonymous-hero{border-radius:16px;margin-bottom:18px;padding:14px;gap:12px}.anonymous-hero>svg{width:28px;height:28px}.anonymous-hero h1{font-size:20px}.anonymous-hero>span{display:none}.anonymous-hero p{font-size:11px}.study-head{display:grid;gap:12px}.study-head label,.study-head input{width:100%}.question-list article{padding:14px}.question-list h2{font-size:17px;margin:11px 0 8px}.question-list p{font-size:13px;line-height:1.55;margin-bottom:13px}.ask-button{margin-bottom:18px}.club-head{display:grid;gap:12px;margin:8px 0 18px}.club-grid{grid-template-columns:1fr;gap:14px}.club-image{height:158px}.club-body{padding:16px}.club-body h2{margin:8px 0 6px;font-size:19px}.club-body p{min-height:0;margin:0 0 14px;font-size:13px;line-height:1.55}.mobile-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;min-height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);z-index:40}.mobile-nav button{border:0;background:#fff;color:#7e8490;display:grid;place-items:center;min-width:0;padding:5px 2px}.mobile-nav button.active{color:var(--blue)}.mobile-nav svg{font-size:20px}.mobile-nav small{font-size:9px}.school-hero{gap:12px;margin-bottom:16px;padding:16px;border-radius:16px}.school-hero>svg{width:28px;height:28px}.school-hero h1{font-size:20px}.school-hero p{font-size:11px}.account-card{padding:18px 14px}.account-card>h1{font-size:24px;margin-bottom:18px}.account-summary{padding:14px;margin-bottom:18px}.account-summary .avatar{width:56px;height:56px}.profile-photo-summary{align-items:flex-start;gap:12px}.profile-photo-preview>button{width:26px;height:26px}.profile-photo-actions{flex-wrap:wrap;gap:4px 8px!important;margin-top:5px}.profile-photo-actions .btn{padding:7px 10px}.admin-stats{gap:8px}.admin-stats article{padding:14px 10px;border-radius:14px}.admin-stats strong{font-size:22px}.admin-panel{padding:16px 14px}.admin-panel>article{align-items:flex-start;flex-direction:column}.admin-actions{width:100%}.school-life-page{padding-top:20px}.school-life-head{display:grid;gap:14px;margin-bottom:18px}.school-life-actions{width:100%}.school-life-actions .refresh-chip{flex:1}.school-life-head h1{font-size:25px;letter-spacing:-1px}.school-life-head>div>p:last-child{font-size:12px;line-height:1.5}.refresh-chip{justify-self:start;min-height:36px;padding-inline:14px;font-size:11px}.school-config-panel{gap:14px;padding:15px;border-radius:16px}.school-config-head strong{font-size:16px}.school-config-head span{line-height:1.45}.school-search-row{grid-template-columns:minmax(0,1fr) 72px}.school-search-results{grid-template-columns:1fr;max-height:210px}.school-class-fields{grid-template-columns:minmax(0,1fr) minmax(82px,.55fr)}.school-class-fields label:first-child,.school-class-fields .btn{grid-column:1 / -1}.school-life-tabs{width:100%;margin-bottom:12px;border-radius:15px}.school-life-tabs button{min-height:40px;border-radius:11px;font-size:13px}.school-setup-empty{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:0;padding:16px}.school-setup-empty>svg{width:40px;height:40px;padding:9px}.school-setup-empty h2{font-size:17px}.school-setup-empty p{font-size:12px;line-height:1.5}.school-setup-empty .btn{grid-column:1 / -1;width:100%;margin:0}.school-life-quick-controls{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:end;gap:9px;padding:12px;border-radius:15px}.school-life-quick-controls input,.school-life-quick-controls select{width:100%;min-width:0;height:38px;font-size:12px}.school-life-quick-controls p{grid-column:1 / -1;margin:0;font-size:12px;line-height:1.45}.school-life-quick-controls label:only-of-type{grid-column:1 / -1}.date-picker-panel{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px;margin-bottom:12px;padding:10px 6px;border-radius:16px}.date-arrow{width:30px;height:36px;border:0;font-size:17px}.school-date-strip button{min-height:55px;border-radius:11px;padding:6px 1px}.school-date-strip button span,.school-date-strip button strong{font-size:12px}.school-date-strip button small{top:-5px;padding-inline:4px;font-size:10px}.school-life-grid{grid-template-columns:1fr;gap:12px}.school-card-head{min-height:82px;gap:10px;padding:15px}.school-card-icon{width:42px;height:42px;border-radius:13px;font-size:21px}.school-card-head h2{font-size:17px}.school-card-head>span{padding:5px 8px;font-size:9px}.meal-menu-list,.period-list{padding:9px 15px}.meal-menu-list li{grid-template-columns:25px minmax(0,1fr) auto;gap:7px;min-height:48px}.meal-menu-list li strong{font-size:14px}.meal-menu-list li b{padding:4px 6px;font-size:10px}.allergy-note{margin:4px 15px 15px;padding:12px}.allergy-note p{font-size:12px}.allergy-note small{display:block;line-height:1.45}.week-preview-card,.timetable-summary-card{padding:15px}.week-preview-card .section-title h2,.timetable-summary-card .section-title h2{font-size:16px}.week-preview-list button,.mini-timetable button{min-height:49px}.period-list{grid-template-columns:1fr;gap:0;padding-block:9px 15px}.period-list li{grid-template-columns:38px minmax(0,1fr) auto;min-height:61px}.period-list li>b{width:33px;height:33px}.modal{width:100%;max-height:calc(100dvh - 24px);border-radius:18px;padding:18px}.modal-backdrop{place-items:start center;padding:12px}.modal header{margin-bottom:14px}.write-form{gap:12px}.editor-card,.detail-card,.comment-card{border-radius:16px;padding:16px 14px}.editor-card h1,.detail-card h1{font-size:22px}.editor-intro{font-size:13px;line-height:1.55;margin-bottom:16px}.page-write-form{gap:14px}.page-write-form textarea{min-height:160px}.editor-actions .btn{flex:1;min-width:0}.detail-body{min-height:0;padding:16px 0;line-height:1.7}.detail-author{margin-top:14px;padding:14px 0}.comment-card h2{margin-bottom:12px;font-size:18px}.empty-comments{padding:14px}.comment-card form{display:grid;margin-top:12px}.comment-card form .btn{width:100%}.profile-sheet-backdrop{align-items:flex-end}.profile-sheet{width:100%;height:min(92dvh,720px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;box-shadow:0 -24px 60px #0c193433}.profile-sheet>header{margin-bottom:14px}.profile-sheet>header h2{font-size:22px}.profile-summary,.profile-fields,.notification-settings{border-radius:16px;padding:14px}.profile-summary{gap:10px}.profile-summary .avatar{width:54px;height:54px}.profile-form{gap:12px;margin-top:12px}.profile-fields,.notification-settings{gap:11px}.profile-logout{margin-top:10px}}
