/* Local B-end refinement: existing themes and navigation remain authoritative. */
body{--ui-border:color-mix(in srgb,var(--ink) 12%,transparent);--ui-soft:color-mix(in srgb,var(--paper) 94%,var(--accent));--ui-radius:20px;line-height:1.6}
.page{max-width:1160px;padding:24px 36px 32px}
.masthead{padding:0 0 18px;border-bottom:1px solid var(--ui-border);letter-spacing:.5px}
.brand{font-size:14px;gap:12px}.class-tag{font-size:12px}
.page>header{padding:38px 16px 30px}.page>header h1{font-size:clamp(27px,3.5vw,42px);letter-spacing:-.8px;line-height:1.35}.hero-sprout,.hero-spark{width:27px;height:27px}.eyebrow{font-size:10px;letter-spacing:2px}.intro{font-size:14px;line-height:1.8;margin-top:12px}.decoration{opacity:.25}
.board-grid{border:1px solid var(--ui-border);border-radius:24px;box-shadow:0 8px 32px #00000003}
.board-grid .content-page{height:auto;max-height:none;overflow-y:visible;padding:32px 40px;min-height:440px}
.board-grid .content-page[hidden]{display:none!important}
.board-top{margin-bottom:16px}.board h3{font-size:25px;letter-spacing:-.4px}.board-desc{font-size:13px;margin-bottom:24px;line-height:1.7}.board-number{font-variant-numeric:tabular-nums;opacity:.6}
.home-heading{margin-bottom:24px}.home-heading h2{font-size:25px;line-height:1.45}.home-title-row{gap:20px;margin:8px 0 12px}.home-sections{gap:0}.home-row{padding:22px 14px;gap:18px;border-radius:12px}.home-row-copy strong{font-size:16px;margin-bottom:5px}.home-row-copy>span{font-size:13px}.home-row-count{padding:4px 9px;border-radius:7px;background:var(--soft);color:var(--ink)}
.mobile-pager{max-width:740px;margin-bottom:20px;padding:6px;border-color:var(--ui-border);border-radius:18px;box-shadow:none}.mobile-pager button{height:44px;font-size:13px;border-radius:12px}.pager-indicator{top:6px;bottom:6px;left:6px;width:calc((100% - 12px)/5);border-radius:12px}
.post{border:1px solid var(--ui-border);border-radius:14px;background:var(--paper);padding:18px 20px;margin:12px 0;box-shadow:none}.post:hover{box-shadow:none;border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.post h4{font-size:16px;line-height:1.65;letter-spacing:0}.post-title-toggle{gap:12px;min-height:30px}.post-body{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.post-author{font-size:12px}.post-meta{font-size:12px;line-height:1.8}.post-subject,.post-pinned,.post-expired{border-radius:6px;padding:3px 7px;font-size:11px}.post-links a{border:1px solid var(--ui-border);border-radius:9px;box-shadow:none}
.board-publish{min-height:42px;padding:10px 18px;border-radius:10px;box-shadow:none}.board-filter-toggle{border-radius:10px;min-width:38px;min-height:38px}.board-filter-panel{border-color:var(--ui-border);border-radius:18px;padding:16px;gap:14px;box-shadow:none}.board-filter-panel input,.board-filter-panel select{min-height:42px;border-color:var(--ui-border);border-radius:10px}.board-filter-reset{min-height:42px;border-radius:10px}
.menu-panel{width:264px;padding:10px;border-radius:22px;border:1px solid var(--ui-border);box-shadow:0 12px 32px #0000000c}.menu-panel button{min-height:44px;border-radius:12px;padding:11px 14px;gap:12px}.menu-panel button svg{width:20px;height:20px}.menu-profile{padding:14px;gap:12px}.menu-profile>img,.menu-profile>.initial-avatar{flex:0 0 44px;width:44px;height:44px;object-fit:cover}.menu-profile>div{flex:1;min-width:0}.menu-label{margin:10px 14px 6px}
dialog:not(.post-image-viewer){border:1px solid var(--ui-border);border-radius:24px;padding:28px;background:var(--paper);box-shadow:0 16px 64px #00000014;backdrop-filter:none;-webkit-backdrop-filter:none;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.dialog-head{gap:20px;margin-bottom:22px}.dialog-head h2{font-size:21px;line-height:1.5;letter-spacing:-.3px;margin:0}.close-dialog{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:var(--soft)}
#settings-dialog{width:min(560px,calc(100% - 32px))}.setting-row{padding:18px 0;border-color:var(--ui-border)}.theme-picker,.motion-picker,.layout-picker{border-color:var(--ui-border);border-radius:16px}.theme-option{border-radius:10px}.user-card{padding:16px;border-radius:16px;background:var(--soft)}
.publish-dialog{width:min(640px,calc(100% - 32px))}.publish-form{gap:18px}.publish-form label{line-height:1.6;font-size:13px}.publish-form input,.publish-form textarea,.publish-form select{border:1px solid var(--ui-border);border-radius:10px;padding:11px 12px;background:var(--paper);color:var(--ink);min-height:42px}.publish-form textarea{min-height:160px;line-height:1.8}.publish-form button{border-radius:10px;min-height:40px}
.timetable-page{width:min(1088px,calc(100% - 48px));padding:28px;margin:28px auto;border:1px solid var(--ui-border);border-radius:24px}.timetable-page .schedule-grid{border-radius:12px}.schedule-course{box-shadow:none;border-radius:9px}.course-detail .course-session-item{border:1px solid var(--ui-border);background:var(--ui-soft);border-radius:12px}.course-detail .course-info{gap:16px 18px}.course-meta-chip{border-radius:7px}.schedule-back,.timetable-entry,.clock-entry{border:1px solid var(--ui-border);background:var(--paper);box-shadow:none;border-radius:12px}.clock-result{padding:20px;border-radius:16px}.clock-result strong{font-size:26px}.clock-state-label{border-radius:7px}
button:focus-visible,summary:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}footer{padding-top:24px}
@media(min-width:900px){dialog:not(.post-image-viewer){margin-top:max(24px,calc(38.2dvh - 180px));margin-bottom:24px}}
@media(max-width:600px){.page{padding:16px 12px 24px}.masthead{padding-bottom:14px}.brand{font-size:12px;gap:8px}.page>header{padding:28px 4px 24px}.page>header h1{font-size:27px}.hero-title-line{gap:8px}.hero-sprout,.hero-spark{width:20px;height:20px;flex-shrink:0}.board-grid{border-radius:20px}.board-grid .content-page{padding:24px 16px;min-height:380px}.board h3,.home-heading h2{font-size:23px}.home-row{padding:18px 4px;gap:12px}.home-row-copy strong{font-size:15px}.home-row-copy>span{font-size:12px}.home-row-count{font-size:11px}.home-quick-actions{gap:8px}.post{padding:16px 14px;border-radius:12px;margin:10px 0}.post h4{font-size:15px}.board-filter-panel{padding:12px;border-radius:16px}.menu-panel{width:min(280px,calc(100vw - 32px))}dialog:not(.post-image-viewer){padding:22px 18px;border-radius:22px}.timetable-page{width:calc(100% - 20px);padding:18px 8px;margin:12px auto;border-radius:20px}.course-session-list{grid-template-columns:1fr}.course-session-header{display:flex}.course-session-header span{margin:0}.clock-result strong{font-size:23px}.mobile-pager button{font-size:12px;gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
.post-content{font-size:14px;line-height:1.9}.post-summary{padding:2px 32px 2px 0;gap:12px}.post-summary h4{font-size:16px;line-height:1.65}.post-expanded-body{padding:16px 0 4px 20px}.post-pin,.expired-badge{border-radius:6px}.publish-button{border-radius:10px;min-height:42px;padding:10px 18px}
