:root{--star-ink:#3b2d27;--star-red:#9b2c2f;--star-muted:#74675d;--star-line:#cbbdaa;--star-paper:#fffaf2;--star-canvas:#f3ebdf}*{box-sizing:border-box}.star-campus-view{color:var(--star-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}.star-campus-view button,.star-summary-card{font:inherit}.star-campus-view button:focus-visible,.star-summary-card:focus-visible,.star-staff-side a:focus-visible{outline:3px solid var(--star-red);outline-offset:3px}.star-staff-body{margin:0;min-width:320px;background:var(--night-surface,#e9e1d7);color:var(--star-ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}.star-staff-shell{display:grid;grid-template-columns:190px minmax(0,1fr);max-width:1440px;min-height:100vh;margin:auto;background:var(--star-paper);box-shadow:0 24px 70px rgba(61,44,35,.16)}.star-staff-side{display:flex;flex-direction:column;padding:28px 20px;border-right:1px solid var(--star-line);background:var(--star-canvas)}.star-staff-brand{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center}.star-staff-brand img{width:42px;height:42px}.star-staff-brand span{display:grid;gap:2px}.star-staff-brand strong{font-size:17px;white-space:nowrap}.star-staff-brand small{color:var(--star-muted);font-size:11px;letter-spacing:.08em}.star-staff-side nav{display:grid;gap:7px;margin-top:52px}.star-staff-side nav a{padding:12px 13px;color:var(--star-muted);font-size:14px;text-decoration:none}.star-staff-side nav a:first-child{border-block:1px solid #5b463b;color:var(--star-red);font-weight:700}.star-staff-side nav a:hover{color:var(--star-red)}.star-staff-side-note{margin-top:auto;color:var(--star-muted);font-size:11px}.star-staff-main{min-width:0;padding:36px 42px 56px}.star-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:17px;border-bottom:4px double #5b463b}.star-page-head h1{margin:0;font-family:"Songti SC","STSong",serif;font-size:44px;letter-spacing:.06em;line-height:1.25}.star-page-head p{margin:8px 0 0;color:var(--star-muted);font-size:14px;line-height:1.7}.star-season{color:var(--star-muted);font-size:12px;white-space:nowrap}.star-campus-view h2{font-family:"Songti SC","STSong",serif;font-weight:700}.star-campus-view :is(strong,b,time){font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}.star-loading,.star-empty{padding:32px 0;color:var(--star-muted)}
/* Branded portal entry: prominent enough to discover, restrained enough for daily use. */
main.shell>nav .star-campus-nav-entry{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin:0;padding:11px;border:0;background:transparent;color:var(--night-ink,#665957);font-weight:700;text-decoration:none;box-shadow:none;transition:background-color .18s ease,color .18s ease}
main.shell>nav .star-campus-nav-entry:hover{background:var(--night-surface,#f7e7e4);color:var(--deep);box-shadow:none;transform:none}
main.shell>nav .star-campus-nav-entry.active{background:var(--night-surface,#f4ebe5);color:#762b2e;box-shadow:inset 3px 0 0 #9b2c2f}
main.shell>nav .star-campus-nav-entry:focus-visible{outline:3px solid rgba(155,44,47,.32);outline-offset:2px}
.star-menu-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.star-menu-mark{display:grid;flex:0 0 18px;width:18px;height:18px;background:transparent;place-items:center}.star-menu-mark svg{display:block;width:17px;height:17px;fill:#b28a36}.star-menu-arrow{display:none}
@media(max-width:850px){main.shell>nav .star-campus-nav-entry{flex:0 0 auto;width:auto;min-height:42px;margin:0;padding:11px}.star-menu-mark{flex-basis:17px;width:17px;height:17px}.star-menu-mark svg{width:16px;height:16px}}
/* The student home shows a larger rank at the right of the existing profile. */
.profile.star-profile-ready{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:228px;padding:28px 34px;border:1px solid var(--star-line);background:var(--star-paper);color:var(--star-ink);box-shadow:0 10px 28px rgba(61,44,35,.06)}.profile.star-profile-ready>div:first-child{min-width:0;flex:1}.profile.star-profile-ready .overline{color:var(--star-red)}.profile.star-profile-ready .details small{color:var(--star-muted)}.profile.star-profile-ready .star-summary-card{position:static;display:grid;grid-template-columns:132px minmax(170px,1fr);gap:18px;align-items:center;width:min(475px,50%);min-width:390px;margin:0;padding:14px 0 14px 22px;border:0;border-left:1px solid var(--star-line);border-radius:0;background:var(--star-paper);color:var(--star-ink);text-align:left;cursor:pointer;opacity:1;filter:none;box-shadow:none;transform:none;transition:none}.profile.star-profile-ready .star-summary-card:hover,.profile.star-profile-ready .star-summary-card:active{border-color:var(--star-line);background:var(--star-paper);color:var(--star-ink);opacity:1;filter:none;box-shadow:none;transform:none}.profile.star-profile-ready .star-summary-card:hover .star-summary-copy em{text-decoration:underline;text-underline-offset:3px}.profile.star-profile-ready>button[data-edit]{position:absolute;right:24px;top:18px;padding:5px 9px;border:1px solid var(--star-line);background:transparent;color:var(--star-muted);font-size:12px}.profile.star-profile-ready>button[data-edit]:hover{background:transparent;color:var(--star-red)}.star-rank-badge{width:var(--badge-size,126px);aspect-ratio:1;flex:none;background-position:center;background-repeat:no-repeat;background-size:contain;background-image:url("assets/star-campus/badges/bronze-3.png")}.star-rank-badge[data-rank="青铜"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/bronze-1.png")}.star-rank-badge[data-rank="青铜"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/bronze-2.png")}.star-rank-badge[data-rank="白银"]{background-image:url("assets/star-campus/badges/silver-3.png")}.star-rank-badge[data-rank="白银"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/silver-1.png")}.star-rank-badge[data-rank="白银"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/silver-2.png")}.star-rank-badge[data-rank="黄金"]{background-image:url("assets/star-campus/badges/gold-3.png")}.star-rank-badge[data-rank="黄金"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/gold-1.png")}.star-rank-badge[data-rank="黄金"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/gold-2.png")}.star-rank-badge[data-rank="铂金"]{background-image:url("assets/star-campus/badges/platinum-3.png")}.star-rank-badge[data-rank="铂金"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/platinum-1.png")}.star-rank-badge[data-rank="铂金"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/platinum-2.png")}.star-rank-badge[data-rank="钻石"]{background-image:url("assets/star-campus/badges/diamond-3.png")}.star-rank-badge[data-rank="钻石"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/diamond-1.png")}.star-rank-badge[data-rank="钻石"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/diamond-2.png")}.star-rank-badge[data-rank="星耀"]{background-image:url("assets/star-campus/badges/stellar-3.png")}.star-rank-badge[data-rank="星耀"][data-tier="Ⅰ"]{background-image:url("assets/star-campus/badges/stellar-1.png")}.star-rank-badge[data-rank="星耀"][data-tier="Ⅱ"]{background-image:url("assets/star-campus/badges/stellar-2.png")}.star-summary-card .star-rank-badge{--badge-size:126px}.star-summary-copy{display:grid;gap:5px}.star-summary-copy small{color:var(--star-muted);font-size:11px}.star-summary-copy strong{font-family:"Songti SC","STSong",serif;font-size:29px}.star-tier-mark{margin-left:.2em;color:var(--star-red);font-family:Arial,sans-serif;font-size:.55em;vertical-align:.35em}.star-summary-copy b{color:var(--star-red);font-family:Arial,sans-serif;font-size:30px}.star-summary-copy em{color:var(--star-red);font-size:12px;font-style:normal;font-weight:700}
/* Staff pages use rules and columns from the annual style rather than cards. */
.star-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-block:1px solid var(--star-line)}.star-quota{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.star-quota>div{padding:0 20px;border-right:1px solid var(--star-line)}.star-quota>div:first-child{padding-left:0}.star-quota>div:last-child{border-right:0}.star-quota span{display:block;color:var(--star-muted);font-size:12px}.star-quota strong{display:block;margin-top:6px;font-family:Arial,sans-serif;font-size:27px}.star-toolbar>small{display:none}.star-award-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(350px,1.15fr);gap:42px;margin-top:28px}.star-form{padding:24px 26px;border:1px solid var(--star-line);background:var(--night-surface,#f8f1e7)}.star-form h2,.star-records h2{margin:0 0 15px;font-size:25px}.star-form label{display:block;margin-top:16px;color:var(--star-muted);font-size:13px;font-weight:700}.star-form input,.star-form select,.star-form textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--star-line);border-radius:0;background:var(--night-surface,#fffdfa);color:var(--star-ink);font:inherit}.star-form textarea{min-height:110px;resize:vertical}.star-form input:focus,.star-form select:focus,.star-form textarea:focus{outline:2px solid var(--star-red);outline-offset:1px}.star-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.star-form-note{color:var(--star-muted);font-size:12px;line-height:1.5}.star-primary,.star-secondary,.star-danger{min-height:40px;padding:9px 15px;border:1px solid var(--star-red);border-radius:0;background:var(--star-red);color:#fff;cursor:pointer}.star-secondary,.star-danger{background:transparent;color:var(--star-red)}.star-primary:disabled,.star-secondary:disabled,.star-danger:disabled{opacity:.5;cursor:not-allowed}.star-inline-message{min-height:20px;color:#376747;font-size:13px}.star-record{display:grid;grid-template-columns:minmax(105px,.75fr) 60px minmax(130px,1.25fr) 58px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px dotted var(--star-line);font-size:13px}.star-record strong span,.star-record small{display:block;color:var(--star-muted);font-size:11px;font-weight:400}.star-record>b{color:var(--star-red);font-family:Arial,sans-serif;font-size:19px}.star-record p{margin:0;line-height:1.5}.star-record .star-danger{min-height:34px;padding:6px 7px;font-size:12px}
.star-admin-summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--star-line)}.star-admin-summary article{padding:19px 18px;border-right:1px solid var(--star-line)}.star-admin-summary article:first-child{padding-left:0}.star-admin-summary article:last-child{border-right:0}.star-admin-summary span{color:var(--star-muted);font-size:12px}.star-admin-summary b{display:block;margin-top:6px;font-family:Arial,sans-serif;font-size:31px}.star-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:34px}.star-admin-grid>section+section{padding-left:36px;border-left:1px solid var(--star-line)}.star-section{margin-top:36px}.star-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--star-line)}.star-section-head h2{margin:0;font-size:23px}.star-section-head p{margin:0;color:var(--star-muted);font-size:12px}.star-bars{display:grid;gap:13px}.star-bar{display:grid;grid-template-columns:42px 1fr 35px;align-items:center;gap:12px;font-size:13px}.star-bar i{height:6px;background:#ded3c3}.star-bar i:after{content:"";display:block;width:var(--width);height:100%;background:var(--star-red)}.star-bar strong{text-align:right}.star-source-list{margin:0;padding:0;list-style:none}.star-source-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dotted var(--star-line);font-size:13px}.star-source-list strong{color:var(--star-red)}.star-ledger{border-top:1px solid var(--star-line)}.star-ledger-row{display:grid;grid-template-columns:105px 65px minmax(150px,1fr) 70px 60px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-ledger-row.is-head{color:var(--star-muted);font-weight:700}.star-ledger-row time,.star-ledger-row>span,.star-ledger-row small{color:var(--star-muted)}.star-ledger-row>div{min-width:0}.star-ledger-row>div b{display:block;font-weight:600}.star-ledger-row>div small{display:block;margin-top:3px}.star-ledger-row strong{text-align:right;color:var(--star-red)}.star-ledger-row>small{text-align:right}
.star-account-model{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--star-line)}.star-account-model>div{padding:20px 24px;border-right:1px solid var(--star-line)}.star-account-model>div:first-child{padding-left:0}.star-account-model>div:last-child{border-right:0}.star-account-model span,.star-account-model small{display:block;color:var(--star-muted);font-size:12px}.star-account-model strong{display:block;margin:6px 0 4px;color:var(--star-red);font-family:Arial,sans-serif;font-size:32px}.star-account-rules{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0 28px;border-bottom:1px solid var(--star-line)}.star-account-rules p{display:grid;gap:4px;margin:0;padding:0 18px 16px;border-right:1px dotted var(--star-line);font-size:12px}.star-account-rules p:first-child{padding-left:0}.star-account-rules p:last-child{border-right:0}.star-account-rules b{font-size:13px}.star-account-rules span{color:var(--star-muted)}.star-sync-table{border-top:2px solid #5b463b}.star-sync-row{display:grid;grid-template-columns:145px minmax(230px,1fr) 130px 60px 88px;gap:16px;align-items:center;padding:14px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-sync-row>div{display:grid;gap:3px}.star-sync-row>div small,.star-sync-row p,.star-sync-row time{margin:0;color:var(--star-muted)}.star-sync-status{color:#376747;font-weight:700}.star-sync-status.is-waiting{color:#9a6a18}.star-sync-row button{min-height:34px;padding:6px 9px;font-size:12px}.star-run-history{margin-top:24px}.star-run-history h3{margin:0 0 10px;font-family:"Songti SC","STSong",serif;font-size:18px}.star-run-history ul{margin:0;padding:0;border-top:1px solid var(--star-line);list-style:none}.star-run-history li{display:grid;grid-template-columns:130px 130px repeat(2,90px) minmax(130px,1fr);gap:14px;padding:10px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-run-history time,.star-run-history span,.star-run-history small{color:var(--star-muted)}
.star-redemption-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(380px,1.1fr);gap:42px}.star-redemption-grid h3{margin:0 0 14px;font-family:"Songti SC","STSong",serif;font-size:23px}.star-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.star-average-hint{margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--star-red);background:var(--night-surface,#fffaf2);color:var(--star-red);font-size:12px;line-height:1.6}.star-redemption-side{display:grid;align-content:start;gap:24px}.star-proxy-form>p{color:var(--star-muted);font-size:12px;line-height:1.7}.star-proxy-form>.star-primary{width:100%;margin-top:18px}.star-published-list{border-top:2px solid #5b463b}.star-published-list h3{margin-top:18px}.star-published-list article{display:grid;grid-template-columns:1fr 70px 70px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-published-list article div{display:grid;gap:3px}.star-published-list article small,.star-published-list article span{color:var(--star-muted)}.star-published-list article b{color:var(--star-red);text-align:right}
.star-publish-warning{display:grid;gap:4px;margin-bottom:14px;padding:11px 12px;border:1px solid #d5b29e;background:var(--night-surface,#fff8ed);color:#7f3e26;font-size:12px;line-height:1.6}.star-form-triple{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.star-audience-field{margin:16px 0 0;padding:13px;border:1px solid var(--star-line)}.star-audience-field legend{padding:0 7px;color:var(--star-muted);font-size:13px;font-weight:700}.star-audience-presets,.star-class-checks{display:flex;flex-wrap:wrap;gap:8px 15px}.star-audience-presets{padding-bottom:11px;border-bottom:1px dotted var(--star-line)}.star-class-checks{padding-top:11px}.star-audience-field label{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}.star-audience-field input{display:inline-block;width:auto;margin:0}.star-request-list{border-top:2px solid #5b463b}.star-request-list h3{display:flex;justify-content:space-between;margin-top:18px}.star-request-list h3 b{color:var(--star-red);font-family:Arial,sans-serif}.star-request-list article{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-request-list article div{display:grid;gap:3px}.star-request-list article small{color:var(--star-muted)}.star-request-list button,.star-published-list button{padding:6px 8px;border:1px solid var(--star-red);background:transparent;color:var(--star-red);font:inherit;font-size:11px;cursor:pointer}.star-request-list button:last-child{border-color:var(--star-line);color:var(--star-muted)}.star-published-list article{grid-template-columns:1fr 55px 55px 86px}.star-published-list button:disabled{border-color:transparent;color:var(--star-muted);cursor:not-allowed}
@media(max-width:1100px){.star-award-layout,.star-admin-grid,.star-redemption-grid{grid-template-columns:1fr}.star-admin-grid>section+section{padding:24px 0 0;border-left:0;border-top:1px solid var(--star-line)}}
@media(max-width:740px){.star-staff-shell{display:block}.star-staff-side{display:block;padding:16px 18px 0;border-right:0;border-bottom:1px solid var(--star-line)}.star-staff-brand{display:flex}.star-staff-brand img{width:38px;height:38px}.star-staff-side nav{display:flex;gap:18px;margin:13px -18px 0;padding:0 18px;overflow:auto}.star-staff-side nav a{flex:none;padding:12px 0 11px;font-size:13px}.star-staff-side nav a:first-child{border-block:0;border-bottom:2px solid var(--star-red)}.star-staff-side-note{display:none}.star-staff-main{padding:26px 20px 46px}.star-page-head{display:block}.star-page-head h1{font-size:34px}.star-season{display:block;margin-top:10px}.star-quota strong{font-size:21px}.star-quota>div{padding-inline:10px}.star-toolbar{display:block}.star-form-actions{align-items:stretch;flex-direction:column}.star-record{grid-template-columns:1fr 55px}.star-record p{grid-column:1/-1}.star-record .star-danger{grid-column:1/-1;justify-self:start}.star-admin-summary{grid-template-columns:repeat(2,1fr)}.star-admin-summary article:nth-child(2){border-right:0}.star-admin-summary article:nth-child(-n+2){border-bottom:1px solid var(--star-line)}.star-admin-summary article:nth-child(3){padding-left:0}.star-ledger-row{grid-template-columns:70px 1fr 55px}.star-ledger-row.is-head{display:none}.star-ledger-row>div{grid-column:1/-1;grid-row:2}.star-ledger-row>small{display:none}.profile.star-profile-ready{display:block;padding:22px 20px}.profile.star-profile-ready .star-summary-card{position:static;width:100%;min-width:0;margin-top:22px;padding:18px 0 0;border-left:0;border-top:1px solid var(--star-line);grid-template-columns:95px 1fr}.profile.star-profile-ready .star-summary-card .star-rank-badge{--badge-size:95px}.profile.star-profile-ready>button[data-edit]{right:18px;top:16px}.star-summary-copy strong{font-size:23px}.star-summary-copy b{font-size:25px}}
@media(max-width:740px){.star-account-model,.star-account-rules{grid-template-columns:1fr}.star-account-model>div,.star-account-model>div:first-child{padding:15px 0;border-right:0;border-bottom:1px dotted var(--star-line)}.star-account-model>div:last-child{border-bottom:0}.star-account-rules p,.star-account-rules p:first-child{padding:12px 0;border-right:0;border-bottom:1px dotted var(--star-line)}.star-sync-row{grid-template-columns:1fr auto;gap:7px 12px}.star-sync-row p,.star-sync-row time{grid-column:1/-1}.star-sync-row .star-sync-status{grid-column:1}.star-sync-row button{grid-column:2;grid-row:1/3}.star-run-history li{grid-template-columns:1fr 1fr;gap:5px 12px}.star-run-history li small{grid-column:1/-1}}
@media(max-width:740px){.star-form-triple{grid-template-columns:1fr}.star-request-list article{grid-template-columns:1fr 1fr}.star-request-list article div{grid-column:1/-1}.star-published-list article{grid-template-columns:1fr 50px 50px}.star-published-list article button{grid-column:1/-1;justify-self:start}}
.star-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.star-reversal-policy{max-width:430px;padding:9px 11px;border-left:3px solid #b48136;background:var(--night-surface,#fff8ed);color:#72542b;line-height:1.65}.star-reversal-policy b{display:block;color:#6a4616}
.star-item-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.star-status{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border:1px solid var(--star-line);color:var(--star-muted);font-size:11px;font-weight:700}.star-status.is-review{border-color:#d5b46a;background:var(--night-surface,#fff8df);color:#815e13}.star-status.is-active{border-color:#9dbca7;background:var(--night-surface,#f0f7f2);color:#376747}.star-status.is-rejected{border-color:#d3a4a0;background:var(--night-surface,#fff2f0);color:#9b2b26}.star-status.is-inactive{background:var(--night-surface,#f1ece5)}.star-published-item .star-published-copy{min-width:0}.star-item-reason{margin:6px 0 0;color:#8b342d;font-size:12px;line-height:1.5}.star-quota-compact{display:grid;gap:2px;color:var(--star-muted);text-align:right}.star-quota-compact small{font-size:10px}.star-item-actions{display:flex;justify-content:flex-end;gap:6px}.star-published-list .star-published-item{grid-template-columns:minmax(180px,1fr) 55px 78px minmax(88px,auto)}.star-item-detail{grid-column:1/-1;border-top:1px dotted var(--star-line)}.star-item-detail summary{padding:10px 0;color:var(--star-red);font-weight:700;cursor:pointer;list-style-position:inside}.star-item-detail summary b{float:right;color:var(--star-muted)}.star-item-description{padding:12px 14px;background:var(--night-surface,#f8f1e7)}.star-item-description p{margin:5px 0 0;color:var(--star-muted);line-height:1.6}.star-applicant-heading{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.star-applicant-heading small{color:var(--star-muted)}.star-item-detail ol{margin:7px 0 0;padding:0;list-style:none}.star-item-detail li{display:grid;grid-template-columns:105px minmax(130px,1fr) 55px auto;gap:10px;align-items:center;padding:10px 0;border-top:1px dotted var(--star-line)}.star-item-detail li time,.star-item-detail li small{color:var(--star-muted);font-size:11px}.star-item-detail li span{display:grid;gap:2px}.star-item-detail li>strong{color:var(--star-red);text-align:right}.star-item-detail li>div{display:flex;gap:6px}.star-item-detail li button{padding:5px 7px;border:1px solid var(--star-red);background:transparent;color:var(--star-red);font:inherit;font-size:11px;cursor:pointer}.star-item-detail li button:last-child{border-color:var(--star-line);color:var(--star-muted)}.star-form-actions>div{display:flex;gap:8px}.star-review-summary{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--star-line)}.star-review-summary span{padding:14px 18px;border-right:1px solid var(--star-line);color:var(--star-muted);font-size:12px}.star-review-summary span:last-child{border-right:0}.star-review-summary b{display:block;color:var(--star-ink);font-family:Arial,sans-serif;font-size:25px}.star-review-list article{display:grid;grid-template-columns:minmax(260px,1fr) 220px minmax(170px,auto);gap:20px;align-items:center;padding:18px 0;border-bottom:1px dotted var(--star-line)}.star-review-list article>div:first-child{display:grid;gap:5px}.star-review-list article p{margin:0;color:var(--star-muted);font-size:12px;line-height:1.6}.star-review-list article>dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.star-review-list dl div{padding:0 12px;border-right:1px solid var(--star-line)}.star-review-list dl div:first-child{padding-left:0}.star-review-list dl div:last-child{border-right:0}.star-review-list dt{color:var(--star-muted);font-size:10px}.star-review-list dd{margin:4px 0 0;font-family:Arial,sans-serif;font-size:20px;font-weight:700}.star-review-actions{display:flex;justify-content:flex-end;gap:8px}.star-review-actions button{white-space:nowrap}
@media(max-width:740px){.star-form-grid{grid-template-columns:1fr}.star-published-list .star-published-item{grid-template-columns:1fr auto}.star-published-item>.star-published-copy{grid-column:1/-1}.star-item-actions{grid-column:1/-1;justify-content:flex-start}.star-item-detail li{grid-template-columns:90px 1fr}.star-item-detail li>strong{text-align:left}.star-item-detail li>div{grid-column:1/-1}.star-review-summary{grid-template-columns:repeat(2,1fr)}.star-review-summary span:nth-child(2){border-right:0}.star-review-summary span:nth-child(-n+2){border-bottom:1px solid var(--star-line)}.star-review-list article{grid-template-columns:1fr}.star-review-list article>dl{max-width:320px}.star-review-actions{justify-content:flex-start}.star-form-actions>div{width:100%}.star-form-actions>div button{flex:1}}
@media(min-width:741px){.star-record{grid-template-columns:minmax(105px,.75fr) 60px minmax(130px,1.25fr) 82px}.star-record .star-danger{white-space:nowrap}}
.star-award-class-field{margin:16px 0 0;padding:13px 14px;border:1px solid var(--star-line)}.star-award-class-field legend{padding:0 7px;color:var(--star-muted);font-size:13px;font-weight:700}.star-award-class-options{display:flex;flex-wrap:wrap;gap:9px 18px}.star-award-class-options label{display:flex;align-items:center;gap:7px;margin:0;color:var(--star-ink);font-weight:600;cursor:pointer}.star-award-class-options input{display:inline-block;width:auto;margin:0;accent-color:var(--star-red)}.star-student-search{margin-top:16px}.star-student-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:216px;margin-top:8px;border:1px solid var(--star-line);overflow:auto;background:var(--night-surface,#fffdfa)}.star-student-checklist>label{display:flex;align-items:center;gap:9px;min-width:0;margin:0;padding:10px 11px;border-bottom:1px dotted var(--star-line);cursor:pointer}.star-student-checklist>label:nth-child(odd){border-right:1px dotted var(--star-line)}.star-student-checklist>label:hover{background:var(--night-surface,#f8eee4)}.star-student-checklist>label:has(input:checked){background:var(--night-surface,#f5e2dc);color:var(--star-red)}.star-student-checklist input{display:inline-block;flex:0 0 auto;width:auto;margin:0;accent-color:var(--star-red)}.star-student-checklist span{display:grid;min-width:0}.star-student-checklist b{color:var(--star-ink);font-size:13px}.star-student-checklist small{color:var(--star-muted);font-size:10px;font-weight:400}.star-award-split{display:grid;gap:3px;margin-top:12px;padding:11px 13px;border-left:3px solid var(--star-red);background:var(--night-surface,#fffaf2)}.star-award-split b{color:var(--star-red);font-size:14px}.star-award-split span{color:var(--star-muted);font-size:11px}.star-batch-record>b{display:flex;align-items:baseline;gap:2px}.star-batch-record>b small{color:inherit;font-size:10px;font-weight:700}.star-batch-record p>small:first-of-type{margin-top:3px;color:var(--night-ink,#6d5c53)}.star-batch-record p>small:last-of-type{margin-top:2px}
@media(max-width:740px){.star-student-checklist{grid-template-columns:1fr;max-height:260px}.star-student-checklist>label:nth-child(odd){border-right:0}.star-batch-record>b{justify-self:end}.star-award-class-options{gap:10px 16px}}
.star-proxy-audience{display:grid;gap:3px;margin-top:14px;padding:11px 13px;border-left:3px solid #b48136;background:var(--night-surface,#fff8ed)}.star-proxy-audience b{color:#6a4616;font-size:13px}.star-proxy-audience span{color:var(--star-muted);font-size:11px;line-height:1.5}.star-proxy-student-options{max-height:220px;margin-top:8px;border:1px solid var(--star-line);overflow:auto;background:var(--night-surface,#fffdfa)}.star-proxy-student-options>p{margin:0;padding:16px;color:var(--star-muted);font-size:12px;text-align:center}.star-proxy-student-options button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:0;border-bottom:1px dotted var(--star-line);background:transparent;color:var(--star-ink);font:inherit;text-align:left;cursor:pointer}.star-proxy-student-options button:last-child{border-bottom:0}.star-proxy-student-options button:hover{background:var(--night-surface,#f8eee4)}.star-proxy-student-options button[aria-pressed="true"]{background:var(--night-surface,#f5e2dc);box-shadow:inset 3px 0 var(--star-red)}.star-proxy-student-options button span{display:grid;gap:2px}.star-proxy-student-options button small{color:var(--star-muted);font-size:10px}.star-proxy-student-options button strong{flex:none;color:var(--star-red);font-size:11px}.star-proxy-form [data-proxy-student-search]:disabled{background:var(--night-surface,#f1ece5);color:var(--star-muted);cursor:not-allowed}.star-proxy-form>button.star-primary:disabled{opacity:.45}
@media(max-width:740px){.star-proxy-student-options{max-height:260px}.star-proxy-student-options button{align-items:flex-start}.star-proxy-student-options button strong{padding-top:2px}}
.star-monitor-search{display:grid;grid-template-columns:auto minmax(240px,520px);align-items:center;gap:14px;color:var(--star-muted);font-size:12px;font-weight:700}.star-monitor-search input{width:100%;padding:11px 12px;border:1px solid var(--star-line);border-radius:0;background:var(--night-surface,#fffdfa);color:var(--star-ink);font:inherit}.star-monitor-search input:focus{outline:2px solid var(--star-red);outline-offset:1px}.star-monitor-count{margin-top:14px;padding:9px 0;border-block:1px solid var(--star-line);color:var(--star-muted);font-size:12px}.star-monitor-row{display:grid;grid-template-columns:105px minmax(220px,1.2fr) 60px minmax(180px,1fr) 100px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px dotted var(--star-line);font-size:12px}.star-monitor-row time,.star-monitor-row small,.star-monitor-row span{color:var(--star-muted)}.star-monitor-row>div:nth-child(2),.star-monitor-status{display:grid;gap:4px}.star-monitor-row>div:nth-child(2)>strong small{font-weight:400}.star-monitor-row>b{color:var(--star-red);text-align:right}.star-monitor-status strong{color:var(--star-ink)}.star-monitor-row button{min-height:34px;padding:6px 9px;font-size:11px;white-space:nowrap}
@media(max-width:740px){.star-monitor-search{grid-template-columns:1fr}.star-monitor-row{grid-template-columns:90px 1fr 48px}.star-monitor-status{grid-column:1/-1}.star-monitor-row>div:last-child{grid-column:1/-1}.star-monitor-row>b{text-align:right}}

/* Unified confirmation and reason-entry dialog */
.star-dialog{width:min(520px,calc(100vw - 32px));max-width:none;padding:0;border:0;background:transparent;color:var(--star-ink)}
.star-dialog::backdrop{background:rgba(35,24,20,.52);backdrop-filter:blur(3px)}
.star-dialog-panel{position:relative;margin:0;padding:30px 30px 26px;border:1px solid #d8c9ba;background:var(--night-surface,#fffdfa);box-shadow:0 24px 70px rgba(46,28,21,.28)}
.star-dialog-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--star-red)}
.star-dialog-kicker{margin-bottom:12px;color:var(--star-red);font-size:11px;font-weight:800;letter-spacing:.18em}
.star-dialog h2{max-width:calc(100% - 54px);margin:0;font-family:"Songti SC","STSong",serif;font-size:27px;line-height:1.25}
.star-dialog p{margin:13px 0 0;color:var(--star-muted);font-size:13px;line-height:1.8}
.star-dialog label{display:grid;gap:7px;margin-top:20px;font-size:13px;font-weight:700}
.star-dialog textarea{box-sizing:border-box;width:100%;min-height:92px;padding:11px 12px;resize:vertical;border:1px solid var(--star-line);border-radius:0;background:var(--night-surface,#fff);color:var(--star-ink);font:inherit;line-height:1.6}
.star-dialog textarea:focus{outline:2px solid var(--star-red);outline-offset:1px}
.star-dialog label small{min-height:17px;color:var(--star-red);font-size:11px;font-weight:600}
.star-dialog-close{position:absolute;top:17px;right:17px;display:grid;width:44px;height:44px;padding:0;border:1px solid transparent;background:transparent;color:var(--star-muted);font:300 29px/1 Arial,sans-serif;place-items:center;cursor:pointer}
.star-dialog-close:hover{border-color:var(--star-line);background:var(--night-surface,#f6eee6);color:var(--star-red)}
.star-dialog-close:focus-visible{outline:2px solid var(--star-red);outline-offset:2px}
.star-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--star-line)}
.star-dialog-actions button{min-width:108px;min-height:44px}
.star-dialog-actions .star-danger{border:1px solid #a92e2e;background:#a92e2e;color:#fff}
.star-dialog-actions .star-danger:hover{background:#8d2424}
body:has(.star-dialog[open]){overflow:hidden}
@media(max-width:520px){.star-dialog{width:calc(100vw - 24px)}.star-dialog-panel{padding:26px 20px 20px}.star-dialog h2{font-size:23px}.star-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.star-dialog-actions button{min-width:0;width:100%}}
@media(max-width:740px){.star-campus-view :is(button,.star-secondary,.star-primary,.star-danger){min-height:44px}.star-item-detail summary{min-height:44px;padding-block:13px}.star-proxy-student-options button{min-height:52px}.star-monitor-row button,.star-sync-row button{min-height:44px}}
.star-campus-view ::selection,.star-dialog ::selection{background:#e8c7bc;color:var(--night-ink,#3b2d27)}.star-campus-view :is(input,textarea,select){caret-color:var(--star-red)}

/* Student directory picker: designed for a full-grade roster without rendering hundreds of rows at once. */
.star-award-class-field>p{margin:0 0 11px;color:var(--star-muted);font-size:11px;line-height:1.6}
.star-student-picker{margin-top:16px;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}
.star-student-picker-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border-bottom:1px solid var(--star-line);background:var(--night-surface,#f7efe6)}
.star-student-picker-head>div{display:grid;gap:3px}.star-student-picker-head b{font-size:14px}.star-student-picker-head span{color:var(--star-muted);font-size:10px}
.star-picker-clear{min-height:34px;padding:6px 10px;border:1px solid var(--star-line);background:transparent;color:var(--star-red);font:inherit;font-size:11px;cursor:pointer}.star-picker-clear:disabled{opacity:.42;cursor:not-allowed}
.star-student-picker-tools{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;padding:13px 14px 0}.star-student-picker-tools label{margin:0}.star-student-picker-tools input,.star-student-picker-tools select{margin-top:5px}
.star-selected-students{margin:12px 14px 0;padding:11px 12px;border-left:3px solid #b48136;background:var(--night-surface,#fff8ed)}.star-selected-students>p{margin:0;color:var(--star-muted);font-size:11px}.star-selected-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.star-selected-summary b{color:#6a4616;font-size:13px}.star-selected-summary span{color:var(--star-muted);font-size:10px}
.star-selected-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.star-selected-chips button{display:flex;align-items:center;gap:5px;min-height:30px;padding:5px 8px;border:1px solid #d7c4ad;background:var(--night-surface,#fffdfa);color:var(--star-ink);font:inherit;font-size:11px;cursor:pointer}.star-selected-chips button:hover{border-color:var(--star-red);color:var(--star-red)}.star-selected-chips small{color:var(--star-muted);font-size:9px}.star-selected-chips em{align-self:center;color:var(--star-muted);font-size:10px;font-style:normal}
.star-student-picker .star-student-checklist{max-height:244px;margin:12px 14px 0}.star-picker-empty{grid-column:1/-1;padding:24px;color:var(--star-muted);font-size:12px;text-align:center}.star-picker-result{margin:0;padding:9px 14px 12px;color:var(--star-muted);font-size:10px;line-height:1.5}
@media(max-width:740px){.star-student-picker-head{align-items:flex-start}.star-student-picker-tools{grid-template-columns:1fr}.star-selected-summary{display:grid;gap:3px}.star-student-picker .star-student-checklist{max-height:300px}.star-picker-clear{min-height:40px}.star-selected-chips button{min-height:38px}}
.star-page-head>a.star-secondary{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;text-decoration:none}.star-season-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px}.star-season-manager .star-form{margin:0}.star-danger-check{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d9b6ac;background:var(--night-surface,#fff8f4);color:#713127}.star-danger-check input{flex:none;width:17px;height:17px;margin-top:2px}.star-danger-check span{font-size:12px;line-height:1.6}.star-season-archive{padding:18px;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-season-archive h3{margin:0 0 12px;font-size:18px}.star-season-archive>article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px dotted var(--star-line)}.star-season-archive>article>div{display:grid;gap:4px}.star-season-archive>article small{color:var(--star-muted);font-size:11px}.star-season-result-head{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 0;border-bottom:1px solid var(--star-line)}.star-season-result-head span{color:var(--star-muted);font-size:11px}.star-season-result-list{max-height:330px;overflow:auto}.star-season-result-list p{display:grid;grid-template-columns:34px 1fr auto;gap:10px;margin:0;padding:9px 0;border-bottom:1px dotted var(--star-line);font-size:11px}.star-season-result-list p>b{color:var(--star-red);font-family:Arial,sans-serif}.star-season-result-list p>strong{font-weight:600}.star-season-result-list+small{display:block;margin-top:8px;color:var(--star-muted);font-size:10px}
@media(max-width:900px){.star-season-layout{grid-template-columns:1fr}}
.star-source-panels{display:grid;gap:12px}.star-source-panels>details{border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-source-panels>details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}.star-source-panels>details>summary::-webkit-details-marker{display:none}.star-source-panels>details>summary:after{content:"＋";order:3;color:var(--star-red);font-size:20px}.star-source-panels>details[open]>summary:after{content:"－"}.star-source-panels>details>summary b{font-size:16px}.star-source-panels>details>summary span{margin-left:auto;color:var(--star-muted);font-size:11px}.star-source-panel-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px;padding:0 18px 18px;border-top:1px solid var(--star-line)}.star-source-panel-grid>.star-form{margin:18px 0 0}.star-source-records{margin-top:18px;padding:17px;border:1px solid var(--star-line);background:var(--night-surface,#fbf5ec)}.star-source-records h3{margin:0 0 10px}.star-source-records article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dotted var(--star-line)}.star-source-records article>div{display:grid;gap:3px}.star-source-records article small{color:var(--star-muted);font-size:10px}.star-source-records article>span{color:var(--star-muted);font-size:10px}.star-source-records button{min-height:34px;padding:6px 9px;border:1px solid var(--star-red);background:transparent;color:var(--star-red);font:inherit;font-size:10px;cursor:pointer}.star-source-manager textarea{resize:vertical}
.star-honor-rule-note{margin-bottom:18px;padding:14px 15px;border-left:3px solid var(--star-red);background:var(--night-surface,#fffaf2)}.star-honor-rule-note>b{display:block;margin-bottom:9px}.star-honor-rule-note>div{display:flex;flex-wrap:wrap;gap:6px}.star-honor-rule-note span{padding:5px 8px;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa);color:var(--star-ink);font-size:11px}.star-honor-rule-note small{display:block;margin-top:10px;color:var(--star-muted);line-height:1.6}.star-honor-calculation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:13px 14px;border:1px solid #d8c4aa;background:var(--night-surface,#fffdfa)}.star-honor-calculation span{color:var(--star-muted);font-size:12px}.star-honor-calculation b{color:var(--star-red);font-size:18px;white-space:nowrap}.star-honor-recipient-preview{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border:1px dashed var(--star-line);background:var(--night-surface,#fffdfa);color:var(--star-muted);font-size:11px;line-height:1.5}.star-honor-recipient-preview b{color:var(--star-ink)}.star-honor-recipient-preview.is-ready{border-style:solid;border-color:#9dbca7;background:var(--night-surface,#f2f8f3)}.star-honor-recipient-preview.is-ready b{color:#376747}.star-honor-recipient-preview.is-warning{border-style:solid;border-color:#d5b46a;background:var(--night-surface,#fff8df)}.star-honor-recipient-preview.is-warning b{color:#815e13}.star-honor-panel>.star-source-records{align-self:start}
@media(max-width:900px){.star-source-panel-grid{grid-template-columns:1fr}.star-source-panels>details>summary{align-items:flex-start;flex-wrap:wrap}.star-source-panels>details>summary span{order:4;width:100%;margin-left:0}}
@media(max-width:740px){.star-honor-calculation{align-items:flex-start;flex-direction:column}.star-honor-calculation b{font-size:17px}}
.star-source-panel-grid{align-items:start}

/* Authorized cadre rosters inside the teacher Star Campus workspace. */
.star-cadre-management>.star-section-head>div{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:18px}.star-cadre-management>.star-section-head p{margin:0;color:var(--star-muted);font-size:12px}.star-cadre-source-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--star-line);margin-bottom:24px}.star-cadre-source-strip article{display:grid;gap:5px;padding:17px 18px;border-right:1px solid var(--star-line)}.star-cadre-source-strip article:last-child{border-right:0}.star-cadre-source-strip b{font-family:"Songti SC","STSong",serif;font-size:18px}.star-cadre-source-strip span{min-height:36px;color:var(--star-muted);font-size:11px;line-height:1.6}.star-cadre-source-strip em{color:var(--star-red);font-size:11px;font-style:normal;font-weight:700}.star-cadre-tabs{display:flex;gap:0;margin-bottom:18px;border-bottom:1px solid var(--star-line)}.star-cadre-tabs button{padding:10px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--star-muted);font:inherit;font-weight:700;cursor:pointer}.star-cadre-tabs button.active{border-color:var(--star-red);color:var(--star-red)}.star-cadre-editor-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:18px}.star-cadre-editor-head h3{margin:2px 0 5px;font-family:"Songti SC","STSong",serif;font-size:26px}.star-cadre-editor-head p{margin:0;color:var(--star-muted);font-size:12px;line-height:1.7}.star-cadre-editor-head>div:last-child{display:flex;align-items:end;gap:10px}.star-cadre-editor-head label{display:grid;gap:5px;color:var(--star-muted);font-size:11px}.star-cadre-editor-head input{width:190px;padding:9px 10px;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa);color:var(--star-ink);font:inherit}.star-cadre-editor-head [data-roster-limit]{width:80px}.star-cadre-editor-head strong{padding:9px 0;color:var(--star-red);white-space:nowrap}.star-cadre-role-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.star-cadre-role{position:relative;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-cadre-role>header{display:grid;grid-template-columns:minmax(0,1fr) 96px auto;gap:10px;align-items:end;padding:14px;background:var(--night-surface,#f7efe6);border-bottom:1px solid var(--star-line)}.star-cadre-role>header>div{display:grid;gap:4px}.star-cadre-role>header input{width:100%;padding:7px 8px;border:1px solid var(--star-line);background:var(--night-surface,#fff);font:inherit;font-weight:700}.star-cadre-role>header small{color:var(--star-muted);font-size:10px}.star-cadre-role>header label{display:grid;gap:4px;color:var(--star-muted);font-size:10px}.star-cadre-role>header label input{font-weight:600}.star-cadre-role>header button{min-height:34px;padding:6px 8px;border:0;background:transparent;color:var(--star-muted);font:inherit;font-size:11px;cursor:pointer}.star-cadre-members{display:flex;flex-wrap:wrap;gap:7px;min-height:66px;padding:13px}.star-cadre-members>span{position:relative;display:grid;min-width:112px;padding:7px 28px 7px 9px;border:1px solid #ddcfc2;background:var(--night-surface,#fff);color:var(--star-ink);font-size:12px;font-weight:700}.star-cadre-members small{color:var(--star-muted);font-size:9px;font-weight:400}.star-cadre-members span button{position:absolute;right:4px;top:50%;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--star-muted);font-size:17px;transform:translateY(-50%);cursor:pointer}.star-cadre-members>p{margin:auto;color:var(--star-muted);font-size:11px}.star-cadre-search{position:relative;display:grid;gap:5px;margin:0 13px 13px;color:var(--star-muted);font-size:10px;font-weight:700}.star-cadre-search>input{padding:9px 10px;border:1px solid var(--star-line);background:var(--night-surface,#fff);font:inherit}.star-cadre-search>div{position:absolute;z-index:12;top:100%;left:0;right:0;max-height:230px;overflow:auto;border:1px solid var(--star-line);background:var(--night-surface,#fff);box-shadow:0 12px 28px rgba(48,30,24,.15)}.star-cadre-search>div button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 10px;border:0;border-bottom:1px dotted var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit;text-align:left;cursor:pointer}.star-cadre-search>div button:hover{background:var(--night-surface,#f7efe6)}.star-cadre-search>div small{color:var(--star-muted);font-size:10px}.star-cadre-search>div p{padding:12px;text-align:center}.star-cadre-editor>[data-cadre-editor],.star-cadre-editor{min-width:0}.star-cadre-editor footer,[data-cadre-editor]>footer{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--star-line)}[data-cadre-editor]>footer>span{flex:1;color:var(--star-muted);font-size:11px;text-align:center}
@media(max-width:900px){.star-cadre-source-strip{grid-template-columns:1fr}.star-cadre-source-strip article{border-right:0;border-bottom:1px solid var(--star-line)}.star-cadre-source-strip article:last-child{border-bottom:0}.star-cadre-role-list{grid-template-columns:1fr}.star-cadre-editor-head{align-items:start;flex-direction:column}.star-cadre-editor-head>div:last-child{width:100%;flex-wrap:wrap}.star-cadre-editor-head label:first-child{flex:1}.star-cadre-editor-head input{width:100%}}
@media(max-width:560px){.star-cadre-role>header{grid-template-columns:1fr 90px}.star-cadre-role>header>button{grid-column:1/-1;justify-self:start}.star-cadre-editor>[data-cadre-editor],.star-cadre-editor{width:100%}[data-cadre-editor]>footer{align-items:stretch;display:grid}[data-cadre-editor]>footer>span{text-align:left}.star-cadre-tabs button{flex:1}.star-cadre-source-strip span{min-height:0}}

/* Source governance: official workdays, split cadre ownership, exam snapshots. */
.star-source-manager-v2 .star-section-head{align-items:flex-start}.star-source-policy{border:1px solid #d7c9bb;background:var(--night-surface,#f7f1e9);color:#725a47;padding:.42rem .72rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap}.star-source-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 20px}.star-source-overview article{min-height:118px;padding:18px;border:1px solid #e5dcd3;background:var(--night-surface,#fbf8f4)}.star-source-overview b{display:block;margin-bottom:9px;color:#6f2224;font-size:1rem}.star-source-overview span{color:var(--night-ink,#665c55);font-size:.88rem;line-height:1.75}.star-source-compact{display:grid;grid-template-columns:1.3fr .7fr 1.8fr auto;align-items:end;gap:12px;padding:18px}.star-source-compact label{margin:0}.star-cadre-source-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px}.star-cadre-source-map article{display:flex;gap:14px;padding:16px;border:1px solid #e7ddd4;background:var(--night-surface,#fff)}.star-cadre-source-map article>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--night-surface,#f5e8df);color:#8c2d2e;font-weight:800;font-size:.75rem}.star-cadre-source-map b{color:var(--night-ink,#302824)}.star-cadre-source-map p{margin:6px 0 0;color:var(--night-ink,#756963);font-size:.86rem;line-height:1.65}.star-source-records-wide{margin:0;padding:18px}.star-exam-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:18px}.star-exam-source-grid h3{margin:0 0 12px;color:var(--night-ink,#382e29);font-size:.98rem}.star-exam-source-grid .star-source-records{max-height:430px;margin:0;overflow:auto}.star-exam-source-grid .star-source-records article{grid-template-columns:minmax(0,1fr) auto auto}
.star-exam-rule-note{margin:0 18px;padding:16px 18px;border:1px solid #d9c9b9;background:var(--night-surface,#f7efe6)}.star-exam-rule-note header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.star-exam-rule-note h3{margin:0;color:var(--night-ink,#382e29);font-size:1rem}.star-exam-rule-note p{margin:5px 0 0;color:var(--star-muted);font-size:.76rem}.star-exam-rule-note strong{color:var(--star-red);white-space:nowrap}.star-exam-rule-note>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.star-exam-rule-note>div span{padding:5px 9px;border:1px solid #dfd1c4;background:var(--night-surface,#fffdfa);color:var(--night-ink,#695a51);font-size:.7rem;font-weight:700}.star-exam-snapshots article>div>label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:7px;color:var(--star-muted);font-size:.68rem}.star-exam-snapshots select{box-sizing:border-box;min-width:0;width:100%;height:34px;padding:5px 7px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit}.star-exam-batches article small+small{color:var(--night-ink,#806e62)}.star-exam-batches article>div{min-width:0}
@media(max-width:900px){.star-source-overview,.star-cadre-source-map,.star-exam-source-grid{grid-template-columns:1fr}.star-source-compact{grid-template-columns:1fr 1fr}.star-source-compact button{width:100%}.star-exam-source-grid .star-source-records{max-height:none}}
@media(max-width:560px){.star-exam-rule-note{margin-inline:12px;padding:14px}.star-exam-rule-note header{display:grid;gap:8px}.star-exam-rule-note>div{display:grid;grid-template-columns:1fr 1fr}.star-exam-rule-note>div span{line-height:1.5}.star-exam-source-grid{padding:12px}.star-exam-source-grid .star-source-records article{grid-template-columns:minmax(0,1fr) auto}.star-exam-source-grid .star-source-records article>button{grid-column:1/-1;width:100%}.star-exam-snapshots article>div>label{grid-template-columns:1fr}.star-exam-batches article>div{grid-column:1/-1}.star-exam-batches article>span{grid-row:1;grid-column:2}.star-exam-batches article>button{grid-column:1/-1}}
@media(max-width:560px){.star-source-compact{grid-template-columns:1fr}.star-source-policy{white-space:normal}.star-source-overview article{min-height:0}}

/* Cadre role editor alignment: every control shares one label row and one 42px control row. */
.star-cadre-role>header{grid-template-columns:minmax(0,1fr) 150px 84px;gap:12px;align-items:end;padding:14px 16px}.star-cadre-role>header>label{display:grid;gap:7px;margin:0}.star-cadre-role>header>label>span{line-height:1}.star-cadre-role>header input{box-sizing:border-box;width:100%;height:42px;padding:8px 10px}.star-cadre-role>header>button{box-sizing:border-box;width:100%;height:42px;min-height:42px;padding:8px 10px;border:1px solid transparent}.star-cadre-role>header>button:hover{border-color:#d7c4b4;background:var(--night-surface,#fff);color:var(--star-red)}.star-cadre-role-meta{margin:0;padding:9px 16px 0;color:var(--star-muted);font-size:10px}.star-cadre-members{gap:8px;padding:12px 16px}.star-cadre-members>span{box-sizing:border-box;min-width:138px;padding:8px 32px 8px 10px}.star-cadre-search{gap:7px;margin:0 16px 16px}.star-cadre-search>input{box-sizing:border-box;width:100%;height:42px}
.star-cadre-role-list:has(>.star-cadre-role:only-child){grid-template-columns:minmax(0,1fr)}
@media(max-width:560px){.star-cadre-role>header{grid-template-columns:minmax(0,1fr) 96px}.star-cadre-role>header>button{grid-column:1/-1;width:100%;justify-self:stretch;border-color:var(--star-line)}}
.star-cadre-role>header select{box-sizing:border-box;width:100%;height:42px;padding:8px 10px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit;font-weight:700}
.star-cadre-rule-manager{margin:0 18px 18px;border-top:1px solid var(--star-line)}.star-cadre-rule-manager>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0 13px}.star-cadre-rule-manager h3{margin:0;font-size:17px}.star-cadre-rule-manager header p{margin:5px 0 0;color:var(--star-muted);font-size:11px}.star-cadre-rule-manager header strong{color:var(--star-red);font-size:12px;white-space:nowrap}.star-cadre-rule-manager>div{border:1px solid var(--star-line);background:var(--night-surface,#fff)}.star-cadre-rule-manager article{display:grid;grid-template-columns:minmax(180px,1fr) 64px 150px 100px;gap:12px;align-items:end;padding:12px 14px;border-bottom:1px dotted var(--star-line)}.star-cadre-rule-manager article:last-child{border-bottom:0}.star-cadre-rule-manager article>div{display:grid;gap:4px}.star-cadre-rule-manager article small{color:var(--star-muted);font-size:10px}.star-cadre-rule-manager article>span{align-self:center;font-size:10px;font-weight:800}.star-cadre-rule-manager article>span.pending{color:#9a5d16}.star-cadre-rule-manager article>span.approved{color:#276244}.star-cadre-rule-manager article>span.disabled{color:var(--star-muted)}.star-cadre-rule-manager article label{display:grid;gap:4px;color:var(--star-muted);font-size:10px}.star-cadre-rule-manager article :is(select,button){box-sizing:border-box;height:38px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit}.star-cadre-rule-manager article select{width:100%;padding:6px 8px}.star-cadre-rule-manager article button{padding:6px 9px;color:var(--star-red);white-space:nowrap;cursor:pointer}.star-cadre-rule-manager article button:hover{border-color:var(--star-red)}
@media(max-width:740px){.star-cadre-rule-manager>header{align-items:flex-start}.star-cadre-rule-manager article{grid-template-columns:1fr 72px}.star-cadre-rule-manager article label{grid-column:1}.star-cadre-rule-manager article button{grid-column:2;align-self:end}.star-cadre-rule-manager article>span{justify-self:end}}
.star-survey-rule-note{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 18px;padding:18px 0;border-top:1px solid var(--star-line)}.star-survey-rule-note b{display:block;color:var(--night-ink,#382e29);font-size:16px}.star-survey-rule-note p{max-width:780px;margin:6px 0 0;color:var(--star-muted);font-size:12px;line-height:1.75}.star-survey-rule-note strong{padding:8px 11px;border:1px solid #c99b54;background:var(--night-surface,#fff7e7);color:#80571a;font-size:11px;white-space:nowrap}.star-survey-point-list{margin:0 18px;border:1px solid var(--star-line);background:var(--night-surface,#fff)}.star-survey-point-list article{display:grid;grid-template-columns:minmax(0,1fr) 170px 100px;gap:12px;align-items:end;padding:14px;border-bottom:1px dotted var(--star-line)}.star-survey-point-list article:last-child{border-bottom:0}.star-survey-point-list article>div{display:grid;gap:4px}.star-survey-point-list small{color:var(--star-muted);font-size:10px;line-height:1.5}.star-survey-point-list label{display:grid;gap:4px;color:var(--star-muted);font-size:10px}.star-survey-point-list :is(select,button){box-sizing:border-box;height:38px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit}.star-survey-point-list select{width:100%;padding:6px 8px}.star-survey-point-list button{padding:6px 9px;color:var(--star-red);cursor:pointer}.star-survey-point-list :is(select,button):disabled{cursor:not-allowed;opacity:.55}.star-survey-settlement-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 18px 18px;padding:14px;border:1px solid #e5dcd3;background:var(--night-surface,#fbf8f4)}.star-survey-settlement-actions>p{margin:0;color:var(--star-muted);font-size:11px;line-height:1.65}.star-survey-settlement-actions>div{display:flex;gap:8px}.star-survey-settlement-actions .star-inline-message{grid-column:1/-1;min-height:0;color:var(--star-red)}
@media(max-width:740px){.star-survey-rule-note{display:grid}.star-survey-point-list article{grid-template-columns:1fr 1fr}.star-survey-point-list article>div{grid-column:1/-1}.star-survey-settlement-actions{grid-template-columns:1fr}.star-survey-settlement-actions>div{display:grid;grid-template-columns:1fr}.star-survey-settlement-actions button{width:100%}}

/* Formal-entry empty and initialization states must remain visible inside the portal shell. */
.workspace .star-campus-view>.star-empty,.workspace .star-campus-view>.star-loading{min-height:180px;margin:8px 0;padding:34px;border:1px solid var(--star-line);border-left:4px solid var(--star-red);background:rgba(255,250,242,.96);box-shadow:0 10px 30px rgba(55,33,29,.05);color:var(--star-ink);font-size:15px;line-height:1.8}
.workspace .star-campus-view>.star-loading{border-left-color:#aa8a55;color:var(--star-muted)}
@media(max-width:740px){.workspace .star-campus-view>.star-empty,.workspace .star-campus-view>.star-loading{min-height:140px;padding:24px 20px}}

/* Read-only settlement preview: factual, compact, and visually distinct from an actual run. */
.star-settlement-preview{margin-top:12px;border:1px solid #d8c4aa;border-left:3px solid #b48136;background:var(--night-surface,#fffaf2)}
.star-settlement-preview>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;cursor:pointer;list-style:none}
.star-settlement-preview>summary::-webkit-details-marker{display:none}.star-settlement-preview>summary:after{content:"＋";color:#8a5b1d;font-size:18px}.star-settlement-preview[open]>summary:after{content:"−"}
.star-settlement-preview>summary b{color:#6a4616;font-size:13px}.star-settlement-preview>summary span{margin-left:auto;color:var(--star-muted);font-size:11px}
.star-settlement-preview ol{margin:0;padding:0 15px;border-top:1px solid #e3d4c3;list-style:none}.star-settlement-preview li{display:grid;grid-template-columns:92px minmax(0,1fr) 58px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px dotted var(--star-line);font-size:11px}.star-settlement-preview li span{color:var(--star-muted)}.star-settlement-preview li strong{text-align:right;color:#376747}.star-settlement-preview li strong.negative{color:var(--star-red)}.star-settlement-preview>p{margin:0;padding:11px 15px;color:var(--star-muted);font-size:11px}
@media(max-width:740px){.star-settlement-preview>summary{align-items:flex-start;flex-wrap:wrap}.star-settlement-preview>summary span{order:3;width:100%;margin-left:0}.star-settlement-preview li{grid-template-columns:78px minmax(0,1fr) 50px}}

/* Season lifecycle: the active season is primary; archive controls appear only after expiry. */
.star-season-manager{display:grid;gap:18px}.star-season-current{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr) auto;gap:24px;align-items:center;padding:22px 24px;border:1px solid var(--star-line);border-left:4px solid var(--star-red);background:var(--night-surface,#fffdfa)}.star-season-current h3{margin:8px 0 5px;font-family:"Songti SC","STSong",serif;font-size:25px}.star-season-current p{margin:0;color:var(--star-muted);font-size:12px}.star-season-state{display:inline-flex;padding:4px 8px;border:1px solid #9dbca7;background:var(--night-surface,#f0f7f2);color:#376747;font-size:11px;font-weight:800}.star-season-countdown{display:grid;gap:5px;padding-left:22px;border-left:1px dotted var(--star-line)}.star-season-countdown b{color:var(--star-red);font-size:15px}.star-season-countdown small{color:var(--star-muted);font-size:10px;line-height:1.5}.star-season-current>button{white-space:nowrap}.star-season-edit[hidden]{display:none}.star-season-edit{margin:0!important}.star-season-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:4px}.star-season-edit-head h3{margin:0;font-size:20px}.star-season-edit-head p{margin:5px 0 0;color:var(--star-muted);font-size:11px}.star-season-close{margin:0!important;border-left:3px solid #b48136}.star-season-archive{margin-top:0}
@media(max-width:900px){.star-season-current{grid-template-columns:1fr auto}.star-season-countdown{grid-column:1;padding:12px 0 0;border-left:0;border-top:1px dotted var(--star-line)}.star-season-current>button{grid-column:2;grid-row:1/3}}
@media(max-width:560px){.star-season-current{grid-template-columns:1fr;padding:18px}.star-season-current>button{grid-column:1;grid-row:auto;width:100%}.star-season-edit-head{display:grid}.star-season-edit-head button{width:100%}}

/* Dual-balance account browser: cumulative points determine rank; available points fund redemptions. */
.star-account-browser-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--star-line)}.star-account-browser-summary article{padding:18px 22px;border-right:1px solid var(--star-line)}.star-account-browser-summary article:first-child{padding-left:0}.star-account-browser-summary article:last-child{border-right:0}.star-account-browser-summary span,.star-account-browser-summary small{display:block;color:var(--star-muted);font-size:11px}.star-account-browser-summary b{display:block;margin:6px 0 3px;color:var(--star-red);font-family:Arial,sans-serif;font-size:29px}.star-account-browser-tools{display:grid;grid-template-columns:auto minmax(220px,1fr) 150px;gap:12px;align-items:end;margin:18px 0 10px}.star-account-tabs{display:flex;border:1px solid var(--star-line);background:var(--night-surface,#f5eee6)}.star-account-tabs button{min-height:42px;padding:0 16px;border:0;background:transparent;color:var(--star-muted);font:inherit;font-size:12px;font-weight:800}.star-account-tabs button.active{background:var(--star-red);color:#fff}.star-account-browser-tools label{display:grid;gap:5px;color:var(--star-muted);font-size:10px;font-weight:700}.star-account-browser-tools :is(input,select){box-sizing:border-box;width:100%;height:42px;border:1px solid var(--star-line);background:var(--night-surface,#fff);padding:0 11px;color:var(--star-ink);font:inherit}.star-account-table{border-top:2px solid #5b463b}.star-account-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px 110px;gap:16px;align-items:center;min-height:52px;padding:9px 12px;border-bottom:1px dotted var(--star-line);font-size:12px}.star-account-row.is-head{min-height:40px;background:var(--night-surface,#f6f0e8);color:var(--star-muted);font-weight:800}.star-account-row>div{display:grid;gap:2px}.star-account-row small{color:var(--star-muted);font-size:10px}.star-account-row>strong{padding:7px 9px;text-align:right;font-family:Arial,sans-serif;font-size:16px}.star-account-row>strong.is-primary{background:var(--night-surface,#f5e8e4);color:var(--star-red)}.star-account-browser-note{margin:12px 0 0;padding:10px 12px;border-left:3px solid #9b7135;background:var(--night-surface,#fff8e9);color:var(--star-muted);font-size:11px;line-height:1.7}
@media(max-width:740px){.star-account-browser-summary{grid-template-columns:1fr}.star-account-browser-summary article,.star-account-browser-summary article:first-child{padding:13px 0;border-right:0;border-bottom:1px dotted var(--star-line)}.star-account-browser-summary article:last-child{border-bottom:0}.star-account-browser-tools{grid-template-columns:1fr}.star-account-tabs button{flex:1}.star-account-row{grid-template-columns:minmax(112px,1fr) 58px 58px 58px;gap:7px;padding-inline:5px}.star-account-row.is-head{font-size:10px}.star-account-row>strong{padding:6px 4px;font-size:14px}.star-account-row>span{font-size:11px}}
.star-readiness{border-top:4px solid #5b463b}.star-readiness .star-section-head>div{display:grid;gap:4px}.star-readiness-state{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid;font-size:11px;font-weight:800}.star-readiness-state.is-pass{border-color:#93b29d;background:var(--night-surface,#eef7f0);color:#356044}.star-readiness-state.is-block{border-color:#d29b8f;background:var(--night-surface,#fff1ed);color:#8c302c}.star-readiness-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--star-line)}.star-readiness-steps article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;min-height:112px;padding:18px;border-right:1px solid var(--star-line);border-bottom:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-readiness-steps article:nth-child(3n){border-right:0}.star-readiness-steps article:nth-last-child(-n+3){border-bottom:0}.star-readiness-steps article>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--star-line);color:var(--star-muted);font-family:Arial,sans-serif;font-size:11px}.star-readiness-steps article>div{display:grid;align-content:start;gap:5px;min-width:0}.star-readiness-steps article b{font-size:12px}.star-readiness-steps article strong{font-size:15px;line-height:1.4}.star-readiness-steps article small{color:var(--star-muted);font-size:10px;line-height:1.55}.star-readiness-steps article.is-pass{box-shadow:inset 3px 0 #5d8d69}.star-readiness-steps article.is-block{box-shadow:inset 3px 0 var(--star-red)}.star-readiness-steps article.is-warn{box-shadow:inset 3px 0 #b48136}.star-readiness-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:15px 17px;border-left:3px solid #b48136;background:var(--night-surface,#fff8e9)}.star-readiness-actions b{font-size:12px}.star-readiness-actions p{margin:4px 0 0;color:var(--star-muted);font-size:10px}.star-readiness-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.star-readiness-preview-grid:empty{display:none}.star-readiness-preview-grid article{display:grid;gap:6px;min-height:92px;padding:14px;border:1px solid var(--star-line);background:var(--night-surface,#fff)}.star-readiness-preview-grid article.is-pass{border-top:3px solid #5d8d69}.star-readiness-preview-grid article.is-block{border-top:3px solid var(--star-red)}.star-readiness-preview-grid b{font-size:11px}.star-readiness-preview-grid strong{font-size:14px}.star-readiness-preview-grid small,.star-readiness-preview-grid span{color:var(--star-muted);font-size:10px;line-height:1.55}.star-readiness-rules{margin-top:18px;border-top:1px solid var(--star-line);border-bottom:1px solid var(--star-line)}.star-readiness-rules>summary{padding:14px 0;cursor:pointer;font-size:12px;font-weight:800}.star-readiness-thresholds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--star-line)}.star-readiness-thresholds span{display:grid;gap:3px;padding:9px;border-right:1px dotted var(--star-line);border-bottom:1px dotted var(--star-line);color:var(--star-muted);font-size:10px}.star-readiness-thresholds span:nth-child(6n){border-right:0}.star-readiness-thresholds b{color:var(--star-ink);font-size:11px}.star-readiness-rule-list{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:10px 0 15px}.star-readiness-rule-list p{display:grid;gap:4px;margin:0;padding:10px 0;border-bottom:1px dotted var(--star-line)}.star-readiness-rule-list b{font-size:11px}.star-readiness-rule-list span{color:var(--star-muted);font-size:10px;line-height:1.65}.star-readiness-anomalies{margin-top:18px}.star-readiness-anomalies h3{margin:0 0 8px;font-size:13px}.star-readiness-anomalies article{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:11px 0;border-bottom:1px dotted var(--star-line)}.star-readiness-anomalies article>span{align-self:start;padding:4px 6px;text-align:center;font-size:10px;font-weight:800}.star-readiness-anomalies article.is-blocking>span{background:var(--night-surface,#f7dfda);color:#8c302c}.star-readiness-anomalies article.is-warning>span{background:#f6ead1;color:#7a531d}.star-readiness-anomalies article b{font-size:11px}.star-readiness-anomalies article p{margin:3px 0;color:var(--star-ink);font-size:11px}.star-readiness-anomalies article small{display:block;color:var(--star-muted);font-size:10px;line-height:1.6}.star-readiness>footer{margin-top:14px;color:var(--star-muted);font-size:10px}
@media(max-width:900px){.star-readiness-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.star-readiness-steps article:nth-child(3n){border-right:1px solid var(--star-line)}.star-readiness-steps article:nth-child(2n){border-right:0}.star-readiness-steps article:nth-last-child(-n+3){border-bottom:1px solid var(--star-line)}.star-readiness-steps article:nth-last-child(-n+2){border-bottom:0}.star-readiness-preview-grid{grid-template-columns:1fr 1fr}.star-readiness-thresholds{grid-template-columns:repeat(3,minmax(0,1fr))}.star-readiness-thresholds span:nth-child(6n){border-right:1px dotted var(--star-line)}.star-readiness-thresholds span:nth-child(3n){border-right:0}}
@media(max-width:560px){.star-readiness .star-section-head{align-items:flex-start}.star-readiness-steps{grid-template-columns:1fr}.star-readiness-steps article,.star-readiness-steps article:nth-child(2n),.star-readiness-steps article:nth-child(3n),.star-readiness-steps article:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--star-line)}.star-readiness-steps article:last-child{border-bottom:0}.star-readiness-actions{align-items:stretch;flex-direction:column}.star-readiness-actions button{width:100%}.star-readiness-preview-grid,.star-readiness-rule-list{grid-template-columns:1fr}.star-readiness-thresholds{grid-template-columns:repeat(2,minmax(0,1fr))}.star-readiness-thresholds span:nth-child(3n){border-right:1px dotted var(--star-line)}.star-readiness-thresholds span:nth-child(2n){border-right:0}}
.star-readiness-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
@media(max-width:560px){.star-readiness-action-buttons{display:grid;grid-template-columns:1fr}.star-readiness-action-buttons button{width:100%}}

/* Redemption visibility is separate from the student audience. */
.star-visibility-field{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0 0;padding:13px;border:1px solid var(--star-line)}.star-visibility-field legend{padding:0 7px;color:var(--star-muted);font-size:13px;font-weight:700}.star-visibility-field>label{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px;border:1px solid #e2d5c8;background:var(--night-surface,#fffdfa);cursor:pointer}.star-visibility-field input{flex:none;width:auto;margin:3px 0 0}.star-visibility-field span{display:grid;gap:3px}.star-visibility-field b{font-size:12px}.star-visibility-field small{color:var(--star-muted);font-size:10px;line-height:1.5}.star-inline-visibility{display:grid;gap:3px;color:var(--star-muted);font-size:10px;text-align:left}.star-inline-visibility select{min-height:32px;padding:5px 7px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit;font-size:11px}.star-shared-list{border-top:2px solid #5b463b}.star-shared-list h3{margin-top:18px}.star-shared-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px dotted var(--star-line)}.star-shared-list article>div{display:grid;gap:4px}.star-shared-list article strong{font-size:12px}.star-shared-list article small,.star-shared-list article span{color:var(--star-muted);font-size:10px}.star-shared-list article p{margin:2px 0 0;color:var(--star-ink);font-size:11px;line-height:1.55}.star-shared-list article>b{color:var(--star-red);font-size:12px}.star-shared-list article>span{grid-column:1/-1}.star-shared-list>.star-empty{margin:0;padding:14px 0}
@media(max-width:560px){.star-visibility-field{grid-template-columns:1fr}.star-inline-visibility{width:100%}.star-inline-visibility select{width:100%}}

/* Public exchange catalogue for teachers: same content model as students, read-only. */
.star-shared-list{padding-top:18px}.star-shared-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.star-shared-heading h3{margin:0}.star-shared-heading p{margin:0;color:var(--star-muted);font-size:10px}.star-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:15px}.star-market-card{position:relative;display:grid!important;grid-template-columns:1fr!important;gap:0!important;min-height:230px;padding:17px!important;border:1px solid #d4c4b1!important;background:var(--night-surface,#fffdfa);box-shadow:4px 4px 0 #e7dacc;overflow:hidden}.star-market-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--star-red)}.star-market-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--star-line)}.star-market-card header span{color:var(--star-red)!important;font-size:10px!important;font-weight:800}.star-market-card header small{color:var(--star-muted);font-size:10px;text-align:right}.star-market-copy{display:grid!important;align-content:start;gap:7px!important;padding:14px 0}.star-market-copy strong{font-family:"Songti SC","STSong",serif;font-size:19px!important;line-height:1.35}.star-market-copy p{margin:0!important;color:var(--night-ink,#62554c)!important;font-size:11px!important;line-height:1.7!important}.star-market-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:end;margin:0;border-block:1px solid var(--star-line)}.star-market-card dl div{display:block!important;padding:9px 6px;border-right:1px dotted var(--star-line)}.star-market-card dl div:first-child{padding-left:0}.star-market-card dl div:last-child{border-right:0}.star-market-card dt{color:var(--star-muted);font-size:9px}.star-market-card dd{margin:3px 0 0;color:var(--star-ink);font-family:Arial,sans-serif;font-size:15px;font-weight:800}.star-market-card dl div:first-child dd{color:var(--star-red);font-size:20px}.star-market-grid>.star-empty{grid-column:1/-1;margin:0;padding:14px 0}

/* The 534-row account browser stays compact until an administrator needs it. */
.star-account-browser-details{border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-account-browser-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;padding:18px 22px;cursor:pointer;list-style:none}.star-account-browser-details>summary::-webkit-details-marker{display:none}.star-account-browser-details>summary:after{content:"展开";flex:none;min-width:62px;padding:7px 10px;border:1px solid var(--star-red);color:var(--star-red);font-size:11px;font-weight:800;text-align:center}.star-account-browser-details[open]>summary:after{content:"收起"}.star-account-browser-details>summary>span{display:grid;gap:4px}.star-account-browser-details>summary>span:nth-child(2){margin-left:auto;text-align:right}.star-account-browser-details>summary b{font-family:"Songti SC","STSong",serif;font-size:23px}.star-account-browser-details>summary strong{font-family:Arial,sans-serif;font-size:18px}.star-account-browser-details>summary small{color:var(--star-muted);font-size:10px;font-weight:500}.star-account-browser-details[open]>summary{border-bottom:1px solid var(--star-line);background:var(--night-surface,#f8f1e7)}.star-account-browser-body{padding:20px 22px 22px}
@media(max-width:740px){.star-market-grid{grid-template-columns:1fr}.star-shared-heading{display:block}.star-shared-heading p{margin-top:5px}.star-account-browser-details>summary{align-items:flex-start;min-height:0;padding:15px}.star-account-browser-details>summary>span:nth-child(2){display:none}.star-account-browser-details>summary:after{min-width:54px}.star-account-browser-body{padding:15px}}

/* Homeroom teachers: a compact class rank directory with an explicitly lazy ledger. */
.star-homeroom-overview{padding:22px;border:1px solid var(--star-line);background:var(--night-surface,#fffdfa)}.star-homeroom-overview>.star-section-head{align-items:center}.star-homeroom-tools{display:grid;grid-template-columns:minmax(200px,1fr) 160px 220px;gap:12px;margin-bottom:14px}.star-homeroom-tools label{display:grid;gap:5px;color:var(--star-muted);font-size:10px;font-weight:700}.star-homeroom-tools input,.star-homeroom-tools select{height:42px;padding:0 12px;border:1px solid var(--star-line);background:var(--night-surface,#fff);font:inherit;color:var(--star-ink)}.star-homeroom-table{border-top:1px solid var(--star-line)}.star-homeroom-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) 110px 110px;align-items:center;gap:16px;min-height:58px;padding:8px 4px;border-bottom:1px dotted var(--star-line);font-size:12px}.star-homeroom-row.is-head{min-height:40px;color:var(--star-muted);font-size:10px;font-weight:800}.star-homeroom-row>div{display:grid;gap:3px}.star-homeroom-row>div small{color:var(--star-muted)}.star-homeroom-row>strong{font-family:Arial,sans-serif;font-size:16px}.star-homeroom-rank{display:flex;align-items:center;gap:8px}.star-homeroom-rank img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 3px rgb(75 53 37 / .15))}.star-homeroom-rank b{font-size:12px}.star-homeroom-ledger{margin-top:22px;padding-top:18px;border-top:2px solid var(--star-ink)}.star-homeroom-ledger-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:12px}.star-homeroom-ledger-head h3,.star-homeroom-ledger-head p{margin:0}.star-homeroom-ledger-head p,.star-homeroom-ledger-head span{margin-top:4px;color:var(--star-muted);font-size:10px}.star-homeroom-ledger .star-ledger-row{grid-template-columns:90px 110px minmax(180px,1fr) 75px 75px}.star-homeroom-ledger .star-ledger-row>span small{display:block;margin-top:3px}
@media(max-width:740px){.star-homeroom-overview{padding:16px}.star-homeroom-overview>.star-section-head{display:grid;align-items:start}.star-homeroom-tools{grid-template-columns:1fr}.star-homeroom-row{grid-template-columns:minmax(76px,1fr) 92px 62px 62px;gap:8px}.star-homeroom-row.is-head{font-size:9px}.star-homeroom-rank{gap:5px}.star-homeroom-rank img{width:31px;height:31px}.star-homeroom-rank b{font-size:10px}.star-homeroom-ledger .star-ledger-row{grid-template-columns:70px 1fr 56px 56px}.star-homeroom-ledger .star-ledger-row>div{grid-column:1/-1;grid-row:auto}}

/* The administrator ledger is a paged working table, never an unbounded page-length stream. */
.star-admin-ledger[aria-busy="true"]{opacity:.62;pointer-events:none}.star-ledger-head{align-items:end}.star-ledger-head>div{display:grid;gap:4px}.star-ledger-head label{display:grid;gap:5px;color:var(--star-muted);font-size:10px;font-weight:700}.star-ledger-head select{min-width:100px;height:38px;padding:0 30px 0 10px;border:1px solid var(--star-line);background:var(--night-surface,#fff);color:var(--star-ink);font:inherit;cursor:pointer}.star-ledger-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:16px}.star-ledger-pagination span{color:var(--star-muted);font-size:12px;font-variant-numeric:tabular-nums}.star-ledger-pagination button{min-width:84px}.star-ledger-pagination button:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:740px){.star-ledger-head{display:grid;align-items:start}.star-ledger-head label{width:100%}.star-ledger-head select{width:100%}.star-admin-ledger .star-ledger-row{grid-template-columns:78px minmax(0,1fr) 48px 48px;gap:8px;padding:14px 0}.star-admin-ledger .star-ledger-row>time{grid-column:1;grid-row:1;white-space:nowrap;font-size:11px}.star-admin-ledger .star-ledger-row>span{grid-column:2;grid-row:1;min-width:0}.star-admin-ledger .star-ledger-row>span small{display:block;margin-top:2px}.star-admin-ledger .star-ledger-row>div{grid-column:1/-1;grid-row:2}.star-admin-ledger .star-ledger-row>strong{grid-row:1;font-size:12px}.star-admin-ledger .star-ledger-row>strong:first-of-type{grid-column:3}.star-admin-ledger .star-ledger-row>strong:last-of-type{grid-column:4}.star-admin-ledger .star-ledger-row>strong::after{display:block;margin-top:2px;color:var(--star-muted);font-size:8px;font-weight:500}.star-admin-ledger .star-ledger-row>strong:first-of-type::after{content:"累计"}.star-admin-ledger .star-ledger-row>strong:last-of-type::after{content:"可用"}.star-ledger-pagination{display:grid;grid-template-columns:1fr 1fr;gap:8px}.star-ledger-pagination span{grid-column:1/-1;grid-row:1;text-align:center}.star-ledger-pagination button{width:100%}}

/* Homeroom rank stays compact by default; the full ledger opens in a dedicated modal. */
.star-homeroom-overview>.star-section-head{margin:0}.star-homeroom-head-actions{display:flex;justify-content:flex-end;gap:8px}.star-homeroom-toggle span{display:inline-block;margin-left:5px;transition:transform .18s ease}.star-homeroom-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.star-homeroom-overview [data-homeroom-panel]{margin-top:20px;padding-top:18px;border-top:1px solid var(--star-line)}.star-ledger-dialog{width:min(1080px,calc(100vw - 32px))}.star-ledger-dialog .star-dialog-panel{max-height:min(82vh,820px);padding:28px 30px 24px;overflow:hidden}.star-ledger-dialog .star-homeroom-ledger-head{align-items:end;margin:0;padding-right:54px}.star-ledger-dialog .star-homeroom-ledger-head h2{max-width:none;margin:0;font-size:26px}.star-ledger-dialog .star-homeroom-ledger{margin:0;padding:0;border:0}.star-ledger-dialog-body{max-height:calc(min(82vh,820px) - 120px);overflow:auto;overscroll-behavior:contain}.star-ledger-dialog .star-loading{padding:50px 20px;text-align:center}
@media(max-width:740px){.star-homeroom-head-actions{display:grid;grid-template-columns:1fr}.star-homeroom-head-actions button{width:100%}.star-ledger-dialog{width:calc(100vw - 20px)}.star-ledger-dialog .star-dialog-panel{max-height:88vh;padding:24px 18px 18px}.star-ledger-dialog .star-homeroom-ledger-head{align-items:start;padding-right:38px}.star-ledger-dialog .star-homeroom-ledger-head h2{font-size:22px}.star-ledger-dialog-body{max-height:calc(88vh - 118px)}}

/* Teacher season board: one shared top twenty, followed by the class workbench. */
.star-teacher-leaderboard{margin-top:28px;padding:30px 32px;background:#281b20;color:#fff8e9;box-shadow:0 16px 36px rgba(45,29,28,.16)}
.star-leader-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(238,211,160,.28)}
.star-leader-heading h2{margin:0;color:#fff8e9;font-size:clamp(25px,3vw,39px);line-height:1.1}.star-leader-heading p{margin:8px 0 0;color:#d6c4b0;font-size:13px}
.star-leader-heading>span{color:#deb96e;font-size:13px;font-weight:800;letter-spacing:.14em;white-space:nowrap}
.star-leader-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:24px 0 20px}
.star-leader-feature{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-items:center;min-width:0;padding:16px;background:rgba(255,250,236,.08)}
.star-leader-feature:first-child{background:#f5e9cb;color:var(--night-ink,#302320)}.star-leader-feature>span{grid-column:1/-1;margin-bottom:9px;color:#e3bd71;font-size:12px;font-weight:800}.star-leader-feature:first-child>span{color:#785329}
.star-leader-feature img{grid-row:2/4;width:62px;height:62px;object-fit:contain}.star-leader-feature>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px}.star-leader-feature>small{color:#d5c2ad;font-size:11px}.star-leader-feature:first-child>small{color:var(--night-ink,#6d5c4e)}
.star-leader-feature>strong{grid-column:2;display:flex;align-items:baseline;gap:5px;margin-top:10px;color:#f1cf86;font-size:27px;font-variant-numeric:tabular-nums}.star-leader-feature:first-child>strong{color:#792d34}.star-leader-feature>strong em{font-size:11px;font-style:normal}
.star-leader-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;padding:0;list-style:none}.star-leader-list li{display:grid;grid-template-columns:32px minmax(80px,.8fr) minmax(80px,1fr) auto;gap:8px;align-items:center;min-width:0;padding:9px 2px;border-top:1px solid rgba(238,211,160,.18);font-size:13px}.star-leader-list li>span{color:#e1bb73;font-weight:800}.star-leader-list li>b,.star-leader-list li>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.star-leader-list li>small{color:#d2bfae}.star-leader-list li>strong{color:#f1cf86;font-variant-numeric:tabular-nums}
.star-leader-empty{padding:28px 0 8px}.star-leader-empty b{font-size:19px}.star-leader-empty p{margin:8px 0 0;color:#d6c4b0;font-size:13px}
.star-homeroom-overview{margin-top:28px;padding:0;border:0;background:var(--night-surface,#fffdf9);box-shadow:0 10px 30px rgba(58,37,33,.08)}.star-homeroom-overview>.star-section-head{display:flex;align-items:center;gap:20px;margin:0;padding:24px 28px;border:0;background:var(--night-surface,#f2e8dc)}.star-homeroom-overview>.star-section-head h2{font-size:28px}.star-homeroom-overview>.star-section-head p{margin-top:6px;font-size:12px}.star-homeroom-head-actions{flex-wrap:wrap}.star-homeroom-head-actions button{background:var(--night-surface,#fffaf2)}
.star-class-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:18px 28px;border-bottom:1px solid var(--star-line)}.star-class-snapshot>div{min-width:0;padding:0 20px;border-right:1px solid var(--star-line)}.star-class-snapshot>div:first-child{padding-left:0}.star-class-snapshot>div:last-child{border-right:0}.star-class-snapshot span{display:block;color:var(--star-muted);font-size:12px}.star-class-snapshot strong{display:block;overflow:hidden;margin-top:6px;color:var(--star-ink);font-size:24px;text-overflow:ellipsis;white-space:nowrap}.star-class-snapshot strong small{font-size:12px;font-weight:500}.star-homeroom-overview [data-homeroom-panel]{margin:0;padding:22px 28px 26px;border:0}.star-homeroom-overview .star-homeroom-row:not(.is-head):nth-child(even){background:var(--night-surface,#fbf6ee)}.star-homeroom-overview .star-homeroom-row{padding-inline:10px}
.star-honor-panel [data-honor-custom-points][hidden]{display:none!important}.star-honor-panel [data-honor-custom-points]{margin-top:16px;padding:13px 16px;background:var(--night-surface,#fff5df);color:#553c26}.star-honor-panel [data-honor-custom-points] input{max-width:220px}
@media(max-width:900px){.star-leader-podium{grid-template-columns:repeat(3,minmax(0,1fr))}.star-leader-feature{grid-template-columns:44px minmax(0,1fr);padding:12px}.star-leader-feature img{width:44px;height:44px}.star-leader-feature>b{font-size:16px}.star-leader-list{grid-template-columns:1fr}.star-homeroom-overview>.star-section-head{align-items:start;flex-direction:column}.star-homeroom-head-actions{justify-content:flex-start}}
@media(max-width:620px){.star-teacher-leaderboard{padding:22px 18px}.star-leader-podium{grid-template-columns:1fr;gap:8px}.star-leader-feature{grid-template-columns:52px minmax(0,1fr);padding:10px 14px}.star-leader-feature img{width:52px;height:52px}.star-leader-feature>span{margin-bottom:3px}.star-leader-feature>strong{margin-top:2px}.star-leader-list li{grid-template-columns:25px minmax(65px,.7fr) minmax(70px,1fr) auto;gap:5px;font-size:12px}.star-homeroom-overview>.star-section-head{padding:20px 16px}.star-class-snapshot{grid-template-columns:1fr;gap:14px;padding:17px 16px}.star-class-snapshot>div{padding:0;border:0}.star-class-snapshot strong{font-size:20px}.star-homeroom-overview [data-homeroom-panel]{padding:16px}}

#achievement-admin .star-student-ledger-link{color:var(--theme-accent,#962c3b);background:transparent;border:0;padding:2px 0;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.star-personal-ledger-pages{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:20px}

/* Long batch adjustments keep the decision controls inside the viewport. */
.star-dialog-panel{max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto}
.star-dialog-adjustments{margin:14px 0 0;padding:0;list-style:none;max-height:40dvh;overflow:auto;overscroll-behavior:contain;border-block:1px solid var(--star-line,#e1e6ed)}
.star-dialog-adjustments li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 2px;font-size:13px;line-height:1.5;border-bottom:1px solid var(--star-line,#e1e6ed)}
.star-dialog-adjustments li:last-child{border-bottom:0}.star-dialog-adjustments span{text-align:right;color:var(--star-muted,#65758c)}
