:root{--background:#f7f8fa;--foreground:#182c29;--card:#fff;--card-foreground:#182c29;--popover:#fff;--popover-foreground:#182c29;--primary:#155c4c;--primary-foreground:#fff;--secondary:#e8eeeb;--secondary-foreground:#182c29;--muted:#edf0f0;--muted-foreground:#566861;--accent:#e3efb6;--accent-foreground:#182c29;--destructive:#b72d36;--border:#dce3df;--input:#cad6ce;--ring:#155c4c;--radius:.5rem}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,'Microsoft YaHei',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.test-bar{background:#183e34;color:#e5f0df;text-align:center;font-size:13px;padding:8px 16px}.header{max-width:1240px;margin:auto;padding:25px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:25px}.brand{display:flex;gap:12px;align-items:center}.brand>b{background:#155c4c;color:#fff;font-size:34px;line-height:1;width:45px;height:45px;display:grid;place-items:center;position:relative;border-radius:12px}.brand>b span{font-size:10px;color:#daf789;position:absolute;right:6px;bottom:5px}.brand strong{font-size:28px;letter-spacing:-1px;line-height:1}.brand small{display:block;font-size:12px;letter-spacing:3px;margin-top:8px;font-weight:400}.header nav{display:flex;align-items:center;gap:30px;font-size:15px}.nav-submit{border:1px solid #b8c8bd;padding:9px 19px;border-radius:6px}.wrap{max-width:1240px;margin:auto;padding:48px 36px 64px}.section-label,.eyebrow{font-size:13px;letter-spacing:2px;font-weight:600}.section-label{color:#5d766d;margin-bottom:13px}h1{font-size:42px;letter-spacing:-1px;line-height:1.25;font-weight:650;margin:0 0 16px}h2{font-size:25px;line-height:1.4;font-weight:600}h3{font-size:21px;font-weight:600}p{margin:12px 0}.intro{color:#65746d;margin-bottom:30px}.home-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:22px}.feature{position:relative;background:#155c4c;color:#fff;border-radius:10px;padding:30px 36px;min-height:355px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.feature h2{font-size:39px;margin:16px 0}.feature .eyebrow{color:#d9ed9b}.tag{display:inline-block;align-self:flex-start;font-size:12px;padding:3px 9px;background:#e9efdb;color:#38503c;border-radius:4px;letter-spacing:.5px}.feature .tag{color:#eaf6e4;background:#ffffff1c}.feature p{color:#d2e4d9}.read{display:inline-block;border-bottom:1px solid #87b29f;padding-bottom:5px;margin-top:12px;font-size:14px}.issue{position:absolute;right:24px;top:30px;writing-mode:vertical-rl;letter-spacing:3px;font-size:12px;color:#a9cabb}.aside{border-radius:10px;background:#e7edda;padding:30px;display:flex;flex-direction:column;justify-content:center}.aside h2{font-size:32px;margin:15px 0}.aside>p{color:#596a58}.button{background:#155c4c;color:#fff;border:0;border-radius:6px;padding:12px 21px;display:inline-block;text-align:center;font-weight:600}.aside .button{margin-top:15px;align-self:flex-start}.small{font-size:13px;color:#65746d}.section-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin:32px 0 0;padding-bottom:12px;gap:15px}.section-head h2{margin:0}.section-head span{font-size:13px;color:#65746d}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tiles>a{padding:25px 0}.tiles span{font-size:12px;letter-spacing:2px;color:#5a7568}.tiles h3{margin:12px 0 0}.tiles p{color:#68746d;font-size:14px}.footer{max-width:1168px;margin:auto;border-top:1px solid var(--border);padding:25px 0 35px;display:flex;align-items:center;gap:35px;font-size:14px}.footer-brand{font-size:26px;font-weight:800;letter-spacing:-1px}.footer p{flex:1}.footer p span{color:#798179;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:25px}.card h2,.card h3{margin:15px 0}.card p{color:#5e7068}.meta{font-size:13px;color:#738078}.article{max-width:790px}.article h1{margin-top:20px}.article-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;margin-top:30px}.article img{max-width:100%;max-height:600px;object-fit:contain;margin:24px auto}.back{font-size:14px;color:#506a5f}.form-layout{display:grid;grid-template-columns:minmax(0,2fr) 1fr;gap:36px;margin-top:30px}.panel{padding:30px;background:white;border:1px solid var(--border);border-radius:8px}.field{display:block;margin-bottom:22px}.field>span{display:block;font-weight:600;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;border:1px solid var(--input);border-radius:5px;padding:10px 12px;background:#fff}.field textarea{resize:vertical;min-height:230px}.form-note{color:#607065;font-size:14px}.notice{padding:15px 18px;background:#e9f1e4;border:1px solid #c4d4b9;border-radius:6px;margin:16px 0}.error{background:#fff1ef;border-color:#e7b6b1;color:#8a242a}.review-card{margin:20px 0;padding:25px;border:1px solid var(--border);border-radius:8px;background:white}.review-card pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.secondary-button{border:1px solid #a8bbae;padding:10px 18px;background:white;border-radius:5px}.status{font-size:13px;color:#597058}.empty{padding:40px;text-align:center;border:1px dashed var(--border);border-radius:8px;margin-top:25px}input[type=file]{font-size:14px}.field input[type=checkbox]{display:inline;width:auto}.hidden-field{display:none}
@media(max-width:760px){.header{padding:20px;flex-wrap:wrap;gap:20px}.header nav{width:100%;gap:20px;justify-content:space-between;font-size:14px}.nav-submit{padding:7px 12px}.wrap{padding:32px 20px 45px}h1{font-size:32px}.home-grid,.form-layout{grid-template-columns:1fr}.feature{padding:26px;min-height:340px}.feature h2{font-size:32px}.cards{grid-template-columns:1fr}.tiles{gap:16px;grid-template-columns:1fr}.tiles>a{border-bottom:1px solid var(--border);padding:20px 0}.tiles p{margin-bottom:0}.footer{margin:0 20px;flex-wrap:wrap;gap:12px}.footer p{flex-basis:65%}.section-head{align-items:flex-start}.section-head span{max-width:140px}.panel{padding:20px}.test-bar{font-size:12px}.article{width:100%}}/* Nightwatch interface: dark by default; shared across every route. */
:root,[data-theme="dark"]{color-scheme:dark;--background:#080c14;--foreground:#edf2fb;--card:#0c121e;--card-foreground:#edf2fb;--popover:#0e1522;--popover-foreground:#edf2fb;--primary:#b6ceff;--primary-foreground:#0b1528;--secondary:#141f31;--secondary-foreground:#dce7f8;--muted:#111a29;--muted-foreground:#93a1b8;--accent:#172741;--accent-foreground:#e3edff;--destructive:#ff949e;--border:#243045;--input:#35425b;--ring:#a3c0fb;--theme-accent:#b6ceff;--theme-dim:#7488a7;--line-subtle:#1c2638;--surface-hover:#111e32;--hero-glow:rgba(50,81,142,.09);--success-bg:#11222b;--success-text:#aecfd2;--error-bg:#2b171f;--error-text:#ffb5bd;--radius:.35rem}
[data-theme="light"]{color-scheme:light;--background:#f5f8f5;--foreground:#172e27;--card:#fcfefc;--card-foreground:#172e27;--popover:#fcfefc;--popover-foreground:#172e27;--primary:#245944;--primary-foreground:#fff;--secondary:#e6eee7;--secondary-foreground:#244436;--muted:#eaf0eb;--muted-foreground:#607668;--accent:#deeadf;--accent-foreground:#1b4933;--destructive:#a43145;--border:#cbd9ce;--input:#b4c9ba;--ring:#3f7757;--theme-accent:#2c684a;--theme-dim:#667f6c;--line-subtle:#d7e1d9;--surface-hover:#e9f1e9;--hero-glow:rgba(71,121,76,.055);--success-bg:#e5efe6;--success-text:#2f6044;--error-bg:#f7e8eb;--error-text:#9b3045}
html{min-height:100%;background:var(--background);scroll-behavior:smooth}body{font-family:Arial,'PingFang SC','Microsoft YaHei',sans-serif;transition:background-color .4s ease,color .4s ease}.site-shell{min-height:100svh;background:radial-gradient(ellipse at 72% 3%,var(--hero-glow),transparent 56%);display:flex;flex-direction:column}.system-header{display:flex;justify-content:space-between;align-items:center;margin:0 4.8%;padding:25px 0;border-bottom:1px solid var(--line-subtle);gap:22px}.system-brand{display:flex;align-items:center;gap:15px;font-size:15px;letter-spacing:3px;font-weight:600}.brand-sigil{font-family:Georgia,serif;font-size:29px;font-weight:400;letter-spacing:-3px;color:var(--foreground)}.brand-sigil span{color:var(--theme-accent);font-family:Arial,sans-serif;font-size:32px;font-weight:200;margin-left:2px}.system-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:2px;color:var(--theme-dim);margin-top:5px}.utility-controls{display:flex;align-items:center;gap:8px;min-height:42px}.utility-button{display:flex;align-items:center;justify-content:flex-start;gap:0;height:42px;width:42px;padding:0 10px;overflow:hidden;white-space:nowrap;color:var(--foreground);background:transparent;border:1px solid transparent;border-radius:5px;transition:width .28s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s,transform .16s;flex-shrink:0}.utility-button svg{flex-shrink:0;transition:transform .35s,color .25s}.utility-label{display:block;max-width:0;opacity:0;overflow:hidden;font-size:11px;letter-spacing:1.7px;transition:max-width .28s,opacity .2s,margin .28s;pointer-events:none}.utility-button:hover,.utility-button:focus-visible{width:105px;background:var(--secondary);border-color:var(--border);color:var(--theme-accent)}.utility-button:hover .utility-label,.utility-button:focus-visible .utility-label{max-width:65px;opacity:1;margin-left:12px}.utility-button:active{transform:scale(.95)}.utility-button:hover svg{transform:translateY(-1px)}.utility-button[aria-pressed=true] svg{transform:rotate(-18deg)}.home-pulse{animation:homeFeedback .4s ease}.route-stage{flex:1;opacity:1;transform:none;transition:opacity .16s ease,transform .16s ease}.route-stage.is-leaving{opacity:0;transform:translateY(-7px);pointer-events:none}.route-enter{animation:routeArrival .5s cubic-bezier(.2,.7,.2,1) both}.system-footer{margin:0 4.8%;padding:24px 0 25px;border-top:1px solid var(--line-subtle);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--theme-dim)}.footer-identity{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1.2px}.footer-dash{width:22px;height:1px;background:var(--theme-accent)}.footer-identity>span:not(.footer-dash){color:var(--border)}.system-footer nav{display:flex;gap:22px;font-size:12px}.system-footer a{transition:color .2s}.system-footer a:hover{color:var(--theme-accent)}.system-footer p{margin:0;font-size:11px}
.nightwatch-home{max-width:1440px;margin:0 auto;padding:34px 4.8% 40px}.home-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--theme-dim);font-family:Consolas,'Courier New',monospace;letter-spacing:1.7px;font-size:11px}.section-index{color:var(--muted-foreground)}.edition-label{font-size:10px}.home-heading{display:flex;justify-content:space-between;align-items:center;margin:52px 0 56px;gap:30px}.home-kicker{font-family:Consolas,'Courier New',monospace;letter-spacing:3px;font-size:11px;color:var(--theme-accent);margin:0 0 23px}.home-heading h1{font-family:'Songti SC','Noto Serif SC','SimSun',serif;font-size:clamp(56px,6.7vw,94px);font-weight:400;letter-spacing:13px;line-height:1.1;margin:0}.title-period{color:var(--theme-accent);font-family:Georgia,serif;letter-spacing:0;margin-left:0}.home-subtitle{font-size:14px;color:var(--muted-foreground);letter-spacing:3px;margin:25px 0 0}.eva-signature{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:11px;padding-top:20px}.eva-rule{width:56px;height:1px;background:var(--theme-accent);margin-bottom:6px}.eva-signature>span:not(.eva-rule){font-family:Georgia,serif;font-size:30px;letter-spacing:7px;font-weight:400;color:var(--theme-accent)}.eva-signature small{font-family:Consolas,monospace;font-size:10px;letter-spacing:2px;color:var(--theme-dim)}.portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.portal-card{isolation:isolate;position:relative;display:flex;flex-direction:column;text-align:left;min-height:290px;background:transparent;border:0;padding:28px 27px 23px;color:var(--foreground);overflow:hidden;transition:background .3s,transform .2s;outline-offset:-3px}.portal-card+.portal-card{border-left:1px solid var(--line-subtle)}.portal-card:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(165deg,var(--surface-hover),transparent);opacity:0;transition:opacity .35s}.portal-card:after{content:'';position:absolute;bottom:0;left:27px;right:27px;height:1px;background:var(--theme-accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.portal-card:hover:before,.portal-card:focus-visible:before{opacity:1}.portal-card:hover:after,.portal-card:focus-visible:after{transform:scaleX(1)}.portal-card:active{background:var(--secondary);transform:translateY(2px)}.portal-top{display:flex;justify-content:space-between;align-items:center;color:var(--theme-dim)}.portal-top>span{font-family:Consolas,monospace;font-size:12px;letter-spacing:2px}.portal-top svg{transition:color .25s,transform .3s}.portal-card:hover .portal-top svg{color:var(--theme-accent);transform:translateY(-2px)}.portal-main{margin-top:47px;margin-bottom:36px;transition:transform .3s}.portal-card:hover .portal-main{transform:translateY(-4px)}.portal-english{font-family:Consolas,monospace;font-size:10px;letter-spacing:2.5px;color:var(--theme-dim)}.portal-main h2{font-family:'Songti SC','Noto Serif SC','SimSun',serif;font-weight:400;font-size:32px;letter-spacing:5px;line-height:1.2;margin:11px 0 15px}.portal-main p{font-size:13px;letter-spacing:.5px;color:var(--muted-foreground);margin:0}.portal-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:1px;color:var(--theme-dim)}.portal-bottom svg{color:var(--theme-accent);transition:transform .25s}.portal-card:hover .portal-bottom svg{transform:translate(3px,-3px)}.home-baseline{display:flex;justify-content:space-between;gap:20px;margin-top:22px;font-size:11px;letter-spacing:1px;color:var(--theme-dim)}.home-baseline>span:last-child{font-family:Consolas,monospace;font-size:10px;letter-spacing:1.6px}
.portal-dialog{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:38px;gap:0;box-shadow:0 24px 100px #0005;max-height:calc(100dvh - 40px);overflow:auto}.dialog-x{position:absolute;right:18px;top:18px;border:0;background:transparent;padding:7px;color:var(--muted-foreground);border-radius:4px;transition:background .2s,color .2s,transform .2s}.dialog-x:hover{background:var(--secondary);color:var(--foreground);transform:rotate(90deg)}.dialog-code{font-family:Consolas,monospace;font-size:11px;color:var(--theme-accent);letter-spacing:2px;margin-bottom:20px}.dialog-title{font-family:'Songti SC','SimSun',serif;font-size:33px;font-weight:400;letter-spacing:4px}.dialog-description{margin:14px 0 25px;font-size:14px;line-height:1.8;color:var(--muted-foreground)}.dialog-body{border-top:1px solid var(--line-subtle);padding-top:22px;font-size:15px;line-height:1.9;animation:routeArrival .28s ease}.dialog-body>p{color:var(--muted-foreground);margin:0 0 22px}.more-list{margin-top:-12px}.more-list>button{display:flex;align-items:center;width:100%;gap:18px;text-align:left;color:var(--foreground);border:0;border-bottom:1px solid var(--line-subtle);background:transparent;padding:18px 8px;transition:background .2s,padding .2s}.more-list>button:last-child{border:0}.more-list>button:hover{background:var(--secondary);padding-left:15px}.more-list>button>svg{color:var(--theme-accent);flex-shrink:0}.more-list>button>span{flex:1}.more-list strong{display:block;font-size:16px;font-weight:400}.more-list small{display:block;font-size:12px;color:var(--theme-dim);margin-top:2px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 16px}.dialog-actions .button,.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px}.module-note{display:block;font-size:12px;color:var(--theme-dim);line-height:1.8;margin-top:16px}.mission-tags{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 23px}.mission-tags span{font-size:12px;padding:4px 10px;color:var(--muted-foreground);border:1px solid var(--border);border-radius:3px}.module-status{display:flex;align-items:flex-start;gap:17px;padding:18px;background:var(--muted);border-left:1px solid var(--theme-accent);margin:24px 0}.module-status strong{font-size:14px;font-weight:400;color:var(--foreground)}.module-status p{font-size:12px;color:var(--theme-dim);margin:6px 0 0}.thin-cross{font-weight:200;font-size:20px;color:var(--theme-accent);line-height:1.7}.credit-wordmark{font-size:25px;letter-spacing:5px;margin:7px 0 22px}.credit-wordmark span{color:var(--theme-accent)}.dialog-back{margin-top:24px;display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--theme-accent);font-size:12px;padding:8px 0}.dialog-back:hover{text-decoration:underline}
/* Existing campus pages inherit both palettes and global controls. */
.card,.panel,.review-card{background:var(--card);border-color:var(--border)}.field input,.field textarea{background:var(--background);color:var(--foreground);border-color:var(--input)}.field input::placeholder,.field textarea::placeholder{color:var(--theme-dim)}.intro,.card p,.form-note,.meta,.small,.tiles p,.back,.status{color:var(--muted-foreground)}.tag,.club-mark{background:var(--secondary);color:var(--theme-accent)}.button{background:var(--primary);color:var(--primary-foreground);border:1px solid transparent;border-radius:4px;transition:transform .16s,filter .2s}.button:hover{filter:brightness(1.1)}.button:active,.secondary-button:active{transform:translateY(2px)}.secondary-button{background:transparent;border-color:var(--input);color:var(--foreground);border-radius:4px;transition:background .2s,transform .16s}.secondary-button:hover{background:var(--secondary)}.notice{background:var(--success-bg);border-color:var(--border);color:var(--success-text)}.notice.error{background:var(--error-bg);color:var(--error-text)}.section-label,.section-head span{color:var(--theme-dim)}.read{color:var(--theme-accent);border-color:var(--border)}.card{transition:background .2s,transform .2s}.card:hover{background:var(--surface-hover);transform:translateY(-3px)}.wrap{padding-top:48px;padding-bottom:65px}a:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.dialog-x:focus-visible{outline-offset:1px}
@keyframes routeArrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes homeFeedback{50%{background:var(--secondary);color:var(--theme-accent)}}
@media(min-width:1500px){.nightwatch-home{padding-top:45px;padding-bottom:48px}.home-heading{margin:65px 0 68px}.portal-card{min-height:340px;padding:32px}.portal-main{margin-top:60px}}
@media(max-width:1000px){.portal-card{padding:24px 19px}.portal-main h2{font-size:29px}.portal-main p{font-size:12px}.portal-bottom{font-size:10px;letter-spacing:.3px}.system-footer{flex-wrap:wrap}.system-footer p{font-size:10px}.home-heading{margin:43px 0 45px}.portal-card{min-height:275px}}
@media(max-width:760px){.system-header{margin:0 22px;padding:22px 0}.system-brand{font-size:13px;gap:11px;letter-spacing:2px}.system-brand small{font-size:8px;letter-spacing:1.2px}.nightwatch-home{padding:25px 22px 30px}.edition-label{font-size:8px;letter-spacing:1px}.home-caption{font-size:10px}.home-heading{margin:39px 0 39px}.home-kicker{font-size:9px;letter-spacing:1.8px;margin-bottom:21px}.home-heading h1{font-size:60px;letter-spacing:7px}.home-subtitle{font-size:12px;letter-spacing:1.5px;line-height:1.9;max-width:230px;margin-top:20px}.eva-signature{gap:7px;padding:0}.eva-signature>span:not(.eva-rule){font-size:23px;letter-spacing:3px}.eva-signature small{font-size:8px;letter-spacing:1px}.eva-rule{width:34px}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-card{min-height:252px;padding:23px 20px}.portal-card:nth-child(3){border-left:0}.portal-card:nth-child(n+3){border-top:1px solid var(--line-subtle)}.portal-main{margin-top:28px;margin-bottom:25px}.portal-main h2{font-size:30px;letter-spacing:4px}.portal-main p{font-size:12px;line-height:1.8}.portal-bottom{font-size:10px;letter-spacing:0}.portal-top>span{font-size:11px}.portal-english{font-size:9px;letter-spacing:1.6px}.home-baseline{font-size:10px;line-height:1.8;flex-wrap:wrap;gap:8px}.home-baseline>span:last-child{font-size:9px}.system-footer{margin:0 22px;gap:17px;padding:22px 0}.footer-identity{font-size:10px;gap:8px}.system-footer nav{font-size:11px;gap:16px}.system-footer p{width:100%;font-size:10px}.portal-dialog{padding:30px 24px}.dialog-title{font-size:30px}.dialog-description{font-size:13px}.utility-controls{gap:4px}.utility-button{width:38px;height:38px;padding:0 8px}.utility-button:hover,.utility-button:focus-visible{width:94px}.utility-label{font-size:10px}.utility-button:hover .utility-label,.utility-button:focus-visible .utility-label{margin-left:9px}}
@media(max-width:380px){.home-heading h1{font-size:52px}.eva-signature{display:none}.portal-card{padding:20px 14px}.system-brand small{display:none}.system-footer nav{width:100%}}
@media(hover:none){.utility-button:hover{width:38px;background:transparent;border-color:transparent}.utility-button:hover .utility-label{max-width:0;margin:0;opacity:0}.utility-button:focus-visible{width:94px}.utility-button:focus-visible .utility-label{max-width:65px;opacity:1;margin-left:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.route-stage.is-leaving{transform:none}}
.portal-main p{font-size:14px}.portal-bottom{font-size:12px}.system-footer nav{font-size:14px}.home-subtitle{font-size:14px}.more-list small{font-size:14px}.dialog-description{font-size:14px}.module-status p{font-size:14px}.module-status strong{font-size:15px}.dialog-back{font-size:14px}
@media(max-width:760px){.portal-main p{font-size:14px}.portal-bottom{font-size:12px;line-height:1.7}.portal-card{min-height:270px}.system-footer nav{font-size:13px}.home-subtitle{font-size:14px}}
.home-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(70px,9vw,122px);font-weight:400;letter-spacing:-5px;line-height:1.05}.title-period{margin-left:3px}.home-heading{min-height:200px;margin-top:38px;margin-bottom:42px}
@media(max-width:760px){.home-heading h1{font-size:78px;letter-spacing:-3px}.home-heading{min-height:180px;margin-top:25px;margin-bottom:25px}.home-kicker{font-size:9px;letter-spacing:1.4px}}

/* Keep the homepage focused on the brand and four destinations. */
.home-heading{margin:30px 0 50px;min-height:190px}.portal-main{margin-top:50px;margin-bottom:40px}.portal-main h2{margin:0}.portal-bottom{justify-content:flex-end}.nightwatch-home{padding-top:30px;padding-bottom:65px}.dialog-title{margin-bottom:25px}.dialog-body{padding-top:20px}.portal-dialog .module-status{margin-top:0}.portal-dialog .dialog-actions{margin-top:0}.portal-dialog .more-list{margin-top:-10px}.system-brand small{display:none}
@media(max-width:760px){.home-heading{margin:24px 0 36px;min-height:150px}.portal-card{min-height:240px}.portal-main{margin-top:38px;margin-bottom:34px}.nightwatch-home{padding-bottom:40px}}
.submission-rules h2{font-size:25px;margin:0 0 15px}.rules-intro{font-size:14px;color:var(--muted-foreground);margin-bottom:24px}.submission-rules ol{list-style:decimal;padding-left:22px;display:grid;gap:20px}.submission-rules li{padding-left:5px;color:var(--theme-accent)}.submission-rules li::marker{font-size:13px}.submission-rules h3{font-size:15px;font-weight:600;margin:0 0 7px;color:var(--foreground)}.submission-rules li p{font-size:14px;line-height:1.85;color:var(--muted-foreground);margin:0}.rules-link{color:var(--theme-accent);text-decoration:underline;text-underline-offset:3px}.submission-rules{scroll-margin-top:30px}.utility-controls{flex-shrink:0}
@media(max-width:760px){.submission-rules{grid-row:1}.submission-rules ol{gap:16px}.submission-rules{padding-bottom:15px;border-bottom:1px solid var(--border)}}
@media(max-width:420px){.system-header{gap:8px}.system-brand{font-size:11px;gap:8px;letter-spacing:1.3px}.brand-sigil{font-size:25px}.brand-sigil span{font-size:27px}.utility-controls{gap:1px}.utility-button:hover,.utility-button:focus-visible{width:88px}.utility-label{font-size:9px}}

.profile-entry[aria-current=page]{color:var(--theme-accent)}.profile-entry img{width:19px;height:19px;object-fit:cover;border-radius:50%;flex-shrink:0;transition:transform .35s}.profile-entry:hover img{transform:translateY(-1px)}.profile-page{max-width:1080px}.profile-heading{display:flex;align-items:baseline;gap:22px;margin-bottom:42px}.profile-heading h1{font-family:'Songti SC','SimSun',serif;font-size:48px;font-weight:400;margin:0}.profile-heading>span{font-size:14px;color:var(--muted-foreground);letter-spacing:2px}.profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px}.profile-account{padding-top:8px;min-width:0}.profile-avatar{width:100px;height:100px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--secondary);border:1px solid var(--border);border-radius:50%;color:var(--theme-accent);font-size:34px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-account h2{font-size:23px;font-weight:400;line-height:1.5;overflow-wrap:anywhere;margin:24px 0 32px}.profile-account-details{border-top:1px solid var(--border);padding-top:24px}.profile-account-details>span{font-size:14px;color:var(--muted-foreground)}.profile-account-details p{font-size:14px;overflow-wrap:anywhere;margin:8px 0}.profile-account-details small{font-size:12px;color:var(--theme-dim)}.profile-signout{display:inline-block;color:var(--muted-foreground);font-size:14px;margin-top:30px;padding:7px 0;text-underline-offset:5px}.profile-signout:hover{text-decoration:underline;color:var(--foreground)}.profile-form{border-left:1px solid var(--border);padding-left:48px;min-width:0}.profile-form h2{font-size:20px;font-weight:400;margin:0 0 30px}.profile-form fieldset{border:0;margin:0;padding:0;min-width:0}.profile-form fieldset:disabled{opacity:.65}.profile-photo-field{margin-bottom:26px;font-size:14px}.profile-photo-actions{display:flex;align-items:center;gap:18px;margin-top:12px}.profile-photo-actions .secondary-button{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:10px 15px}.profile-photo-field p{font-size:12px;color:var(--muted-foreground);margin:10px 0 0}.profile-file-name{overflow-wrap:anywhere}.profile-text-button,.profile-retry{border:0;background:none;color:var(--theme-accent);font-size:14px;padding:8px 0;text-underline-offset:4px}.profile-text-button:hover,.profile-retry:hover{text-decoration:underline}.profile-form .field{font-size:14px;position:relative;margin-bottom:22px}.profile-form .field input,.profile-form .field textarea{font-size:16px;padding:12px 14px;line-height:1.6}.profile-form .field textarea{resize:vertical;min-height:120px}.profile-field-note{font-size:12px;color:var(--muted-foreground);margin-top:5px}.profile-count{text-align:right}.profile-optional{font-size:12px;color:var(--theme-dim);font-weight:400;margin-left:7px}.profile-save-row{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.profile-save-row .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:124px;font-size:14px;min-height:44px}.profile-save-row .button:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile-save-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted-foreground)}.profile-form .notice{margin-top:20px;font-size:14px}.profile-retry{display:block;margin-top:8px}.profile-loading{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted-foreground)}.profile-spinner{animation:profileSpin 1s linear infinite}.profile-signin{padding:38px 0 70px}.profile-signin h2{font-size:24px;font-weight:400;margin:26px 0 12px}.profile-signin p{font-size:16px;color:var(--muted-foreground);margin-bottom:26px}.profile-signin .button{display:inline-flex;font-size:14px}@keyframes profileSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){.profile-layout{grid-template-columns:1fr;gap:32px}.profile-page{padding-top:32px}.profile-heading{margin-bottom:28px}.profile-heading h1{font-size:38px}.profile-account{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;align-items:center}.profile-avatar{width:72px;height:72px;font-size:28px}.profile-account h2{margin:0;font-size:22px}.profile-account-details{grid-column:1/-1;margin-top:24px;padding-top:18px}.profile-signout{grid-column:1/-1;margin-top:12px;justify-self:start}.profile-form{padding:28px 0 0;border-left:0;border-top:1px solid var(--border)}.profile-signin .profile-avatar{width:90px;height:90px}}
@media(max-width:480px){.system-brand>span:last-child{display:none}.system-header{gap:8px;flex-wrap:wrap}.utility-controls{margin-left:auto}.profile-page{padding-left:22px;padding-right:22px}}

.missions-page{max-width:1240px}.missions-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 40px}.missions-heading h1{font-family:'Songti SC','SimSun',serif;font-weight:400;font-size:42px;letter-spacing:3px;margin:0}.missions-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.missions-actions .button,.missions-actions .secondary-button{font-size:14px;padding:11px 18px}.mission-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}.mission-tabs{background:transparent!important;border:1px solid var(--border);height:auto!important;padding:4px!important;gap:4px;border-radius:5px!important}.mission-tabs [role=tab]{font-size:14px;padding:11px 20px;height:auto!important;min-height:42px;color:var(--muted-foreground)}.mission-tabs [role=tab][data-state=active]{background:var(--secondary)!important;color:var(--theme-accent)!important;box-shadow:none!important}.mission-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.mission-filters label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted-foreground)}.mission-filters select{font-size:14px;color:var(--foreground);background:var(--background);border:1px solid var(--input);border-radius:4px;padding:10px 28px 10px 12px;min-height:42px}.mission-refresh,.mission-text-button{background:none;border:0;color:var(--theme-accent);font-size:14px;cursor:pointer;padding:11px 5px}.mission-refresh:hover,.mission-text-button:hover{text-decoration:underline;text-underline-offset:4px}.mission-list{border-top:1px solid var(--border)}.mission-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:35px;padding:28px 18px;border-bottom:1px solid var(--border);transition:background .2s,transform .2s}.mission-card:hover{background:var(--surface-hover);transform:translateX(3px)}.mission-card:active{transform:scale(.994)}.mission-card-tags{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted-foreground)}.mission-card-tags>span{display:inline-flex;align-items:center;gap:5px}.mission-status{color:var(--theme-accent);padding:3px 8px;border:1px solid var(--border);border-radius:3px}.mission-card h2{font-size:22px;line-height:1.5;margin:14px 0 10px;font-weight:400;overflow-wrap:anywhere}.mission-excerpt{font-size:15px;line-height:1.8;color:var(--muted-foreground);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.mission-meta{display:flex;gap:12px 20px;flex-wrap:wrap;font-size:12px;color:var(--muted-foreground);line-height:1.7}.mission-meta>span{display:inline-flex;align-items:center;gap:5px;overflow-wrap:anywhere}.mission-card-reward{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right;min-width:0}.mission-card-reward>span{font-size:12px;color:var(--theme-dim)}.mission-card-reward strong{font-size:26px;font-weight:400;line-height:1.5;color:var(--theme-accent);overflow-wrap:anywhere}.mission-card-reward>svg{margin-top:auto;color:var(--theme-dim);transition:transform .2s}.mission-card:hover .mission-card-reward>svg{transform:translate(2px,-2px)}.mission-empty{padding:70px 20px;text-align:center;border-top:1px solid var(--border);color:var(--muted-foreground);font-size:16px}.mission-empty>svg{margin:0 auto 20px}.mission-empty h2{color:var(--foreground);font-size:22px;font-weight:400;margin-bottom:14px}.mission-empty p{font-size:14px;line-height:1.9;margin:12px 0 24px}.mission-empty .secondary-button{display:inline-flex;font-size:14px}.mission-empty .missions-actions{justify-content:center}.mission-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin:30px 0;font-size:14px}.mission-pagination button{font-size:14px}.my-missions-link{font-size:14px;margin-left:auto;letter-spacing:0}.admin-mission-link{margin-bottom:26px}.mission-new{max-width:820px}.mission-form>fieldset{border:0;padding:0;margin:0;min-width:0}.mission-form .field{font-size:15px;margin-bottom:26px}.mission-form input,.mission-form textarea{font-size:16px}.mission-form textarea{resize:vertical;line-height:1.8}.mission-form .field small{font-size:12px;color:var(--muted-foreground);font-weight:400;margin-top:6px;line-height:1.7}.mission-choice{border:0;padding:0;margin:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.mission-choice legend{font-size:15px;margin-bottom:12px}.mission-choice>label{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);padding:17px;border-radius:4px;cursor:pointer;font-size:15px;transition:background .2s,border-color .2s}.mission-choice>label.selected{border-color:var(--theme-dim);background:var(--secondary)}.mission-choice input{margin-top:5px;accent-color:var(--theme-accent)}.mission-choice small{display:block;font-size:12px;color:var(--muted-foreground);margin-top:8px;line-height:1.8}.mission-form .check{display:block;font-size:14px;line-height:1.9;color:var(--muted-foreground);margin:20px 0}.mission-form .check input{width:16px;height:16px;vertical-align:middle;margin-right:9px;accent-color:var(--theme-accent)}.mission-form .check a{color:var(--theme-accent);text-decoration:underline;text-underline-offset:4px;margin:0 4px}.mission-submit-actions{display:flex;align-items:center;gap:20px;margin-top:30px;flex-wrap:wrap}.mission-submit-actions button{display:inline-flex;align-items:center;gap:8px;font-size:14px;min-width:125px;justify-content:center}.mission-submit-actions>span{font-size:13px;color:var(--muted-foreground)}.mission-form fieldset:disabled{opacity:.65}.mission-submitted{padding:25px 0 75px}.mission-submitted>svg{color:var(--theme-accent)}.mission-submitted h2{font-size:26px;font-weight:400;margin:20px 0}.mission-submitted p{font-size:15px;color:var(--muted-foreground);margin-bottom:28px}.mission-detail-page{max-width:1150px}.mission-detail-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.mission-detail-top>a{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--theme-accent)}.mission-detail-page h1{font-size:36px;line-height:1.5;font-weight:400;margin:25px 0 14px;overflow-wrap:anywhere}.mission-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:65px;border-top:1px solid var(--border);padding-top:36px;margin-top:30px}.mission-body h2{font-size:16px;font-weight:400;margin:0 0 22px;color:var(--muted-foreground)}.mission-body>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:2;margin:0}.mission-reward-panel{border-left:1px solid var(--border);padding-left:28px;align-self:start}.mission-reward-panel>span{font-size:13px;color:var(--muted-foreground)}.mission-reward-panel>strong{display:block;font-size:32px;font-weight:400;line-height:1.5;color:var(--theme-accent);margin:12px 0 30px;overflow-wrap:anywhere}.mission-deadline{display:flex;align-items:flex-start;gap:10px;color:var(--muted-foreground)}.mission-deadline span{font-size:12px}.mission-deadline p{font-size:14px;color:var(--foreground);margin:7px 0 0}.mission-mode-note{font-size:13px;line-height:1.9;color:var(--muted-foreground);margin:24px 0}.mission-reward-panel .button,.mission-reward-panel .secondary-button{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;font-size:14px;min-height:44px}.mission-owner-actions{display:grid;gap:10px}.mission-confirm{margin-top:20px;padding:15px;border:1px solid var(--border);font-size:14px;line-height:1.8}.mission-confirm>p{margin-bottom:15px}.mission-confirm .mission-text-button{display:block;width:100%;margin-top:7px}.mission-claimants{margin-top:50px;border-top:1px solid var(--border);padding-top:25px}.mission-claimants h2>span{color:var(--theme-accent);margin-left:8px}.mission-claimants>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line-subtle);padding:14px 0;font-size:14px}.mission-claimants time{font-size:12px;color:var(--muted-foreground);white-space:nowrap}.mission-claimants>p{font-size:14px;color:var(--muted-foreground)}.missions-page button:disabled,.mission-detail-page button:disabled{opacity:.5;cursor:not-allowed}.missions-page .review-card pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.missions-heading{align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:28px}.missions-heading h1{font-size:34px}.mission-controls{gap:20px}.mission-filters{gap:10px;width:100%}.mission-filters label{flex:1;min-width:125px}.mission-filters select{width:100%;padding-right:20px}.mission-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 0}.mission-card-reward{flex-direction:row;align-items:center;text-align:left;flex-wrap:wrap;gap:12px}.mission-card-reward>strong{font-size:24px;flex:1}.mission-card-reward>svg{margin:0}.mission-card h2{font-size:21px}.mission-meta{gap:8px 16px}.mission-choice{gap:10px}.mission-choice>label{padding:14px 11px;font-size:14px}.mission-detail-grid{grid-template-columns:1fr;gap:35px}.mission-reward-panel{border-left:0;border-top:1px solid var(--border);padding:25px 0 0}.mission-detail-page h1{font-size:28px}.mission-detail-top{align-items:flex-start}.profile-heading{flex-wrap:wrap;gap:15px}.my-missions-link{font-size:13px}.mission-empty{padding:45px 8px}.mission-tabs [role=tab]{padding:10px 16px}.missions-actions .button,.missions-actions .secondary-button{padding:10px 14px}}

.forum-page{max-width:1180px}.forum-page .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px}.forum-page button:disabled{opacity:.5;cursor:not-allowed}.forum-tabs{align-self:flex-start;margin-bottom:22px}.forum-section-heading{display:flex;align-items:center;gap:22px;justify-content:space-between;margin:10px 0 26px}.forum-section-heading h2{font-size:22px;font-weight:400;margin:0}.forum-section-heading>span,.forum-description{font-size:14px;line-height:1.9;color:var(--muted-foreground)}.forum-section-heading h2>span{font-size:14px;color:var(--muted-foreground);margin-left:10px}.forum-topic-list{border-top:1px solid var(--border)}.forum-topic-row{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:28px 14px;border-bottom:1px solid var(--border);transition:background .2s,transform .2s}.forum-topic-row:hover{background:var(--surface-hover);transform:translateX(3px)}.forum-topic-row:active,.forum-space-card:active{transform:scale(.99)}.forum-topic-main{min-width:0}.forum-topic-row h2{font-size:22px;font-weight:400;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.forum-topic-row .mission-excerpt{margin-bottom:16px}.forum-reply-count{display:flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:14px;flex-shrink:0}.forum-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.forum-space-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:4px;padding:25px;transition:background .2s,border-color .2s,transform .2s;min-width:0}.forum-space-card:hover{background:var(--surface-hover);border-color:var(--theme-dim);transform:translateY(-3px)}.forum-space-top{display:flex;align-items:center;gap:14px;color:var(--theme-accent)}.forum-space-top>svg:last-child{margin-left:auto}.forum-space-card h3{font-size:23px;line-height:1.5;font-weight:400;margin:28px 0 12px;overflow-wrap:anywhere}.forum-space-card>p{font-size:14px;line-height:1.9;color:var(--muted-foreground);margin:0 0 28px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.forum-space-card .mission-meta{margin-top:auto}.forum-empty{padding:60px 15px;border-top:1px solid var(--border);text-align:center;color:var(--muted-foreground);font-size:15px}.forum-empty>p{margin:0 0 24px}.forum-empty .secondary-button{display:inline-flex;font-size:14px}.forum-backlink{display:inline-block;font-size:14px;color:var(--theme-accent);margin-bottom:24px}.forum-backlink:hover{text-decoration:underline;text-underline-offset:4px}.forum-space-title{min-width:0}.forum-space-title h1{overflow-wrap:anywhere;line-height:1.5}.forum-description{margin:0 0 30px;white-space:pre-wrap;overflow-wrap:anywhere}.forum-note{font-size:13px;line-height:1.9;color:var(--muted-foreground);margin:16px 0 24px}.forum-note a{color:var(--theme-accent);text-decoration:underline;text-underline-offset:4px}.forum-form{max-width:760px}.forum-page.mission-new{max-width:820px}.forum-reading{max-width:920px}.forum-thread h1{font-family:'Songti SC','SimSun',serif;font-weight:400;font-size:36px;line-height:1.5;margin:0 0 20px;overflow-wrap:anywhere}.forum-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:2;margin:25px 0 0}.forum-thread>.forum-body{margin:35px 0 50px}.forum-replies{border-top:1px solid var(--border);padding-top:26px}.forum-reply{border-bottom:1px solid var(--line-subtle);padding:22px 0}.forum-reply .forum-body{margin-top:14px}.forum-reply-form{margin-top:35px}.forum-reply-form .field{margin-bottom:16px}.forum-review-card{border-top:1px solid var(--border);padding:28px 0}.forum-review-card h2{font-weight:400;font-size:24px;line-height:1.6;overflow-wrap:anywhere}.forum-review-card .forum-body{max-height:420px;overflow:auto;margin:18px 0 24px}.forum-review-card .forum-note{overflow-wrap:anywhere}.forum-page [role=tabpanel]{animation:forumIn .22s ease-out}@keyframes forumIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:850px){.forum-space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.forum-space-grid{grid-template-columns:1fr}.forum-section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.forum-section-heading>span{font-size:13px}.forum-topic-row{padding:24px 0;gap:16px}.forum-topic-row h2{font-size:21px}.forum-space-card{padding:22px}.forum-thread h1{font-size:28px}.forum-space-title h1{font-size:30px}.forum-page{padding-left:22px;padding-right:22px}.forum-page .mission-pagination{gap:12px}.forum-page .mission-pagination button{padding:10px 12px}}

.clubs-page{max-width:1180px}.clubs-page .missions-heading>div h1{margin-bottom:8px}.clubs-lead{font-size:14px;color:var(--muted-foreground);margin:0}.club-filter{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.club-filter button{font-size:14px;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);border-radius:4px;padding:9px 15px;transition:background .2s,color .2s}.club-filter button:hover,.club-filter button.active{background:var(--secondary);color:var(--theme-accent);border-color:var(--theme-dim)}.club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.club-tile{display:flex;flex-direction:column;min-height:270px;padding:24px;border:1px solid var(--border);border-radius:4px;transition:background .2s,transform .2s,border-color .2s}.club-tile:hover{background:var(--surface-hover);border-color:var(--theme-dim);transform:translateY(-3px)}.club-tile-top{display:flex;align-items:center;gap:10px}.club-tile-top>svg{margin-left:auto;color:var(--theme-dim)}.club-emblem{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--theme-accent);color:var(--theme-accent);font-family:'Songti SC','SimSun',serif;font-size:21px;line-height:1;flex-shrink:0}.club-emblem.large{width:74px;height:74px;font-size:34px}.club-open,.club-closed{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;font-size:12px;border:1px solid var(--border);border-radius:3px;color:var(--theme-accent)}.club-open{background:var(--secondary)}.club-open.wide{margin-top:20px}.club-closed{color:var(--muted-foreground)}.club-tile h2{font-weight:400;font-size:23px;line-height:1.5;margin:28px 0 10px;overflow-wrap:anywhere}.club-tile>p{font-size:14px;line-height:1.85;color:var(--muted-foreground);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.club-tile>div:last-child{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;font-size:12px;color:var(--theme-dim)}.club-tile>div:last-child span:last-child{display:inline-flex;align-items:center;gap:5px}.club-editor{max-width:820px}.club-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.club-form select{width:100%;padding:12px;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:4px;font-size:16px}.club-detail-page{max-width:1080px}.forum-backlink{display:inline-flex;align-items:center;gap:7px}.club-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:25px;align-items:start;padding-bottom:40px;border-bottom:1px solid var(--border)}.club-hero h1{font-family:'Songti SC','SimSun',serif;font-size:42px;font-weight:400;margin:12px 0 10px;overflow-wrap:anywhere}.club-hero p{font-size:16px;line-height:1.9;color:var(--muted-foreground);margin:0}.club-hero .secondary-button{display:inline-flex;align-items:center;gap:8px;font-size:14px}.club-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:64px;padding-top:38px}.club-detail-grid h2{font-size:21px;font-weight:400;margin:0 0 22px}.club-detail-grid article>p{font-size:16px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.club-detail-grid aside{border-left:1px solid var(--border);padding-left:27px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.club-detail-grid aside>span{font-size:13px;color:var(--muted-foreground);margin-top:4px}.club-detail-grid aside strong{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:400}.club-detail-grid aside p{font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px}.club-detail-grid aside .button{margin-top:16px;font-size:14px}.club-detail-page .notice{margin-top:25px}
@media(max-width:850px){.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-detail-grid{gap:35px}}@media(max-width:600px){.club-grid{grid-template-columns:1fr}.club-form-row,.club-detail-grid{grid-template-columns:1fr}.club-hero{grid-template-columns:auto minmax(0,1fr);gap:17px;padding-bottom:28px}.club-hero .secondary-button{grid-column:1/-1;width:max-content}.club-hero h1{font-size:30px}.club-detail-grid{padding-top:30px}.club-detail-grid aside{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.clubs-page,.club-editor,.club-detail-page{padding-left:22px;padding-right:22px}.club-tile{min-height:245px}}
.identity-choice{display:grid;gap:10px;border:0;padding:0;margin:2px 0 18px}.identity-choice legend{font-weight:700;margin-bottom:2px}.identity-choice label{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;transition:border-color .2s,background .2s}.identity-choice label.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.identity-choice input{accent-color:var(--accent)}.identity-choice strong,.identity-choice small{display:block}.identity-choice small{margin-top:2px;color:var(--muted);font-size:.82rem}.identity-avatar{display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border-radius:50%;background:var(--surface-2);color:var(--muted)}.identity-avatar img{width:100%;height:100%;object-fit:cover}.identity-note{margin:0;color:var(--muted);font-size:.86rem}.identity-note a{margin-left:7px;color:var(--accent);text-decoration:underline}
.news-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.news-title-row .intro{margin-bottom:0}@media(max-width:600px){.news-title-row{align-items:start;flex-direction:column}.news-title-row .button{width:100%}}
.social-actions{display:flex;align-items:center;gap:8px;margin-top:24px}.social-actions button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);border-radius:999px;padding:8px 11px;cursor:pointer}.social-actions button:hover,.social-actions button.active{color:var(--primary);border-color:var(--primary)}.social-status{font-size:.82rem;color:var(--primary)}.social-error{font-size:.82rem;color:var(--destructive)}.social-panel{display:grid;gap:26px;max-width:760px}.social-panel h2{font-size:1.1rem;margin:0 0 10px}.social-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.social-row p{margin:4px 0 0;color:var(--muted-foreground)}.social-row time{font-size:.8rem;color:var(--muted-foreground)}.social-row.unread{border-left:2px solid var(--primary);padding-left:12px}.social-row span{display:flex;gap:8px}.friend-search{display:flex;gap:10px}.friend-search input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:transparent;color:inherit}@media(max-width:600px){.social-row{align-items:flex-start;flex-direction:column}.friend-search{flex-direction:column}}
.content-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0}.content-images a{display:block;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--secondary)}.content-images img{width:100%;height:180px;object-fit:cover;display:block}.image-picker small{display:block;margin-top:7px;color:var(--theme-dim)}.image-picker .error{color:#bf5353}
.email-confirmation{max-width:560px;padding-top:12px}.email-confirmation ol{margin:20px 0 30px;padding-left:22px;color:var(--muted-foreground);line-height:2}.email-confirmation strong{color:var(--foreground);overflow-wrap:anywhere}
.home-kicker{display:flex;align-items:center;gap:9px}.home-guide{display:flex;align-items:center;gap:10px;min-width:165px;padding:14px 16px;border:1px solid var(--line-subtle);border-radius:7px;color:var(--theme-dim);font:11px/1.7 Consolas,'Courier New',monospace;letter-spacing:1px}.home-guide svg{color:var(--theme-accent);animation:guidePulse 2.6s ease-in-out infinite}.portal-card{min-height:330px;border:1px solid transparent}.portal-card+.portal-card{border-left:1px solid var(--line-subtle)}.portal-card:before{background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--theme-accent) 19%,transparent),transparent 36%),linear-gradient(155deg,var(--surface-hover),transparent)}.portal-card:after{left:28px;right:28px;height:2px}.portal-top>span{color:var(--theme-accent)}.portal-main{margin-top:48px}.portal-main h2{font-size:38px;letter-spacing:6px;margin-bottom:19px}.portal-main p{max-width:220px;line-height:1.85}.portal-cta{position:relative;color:var(--foreground);font-size:11px;letter-spacing:1.1px;transition:color .25s,transform .25s}.portal-cta:before{content:'→';color:var(--theme-accent);margin-right:7px}.portal-card:hover .portal-cta,.portal-card:focus-visible .portal-cta{color:var(--theme-accent);transform:translateX(3px)}.portal-card:hover{border-color:var(--line-subtle);box-shadow:0 16px 38px #00000016}.portal-card:hover .portal-main h2{letter-spacing:7px}.portal-card.portal-clubs{background:linear-gradient(135deg,transparent 80%,color-mix(in srgb,var(--theme-accent) 7%,transparent))}.portal-card.portal-forum{background:linear-gradient(135deg,transparent 80%,color-mix(in srgb,var(--theme-accent) 5%,transparent))}.portal-card.portal-missions{background:linear-gradient(135deg,transparent 80%,color-mix(in srgb,var(--theme-accent) 9%,transparent))}.portal-card.portal-more{background:linear-gradient(135deg,transparent 80%,color-mix(in srgb,var(--theme-accent) 5%,transparent))}@keyframes guidePulse{0%,100%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.06)}}@media(max-width:760px){.home-guide{display:none}.portal-card{min-height:282px}.portal-main h2{font-size:32px}.portal-main p{font-size:12px}.portal-cta{font-size:10px}.portal-card:hover{box-shadow:none}}