@charset "UTF-8";
:root{--paper:#f5f0e6;--white:#fffdf7;--ink:#24211e;--red:#821c18;--muted:#777269;--line:#dcd5c8;--yellow:#e9ed8b;--font:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:hover{color:var(--red)}:focus-visible{outline:3px solid #9b392a;outline-offset:4px}h1,h2,h3,h4,p{margin:0}button{color:inherit}h1{letter-spacing:-2px}h2,h3{line-height:1.45}p{overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--line);margin:25px 0}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-60px;background:var(--yellow);padding:10px;z-index:100}.skip:focus{top:10px}.topbar{background:rgba(245,240,230,.97);border-bottom:1px solid var(--line);height:76px;position:sticky;top:0;z-index:20}.topbar-inner{max-width:1380px;margin:auto;padding:0 46px;height:100%;display:flex;align-items:center;gap:48px}.wordmark{font-size:30px;font-weight:900;letter-spacing:-1.8px;white-space:nowrap;display:inline-flex;align-items:center}.wordmark>span{color:var(--red)}.wordmark>i{font-style:normal;font-weight:500;letter-spacing:1px;font-size:9px;writing-mode:vertical-rl;border:1px solid var(--red);color:var(--red);line-height:1.2;padding:3px;margin-left:10px;transform:rotate(-5deg)}.toplinks{display:flex;gap:28px;font-size:13px;font-weight:600}.toplinks a{position:relative}.toplinks [aria-current]{color:var(--red)}.toplinks [aria-current]:after{content:"";position:absolute;bottom:-27px;left:0;right:0;height:3px;background:var(--red)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:22px}.search-link{font-size:30px;line-height:1}.login-link{font-weight:600;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);border:1px solid var(--red);color:#fffdf7;padding:12px 22px;font-weight:600;letter-spacing:.3px;border-radius:3px;line-height:1.5;gap:8px;transition:background .15s}.button:hover{background:#601411;color:white}.button.small{padding:9px 15px;font-size:12px}.button.secondary{background:transparent;color:var(--red)}.button.secondary:hover{background:#efe0d9}.avatar{width:32px;height:32px;border-radius:50%;background:#eadccd;color:var(--red);overflow:hidden;white-space:nowrap;text-overflow:clip;text-indent:4px;font-size:11px;line-height:32px;max-width:32px}.shell{max-width:1380px;margin:0 auto;padding:0 46px;min-height:65vh}.masthead{padding-top:23px;margin-bottom:34px}.issue-line{display:flex;justify-content:space-between;font-family:monospace;font-size:10px;letter-spacing:1.4px;color:var(--muted);padding-bottom:15px;border-bottom:1px solid var(--ink)}.issue-line b{padding:0 9px}.masthead-main{display:flex;align-items:center;justify-content:space-between;padding:35px 0 38px;gap:20px}.headline-kicker{font-size:12px;letter-spacing:2px;color:var(--red);font-weight:600;display:flex;align-items:center;gap:14px;margin-bottom:12px}.little-line{width:38px;border-bottom:1px solid var(--red)}.masthead h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:clamp(36px,4.3vw,62px);font-weight:900;line-height:1.4;letter-spacing:-1px}.underline-red{position:relative;white-space:nowrap}.underline-red:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:5px;border-radius:45%;background:var(--red);transform:rotate(-2deg)}.masthead-main p{font-size:13px;letter-spacing:1px;color:var(--muted);margin-top:19px}.masthead-art{position:relative;width:247px;flex-shrink:0;height:138px;margin-right:15px}.sticker{display:block;background:var(--yellow);padding:8px 16px;font-size:18px;font-weight:800;width:max-content;transform:rotate(-7deg);box-shadow:2px 3px 0 #dedbb9;position:relative;left:20px;top:5px}.masthead-art svg{position:absolute;width:130px;height:85px;top:49px;left:3px;color:var(--red);transform:rotate(8deg)}.art-note{position:absolute;bottom:4px;right:-12px;transform:rotate(-5deg);font-size:12px;color:#696155}.ticker{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:flex;gap:15px;padding:11px 0;font-size:12px;align-items:center}.ticker>span:nth-of-type(2){color:var(--muted)}.ticker a{margin-left:auto;font-size:11px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0}.ticker strong{font-size:11px;letter-spacing:1px;white-space:nowrap}.mobile-break{display:none}.home-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 260px;gap:34px;align-items:start}.left-rail{padding-top:3px}.rail-label,.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:600;color:var(--muted);display:block}.rail-label{margin:0 0 17px 12px}.section-nav{display:flex;flex-direction:column;gap:5px}.section-nav a{display:flex;align-items:center;padding:12px 13px;border-radius:3px;font-weight:550;font-size:13px;gap:13px}.section-nav a>span{font-size:19px;font-weight:400;width:22px;text-align:center}.section-nav a small{margin-left:auto;color:#aaa194;font-size:9px;font-family:monospace}.section-nav a.selected{background:var(--red);color:white}.section-nav a.selected small{color:#dba9a1}.section-nav a:hover:not(.selected){background:#ede5d8}.rail-note{margin:32px 12px 0;padding-top:25px;border-top:1px solid var(--line)}.rail-note>span{font-size:30px;display:block;margin-bottom:5px;transform:rotate(-8deg);color:var(--red)}.rail-note h3{font-size:13px}.rail-note p{font-size:11px;line-height:2;color:var(--muted);margin:12px 0 17px}.rail-note a{font-size:10px;font-weight:600;color:var(--red)}.rail-stats{display:flex;gap:25px;margin:30px 12px;border-top:1px solid var(--line);padding-top:20px}.rail-stats strong{display:block;font-size:23px;font-family:Georgia,serif;font-weight:normal}.rail-stats span{font-size:9px;color:var(--muted)}.feed{min-width:0}.feed-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.feed-heading h2{font-size:20px}.feed-heading h2 span{font-family:monospace;font-size:9px;letter-spacing:1px;font-weight:400;color:var(--muted);margin-left:12px}.search{height:42px;display:flex;align-items:center;border:1px solid var(--line);background:#faf7f0;border-radius:3px;padding:0 12px;gap:8px}.search>span{font-size:25px;color:var(--muted);line-height:1}.search input{background:none;border:0!important;outline:0;padding:0!important;box-shadow:none!important;font-size:12px;min-width:0;flex:1;width:100%}.search button{border:0;background:none;color:var(--muted);font-size:11px;white-space:nowrap}.feed-tabs{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:24px;font-size:12px;height:60px;margin-bottom:0}.feed-tabs a{height:100%;display:flex;align-items:center;padding-top:3px;color:var(--muted);white-space:nowrap;position:relative}.feed-tabs a.active{color:var(--red);font-weight:700}.feed-tabs a.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red)}.feed-tabs>span{margin-left:auto;font-size:10px;color:#999083}.post-card{padding:24px 0 22px;border-bottom:1px solid var(--line)}.post-meta{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);flex-wrap:wrap}.post-meta time{margin-left:auto;white-space:nowrap;font-size:10px}.stamp{display:inline-block;color:var(--red);background:#eee0d7;padding:2px 7px;font-size:10px;line-height:1.7;border:1px solid transparent;border-radius:2px;white-space:nowrap}.stamp.event{color:#7a3028;background:#f0e3da;border-color:#d7bab0}.stamp.fun{color:#5c6127;background:#e9e9cb}.stamp.class{color:#40645c;background:#dee8df}.post-card h2{font-size:18px;font-weight:700;line-height:1.6;letter-spacing:-.3px;margin:10px 0 6px}.excerpt{font-size:12px;color:#82796e;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:10px}.byline{display:flex;align-items:center;gap:7px;font-size:10px;color:#72685d;flex-wrap:wrap}.byline small{font-size:9px;color:#9b8e80}.tiny-avatar{display:inline-flex;align-items:center;justify-content:center;background:#e6dece;width:22px;height:22px;border-radius:50%;font-size:18px;color:#8f715b}.counts{display:flex;gap:14px;font-size:10px;color:#908578;align-items:center;white-space:nowrap}.go-arrow{font-size:17px}.pagination{display:flex;justify-content:space-between;gap:15px;padding:27px 0;font-size:11px;color:var(--muted)}.right-rail{display:flex;flex-direction:column;gap:26px}.mood-card{padding:21px 21px 16px;background:#eee6d9;border:1px solid #dfd2bf;border-radius:3px}.small-heading{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:12px}.small-heading>span{font-size:15px;font-weight:400}.mood-card h3{font-size:22px;line-height:1.55;margin:18px 0 6px;letter-spacing:-.6px}.mood-card>p{font-size:11px;color:var(--muted);margin-bottom:18px}.mood-card form{display:flex;flex-direction:column;gap:8px}.mood-card button{display:flex;justify-content:space-between;align-items:center;border:1px solid #d9cebd;background:#f7f3ea;border-radius:3px;padding:8px 11px;font-size:11px;transition:background .15s}.mood-card button:hover{background:var(--yellow)}.mood-card button small{font-family:monospace;color:var(--muted)}.mood-foot{font-size:9px;color:#8e8374;display:block;margin-top:12px;text-align:center}.hot-card .small-heading{padding-bottom:14px;border-bottom:1px solid var(--ink)}.hot-card>a{display:flex;gap:11px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}.hot-card b{font-family:Georgia,serif;font-size:19px;color:var(--red);font-weight:400}.hot-card small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.notice-card{position:relative;border:1px solid #ded9b5;background:#eeecd8;padding:24px 20px 20px;transform:rotate(-1.4deg);margin:8px 3px 0}.tape{position:absolute;left:calc(50% - 28px);top:-10px;width:56px;height:20px;transform:rotate(5deg);background:rgba(211,199,151,.6)}.notice-card h3{font-family:"Songti SC",SimSun,serif;font-size:21px;line-height:1.6;margin:10px 0}.notice-card p:not(.eyebrow){font-size:11px;color:#817962;line-height:2}.notice-card a{display:block;font-size:10px;font-weight:600;margin-top:14px;color:var(--red)}.rail-signoff{font-family:monospace;font-size:9px;color:#aaa090;line-height:2;letter-spacing:.6px}.footer{max-width:1288px;margin:45px auto 0;border-top:1px solid var(--ink);display:flex;align-items:center;gap:30px;padding:30px 0 38px}.footer .wordmark{font-size:23px}.footer p{font-size:10px;line-height:1.9}.footer p>span{color:var(--muted)}.footer>a:not(.wordmark){font-size:10px;color:var(--muted)}.footer-note{margin-left:auto;font-size:10px;color:#9c9385}.mobile-nav{display:none}.paper{background:var(--white);border:1px solid var(--line);padding:30px;border-radius:3px;margin-bottom:24px}.paper>h2{margin-bottom:17px}.narrow{max-width:740px;margin:35px auto}.empty{text-align:center;padding:50px 22px}.empty h2,.empty h3{margin-bottom:10px}.empty p{color:var(--muted);margin:10px 0 22px}.empty-icon{font-size:45px;color:var(--red)}.small-empty{padding:20px}.page-heading{padding:45px 0 35px;border-bottom:1px solid var(--ink);margin-bottom:30px}.page-heading .eyebrow{margin-bottom:16px;color:var(--red)}.page-heading h1{font-family:"Songti SC",SimSun,serif;font-size:42px;line-height:1.45}.page-heading p{margin-top:16px;color:var(--muted);max-width:700px}.page-heading .button{margin-top:24px}.page-heading.compact{padding-top:30px}.compact h1{font-size:34px}.back{display:block;margin-bottom:22px;color:var(--muted);font-size:12px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:980px;margin:auto}.auth-grid h2{font-size:23px}.muted{color:var(--muted);font-size:12px}label{display:block;font-size:12px;font-weight:600;margin:18px 0 0}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid var(--line);border-radius:3px;background:#fcfaf5;padding:11px 12px;margin-top:7px;color:var(--ink);font-weight:400;line-height:1.6}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a4998b}input:focus,textarea:focus,select:focus{border-color:var(--red)}.form-note{font-size:11px;color:var(--muted);line-height:1.9;margin:14px 0}.form-error{color:#a61b16;font-size:12px;white-space:pre-wrap;margin-top:12px}.form-error:empty{display:none}form>.button{margin-top:20px}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fields-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-actions{display:flex;gap:20px;align-items:center;margin-top:22px;font-size:12px}fieldset{border:1px dashed var(--line);padding:16px 20px 20px;margin:25px 0}legend{font-weight:700;font-size:13px;padding:0 8px}.editor{max-width:850px;margin:0 auto}.upload-box{border:1px dashed var(--line);padding:5px 20px 8px;margin-top:25px}.upload-box .muted{font-size:10px;display:block;margin-top:3px}#upload-status{font-size:11px;margin-top:8px;color:var(--red)}input[type=file]{padding:7px!important;border:0!important;background:none!important}.class-filter{display:flex;gap:18px;align-items:end;margin-bottom:25px}.class-filter label{margin:0;width:180px}.class-filter>.button{margin:0}.class-filter>a{padding:10px;font-size:12px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.class-card{border:1px solid var(--line);background:var(--white);padding:27px;position:relative}.class-card:before{content:"";height:4px;position:absolute;top:0;left:0;right:0;background:var(--red)}.class-card h2{font-size:24px;margin:22px 0 12px}.class-card h2 b{font-size:45px;font-family:Georgia,serif;font-weight:400;color:var(--red)}.term{font-size:10px;color:var(--muted);background:#eee9dc;padding:4px 8px}.class-card h3{font-size:15px;margin-top:20px}.class-card p{font-size:12px;color:var(--muted);margin:12px 0 25px}.text-link{font-size:12px;color:var(--red);font-weight:600}.detail-wrap{max-width:900px;margin:30px auto}.detail h1{font-size:32px;line-height:1.6;letter-spacing:-.6px;margin:15px 0}.detail .byline{margin-bottom:25px}.body-text{white-space:pre-wrap;line-height:2;overflow-wrap:anywhere;font-size:14px}.detail>.body-text{font-size:15px}.event-facts{margin-top:30px;border-left:3px solid var(--red);padding:10px 20px;background:#f6f0e7}.event-facts h4{margin:20px 0 8px}.event-facts p{margin-top:8px}.detail-actions{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.detail-actions>.form-note{margin-left:auto}.chip{background:none;border:1px solid var(--line);padding:7px 12px;font-size:11px;border-radius:3px;display:inline-block}.chip:hover,.chosen{border-color:var(--red)!important;background:#eee1d5!important;color:var(--red)!important}.poll{background:#f4f0e6;padding:22px;margin-top:25px}.poll>p{font-size:11px;color:var(--muted);margin:10px 0 15px}.poll-option{display:flex;width:100%;align-items:center;gap:12px;border:1px solid var(--line);background:var(--white);margin-top:9px;padding:12px;font-size:12px;text-align:left}.poll-option span{width:160px}.poll-option meter{flex:1;min-width:40px;height:12px;accent-color:var(--red)}.poll-option b{font-size:10px;font-weight:400;white-space:nowrap}.attachments{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.attachments img{max-width:100%;max-height:360px;object-fit:contain;border:1px solid var(--line)}.attachment-pending{border:1px dashed var(--line);padding:40px 15px;text-align:center;color:var(--muted);font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.section-heading h2{font-size:21px}.section-heading>span,.section-heading>a{font-size:11px;color:var(--muted)}.comment{border-bottom:1px solid var(--line);padding:18px 0}.comment .body-text{margin-top:12px;font-size:13px}.comment-links{display:flex;gap:18px;margin-top:10px;font-size:10px;color:var(--muted)}.text-button{background:none;border:0;padding:0;font-size:12px;color:var(--red)}.comment-links .text-button{font-size:10px}.teaching{border-bottom:1px solid var(--line);padding:20px 0}.teaching-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.teaching-head h3{font-size:18px}.teaching-head small{margin-left:auto;color:var(--muted)}.review{background:#f6f3eb;border-left:2px solid #d8ccb9;padding:14px 18px;margin:12px 0;font-size:12px}.review>span{font-weight:600}.review p{margin:8px 0}.rating-line{font-size:10px;color:#8a7464}.update{padding:20px 0;border-bottom:1px solid var(--line)}.update .body-text{margin:15px 0}.update small{color:var(--muted)}details summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--red);padding:5px 0}details form{margin-top:15px}.add-record{margin-top:20px}.account-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:35px;align-items:start}.check{display:flex;gap:10px;align-items:center;font-weight:400;font-size:11px}.check input{accent-color:var(--red);flex-shrink:0}.logout{margin-top:20px}.status-line{font-size:10px;color:var(--muted);padding-top:15px}.spaced{margin-top:35px}.alert{border-left:3px solid var(--red);background:#f3e7d9;padding:12px 16px;font-size:12px;margin:20px 0}.notification{padding:22px 0;border-bottom:1px solid var(--line)}.notification.unread{border-left:3px solid var(--red);padding-left:15px}.notification small{color:var(--muted);font-size:10px;margin-right:20px}.notification a{font-size:11px;color:var(--red)}.notification p{margin-bottom:10px}.admin-status{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-status .paper{display:flex;flex-direction:column;gap:9px}.admin-status span{font-size:12px}.admin-status strong{font-size:25px}.admin-status small{font-size:11px;color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}td,th{border-bottom:1px solid var(--line);padding:12px;overflow-wrap:anywhere;max-width:300px;min-width:60px}th{background:#f1ede3;font-weight:600}td a{color:var(--red);text-decoration:underline}.rules h1{font-family:"Songti SC",SimSun,serif;font-size:40px;line-height:1.6;margin:20px 0}.rules h2{font-size:20px;margin:32px 0 12px}.rules p{color:#71675c;line-height:2}.rules .lead{font-size:16px}.rules>.button{margin-top:30px}output{display:block;overflow-wrap:anywhere;background:#eee7d8;font-family:monospace;font-size:17px;padding:12px;margin:10px 0 25px}dialog{border:1px solid var(--red);background:var(--paper);color:var(--ink);padding:32px;max-width:540px;width:calc(100% - 30px);border-radius:4px}dialog::backdrop{background:#24211eb3}dialog h2{font-size:25px}dialog p{font-size:12px;margin:15px 0}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 22px;border-radius:4px;font-size:13px;z-index:90;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}.loading{font-size:11px;color:var(--muted)}.htmx-indicator{opacity:0}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{opacity:1}
@media(min-width:1500px){.shell,.topbar-inner{max-width:1440px}.home-grid{grid-template-columns:200px minmax(0,1fr) 280px;gap:40px}.footer{max-width:1348px}}
@media(max-width:1190px){.shell,.topbar-inner{padding-left:28px;padding-right:28px}.home-grid{grid-template-columns:160px minmax(0,1fr) 225px;gap:24px}.topbar-inner{gap:28px}.toplinks{gap:20px}.top-actions{gap:15px}.masthead-art{width:200px}.sticker{font-size:15px}.footer{margin-left:28px;margin-right:28px}.post-card h2{font-size:16px}.feed-tabs{gap:17px}.feed-tabs>span{display:none}.section-nav a{font-size:12px;gap:8px}.mood-card{padding:18px}.mood-card h3{font-size:20px}.byline small{display:none}.class-grid{grid-template-columns:1fr 1fr}}
@media(max-width:950px){.home-grid{grid-template-columns:155px minmax(0,1fr)}.right-rail{display:none}.toplinks{display:none}.masthead h1{font-size:42px}.account-grid{grid-template-columns:280px minmax(0,1fr)}.footer-note{display:none}}
@media(max-width:650px){body{font-size:13px}.topbar{height:62px}.topbar-inner{padding:0 19px;gap:10px}.wordmark{font-size:26px}.wordmark>i{font-size:8px}.top-actions{gap:12px}.top-actions>.button{display:none}.top-actions .search-link{font-size:28px}.login-link{font-size:11px}.shell{padding:0 20px}.masthead{padding-top:17px;margin-bottom:25px}.issue-line{font-size:8px;letter-spacing:.5px;padding-bottom:12px}.issue-line>span:first-child{max-width:170px}.masthead-main{padding:25px 0 26px}.headline-kicker{font-size:10px;letter-spacing:1.5px}.masthead h1{font-size:40px;line-height:1.5;letter-spacing:0}.mobile-break{display:block}.masthead-main p{font-size:11px;letter-spacing:.3px;margin-top:15px}.masthead-art{position:absolute;right:18px;width:100px;height:85px;top:151px;opacity:.9;margin:0}.sticker{font-size:10px;padding:5px 8px;left:0;transform:rotate(8deg)}.masthead-art svg{width:70px;top:20px;left:20px}.art-note{display:none}.ticker{gap:8px;font-size:10px;line-height:1.8}.ticker strong{font-size:9px}.ticker a{display:none}.home-grid{display:block}.left-rail{padding:0;margin-bottom:24px}.rail-label,.rail-note,.rail-stats{display:none}.section-nav{flex-direction:row;gap:7px;overflow:auto;padding-bottom:4px}.section-nav a{flex-shrink:0;padding:7px 10px;font-size:11px;border:1px solid var(--line)}.section-nav a>span,.section-nav a small{display:none}.feed-heading h2{font-size:20px}.feed-heading{margin-bottom:14px}.feed-heading h2 span{font-size:9px}.search{height:40px}.feed-tabs{height:53px;gap:25px;font-size:11px}.post-card{padding:22px 0}.post-card h2{font-size:17px;margin-top:12px}.post-meta{font-size:9px}.post-meta time{font-size:9px}.excerpt{font-size:12px}.post-bottom{margin-top:17px}.counts{gap:12px}.footer{margin:25px 20px 65px;padding:23px 0 28px;gap:18px;flex-wrap:wrap}.footer .wordmark{font-size:23px}.footer p{font-size:9px}.footer>a:not(.wordmark){font-size:9px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);height:62px;padding-bottom:env(safe-area-inset-bottom);align-items:center;justify-content:space-around;z-index:30}.mobile-nav>a{display:flex;flex-direction:column;align-items:center;font-size:22px;line-height:1.2;min-width:50px;gap:3px;color:#796f62}.mobile-nav span{font-size:9px}.mobile-nav .mobile-publish{color:var(--red);font-weight:700;font-size:27px}.paper{padding:22px 19px}.page-heading{padding-top:30px}.page-heading h1{font-size:31px;letter-spacing:-1px}.page-heading p{font-size:12px}.compact h1{font-size:28px}.page-heading .eyebrow{font-size:9px}.auth-grid,.account-grid{grid-template-columns:1fr;gap:10px}.class-grid{grid-template-columns:1fr}.class-filter{flex-wrap:wrap;gap:10px}.class-filter label{width:calc(50% - 5px)}.class-filter .button{font-size:12px}.fields-three{grid-template-columns:1fr;gap:0}.fields-two{gap:12px}.form-actions{gap:16px}.detail-wrap{margin-top:22px}.detail h1{font-size:27px}.detail>.body-text{font-size:14px}.detail-actions{gap:7px}.detail-actions>.form-note{width:100%;margin:4px 0}.poll{padding:16px 12px}.poll-option{flex-wrap:wrap;font-size:11px;padding:10px}.poll-option span{width:100%}.poll-option meter{min-width:60px}.poll-option b{font-size:9px}.attachments{grid-template-columns:1fr}.teaching-head{flex-wrap:wrap}.teaching-head small{margin:0}.rules h1{font-size:31px}.rules h2{font-size:18px}.admin-status{grid-template-columns:1fr;gap:0}#toast{bottom:80px;font-size:12px;width:max-content}.form-note{font-size:10px}.section-heading h2{font-size:19px}.class-card{padding:24px}.narrow{margin-top:25px}.upload-box{padding:5px 12px}.small-heading{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:650px){.right-rail{display:block;margin-top:18px}.right-rail>section:not(.mood-card),.right-rail>.rail-signoff{display:none}.mood-card h3 br{display:none}.mood-card h3{font-size:20px}.mood-card form{flex-direction:row;gap:7px}.mood-card button{flex:1;gap:6px;font-size:10px;padding:9px 7px}.mood-card .mood-foot{text-align:left}}
/* v2: the campus grievance wall. Lightweight CSS, no image/font requests. */
:root{--paper:#eee8da;--white:#f8f3e7;--ink:#211e1a;--red:#8b201c;--muted:#70675b;--line:#cbbfac;--yellow:#ddec79}
.topbar{background:var(--paper);border-bottom:2px solid var(--ink)}.wordmark{font-weight:950}.wordmark>i{background:var(--yellow);border-color:var(--ink);color:var(--ink);transform:rotate(8deg)}.button{border-radius:0;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s,box-shadow .12s}.button:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}.button.secondary{background:var(--yellow);color:var(--ink)}.masthead{position:relative;margin-bottom:25px}.issue-line{font-weight:700;border-bottom:2px solid var(--ink)}.masthead-main{padding:26px 0 32px;position:relative}.masthead h1{font-family:var(--font);font-size:76px;letter-spacing:-4px;font-weight:950;line-height:1.18}.headline-kicker{font-size:11px;margin-bottom:17px}.masthead-main p{font-size:14px;color:var(--ink);margin-top:20px}.underline-red{color:var(--red)}.underline-red:after{height:7px;bottom:-4px;transform:rotate(-4deg)}.masthead-art{width:285px;height:195px;margin-right:25px;transform:rotate(-3deg);background:radial-gradient(var(--line) .8px,transparent .8px);background-size:6px 6px}.sticker{top:32px;left:15px;font-size:25px;font-weight:900;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:12px 15px;transform:rotate(-8deg)}.masthead-art svg{top:95px;left:20px;width:140px}.art-note{font-size:13px;right:0;bottom:7px;background:var(--paper);padding:4px}.ticker{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:10px 0}.ticker strong{background:var(--red);color:var(--paper);padding:3px 7px}.ticker>span:nth-of-type(2){color:var(--ink)}
.trouble-launchers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 35px}.trouble-launchers>a{display:flex;flex-direction:column;gap:10px;border:2px solid var(--ink);padding:18px 21px;background:var(--white);position:relative;box-shadow:4px 4px 0 #211e1a;transition:transform .12s}.trouble-launchers>a:nth-child(2){background:var(--yellow);transform:rotate(-1deg)}.trouble-launchers>a:hover{transform:translateY(-3px)}.trouble-launchers>a>span{font-size:10px;letter-spacing:1px;font-weight:700}.trouble-launchers strong{font-size:19px;letter-spacing:-.5px;line-height:1.45}.trouble-launchers small{font-size:11px;color:#625748}.section-nav a{border-radius:0}.section-nav a.selected{box-shadow:3px 3px 0 var(--ink);transform:rotate(-1.5deg)}.feed-heading h2{font-size:23px;font-weight:900}.feed-tabs{border-bottom:2px solid var(--ink)}.feed-tabs .active{font-weight:900}.feed-tabs a.active:after{height:4px}.post-card{border-bottom:1px dashed #a69a87;padding:25px 0}.post-card h2{font-size:19px;font-weight:850}.stamp{border-radius:0;font-weight:700}.stamp.event{border:1px solid var(--ink);background:var(--yellow);color:var(--ink);transform:rotate(-2deg)}.excerpt{font-size:13px;color:#746956}.post-bottom{margin-top:15px}.mood-card{border:2px solid var(--ink);border-radius:0;background:#ded9ca;box-shadow:4px 4px 0 var(--ink);transform:rotate(1deg)}.mood-card .small-heading{font-family:monospace;letter-spacing:1px}.mood-card button{border-color:#928773;border-radius:0}.mood-card h3{font-size:25px;font-weight:900}.notice-card{border:1px solid var(--ink);transform:rotate(-3deg);background:#e3e9b7}.notice-card h3{font-family:var(--font);font-weight:850}.notice-card p:not(.eyebrow){color:#625c43}.rail-note h3{font-size:14px}.rail-note p{font-size:12px}.paper{border-radius:0}.page-heading h1{font-family:var(--font);font-weight:900;letter-spacing:-1.5px}.footer{border-top:2px solid var(--ink)}
.event-facts{border:2px solid var(--ink);padding:22px;background:#eeead8}.event-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;margin-bottom:20px}.event-facts h3{font-size:20px;margin:16px 0 10px}.event-facts .body-text{font-size:14px}.case-counters{display:flex;flex-wrap:wrap;gap:22px;border-top:1px dashed var(--ink);border-bottom:1px dashed var(--ink);padding:16px 0;margin:22px 0;font-size:11px}.case-counters strong{font-family:monospace;font-size:25px;color:var(--red);margin-right:5px}.event-facts .button{margin-top:8px}.case-file{border:2px solid var(--ink);position:relative}.case-file:before{content:'材料册 / 持续增补';display:block;width:max-content;background:var(--yellow);border:1px solid var(--ink);transform:rotate(-3deg);font-size:11px;font-weight:700;padding:5px 11px;margin:-43px 0 20px}.case-file .section-heading h2{font-size:25px;line-height:1.5;margin-top:8px}.case-file .section-heading>.button{flex-shrink:0;color:var(--white)}.material-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:2px solid var(--ink);padding:20px 0 15px}.material-tabs a{border:1px solid var(--line);padding:5px 9px;font-size:11px}.material-tabs a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.material-entry{padding:23px 0;border-bottom:1px dashed var(--line)}.material-entry h3{font-size:18px;margin:12px 0}.material-entry>.body-text{margin:14px 0;font-size:14px}.source-note{font-size:11px;color:var(--muted);margin:8px 0;background:#ece7da;padding:8px 10px}.material-footer{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--muted);margin-top:15px}.material-footer a{margin-left:auto;color:var(--red)}.material-counter{background:#e0e5d4;color:#354932}.material-response{border:1px solid #b29259;background:#f3e5c3;color:#64481d}.material-progress{background:var(--ink);color:var(--paper)}.material-composer{border-top:2px solid var(--ink);padding-top:25px;margin-top:20px}.material-composer>h3{font-size:23px;line-height:1.5}.material-composer>p{margin:15px 0}.response-label{border:1px solid var(--line);padding:0 5px}.activity-where{background:var(--yellow);padding:4px 15px 15px;margin:15px 0}
@media(max-width:950px){.masthead h1{font-size:60px}.masthead-art{width:220px;margin-right:0}.sticker{font-size:19px;left:0}.trouble-launchers{gap:12px}.trouble-launchers>a{padding:15px}.trouble-launchers strong{font-size:16px}}
@media(max-width:650px){.masthead h1{font-size:43px;letter-spacing:-2.5px;line-height:1.24}.masthead-main{padding:24px 0 30px}.masthead-main p{font-size:11px;margin-top:22px;max-width:250px}.masthead-art{width:107px;height:86px;right:-3px;top:71px;background:none;transform:rotate(5deg)}.sticker{font-size:11px;top:0;left:0;padding:7px 6px;border-width:1px;box-shadow:2px 2px 0 var(--ink)}.masthead-art svg{top:22px;left:20px;width:65px}.masthead .issue-line{font-size:7px}.trouble-launchers{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:81%;overflow-x:auto;gap:13px;padding:5px 5px 9px 0;margin-bottom:23px;scroll-snap-type:x mandatory}.trouble-launchers>a{scroll-snap-align:start;padding:15px 17px;gap:7px}.trouble-launchers strong{font-size:18px}.trouble-launchers small{font-size:10px}.post-card h2{font-size:18px}.excerpt{font-size:12px}.event-facts{padding:15px}.event-banner{flex-wrap:wrap;font-size:10px}.case-counters{gap:14px}.case-counters strong{font-size:22px}.case-file .section-heading{display:block}.case-file .section-heading h2{font-size:23px}.case-file .section-heading>.button{margin-top:15px}.material-tabs{gap:6px}.material-tabs a{font-size:10px;padding:5px 7px}.material-composer>h3{font-size:20px}.material-footer a{margin-left:0}.material-entry>.body-text{font-size:13px}.ticker>span:nth-of-type(2){font-size:9px}}

.resource-card{display:flex;align-items:center;gap:16px;padding:18px;border:2px solid var(--ink);background:var(--paper);width:100%;text-decoration:none}.resource-card>span:first-child{font-size:32px}.resource-card strong{display:block;overflow-wrap:anywhere}.resource-card small{display:block;margin-top:6px;color:var(--muted)}.attachments:has(.resource-card){display:flex;flex-wrap:wrap}.attachments:has(.resource-card)>a:not(.resource-card){max-width:340px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Stable shell, quick page turns, and the original school crest. */
.school-crest{width:40px;height:40px;object-fit:contain;background:#fff;flex-shrink:0;margin-right:11px;border:1px solid #baaa95;padding:2px;transform:rotate(-5deg);box-shadow:2px 2px 0 #cbbfac}.footer .school-crest{width:34px;height:34px}.wordmark:hover .school-crest{transform:rotate(1deg)}.wordmark .school-crest{transition:transform .18s ease}.topbar-inner{gap:34px}#main:focus{outline:none}#main{view-transition-name:page-content}.topbar{view-transition-name:site-navigation}.mobile-nav{view-transition-name:mobile-navigation}
::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(page-content){animation:paper-away .13s ease-out both}::view-transition-new(page-content){animation:paper-arrive .2s ease-out both}::view-transition-group(site-navigation),::view-transition-group(mobile-navigation){animation-duration:0s}::view-transition-old(site-navigation),::view-transition-old(mobile-navigation){display:none}::view-transition-new(site-navigation),::view-transition-new(mobile-navigation){animation:none}
@keyframes paper-away{to{opacity:0;transform:translateY(-5px)}}@keyframes paper-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
#navigation-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .15s}#navigation-progress.is-loading{opacity:1}#navigation-progress span{display:block;width:38%;height:100%;background:var(--red);animation:page-progress 1s ease-in-out infinite}@keyframes page-progress{from{transform:translateX(-110%)}to{transform:translateX(370%)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.post-card{transition:background .16s,border-color .16s}.post-card:hover{background:#f7f1e3;border-color:var(--red)}.post-card h2 a{background-image:linear-gradient(var(--red),var(--red));background-position:0 100%;background-size:0 1px;background-repeat:no-repeat;transition:background-size .2s}.post-card h2 a:hover{background-size:100% 1px}.go-arrow{transition:transform .18s}.post-card:hover .go-arrow{transform:translate(3px,-3px)}.chip{transition:background .15s,transform .15s}.chip:active,.button:active{transform:translate(2px,2px)}.button:disabled:after{content:'';width:11px;height:11px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-wait .7s linear infinite}@keyframes button-wait{to{transform:rotate(360deg)}}
.board-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:45px}.board-directory>a{position:relative;display:block;min-height:230px;padding:30px;border:2px solid var(--ink);background:var(--white);box-shadow:4px 4px 0 var(--ink);transition:transform .16s,box-shadow .16s}.board-directory>a:nth-child(3){background:var(--yellow);transform:rotate(-1deg)}.board-directory>a:hover{transform:translateY(-3px);box-shadow:4px 7px 0 var(--ink)}.directory-number{position:absolute;right:22px;top:14px;font-size:42px;line-height:1.2;font-weight:900;opacity:.13}.board-directory h2{font-size:28px;margin:22px 0 12px}.board-directory p{font-size:13px;color:var(--muted);max-width:85%}.directory-arrow{display:block;margin-top:25px;font-size:12px;font-weight:700}
@media(max-width:650px){.school-crest{width:31px;height:31px;margin-right:8px}.wordmark{font-size:24px}.wordmark>i{margin-left:7px}.topbar-inner{gap:8px}.top-actions{gap:10px}.mobile-nav>a{position:relative;min-width:57px;padding:5px 7px;border-radius:8px;transition:background .16s,color .16s}.mobile-nav>a[aria-current]{color:var(--red);background:#e7dcc8}.mobile-nav>a[aria-current]:after{content:'';position:absolute;bottom:-3px;width:12px;height:2px;background:var(--red)}.board-directory{grid-template-columns:1fr;gap:18px}.board-directory>a{padding:23px;min-height:200px}.board-directory h2{font-size:25px}.board-directory p{max-width:94%}}
@media(prefers-reduced-motion:reduce){::view-transition-old(*),::view-transition-new(*),::view-transition-group(*){animation:none!important}#navigation-progress span,.button:disabled:after{animation:none}*{scroll-behavior:auto!important;transition:none!important}}

/* Account entry is a single form; verification belongs to personal settings. */
.entry-layout{max-width:1040px;margin:52px auto 60px;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:start}.entry-note{padding-top:56px}.entry-note .eyebrow{color:var(--red);letter-spacing:2px}.entry-note h1{font-size:clamp(38px,4.8vw,64px);line-height:1.24;margin:22px 0;letter-spacing:-3px}.entry-note h1 span{color:var(--red);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:10px}.entry-note>p{color:var(--muted);line-height:2.1;font-size:14px}.entry-scribble{font-size:22px;line-height:1.5;transform:rotate(-7deg);margin:45px 0 42px 45px;color:var(--red);width:max-content;border-left:3px solid var(--red);padding-left:16px}.entry-scribble s{color:var(--muted);font-size:16px}.entry-note>small{font-size:11px;color:var(--muted)}.entry-card{min-width:0;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--ink);padding:0 30px 24px;box-shadow:5px 5px 0 #e4dccc}.entry-tabs{display:flex;border-bottom:1px solid var(--line);gap:28px}.entry-tabs a{padding:17px 0 13px;color:var(--muted);font-size:13px;font-weight:650}.entry-tabs a[aria-current]{color:var(--red);border-bottom:2px solid var(--red);margin-bottom:-1px}.entry-title{margin:23px 0 20px}.entry-title .eyebrow{font-size:10px;letter-spacing:1px}.entry-title h2{font-size:25px;margin-top:6px}.entry-card label{margin-top:15px}.entry-card input:not([type=checkbox]){padding:10px 12px;font-size:14px}.entry-card .form-note{margin:10px 0;font-size:11px;line-height:1.7}.entry-email{display:flex;align-items:center;gap:8px;font-size:11px}.entry-email input{accent-color:var(--red)}.entry-email small{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.entry-submit{width:100%;margin-top:20px!important;box-shadow:2px 2px 0 var(--ink)!important;padding:11px}.entry-card .cf-turnstile{margin-top:15px;max-width:100%;min-height:65px}.entry-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;margin:22px 0 15px}.entry-divider:before,.entry-divider:after{content:'';height:1px;background:var(--line);flex:1}.google-signin{width:100%;min-height:42px;background:#fff!important;color:#1f1f1f!important;border:1px solid #747775!important;border-radius:4px!important;box-shadow:none!important;font-family:Arial,sans-serif;font-size:14px;letter-spacing:.25px;font-weight:500;padding:10px 14px;gap:12px}.google-signin:hover{background:#f3f6fc!important}.google-mark{flex-shrink:0}.entry-privacy,.entry-footnote{font-size:10px;line-height:1.8;color:var(--muted)}.entry-privacy{text-align:center;margin-top:10px}.entry-footnote{padding-top:16px;margin-top:20px;border-top:1px dashed var(--line)}.entry-recover{display:block;text-align:right;font-size:11px;color:var(--red);margin-top:9px}.account-shortcuts{display:flex;gap:24px;margin:-5px 0 28px;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:12px}.account-settings{min-width:0}.verification-panel{padding:24px!important;scroll-margin-top:95px}.binding-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.binding-heading h2{font-size:21px;margin-top:4px}.binding-heading .eyebrow{font-size:9px;letter-spacing:1px}.weight-badge{font-size:10px;white-space:nowrap;border:1px solid #b4ad73;background:var(--yellow);padding:3px 8px}.binding-intro{font-size:11px;color:var(--muted);margin:14px 0 21px}.binding-method{display:flex;gap:12px;align-items:center}.binding-icon{font:700 24px Georgia,serif;width:22px;text-align:center;color:var(--red)}.binding-info{flex:1;min-width:0}.binding-info h3{font-size:13px;display:flex;align-items:center;gap:9px}.binding-info p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:4px}.binding-status{font-size:9px;font-weight:400;border:1px solid var(--line);padding:0 5px;color:var(--muted)}.binding-email{margin:14px 0 20px;border:1px solid var(--line);background:#f4eee3;padding:0 14px}.binding-email>summary{padding:11px 0;font-size:11px;color:var(--red);cursor:pointer}.binding-email>summary>span{float:right}.verification-forms{padding-bottom:13px}.verification-forms label{margin-top:10px;font-size:11px}.verification-forms input{font-size:13px}.verification-forms form>.button{margin-top:11px}.verification-forms form+form{border-top:1px dashed var(--line);margin-top:16px;padding-top:6px}.binding-caption{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.8}.binding-google{border-top:1px solid var(--line);padding-top:20px}.binding-google>.button{white-space:nowrap;padding:6px 11px;font-size:11px;box-shadow:none}.verification-feedback{font-size:11px;color:var(--red);margin-top:10px}.verification-feedback:empty{display:none}#profile,#my-posts{scroll-margin-top:95px}
@media(max-width:1000px){.entry-layout{gap:35px;grid-template-columns:1fr 400px}.entry-note h1{font-size:47px}}
@media(max-width:750px){.entry-layout{display:block;max-width:440px;margin:27px auto 35px}.entry-note{padding-top:0;margin-bottom:25px}.entry-note h1{font-size:35px;line-height:1.25;margin:13px 0 12px;letter-spacing:-1.5px}.entry-note h1 br{display:none}.entry-note>p{font-size:12px}.entry-note>p br{display:none}.entry-note .eyebrow{font-size:9px}.entry-scribble,.entry-note>small{display:none}.entry-card{padding:0 22px 21px}.entry-title h2{font-size:23px}.entry-card .cf-turnstile{min-height:65px}.account-shortcuts{gap:22px}.verification-panel{padding:20px!important}}
@media(max-width:380px){.entry-card{padding:0 14px 18px}.entry-note h1{font-size:32px}.entry-layout{margin-top:20px}.entry-tabs a{padding-top:14px}.entry-title{margin:17px 0}.entry-card .cf-turnstile{margin-left:-3px}}


.account-verified{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:500;line-height:1.6;color:#6d511b;background:#eee5c6;border:1px solid #cfc095;padding:0 5px;white-space:nowrap;vertical-align:middle}.account-verified b{font-size:8px;border-left:1px solid #cfc095;padding-left:4px;font-weight:600}.login-settings{scroll-margin-top:95px}.login-settings>h2{margin:6px 0 17px}.login-name{font-size:20px;color:var(--red);font-family:monospace;overflow-wrap:anywhere}.backup-login{font-size:11px;margin:18px 0;color:var(--muted)}.backup-login summary{cursor:pointer}.backup-login output{font-size:12px}.entry-card label>small{font-size:10px;font-weight:400;color:var(--muted);margin-left:6px}.account-shortcuts{flex-wrap:wrap;gap:14px 20px}.heat-note{font-size:10px;color:var(--muted);border-bottom:1px dashed var(--line);padding:12px 0}.heat-note a{color:var(--red);white-space:nowrap}.chip small{font-size:9px;color:var(--muted)}#visibility{scroll-margin-top:95px}

.community-intro{border-top:1px solid var(--ink);padding:30px 0 8px;margin-top:36px;max-width:900px}.community-intro h2{font-size:22px;margin:9px 0 15px}.community-intro p{font-size:12px;line-height:2.1;color:var(--muted);margin:10px 0}.community-intro a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.community-intro>a{font-size:11px;display:inline-block;margin-top:12px}

@media(max-width:650px){.wordmark{font-size:20px;letter-spacing:-1px}.footer .wordmark{font-size:18px}}@media(max-width:380px){.top-actions{gap:8px}.login-link{font-size:10px}.school-crest{width:28px;height:28px;margin-right:6px}.wordmark>i{margin-left:5px}.wordmark{font-size:19px}}

.markdown-body{white-space:normal!important;line-height:1.95;overflow-wrap:anywhere;font-weight:400;max-width:100%;overflow-x:auto}.markdown-body>*:first-child{margin-top:0}.markdown-body>*:last-child{margin-bottom:0}.markdown-body p{margin:0 0 1em}.markdown-body strong{font-weight:800;color:var(--ink);background:linear-gradient(transparent 65%,#e6ec7680 65%)}.markdown-body em{font-style:italic}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:1.2em 0 .55em;line-height:1.6;letter-spacing:0;font-family:inherit}.markdown-body h1{font-size:1.6em}.markdown-body h2{font-size:1.4em}.markdown-body h3{font-size:1.2em}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:1em}.markdown-body ul,.markdown-body ol{padding-left:1.6em;margin:.6em 0 1em}.markdown-body li{margin:.25em 0}.markdown-body li>p{margin-bottom:.4em}.markdown-body blockquote{border-left:3px solid var(--red);background:#eee5d8;margin:1em 0;padding:10px 16px;color:#685e53}.markdown-body pre{white-space:pre;overflow-x:auto;background:#2b2824;color:#f5f0e6;padding:14px;border-radius:3px;max-width:100%;font-size:12px;line-height:1.7}.markdown-body code{font-family:Consolas,monospace;background:#e8dfd0;padding:2px 4px;font-size:.9em}.markdown-body pre code{background:none;padding:0;color:inherit;font-size:inherit}.markdown-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.markdown-body table{border-collapse:collapse;margin:1em 0;font-size:12px;max-width:100%}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:7px 12px;text-align:left}.markdown-body th{background:#e9e0d1}.markdown-body hr{margin:1.2em 0}.md-editor{font-weight:400;margin-top:7px;min-width:0}.md-editor textarea{margin-top:0!important;border-top-left-radius:0;border-top-right-radius:0}.md-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:#eee6d8;border:1px solid var(--line);border-bottom:0;padding:6px}.md-toolbar button{border:0;background:none;padding:4px 7px;font-size:11px;font-weight:600;border-radius:2px}.md-toolbar button:hover{background:var(--yellow);color:var(--red)}.md-toolbar button[data-md-preview]{margin-left:auto;color:var(--red)}.md-hint{font-size:10px;color:var(--muted);margin:6px 0!important;line-height:1.8}.md-preview{padding:18px;border:1px dashed var(--line);background:#faf6ec;margin:10px 0;font-size:13px;max-height:600px;overflow:auto}.md-preview:before{content:'预览 / 发出去大概长这样';display:block;font-size:10px;color:var(--red);margin-bottom:12px;letter-spacing:1px}

.rules-promise{border:1px solid var(--red);border-left:4px solid var(--red);background:#f0e8d7;padding:22px;margin:28px 0}.rules-promise h2{margin:10px 0 15px}.rules-promise p{font-size:13px;line-height:2;margin:12px 0}.rules-promise p:last-child{font-size:11px;color:var(--muted)}.rules-promise strong{color:var(--red)}

/* A handwritten confession wall, with a separate private card. */
.stamp.love{background:#f0dbd5;color:#8b201c;border:1px solid #c4978b}.love-heading h1{max-width:900px}.love-heading h1>span{color:var(--red)}.love-heading .button{margin-top:20px}.love-note{border-left:3px solid var(--red);padding:16px 20px;background:#f1e4d7;margin:20px 0 25px;line-height:1.9}.love-note>strong{font-size:14px}.love-note>p{font-size:12px;color:var(--muted);margin:7px 0 0}.love-feed{max-width:900px}.love-step{border-top:1px solid var(--ink);padding-top:20px;margin-top:35px}.love-step:first-child{border-top:0;padding-top:0;margin-top:0}.love-step>span{font:11px monospace;color:var(--red)}.love-step h2{font-size:25px;margin-top:8px}.love-question{border:1px dashed var(--line);padding:0 18px 20px;margin:18px 0;background:#f2ebdf}.love-extra{margin:15px 0}.love-gate{margin:30px 0 10px;border:2px solid #b58a77;background:#f2e7d9;padding:24px}.love-gate h2{font-size:23px;margin:10px 0 16px}.love-revoke{margin-top:25px;border-top:1px dashed var(--line);padding-top:12px}.love-revoke button{color:var(--red)}.private-love{max-width:740px}.private-love h1{font-size:28px;line-height:1.6;margin:16px 0}.private-contact{margin:24px 0}.private-contact dt{font-size:12px;color:var(--muted);margin-top:20px}.private-contact dd{font-size:20px;margin:5px 0;word-break:break-all;user-select:all}.private-qr{margin:25px 0}.private-qr img{display:block;width:min(300px,100%);height:auto;background:white;border:1px solid var(--line);padding:8px}.private-qr figcaption{font-size:11px;color:var(--muted);margin-top:10px}.love-composer .check{display:flex;align-items:flex-start;gap:10px}.love-composer .check input{margin-top:5px;flex-shrink:0}.love-composer .check span{font-weight:400;font-size:12px}
@media(max-width:767px){.love-note{padding:15px}.love-note>p{font-size:13px}.love-gate{padding:18px 14px;margin-top:25px}.love-gate h2{font-size:22px}.love-question{padding:0 12px 18px}.love-composer .check span{font-size:13px}.love-composer .form-actions>.button{width:100%}.love-step h2{font-size:23px}.private-love h1{font-size:26px}.private-contact dd{font-size:19px}.private-qr figcaption{font-size:12px}.love-revoke button{min-height:44px;font-size:12px}}

.love-private-fields{border:0;padding:0;margin:0;min-width:0}.love-private-toggle{margin:25px 0 8px;padding:14px;background:#ece4d4}.love-private-toggle small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}

/* Phone-first overrides shared by every view, including account and admin. */
@media(max-width:767px){
 :root{--mobile-bar:64px;--mobile-bottom:calc(var(--mobile-bar) + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:82px;scroll-padding-bottom:calc(var(--mobile-bottom) + 22px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:15px;padding-bottom:var(--mobile-bottom)}
 .shell{padding:0 16px;min-width:0;min-height:60svh}.shell>*{min-width:0}
 .topbar{height:calc(64px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
 .topbar-inner{padding:0 max(12px,env(safe-area-inset-left,0px)) 0 max(12px,env(safe-area-inset-right,0px));gap:8px;max-width:none}
 .wordmark{font-size:clamp(18px,5.1vw,24px);letter-spacing:-1px}.school-crest{width:30px;height:30px;margin-right:7px}.wordmark>i{font-size:8px;margin-left:6px}
 .toplinks,.top-actions>.button{display:none}.top-actions{gap:6px}.top-actions .search-link{font-size:29px;display:flex;width:44px;height:44px;align-items:center;justify-content:center}.login-link{min-height:44px;display:flex;align-items:center;font-size:11px;white-space:nowrap}.top-actions .avatar{width:38px;height:38px;min-width:38px;max-width:38px;line-height:38px}
 .mobile-nav{display:flex;position:fixed;inset:auto 0 0;height:var(--mobile-bottom);padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px));background:var(--paper);border-top:1px solid var(--line);z-index:30;align-items:center;justify-content:space-around;transition:transform .16s}
 .mobile-nav>a{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;min-width:0;min-height:50px;gap:3px;font-size:23px;line-height:1.2;padding:5px 2px;color:#796f62}.mobile-nav span{font-size:11px}.mobile-nav .mobile-publish{font-size:27px;color:var(--red)}
 .mobile-nav>a[aria-current]{background:#e7dcc8;color:var(--red);border-radius:8px}.mobile-nav>a[aria-current]:after{display:none}
 .keyboard-open .mobile-nav{transform:translateY(110%);visibility:hidden}.keyboard-open #toast{bottom:14px}
 .footer{margin:32px 16px 0;padding:24px 0 28px;gap:16px;flex-wrap:wrap}.footer .wordmark{font-size:20px}.footer p{font-size:11px}.footer>a:not(.wordmark){min-height:44px;display:inline-flex;align-items:center;font-size:12px}.footer-note{display:none}
 #toast{bottom:calc(var(--mobile-bottom) + 12px);font-size:13px;line-height:1.6;padding:12px 16px;max-width:calc(100vw - 28px);width:max-content}
 .button,.chip,.text-button{min-height:44px;align-items:center}.text-button{display:inline-flex}.button{padding:11px 16px;font-size:14px}.button.small{padding:10px 13px;font-size:13px}.chip{font-size:12px;padding:10px 12px}.pagination a,.comment-links a,.comment-links button{min-height:44px;display:inline-flex;align-items:center}.pagination{align-items:center;font-size:12px;flex-wrap:wrap}
 input:not([type=checkbox]),textarea,select,.entry-card input:not([type=checkbox]),.verification-forms input{font-size:16px;min-height:46px;padding:11px 12px;max-width:100%;min-width:0}
 textarea{line-height:1.75;scroll-margin-top:100px;scroll-margin-bottom:100px}textarea[name=body]{min-height:190px}#comment-form textarea,.review textarea{min-height:125px}label{font-size:13px;line-height:1.8;margin-top:20px}
 .form-note,.entry-card .form-note,.binding-intro,.binding-caption,.md-hint{font-size:12px;line-height:1.85}.muted{font-size:13px}.form-error{font-size:13px}input[type=checkbox]{width:20px;height:20px;min-width:20px;accent-color:var(--red)}label.check{min-height:44px;gap:9px;align-items:center}
 .paper{padding:22px 18px;margin-bottom:22px;min-width:0}.page-heading{padding:28px 0 25px;margin-bottom:24px}.page-heading p{font-size:14px}.page-heading h1{font-size:30px;line-height:1.45;overflow-wrap:anywhere}.page-heading .eyebrow{font-size:10px}.section-heading{gap:12px;flex-wrap:wrap}.section-heading h2{font-size:21px}.section-heading>a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
 .home-grid{display:block}.left-rail{margin-bottom:20px}.rail-label,.rail-note,.rail-stats{display:none}.section-nav{display:flex;flex-direction:row;overflow-x:auto;gap:8px;padding:4px 3px 9px;scrollbar-width:thin}.section-nav a{flex-shrink:0;min-height:44px;font-size:13px;padding:9px 13px;border:1px solid var(--line)}.section-nav a>span,.section-nav a small{display:none}
 .masthead{padding-top:16px}.masthead h1{font-size:clamp(38px,10.8vw,58px);letter-spacing:-2px;line-height:1.2}.masthead-main{padding:24px 0 26px}.masthead-main p{font-size:13px;max-width:70%;line-height:1.9}.headline-kicker{font-size:11px;letter-spacing:.7px}.issue-line{font-size:8px;letter-spacing:.2px;gap:12px}.issue-line>span:first-child{max-width:47%}.masthead-art{position:absolute;width:95px;height:80px;top:65px;right:0;background:none;margin:0}.sticker{font-size:11px;left:0;top:5px;padding:6px;border-width:1px;box-shadow:2px 2px 0 var(--ink)}.masthead-art svg{width:60px;top:28px;left:16px}.art-note{display:none}.ticker{gap:8px}.ticker strong{font-size:10px;flex-shrink:0}.ticker>span:nth-of-type(2){font-size:11px}.ticker>a{display:none}
 .trouble-launchers{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:5px 7px 10px 0;margin-bottom:23px}.trouble-launchers>a{padding:16px;scroll-snap-align:start}.trouble-launchers strong{font-size:19px}.trouble-launchers small{font-size:12px}
 .feed-heading h2{font-size:22px}.feed-heading h2 span{font-size:9px}.feed-tabs{gap:25px;font-size:13px;height:56px}.feed-tabs>span{display:none}.search{height:48px}.search input{font-size:16px;min-height:44px}.search button{min-width:50px;min-height:44px;font-size:12px}.post-card{padding:22px 0}.post-card h2{font-size:19px;line-height:1.65}.excerpt{font-size:14px;line-height:1.85}.post-meta{font-size:11px;gap:8px}.post-meta time{font-size:10px}.byline{font-size:12px}.post-bottom{gap:12px;flex-wrap:wrap}.counts{font-size:12px;gap:14px;min-height:34px;margin-left:auto}.stamp{font-size:11px}.tiny-avatar{width:25px;height:25px}.account-verified{font-size:10px}
 .right-rail{display:block;margin-top:25px}.right-rail>section:not(.mood-card),.right-rail>.rail-signoff{display:none}.mood-card{padding:18px;transform:none}.mood-card form{display:flex;flex-direction:column;gap:9px}.mood-card button{min-height:46px;font-size:13px;padding:10px 14px}.mood-card h3{font-size:23px}.mood-card h3 br{display:none}.mood-card>p,.mood-foot{font-size:12px}
 .detail-wrap{margin:24px auto}.detail h1{font-size:28px;line-height:1.5}.body-text,.detail>.body-text,.material-entry>.body-text{font-size:15px;line-height:1.95}.detail-actions{gap:9px}.detail-actions>.form-note{width:100%;margin:4px 0}.comment .body-text{font-size:14px}.comment-links{gap:18px;font-size:12px}.comment-links .text-button{font-size:12px}.poll{padding:17px 12px}.poll>p{font-size:12px}.poll-option{min-height:56px;flex-wrap:wrap;padding:12px;gap:10px;font-size:14px}.poll-option span{width:100%}.poll-option b{font-size:11px}.poll-option meter{min-width:60px}.attachments{grid-template-columns:1fr}.attachments img{height:auto;width:auto;max-width:100%}.resource-card{padding:14px;gap:12px;min-width:0}.resource-card>span:last-child{min-width:0}.resource-card strong{font-size:14px}.resource-card small{font-size:12px}.attachments:has(.resource-card)>a:not(.resource-card){max-width:100%}
 .case-file .section-heading{display:block}.case-file .section-heading>.button{margin-top:14px}.case-file .section-heading h2{font-size:23px}.event-facts{padding:16px}.event-facts .body-text{font-size:14px}.event-banner{flex-wrap:wrap;font-size:11px}.case-counters{gap:16px;font-size:12px}.case-counters strong{font-size:22px}.material-tabs{gap:7px}.material-tabs a{min-height:44px;display:flex;align-items:center;padding:8px 10px;font-size:12px}.material-entry h3{font-size:20px}.source-note{font-size:12px}.material-footer{font-size:12px}.material-footer a{min-height:44px;display:inline-flex;align-items:center;margin-left:0}.material-composer>h3{font-size:22px}
 .class-grid,.account-grid,.auth-grid{grid-template-columns:1fr;gap:18px}.class-filter{flex-wrap:wrap;gap:12px}.class-filter label{width:calc(50% - 6px)}.fields-three{grid-template-columns:1fr;gap:0}.class-card p{font-size:14px}.class-card a.text-link{display:inline-flex;min-height:44px;align-items:center}.teaching-head{flex-wrap:wrap}.teaching-head small{margin:0}.form-actions{flex-wrap:wrap;gap:15px}.upload-box{padding:7px 12px}.upload-box input[type=file]{font-size:14px;min-height:48px}fieldset{padding:14px 12px;margin:24px 0}
 .entry-layout{display:block;max-width:460px;margin:24px auto 32px}.entry-note{padding:0;margin-bottom:24px}.entry-note h1{font-size:34px;line-height:1.3;margin:14px 0}.entry-note h1 br,.entry-note>p br{display:none}.entry-note>p{font-size:13px}.entry-scribble,.entry-note>small{display:none}.entry-card{padding:0 18px 23px;box-shadow:3px 3px 0 #e4dccc}.entry-tabs a{min-height:52px;font-size:14px}.entry-email{font-size:12px}.entry-email small{font-size:11px}.entry-privacy,.entry-footnote{font-size:12px}.entry-recover{min-height:44px;display:flex;align-items:center;justify-content:flex-end;font-size:12px}.entry-card .google-signin{font-size:14px;min-height:48px}
 .account-shortcuts{gap:8px 16px}.account-shortcuts a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.verification-panel{padding:20px!important}.binding-info p{font-size:12px}.binding-info h3{font-size:14px}.binding-status{font-size:10px}.binding-email>summary{min-height:46px;padding:12px 0;font-size:13px}.binding-google>.button{min-height:44px;font-size:12px}.weight-badge{font-size:11px}.login-settings .eyebrow{font-size:10px}.verification-forms label{font-size:13px}.backup-login{font-size:12px}.backup-login summary{min-height:44px;padding:9px 0}
 .md-toolbar{padding:5px;gap:2px}.md-toolbar button{min-height:44px;min-width:40px;font-size:12px;padding:6px}.md-preview{font-size:14px;max-height:55svh}.md-editor textarea{font-size:16px}.markdown-body table{font-size:13px}.markdown-body pre{font-size:13px}.rules{margin-top:24px}.rules h1{font-size:31px}.rules h2{font-size:21px}.rules p{font-size:14px}.rules-promise{padding:18px 14px}.rules-promise p{font-size:14px}.rules-promise p:last-child{font-size:12px}.community-intro h2{font-size:22px}.community-intro p{font-size:14px}.community-intro>a{min-height:44px;font-size:13px}
 .admin-status{grid-template-columns:1fr;gap:12px}.admin-status p{font-size:13px}.table-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.table-scroll table{min-width:560px;font-size:12px}details>summary{min-height:44px;cursor:pointer;padding-top:9px;padding-bottom:9px}.paper>form select{min-width:0}
 dialog{max-height:calc(100dvh - 30px);overflow-y:auto;overscroll-behavior:contain;padding:23px 18px;width:calc(100% - 24px)}dialog h2{font-size:23px}dialog p{font-size:13px}dialog .button{width:100%}
}
@media(max-width:480px){.fields-two{grid-template-columns:1fr;gap:0}.fields-two label:first-child{margin-top:18px}.issue-line>span:first-child{display:none}.issue-line>span:last-child{width:100%;text-align:right}.post-meta time{margin-left:0}.page-heading .eyebrow{letter-spacing:1px}.class-filter label{width:100%}.md-toolbar{gap:0}.md-toolbar button{min-width:36px;padding:5px}.binding-google{gap:10px}}
@media(max-width:359px){.shell{padding:0 12px}.wordmark{font-size:17px}.school-crest{width:26px;height:26px;margin-right:5px}.topbar-inner{padding:0 8px}.top-actions .search-link{width:36px}.login-link{font-size:10px}.wordmark>i{font-size:7px;margin-left:4px}.paper{padding:20px 14px}.entry-card{padding:0 13px 22px}.md-toolbar button{font-size:11px;min-width:32px}.entry-card .cf-turnstile{margin-left:-8px}}
@media(min-width:768px) and (max-width:950px) and (pointer:coarse){.shell{padding:0 24px}.home-grid{grid-template-columns:145px minmax(0,1fr);gap:20px}.button,.chip{min-height:44px}input:not([type=checkbox]),textarea,select{font-size:16px}.topbar{height:64px}.masthead h1{font-size:48px}.masthead-art{width:190px}.entry-layout{gap:25px;grid-template-columns:1fr 390px}.account-grid{grid-template-columns:1fr}.fields-two{min-width:0}}
@media(prefers-reduced-motion:reduce){.mobile-nav{transition:none}}

@media(max-width:767px){.cf-turnstile{margin:14px 0;max-width:100%}.reputation-progress{border-top:1px dashed var(--line);margin-top:20px;padding-top:16px}.reputation-progress h3{font-size:15px}.reputation-progress p{font-size:12px;line-height:1.9;margin:10px 0}.reputation-progress .text-link{display:inline-flex;min-height:44px;align-items:center}}

/* The heart's extracurricular newspaper. Local type, CSS stationery, no media downloads. */
#main[data-board=love]{--love-pink:#ead5cc;--love-dark:#77332b;--love-rule:#d9c5b9}
.love-heading{padding:24px 0 0;margin:0;border:0}
.love-issue{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;color:var(--muted);font-size:11px;letter-spacing:1px}
.love-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;align-items:center;padding:54px 0 48px}
.love-hero .eyebrow{font-size:11px;letter-spacing:2px;color:var(--love-dark)}
.love-hero h1{font-size:clamp(34px,4.4vw,62px);line-height:1.32;letter-spacing:-2.5px;font-weight:900;margin:20px 0}
.love-hero h1 span{color:var(--love-dark);position:relative;white-space:nowrap}.love-hero h1 span:after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:8px;border-top:2px solid #b67260;border-radius:50%;transform:rotate(-2deg)}
.love-hero p{font-size:14px;color:#776b60;line-height:1.9;margin:22px 0}
.love-hero-actions{display:flex;gap:26px;align-items:center;margin-top:28px}.love-hero .button{margin:0;background:var(--love-dark);border:1px solid var(--love-dark);box-shadow:3px 3px 0 #c7a294;padding:13px 21px;font-size:14px;display:inline-flex;gap:35px}
.love-browse{font-size:13px;color:var(--love-dark);padding:12px 0;border-bottom:1px solid #b49b8c;display:inline-flex;align-items:center;min-height:44px}
.love-envelope-scene{position:relative;min-height:310px;display:flex;align-items:end;justify-content:center;padding-bottom:18px;background:radial-gradient(#c9bbaa 1px,transparent 1px);background-size:16px 16px;background-clip:content-box}
.love-envelope{position:relative;width:300px;height:180px;background:#dbc2b1;transform:rotate(-7deg);box-shadow:9px 12px 0 #b8a38926}
.love-letter{position:absolute;bottom:33px;left:22px;right:22px;height:224px;background:repeating-linear-gradient(transparent 0 27px,#d6bcb150 27px 28px),#fff9ec;padding:22px 22px;transform:rotate(3deg);box-shadow:0 0 0 1px #d7c5b5}
.love-letter>span{font-size:10px;letter-spacing:1.3px;color:#8e655a}.love-letter strong{font-family:"Kaiti SC",KaiTi,STKaiti,serif;font-size:25px;line-height:1.6;display:block;margin:16px 0;color:var(--love-dark)}.love-letter small{font-size:10px;color:#97796a}
.love-envelope-front{position:absolute;inset:0;background:#e3ccba;clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%)}.love-envelope-front:after{content:'';position:absolute;inset:0;background:#edd9c9;clip-path:polygon(0 100%,50% 42%,100% 100%)}
.love-seal{position:absolute;left:calc(50% - 23px);top:86px;width:46px;height:46px;border-radius:50%;background:#873c35;color:#f5dfcc;font-size:30px;text-align:center;line-height:43px;box-shadow:0 0 0 3px #873c3530}
.love-scribble{position:absolute;right:15%;top:0;font:15px "Kaiti SC",KaiTi,serif;color:var(--love-dark);transform:rotate(7deg)}.love-postmark{position:absolute;bottom:0;right:2%;border:2px solid #8d51455c;border-radius:50%;padding:15px 12px;font-size:10px;line-height:1.7;letter-spacing:2px;color:#945f53;transform:rotate(12deg)}
.love-privacy-strip{display:flex;gap:16px;align-items:start;background:#e5dfd0;border:1px solid #d6cbbb;padding:18px 24px;margin-bottom:42px}.love-lock{font-size:30px;color:var(--love-dark);line-height:1}.love-privacy-strip strong{font-size:13px;font-weight:650}.love-privacy-strip p{font-size:12px;line-height:1.9;color:#776c5f;margin:5px 0 0}.love-privacy-strip summary{font-size:11px;color:#776557;font-weight:400;padding:6px 0 0;text-decoration:underline;text-underline-offset:4px}.love-privacy-strip details p{max-width:740px;padding-top:5px}
.love-feed-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a69784;padding:0 0 16px;gap:15px;scroll-margin-top:100px}.love-feed-heading h2{font-size:21px;letter-spacing:-.5px}.love-feed-heading h2 span{font:9px monospace;letter-spacing:1.5px;color:#8b8072;margin-left:12px}.love-feed-heading>span{font-size:11px;color:var(--muted)}
.love-feed{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:30px 0 8px}
.love-card{position:relative;background:#fff9ed;border:1px solid #ddd0be;padding:27px 24px 18px;display:flex;flex-direction:column;min-width:0;box-shadow:2px 4px 0 #c5b9a623;transition:transform .18s,box-shadow .18s}
.love-card:before{content:'';position:absolute;top:-7px;left:calc(50% - 23px);width:46px;height:15px;background:#d1bca071;transform:rotate(-5deg)}.love-card:nth-child(3n+2){background:#f4e6df}.love-card:nth-child(3n+3){background:#ebedde}.love-card:nth-child(2n):before{transform:rotate(6deg)}
.love-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;letter-spacing:.6px;color:#897568}.love-card-top>span{color:var(--love-dark)}
.love-card h2{font-size:20px;font-weight:750;line-height:1.65;margin:22px 0 12px;overflow-wrap:anywhere}.love-card h2 a{text-decoration:none}.love-card h2 a:hover{color:var(--love-dark)}
.love-card-excerpt{font-size:13px;line-height:1.9;color:#7c6d61;max-height:101px;overflow:hidden;overflow-wrap:anywhere;margin:0 0 16px}.love-card-excerpt>*{margin:0!important;font-size:inherit!important;line-height:inherit!important}.love-card-excerpt strong{color:#5e4d43}.love-card-excerpt a{pointer-events:none;text-decoration:none;color:inherit}.love-card-excerpt pre,.love-card-excerpt table{display:none}
.love-read{font-size:11px;color:var(--love-dark);display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:auto;padding-bottom:6px}.love-read span{font-size:19px}.love-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed #cebcac;padding-top:14px;font-size:10px;color:#89776a}.love-sender{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.love-card-bottom>span:last-child{white-space:nowrap}
.love-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:65px;min-height:285px;border:1px dashed #c3b39e;background:#f3eddf;padding:35px}.love-empty-note{position:relative;flex-shrink:0;background:#fff8e8;border:1px solid #ddccad;transform:rotate(-7deg);padding:26px 24px 40px;font:19px/1.7 "Kaiti SC",KaiTi,serif;color:#8b6c57;box-shadow:4px 5px 0 #c3ad8a20}.love-empty-note span{position:absolute;right:16px;bottom:2px;font-size:36px;color:#a66757}.love-empty .eyebrow{font-size:10px;color:#95826e;letter-spacing:1px}.love-empty h2{font-size:25px;line-height:1.6;margin:10px 0}.love-empty p{font-size:13px;line-height:1.9;color:#8b7b68;margin-bottom:10px}
.love-editor-heading{max-width:820px;margin:0 auto;padding:32px 0 25px;border:0}.love-editor-heading .back{display:block;margin-bottom:28px}.love-editor-heading h1{font-size:36px;margin:13px 0}.love-editor-path{display:flex;gap:15px;align-items:center;font-size:11px;color:#9c7b67;margin-top:25px}.love-editor-path i{font-style:normal;color:#baa78f}.love-editor-path span:first-child{color:var(--love-dark)}
.love-composer{max-width:820px;margin:0 auto 35px;padding:36px 42px;background:#fff9ee;border:1px solid #dbccba;box-shadow:5px 6px 0 #d2c4b42e;position:relative}.love-composer:before{content:'';position:absolute;left:30px;right:30px;top:0;border-top:4px solid #a17164}
.love-composer .love-step{border-color:#dfd1c0;padding-top:27px;margin-top:32px}.love-composer .love-step:first-child{padding-top:0;margin-top:0}.love-step h2{font-size:23px;margin-bottom:9px}.love-step>span{letter-spacing:1.2px;color:#a47765}.love-composer label{font-size:13px}.love-composer input:not([type=checkbox]),.love-composer textarea{background:#fffdf6;border-color:#d9cbbb;border-radius:4px}.love-composer textarea[name=body]{background:repeating-linear-gradient(transparent 0 31px,#ddd0be45 31px 32px),#fffdf6;line-height:32px;min-height:220px}.love-composer .love-private-toggle{padding:17px;background:#f0e5d8;border:1px solid #dfc9b6;border-radius:4px;margin:28px 0}.love-question{background:#f6f0e5;border:1px solid #e0d4c2;border-radius:4px;display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.love-composer .love-note{background:#f1e9dc;border-color:#b48c76}.love-composer .form-actions{border-top:1px solid #dfd1c0;padding-top:24px;margin-top:30px}.love-composer .form-actions>.button{font-size:13px;background:var(--love-dark);border:1px solid var(--love-dark);box-shadow:3px 3px 0 #c7a294}
#main[data-board=love] .detail{background:#fff9ee;border-color:#ddcdbc;box-shadow:4px 5px 0 #c9b69d25}#main[data-board=love] .detail h1{font-size:32px;line-height:1.6}#main[data-board=love] .detail>.body-text{line-height:2.1}
.love-gate{border:1px solid #cfb8a6;border-top:3px solid #a87a68;background:#f1e7d9;padding:28px;border-radius:0 0 5px 5px}.love-gate .eyebrow{font-size:10px;letter-spacing:1px}.love-gate h2{font-size:24px}.love-gate label{font-size:13px}.love-gate input{background:#fffaf1;border-color:#d4bfaa}.love-gate .button{font-size:13px;box-shadow:2px 2px 0 #af8c77;border-width:1px}
.private-love .paper{background:#fff9ed;border-color:#d6c1ae;border-top:4px solid #a17164}.private-contact{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:baseline;gap:16px;border-top:1px dashed #d6c1ae;border-bottom:1px dashed #d6c1ae;padding:20px 0}.private-contact dt,.private-contact dd{margin:0}.private-love h1{font-size:27px}
.love-composer form>.love-step:first-of-type{padding-top:0;margin-top:0;border-top:0}
@media(hover:hover){.love-card:hover{transform:translateY(-3px);box-shadow:3px 7px 0 #c5b9a633}}
@media(max-width:1050px){.love-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.love-hero{gap:16px}.love-envelope{width:250px;height:160px}.love-letter{height:200px;padding:16px}.love-letter strong{font-size:23px}.love-seal{top:75px}.love-hero h1{font-size:43px}.love-postmark{right:0}}
@media(max-width:767px){
 .love-heading{padding-top:17px}.love-issue{font-size:9px;letter-spacing:.3px;padding-bottom:12px;gap:8px}.love-hero{display:block;padding:27px 0 24px;position:relative}.love-hero .eyebrow{font-size:9px;letter-spacing:1.3px}.love-hero h1{font-size:clamp(29px,8vw,43px);letter-spacing:-1.4px;margin:17px 0 18px;line-height:1.4}.love-hero p{font-size:13px;margin:20px 0;line-height:1.9}.love-hero-actions{margin-top:23px;gap:22px}.love-hero .button{font-size:13px;gap:23px;padding:12px 17px}.love-browse{font-size:12px}
 .love-envelope-scene{position:absolute;right:3px;top:154px;min-height:0;width:83px;height:89px;padding:0;background:none;pointer-events:none}.love-envelope{width:76px;height:48px;box-shadow:3px 4px 0 #b8a38926;transform:rotate(9deg)}.love-letter{bottom:10px;left:6px;right:6px;height:57px;padding:5px;background:#fff9ec;transform:rotate(-4deg)}.love-letter>span{font-size:5px;letter-spacing:0;display:block}.love-letter strong{font-size:8px;line-height:1.5;margin:3px 0}.love-letter small,.love-scribble,.love-postmark{display:none}.love-seal{top:24px;left:calc(50% - 8px);width:16px;height:16px;font-size:12px;line-height:15px;box-shadow:none}
 .love-hero p{max-width:calc(100% - 80px)}.love-privacy-strip{gap:10px;padding:15px;margin-bottom:27px}.love-lock{font-size:24px}.love-privacy-strip strong{font-size:12px}.love-privacy-strip p{font-size:11px}.love-privacy-strip summary{font-size:11px;min-height:36px;display:flex;align-items:center}.love-privacy-strip summary:before{content:'＋';margin-right:6px}.love-privacy-strip details[open] summary:before{content:'−'}.love-feed-heading{padding-bottom:13px}.love-feed-heading h2{font-size:19px}.love-feed-heading h2 span{display:none}.love-feed-heading>span{font-size:10px}.love-feed{grid-template-columns:1fr;gap:22px;padding-top:25px}.love-card{padding:23px 21px 17px}.love-card h2{font-size:21px;margin:17px 0 12px}.love-card-excerpt{font-size:14px;max-height:106px}.love-card-top{font-size:10px}.love-card-bottom{font-size:11px}.love-read{font-size:12px}.love-empty{gap:24px;padding:32px 19px;min-height:220px}.love-empty-note{font-size:14px;padding:18px 13px 35px}.love-empty h2{font-size:19px}.love-empty p{font-size:12px}.love-empty .eyebrow{font-size:9px;letter-spacing:0}.love-empty .love-browse{font-size:12px}
 .love-editor-heading{padding:22px 0}.love-editor-heading .back{margin-bottom:23px}.love-editor-heading h1{font-size:27px;line-height:1.5}.love-editor-heading .eyebrow{font-size:9px;letter-spacing:1px}.love-editor-heading p{font-size:13px}.love-editor-path{gap:12px;font-size:11px;margin-top:18px}.love-composer{padding:25px 18px;box-shadow:3px 4px 0 #d2c4b42e}.love-composer:before{left:18px;right:18px}.love-step h2{font-size:22px}.love-step>span{font-size:10px}.love-question{grid-template-columns:1fr;gap:0;padding:0 13px 18px}.love-question label+label{margin-top:14px}.love-composer .love-private-toggle{padding:13px}.love-composer .love-private-toggle span{font-size:12px}.love-composer .form-actions{gap:22px}.love-gate{padding:21px 16px}.love-gate h2{font-size:22px}#main[data-board=love] .detail h1{font-size:27px}.private-love h1{font-size:25px}.private-contact{grid-template-columns:60px minmax(0,1fr);gap:14px}.private-contact dd{font-size:18px}
}
@media(max-width:359px){.love-empty{gap:15px;padding:26px 12px}.love-empty-note{font-size:12px;padding:16px 10px 32px}.love-empty h2{font-size:17px}.love-hero-actions{gap:18px}.love-hero .button{gap:18px}.love-envelope-scene{top:150px;right:0}}
@media(prefers-reduced-motion:reduce){.love-card{transition:none}.love-card:hover{transform:none}}

/* After Hours: one coherent theme. Functional layout and safe-area rules live in mobile.css. */
:root{color-scheme:dark;--paper:#191716;--white:#24201e;--ink:#f2ebe3;--red:#d3a19d;--muted:#b5a9a2;--line:#403633;--yellow:#e3cbb4;--accent:#dfb2ae;
 --action-bg:#85424b;--action-border:#a65e66;--action-hover:#9a505b;--action-ink:#fff3ec;--surface:#2d2624;--font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
body{background:var(--paper);color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}::selection{background:#79474d;color:white}a,button{transition:color .15s,background .15s,border-color .15s}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{max-width:1240px;padding:0 40px}.ui-icon{width:21px;height:21px;flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.muted,.form-note{color:var(--muted)}
/* A quiet, fixed shell lets the content carry the personality. */
.topbar{height:76px;background:#191716f5;border-bottom:1px solid #3c322e}.topbar-inner{max-width:1240px;padding:0 40px;gap:34px}.wordmark{font-size:23px;letter-spacing:-1px;font-weight:850;color:var(--ink)}.wordmark>span{color:var(--red)}.wordmark>i{writing-mode:horizontal-tb;font-size:9px;letter-spacing:0;border:1px solid #534642;background:none;color:var(--muted);border-radius:4px;padding:3px 5px;transform:none;margin-left:9px}.school-crest{width:32px;height:32px;margin-right:10px;border:0;border-radius:50%;padding:1px;background:#ede7de;transform:none;box-shadow:none}.wordmark:hover .school-crest{transform:none}.toplinks{gap:25px;font-size:12px}.toplinks a{color:var(--muted)}.toplinks a:hover,.toplinks [aria-current]{color:var(--ink)}.toplinks [aria-current]:after{height:2px;background:var(--accent);bottom:-28px}.top-actions{gap:19px}.search-link{display:flex;align-items:center;justify-content:center;width:32px;height:40px;color:var(--muted)}.login-link{font-size:12px;color:var(--ink)}.avatar{background:#382727;border:1px solid #775052;color:var(--accent)}
.button,.button.small,.button.entry-submit,.love-hero .button,.love-composer .form-actions>.button,.love-gate .button{background:var(--action-bg);border:1px solid var(--action-border);color:var(--action-ink);border-radius:6px;box-shadow:none;transform:none;font-weight:700;font-size:13px;padding:12px 20px;min-height:44px;letter-spacing:0}.button:hover,.love-hero .button:hover,.love-gate .button:hover{background:var(--action-hover);border-color:var(--action-border);color:var(--action-ink);box-shadow:none;transform:none}.button.small{font-size:12px;padding:9px 14px;min-height:38px}.button.secondary,.love-gate .button.secondary{background:var(--surface);color:var(--ink);border-color:#5a4944;box-shadow:none}.button.secondary:hover{background:#382f2c;color:var(--ink)}.chip{border:1px solid #544640;background:#2f2825;color:var(--ink);border-radius:5px}.stamp,.stamp.fun,.stamp.class,.stamp.love{background:#322a27;color:#d5c6bd;border:1px solid #493e39;border-radius:4px;font-weight:500;font-size:10px;padding:2px 8px}.stamp.event{background:#3b2829;border-color:#71474a;color:#e5b6b0;transform:none}.text-link{color:var(--accent)}
/* Editorial masthead: shorter than a landing page, distinct from the discussion list. */
.masthead{padding-top:22px;margin-bottom:0}.issue-line{border:0;padding:0;color:#b4a7a0;font-size:10px;letter-spacing:.7px;align-items:center}.issue-line>span:first-child{display:flex;align-items:center;gap:8px}.issue-line b{padding:0}.issue-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.masthead-main{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;padding:35px 0 36px;align-items:center}.headline-kicker{font-size:11px;font-weight:500;letter-spacing:1px;color:var(--muted);margin-bottom:14px}.headline-kicker>span{font-size:8px;letter-spacing:1.8px;color:#b4a7a0;margin-left:8px}.masthead h1{font-family:var(--font);font-size:clamp(40px,4.4vw,60px);font-weight:850;line-height:1.18;letter-spacing:-2px}.underline-red{color:var(--red)}.underline-red:after{display:none}.masthead-main p{font-size:13px;line-height:1.9;letter-spacing:0;color:var(--muted);margin-top:18px}.hero-write{display:inline-flex;align-items:center;gap:25px;color:var(--accent);font-size:12px;margin-top:20px;min-height:36px}.hero-write>span{font-size:18px}.night-note{align-self:center;position:relative;background:#24201e;border:1px solid #4c403a;border-radius:9px;padding:22px 25px;transform:rotate(2deg);box-shadow:8px 8px 0 #211c1a;max-width:380px;justify-self:end;width:100%}.night-note:before{content:'';width:44px;height:3px;background:var(--red);position:absolute;top:-1px;left:25px}.night-note-top{display:flex;justify-content:space-between;font:10px/1.4 Consolas,monospace;color:#c4b7af;letter-spacing:1px}.night-note .night-note-label{font-size:10px;margin-top:23px;color:#b9aaa2}.night-note>strong{font-size:29px;font-weight:650;line-height:1.4;letter-spacing:-1px;display:block;margin-top:6px}.night-note>p:not(.night-note-label){font-size:11px;line-height:1.8;margin-top:10px}.night-note-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px dashed #52443e;padding-top:14px;margin-top:22px;font-size:9px;color:#bcada4}.night-note-bottom b{font:14px Consolas,monospace;color:var(--ink);margin-right:3px}.night-note-bottom i{display:inline-block;width:5px;height:5px;background:var(--red);border-radius:50%;margin-left:5px}
.trouble-launchers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 38px;padding:0;box-shadow:none;border:1px solid var(--line);border-radius:8px;background:#221e1c;overflow:hidden}.trouble-launchers>a,.trouble-launchers>a:nth-child(2){display:flex;flex-direction:row;align-items:center;gap:16px;background:transparent;border:0;border-right:1px solid var(--line);padding:19px 23px;box-shadow:none;transform:none}.trouble-launchers>a:last-child{border:0}.trouble-launchers>a:hover{background:#2e2724;transform:none}.trouble-launchers .launcher-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:38px;font:24px Georgia,serif;color:var(--red);background:#3c292a;border-radius:6px}.trouble-launchers>a:nth-child(2) .launcher-icon{background:#38302b;color:var(--accent)}.trouble-launchers>a:nth-child(3) .launcher-icon{background:#342c2c;color:#d6bdb6}.trouble-launchers>a>div{flex:1;min-width:0}.trouble-launchers strong{display:flex;justify-content:space-between;gap:8px;font-size:14px;letter-spacing:0;font-weight:650;line-height:1.5}.trouble-launchers strong b{font-weight:400;color:var(--muted)}.trouble-launchers small{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.7}
/* Filtered boards do not repeat the home cover. */
.board-masthead{padding:29px 0}.board-masthead h1{font-size:34px;line-height:1.4;letter-spacing:-.8px;margin-top:9px}.board-masthead p{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.9}
/* Two columns and an inline board switcher, no duplicate third rail. */
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;grid-template-areas:'nav side' 'feed side';column-gap:42px;row-gap:18px;align-items:start}.left-rail{grid-area:nav;padding:0;margin:0;min-width:0}.left-rail .rail-label,.rail-note,.rail-stats{display:none}.section-nav{flex-direction:row;gap:4px;overflow:auto;padding:0 0 10px;border-bottom:1px solid var(--line);scrollbar-width:thin}.section-nav a{flex-shrink:0;gap:0;padding:8px 12px;min-height:40px;border:0;border-radius:5px;font-size:12px;font-weight:500;color:var(--muted);background:transparent}.section-nav a>span,.section-nav a small{display:none}.section-nav a.selected{background:#d9a4a21c;color:var(--accent);box-shadow:none;transform:none}.section-nav a:hover:not(.selected){background:#2e2724;color:var(--ink)}.feed{grid-area:feed}.feed-heading{padding:0;border:0;margin-bottom:16px}.feed-heading h2{font-size:21px;font-weight:650;letter-spacing:-.5px}.feed-heading h2 span{font-size:8px;color:var(--muted);font-weight:400;letter-spacing:1.4px}.search{background:#24201e;border:1px solid var(--line);border-radius:6px;height:43px}.search input:not([type=checkbox]){background:transparent;color:var(--ink);font-size:13px}.search button{color:var(--muted)}.search:focus-within{border-color:#bc8b87;outline:1px solid #bc8b87}.feed-tabs{height:56px;gap:26px;border-bottom:1px solid var(--line);font-size:12px}.feed-tabs a{color:var(--muted)}.feed-tabs a.active{color:var(--accent);font-weight:600}.feed-tabs a.active:after{background:var(--accent);height:2px}.feed-tabs>span{font-size:10px;color:var(--muted)}.post-card{padding:24px 0;border-bottom:1px solid #3b322e;background:transparent}.post-card:hover{background:transparent}.post-card h2{font-size:19px;line-height:1.6;font-weight:650;letter-spacing:0;margin:12px 0 8px;color:var(--ink)}.post-card h2 a:hover{color:var(--accent)}.post-meta,.post-meta time{font-size:11px;color:var(--muted)}.excerpt{color:#c2b6af;font-size:13px;line-height:1.9}.post-bottom{margin-top:16px;gap:12px}.byline,.byline small,.counts{color:var(--muted);font-size:11px}.tiny-avatar{background:#392d2a;color:#d6c3bb;border-radius:50%;font-size:15px;width:23px;height:23px}.counts{gap:16px}.counts .go-arrow{display:none}.heat-note{color:var(--muted)}.feed .empty{border:1px dashed #52443e;background:#211d1b;margin-top:22px;border-radius:8px;box-shadow:none;padding:44px 24px}.empty h3{font-weight:600;font-size:20px}.empty p{color:var(--muted);line-height:1.9}.empty-icon{font-size:28px;color:var(--red)}.pagination{font-size:11px;line-height:1.8}
.right-rail{grid-area:side;gap:25px;display:flex}.mood-card{background:#25201e;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:none;transform:none}.small-heading{font-size:12px;font-weight:600;color:var(--muted)}.mood-card h3{font-size:25px;font-weight:600;line-height:1.4;margin-top:20px;letter-spacing:-.7px}.mood-card>p{color:var(--muted);font-size:11px;margin:10px 0 20px}.mood-card button{background:#2f2825;border:1px solid #4c3e39;border-radius:5px;font-size:12px;color:#ded1c8;padding:10px}.mood-card button:hover{background:#3a2c2a;border-color:#795250}.mood-card button small,.mood-foot{color:var(--muted)}.hot-card{padding:0 4px}.hot-card .small-heading{border-bottom:1px solid var(--line)}.hot-card>a{border-color:var(--line)}.hot-card b{font:15px Consolas,monospace;color:var(--red)}.hot-card small{color:var(--muted);font-size:10px}.hot-card>.muted{padding-top:15px;font-size:12px}.notice-card{border:0;border-left:2px solid #78534f;background:transparent;transform:none;margin:0;padding:4px 0 4px 18px}.notice-card .tape{display:none}.notice-card h3{font-family:var(--font);font-size:19px;font-weight:600;line-height:1.5;color:var(--ink)}.notice-card p:not(.eyebrow){color:var(--muted);font-size:11px}.notice-card a{color:var(--accent);font-size:11px}.rail-signoff{color:var(--muted);font-size:9px}.community-intro{border-top:1px solid var(--line);margin-top:40px;padding-top:28px;max-width:100%}.community-intro h2{font-size:20px;font-weight:600;margin-top:10px}.community-intro p{font-size:12px;line-height:2;color:var(--muted);max-width:850px}.community-intro>a{color:var(--accent)}
/* Common reading, form, archive and account surfaces. */
.page-heading{padding:38px 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}.page-heading h1{font-family:var(--font);font-size:36px;font-weight:700;line-height:1.4;letter-spacing:-1px;margin-top:10px;color:var(--ink)}.page-heading p{font-size:13px;line-height:1.9;color:var(--muted)}.compact h1{font-size:32px}.heading-aside{color:var(--red)}.back{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);font-size:12px}.paper{border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:none;padding:30px}.paper h2{font-weight:650}.paper h3{font-weight:600}.narrow{max-width:820px}.editor{max-width:820px;margin-left:auto;margin-right:auto;border-top:1px solid var(--line)}#main[data-view=editor]>.page-heading{max-width:820px;margin-left:auto;margin-right:auto}.editor fieldset{border-color:#52443e;border-radius:6px}.editor legend{font-size:13px;color:var(--red)}label{font-size:13px;font-weight:500}input:not([type=checkbox]),textarea,select,.entry-card input:not([type=checkbox]),.verification-forms input,.love-composer input:not([type=checkbox]),.love-composer textarea,.love-gate input{color-scheme:dark;background:#1c1816;color:var(--ink);border:1px solid #554641;border-radius:5px;box-shadow:none}input::placeholder,textarea::placeholder{color:#a99a92;opacity:1}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c68d8d;outline-offset:2px}input[type=checkbox]{accent-color:#c68d8d}.form-note{font-size:12px;line-height:1.9}.form-actions{border-top:1px solid var(--line);padding-top:22px}.form-error,.verification-feedback{color:#ffafa2}.md-toolbar{background:#342b27;border-color:#554640;border-radius:5px 5px 0 0}.md-toolbar button{color:var(--ink);border-radius:4px}.md-toolbar button:hover,.md-toolbar button[aria-expanded=true]{background:#4a3c37;color:var(--accent)}.md-preview{background:#201b19;border-color:#554641}.md-hint{color:var(--muted)}.upload-box{background:#2d2624;border:1px dashed #5a4a44;border-radius:6px}.alert,.rules-promise{background:#322b24;border:1px solid #705a44;color:#e5c8a7;border-radius:6px}.form-note a{color:var(--accent)}
.board-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0;background:none}.board-directory>a,.board-directory>a:nth-child(odd),.board-directory>a:nth-child(3),.board-directory>a:last-child{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:none;transform:none;min-height:220px}.board-directory>a:hover,.board-directory>a:nth-child(3):hover{background:#2c2523;border-color:#745350;transform:none;box-shadow:none}.board-directory>a:last-child{grid-column:1/-1;background:#2c2224}.board-directory h2,.board-directory>a:last-child h2{font-size:24px;font-weight:600;line-height:1.5;margin:24px 0 10px}.board-directory p,.board-directory>a:nth-child(3) p{font-size:13px;color:var(--muted);line-height:1.9;max-width:90%}.directory-arrow,.board-directory>a:nth-child(3) .directory-arrow{font-size:12px;color:var(--accent);margin-top:24px}.directory-number,.board-directory>a:last-child .directory-number{font:42px Consolas,monospace;opacity:1;color:#a18d85;top:23px;right:26px}.class-card{background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:none;padding:27px}.class-card h2{font-size:23px}.class-card h2 b{color:var(--red)}.class-card p{color:var(--muted)}.term,.class-card .term{background:#39302a;color:#ddc7b8;border-radius:4px}.class-filter{padding-bottom:22px;border-bottom:1px solid var(--line)}
.detail-wrap{max-width:840px;margin:26px auto}.detail{border-top:1px solid var(--line);padding:36px}.detail h1{font-size:32px;line-height:1.5;font-weight:700;letter-spacing:-.6px}.detail>.body-text{font-size:16px;line-height:2;color:#e1d6ce}.detail .byline{color:var(--muted)}.detail-actions{border-color:var(--line)}.markdown-body strong{color:var(--ink);background:transparent;font-weight:750}.markdown-body blockquote{background:#302724;color:#cebbb2;border-left-color:var(--red);border-radius:0 5px 5px 0}.markdown-body code{background:#3a2f2a;color:#e4cbb8}.markdown-body pre{background:#181413;color:#e4cbb8}.markdown-body pre code{background:none;color:inherit}.markdown-body a{color:var(--accent)}.markdown-body th,th{background:#3b302b;color:var(--ink)}.markdown-body td,.markdown-body th,td,th{border-color:#51423c}.event-facts,.poll,.review{background:#2c2523;border:1px solid #50423d;border-radius:6px;color:var(--ink)}.event-facts{border-top:2px solid #a27170}.case-file{border:1px solid var(--line);box-shadow:none;border-radius:8px}.case-file:before{transform:none;border:1px solid #61413c;background:#392a28;color:#f3b0a2;border-radius:4px;font-size:10px}.case-counters{border-color:#594842}.case-counters strong{color:var(--red)}.activity-where,.source-note{background:#3b2f28;color:#e0c8b7;border-radius:4px}.poll-option{background:#392e29;border-color:#584842;color:var(--ink);border-radius:5px}.rating-line,.material-footer{color:var(--muted)}.material-tabs{border-bottom:1px solid var(--line)}.material-tabs a{border-radius:4px}.material-tabs a[aria-current]{background:var(--accent);color:#28191a;border-color:var(--accent)}.material-counter{background:#313a33;color:#c7dbcb}.material-response{background:#413524;border-color:#8b714b;color:#e8d2af}.material-progress{background:#343241;color:#d4d0ed}.resource-card{background:#302724;border:1px solid #5b4a44;border-radius:6px;color:var(--ink)}.resource-card small{color:var(--muted)}.comment{border-color:var(--line)}
.entry-layout{max-width:980px;gap:90px;margin:55px auto}.entry-note{padding-top:32px}.entry-note h1{font-size:43px;font-weight:750;line-height:1.4;letter-spacing:-1.5px}.entry-note h1 span{text-decoration:none;color:var(--red)}.entry-note>p,.entry-note>small{color:var(--muted);font-size:13px;line-height:2}.entry-scribble{border-color:#64524c;font-size:17px;color:var(--red);transform:rotate(-3deg)}.entry-card{background:var(--white);border:1px solid var(--line);border-radius:9px;box-shadow:none;padding:28px}.entry-tabs{border-bottom:1px solid var(--line)}.entry-tabs a{color:var(--muted);font-size:13px}.entry-tabs a[aria-current]{color:var(--accent);border-color:var(--accent)}.entry-title h2{font-size:23px;font-weight:650;line-height:1.5}.entry-title .eyebrow{font-size:10px;color:var(--muted)}.entry-divider,.entry-privacy,.entry-footnote{color:var(--muted);font-size:11px}.entry-divider:before,.entry-divider:after{background:var(--line)}.entry-footnote{border-color:var(--line)}.entry-recover{color:var(--accent)}.button.google-signin{background:#fffaf6;color:#302622;border-color:#d7c6bd;box-shadow:none}.button.google-signin:hover{background:white;color:#18191c}.account-shortcuts{border-bottom:1px solid var(--line);gap:20px}.account-shortcuts a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}.account-settings>.paper{border-top:1px solid var(--line)}.weight-badge{background:#3d2d2d;border-color:#775151;color:#e4c4bb}.account-verified{background:#2e352c;border-color:#52614b;color:#c9d7b5}.account-verified b{border-color:#52614b}.binding-info p,.binding-intro,.binding-caption,.verification-panel .muted{color:var(--muted)}.binding-status{background:#342b27;border-color:#5b4942;color:#d8c8be;border-radius:4px}.binding-email{background:#2e2724;border-color:#53443f;border-radius:6px}.binding-email>summary{color:var(--accent)}.binding-google{border-color:var(--line)}.notification.unread{background:#382b29;border-left-color:var(--accent)}.status-line,.backup-login{color:var(--muted)}.rules{max-width:840px;border-top:1px solid var(--line)}.rules h1{font:700 34px/1.5 var(--font);letter-spacing:-1px}.rules h2{font-size:22px;font-weight:650;color:var(--ink)}.rules p{color:#d0c1b8;line-height:2}.rules-promise p{color:#ddc8ac}output{background:#372c27;color:var(--ink)}dialog{background:#29211e;color:var(--ink);border:1px solid #63504a;border-radius:10px}dialog p{color:var(--muted)}dialog::backdrop{background:#100b0ac9}#toast,.skip:focus{background:#e6cbc2;color:#291b1a;border:1px solid #f1ded6;border-radius:6px}

/* Love wall: rose ink, dark envelopes and warm paper. */
#main[data-board=love] {
  --love-dark: #e2b3b5;
  --love-pink: #332427;
  --love-rule: #594045;
  --love-panel: #292123;
  --love-muted: #c4afb0;
  --love-paper: #ead6c6;
  --love-paper-ink: #704349;
  --accent: var(--love-dark);
  --action-bg: #8d4857;
  --action-border: #ae6976;
  --action-hover: #a25666;
}
.love-issue { border-color: var(--love-rule); color: var(--love-muted); }
.love-hero { padding-top: 28px; }
.love-hero h1 { font-family: var(--font); font-size: 48px; line-height: 1.3; letter-spacing: -1.5px; font-weight: 750; color: var(--ink); }
.love-hero h1 span, .love-browse, .love-lock { color: var(--love-dark); }
.love-hero h1 span:after { display: none; }
.love-hero p { color: var(--love-muted); font-size: 14px; }
.love-browse { border-color: var(--love-rule); }
.love-envelope-scene { background: radial-gradient(ellipse at 54% 57%, #7f4b5326, transparent 65%); min-height: 290px; }
.love-envelope { background: #633c46; box-shadow: 9px 12px 0 #0e08094d; }
.love-envelope-front { background: #774752; }
.love-envelope-front:after { background: #8a5660; }
.love-letter { background: repeating-linear-gradient(transparent 0 27px, #96636825 27px 28px), var(--love-paper); box-shadow: none; }
.love-letter > span, .love-letter small, .love-letter strong { color: var(--love-paper-ink); }
.love-seal { background: #632b3b; color: #f2d7cc; box-shadow: 0 0 0 3px #632b3b50; }
.love-postmark, .love-scribble { color: var(--love-dark); border-color: #96636c; }
.love-privacy-strip { background: var(--love-panel); border: 1px solid var(--love-rule); border-radius: 7px; padding: 18px 22px; margin-bottom: 30px; }
.love-privacy-strip p, .love-privacy-strip summary { color: var(--love-muted); }
.love-feed-heading { border-bottom: 1px solid var(--love-rule); }
.love-feed-heading h2 { font-size: 22px; font-weight: 600; }
.love-feed-heading h2 span, .love-feed-heading > span { color: var(--love-muted); }
.love-feed .love-card { background: var(--love-panel); border: 1px solid var(--love-rule); border-top: 2px solid #875861; border-radius: 7px; box-shadow: none; padding: 25px; }
.love-card:before { display: none; }
.love-feed .love-card:hover { border-color: #996670; box-shadow: none; transform: translateY(-2px); }
.love-card h2, .love-card-excerpt strong { color: var(--ink); }
.love-card-top, .love-card-bottom { color: var(--love-muted); }
.love-card-top > span, .love-read { color: var(--love-dark); }
.love-card-top > span { overflow-wrap: anywhere; min-width: 0; }
.love-card-top time { flex-shrink: 0; }
.love-card-excerpt { color: #d7c7c4; }
.love-card-bottom { border-color: var(--love-rule); }
.love-empty { background: #241d1f; border: 1px dashed var(--love-rule); border-radius: 8px; }
.love-empty-note { background: var(--love-paper); color: var(--love-paper-ink); border-color: #c39d96; box-shadow: none; }
.love-empty-note span { color: #8a4f60; }
.love-empty .eyebrow, .love-empty p { color: var(--love-muted); }
.love-empty h2 { color: var(--ink); }
.love-composer, #main[data-board=love] .detail, .private-love .paper { background: var(--love-panel); border: 1px solid var(--love-rule); border-radius: 8px; box-shadow: none; }
.love-composer:before { display: none; }
.love-step > span, .love-revoke button { color: var(--love-dark); }
.love-composer .love-step, .love-composer .form-actions, .love-revoke, .private-contact { border-color: var(--love-rule); }
.love-question, .love-composer .love-private-toggle { background: var(--love-pink); border: 1px solid var(--love-rule); border-radius: 6px; }
.love-private-toggle small, .love-note > p, .private-contact dt, .private-qr figcaption { color: var(--love-muted); }
.love-composer textarea[name=body] { background: #1c1816; line-height: 1.9; }
.love-composer .love-note, .love-note { background: var(--love-pink); border-color: #8d646b; border-radius: 4px; }
.love-gate { background: var(--love-pink); border-color: var(--love-rule); border-top-color: #9d6c76; border-radius: 7px; }
.private-contact dd { color: var(--ink); }
.private-qr img { background: white; color-scheme: light; }
.love-name-preview { padding: 12px 15px; border: 1px dashed var(--love-rule); border-radius: 5px; color: var(--love-muted); font-size: 13px; margin: 12px 0; }
.love-name-preview strong, .love-recipient-label { color: var(--love-dark); letter-spacing: 1px; overflow-wrap: anywhere; }
.love-recipient-label { font-size: 13px; margin: 20px 0 10px; }
.footer{max-width:1160px;border-top:1px solid var(--line);margin-top:40px;padding:26px 0 32px;gap:25px}.footer .wordmark{font-size:19px}.footer .school-crest{width:26px;height:26px}.footer>p,.footer p span,.footer-note{color:var(--muted);font-size:10px}.footer .wordmark span{color:var(--red)}
@media(min-width:768px) and (max-width:1100px){.toplinks{display:none}.masthead-main{gap:45px}.home-grid{column-gap:26px;grid-template-columns:minmax(0,1fr) 235px}.section-nav a{padding:8px 9px}.trouble-launchers>a{padding:17px;gap:12px}.trouble-launchers small{font-size:10px}.entry-layout{gap:40px}.footer{margin-left:40px;margin-right:40px}.feed-tabs>span{display:none}}
@media(max-width:767px){
 :root{--mobile-bar:66px}.shell{padding:0 18px}.topbar{padding-top:0;height:calc(62px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line)}.topbar-inner{padding:env(safe-area-inset-top,0px) 18px 0;gap:10px}.topbar .wordmark{font-size:19px;letter-spacing:-.8px}.topbar .school-crest{width:29px;height:29px;margin-right:7px}.topbar .wordmark>i{font-size:8px;margin-left:7px;padding:2px 4px}.toplinks{display:none}.top-actions{gap:10px}.top-actions .search-link{width:28px}.top-actions>.button{display:none}.login-link{font-size:11px}.ui-icon{width:20px;height:20px}
 .masthead{padding-top:17px}.issue-line{font-size:8px;letter-spacing:0;gap:8px}.issue-line>span:first-child{max-width:none}.issue-line>span:last-child{width:auto;font-size:8px;flex-shrink:0}.masthead-main{display:block;padding:25px 0 23px}.headline-kicker{font-size:10px;letter-spacing:.4px;margin-bottom:12px;gap:8px}.headline-kicker>span{font-size:7px;letter-spacing:1px;margin-left:0}.masthead h1{font-size:42px;font-weight:800;line-height:1.16;letter-spacing:-1.7px}.masthead-main p{font-size:12px;line-height:1.8;margin-top:15px;max-width:none}.hero-write{display:none}.board-masthead{padding:24px 0}.board-masthead h1{font-size:29px}.board-masthead p{font-size:12px}.night-note{display:none}
 .trouble-launchers{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:0;margin:0 0 26px;overflow:hidden;scroll-snap-type:none;border-radius:7px;box-shadow:none}.trouble-launchers>a,.trouble-launchers>a:nth-child(2){display:block;padding:13px 11px;min-width:0;border-right:1px solid var(--line)}.trouble-launchers>a:last-child{border:0}.trouble-launchers .launcher-icon{width:25px;height:27px;font-size:20px;margin-bottom:9px}.trouble-launchers strong{font-size:12px;line-height:1.6;gap:3px}.trouble-launchers strong b{font-size:12px}.trouble-launchers small{display:none}
 .home-grid{display:flex;flex-direction:column;gap:0}.left-rail,.feed,.right-rail{width:100%}.left-rail{margin:0 0 19px}.section-nav{gap:3px;padding:0 0 10px}.section-nav a{font-size:12px;min-height:42px;padding:8px 12px;border:0;background:transparent}.section-nav a.selected{background:#d9a4a21c;border:0;color:var(--accent)}.feed-heading{padding:0;margin-bottom:15px}.feed-heading h2{font-size:21px}.feed-heading h2 span{font-size:8px;margin-left:10px}.search{height:45px}.search input:not([type=checkbox]){font-size:16px}.feed-tabs{gap:24px;height:55px;font-size:13px}.feed-tabs>span{display:none}.post-card{padding:22px 0}.post-card h2{font-size:19px;line-height:1.6;margin:12px 0 8px}.excerpt{font-size:14px;line-height:1.8}.post-meta,.post-meta time{font-size:10px}.post-bottom{margin-top:16px;gap:8px}.byline,.counts{font-size:11px}.counts{gap:10px}.byline small{display:none}.pagination{font-size:10px;line-height:1.8}.feed .empty{padding:32px 18px}.feed .empty h3{font-size:19px}.feed .empty p{font-size:13px}
 .right-rail{display:block;margin-top:12px}.right-rail>section:not(.mood-card),.right-rail>.rail-signoff{display:none}.mood-card{padding:19px;border-radius:7px}.mood-card h3{font-size:22px;margin-top:13px}.mood-card h3 br{display:none}.mood-card>p{font-size:12px;margin-bottom:16px}.mood-card form{flex-direction:row;gap:7px}.mood-card form button{flex:1;min-width:0;flex-direction:column;gap:6px;padding:10px 5px;font-size:11px}.mood-card form button small{margin:0}.mood-foot{text-align:left}.community-intro{margin-top:28px;padding-top:24px}.community-intro h2{font-size:20px;line-height:1.6}.community-intro p{font-size:12px;line-height:2}
 .page-heading{padding:27px 0 23px;margin-bottom:22px}.page-heading h1{font-size:29px;line-height:1.45;letter-spacing:-.8px}.page-heading .eyebrow{font-size:9px;letter-spacing:.7px}.page-heading p{font-size:13px;line-height:1.9}.compact h1{font-size:28px}.paper{padding:24px 18px;border-radius:7px;box-shadow:none}.button,.button.small{min-height:44px}input:not([type=checkbox]),textarea,select,.entry-card input:not([type=checkbox]),.verification-forms input{font-size:16px;min-height:46px}.form-note{font-size:12px}.fields-two{gap:12px}.form-actions{padding-top:20px}.board-directory{grid-template-columns:1fr;gap:12px}.board-directory>a,.board-directory>a:nth-child(odd),.board-directory>a:nth-child(3),.board-directory>a:last-child{padding:24px 22px;min-height:0;border:1px solid var(--line)}.board-directory h2,.board-directory>a:last-child h2{font-size:23px;margin:22px 0 10px}.board-directory p{font-size:13px;max-width:95%}.directory-arrow{margin-top:16px;font-size:12px;min-height:32px}.directory-number,.board-directory>a:last-child .directory-number{font-size:32px;top:20px;right:22px}.class-card{padding:24px 20px}.detail-wrap{margin-top:14px}.detail{padding:24px 18px}.detail h1{font-size:26px;line-height:1.5;letter-spacing:0}.detail>.body-text{font-size:16px;line-height:1.95}.event-facts{padding:18px 14px}.case-file .section-heading h2{font-size:22px}.case-file:before{font-size:10px}.activity-where{padding:4px 12px 14px}.material-entry>.body-text{font-size:14px}
 .entry-layout{margin:24px auto 30px;gap:22px}.entry-note{padding-top:0}.entry-note h1{font-size:32px;line-height:1.35;letter-spacing:-1px;margin-top:12px}.entry-note h1 br{display:block}.entry-note>p{font-size:12px;line-height:1.9;margin-top:14px}.entry-note .entry-scribble,.entry-note>small{display:none}.entry-card{padding:22px 18px;border-radius:8px}.entry-title h2{font-size:22px}.account-shortcuts{gap:8px 20px}.account-grid{gap:22px}.notification p{font-size:14px}.rules h1{font-size:28px}.rules h2{font-size:21px}.rules p{font-size:14px;line-height:2}
 .love-issue{font-size:8px;gap:8px}.love-hero{padding:24px 0}.love-hero h1{font-size:36px;line-height:1.3;letter-spacing:-1px}.love-hero p{font-size:13px;max-width:calc(100% - 96px)}
 .love-envelope-scene{display:flex;top:auto;bottom:80px;min-height:0;background:none}
 .love-envelope{box-shadow:3px 4px 0 #0e080955}
 .love-letter{height:46px;background:var(--love-paper);border-top:2px solid #b57e87}
 .love-letter > :is(span,strong,small){display:none}.love-privacy-strip{padding:16px;margin-bottom:25px}.love-privacy-strip strong{font-size:13px}.love-feed-heading h2{font-size:20px}.love-feed-heading h2 span{display:none}.love-feed-heading>span{font-size:10px}.love-feed .love-card{padding:22px}.love-empty{padding:26px 18px;gap:22px}.love-empty h2{font-size:21px}.love-empty .eyebrow{font-size:9px;letter-spacing:0}.love-empty-note{font-size:15px;padding:20px 16px 35px}.love-editor-heading h1{font-size:28px}.love-composer{padding:24px 18px}.love-editor-path{font-size:11px}.love-question{grid-template-columns:1fr;gap:0}.love-gate{padding:22px 16px}.love-gate h2{font-size:22px}
 .mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(66px + env(safe-area-inset-bottom,0px));padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));border-top:1px solid #4d403b;background:#211c1af5;align-items:center;z-index:30;gap:5px}.mobile-nav>a{flex:1;min-width:0;min-height:50px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:6px;color:#b8aaa3;font-size:20px}.mobile-nav span{font-size:10px;line-height:1.2}.mobile-nav>a[aria-current]{background:transparent;color:var(--accent)}.mobile-nav>.mobile-publish[aria-current]{background:#3a2829;color:var(--accent)}.mobile-nav .mobile-publish{color:var(--action-ink);background:var(--action-bg);max-width:50px;min-height:47px;margin:0 12px;border-radius:10px;gap:2px;font-weight:600}.mobile-nav .mobile-publish .ui-icon{width:23px;height:23px}.mobile-nav .mobile-publish span{font-size:9px}.footer{margin:32px 18px 0;padding:24px 0 28px;gap:16px;flex-wrap:wrap}.footer .wordmark{font-size:18px}.footer p,.footer>a:not(.wordmark){font-size:10px}.footer-note{display:none}
}
@media(max-width:359px){.shell{padding:0 14px}.topbar-inner{padding-left:14px;padding-right:14px}.topbar .wordmark{font-size:17px}.topbar .wordmark>i{display:none}.masthead h1{font-size:37px}.trouble-launchers>a,.trouble-launchers>a:nth-child(2){padding:12px 9px}.trouble-launchers strong{font-size:11px}.post-bottom{flex-wrap:wrap}.counts{margin-left:auto}.love-empty-note{display:none}.love-hero h1{font-size:32px}.entry-note h1{font-size:29px}.mobile-nav .mobile-publish{margin:0 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.love-feed .love-card:hover{transform:none}}
