:root{font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#243650;background:#f3f6fb;font-synthesis:none;--navy:#29466f;--navy-2:#365b8c;--blue:#5b87c5;--sky:#eaf2ff;--line:#dce5f2;--muted:#6f7f96;--amber:#ffd675;--white:#fff;--shadow:0 10px 30px rgba(40,65,104,.09)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 8% 3%,#e9f2ff 0,transparent 25%),#f5f7fb;color:#243650}button,input,select,textarea{font:inherit}button,a{transition:.18s ease}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh}.topbar{height:74px;padding:0 clamp(18px,4vw,58px);display:grid;grid-template-columns:auto auto minmax(240px,520px) auto;align-items:center;gap:28px;background:linear-gradient(115deg,#263f67,#345b89);color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 5px 20px #1f355533}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}.brand-star{display:grid;place-items:center;width:38px;height:38px;background:var(--amber);color:#29466f;border-radius:12px;transform:rotate(-7deg);box-shadow:0 3px 10px #172d4b55}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-size:17px;letter-spacing:.04em}.brand small{font-size:9px;letter-spacing:.13em;color:#c9daf2;text-transform:uppercase}.topbar nav{display:flex;gap:5px;white-space:nowrap}.topbar nav a{padding:9px 13px;border-radius:10px;text-decoration:none;color:#dbe7f7;font-size:14px}.topbar nav a:hover,.topbar nav a.active{background:#ffffff1f;color:#fff}.global-search{position:relative;min-width:0}.global-search>input{width:100%;height:42px;border:1px solid #ffffff2e;border-radius:12px;background:#fff;color:#263b59;padding:0 16px 0 39px;outline:none;box-shadow:0 4px 16px #1a31522b}.global-search>input:focus{box-shadow:0 0 0 3px #9bbce555}.search-icon{position:absolute;left:14px;top:7px;color:#6280a6;font-size:23px;z-index:1}.search-results{position:absolute;top:50px;left:0;right:0;max-height:70vh;overflow:auto;background:#fff;color:#243650;border-radius:15px;box-shadow:0 18px 50px #1e314657;border:1px solid var(--line);padding:12px;z-index:60}.search-results-heading{display:flex;justify-content:space-between;padding:7px 8px 12px;border-bottom:1px solid var(--line)}.search-results-heading span{color:var(--muted);font-size:12px}.search-results section h2{font-size:11px;color:#7184a0;text-transform:uppercase;margin:12px 8px 4px}.search-results section a{display:flex;flex-direction:column;padding:9px;border-radius:9px;text-decoration:none}.search-results section a:hover{background:var(--sky)}.search-results section a strong{font-size:13px}.search-results section a small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-empty{padding:28px;text-align:center;color:var(--muted)}.login-button,.admin-status{border:1px solid #ffffff4a;background:#ffffff13;color:#fff;padding:9px 13px;border-radius:10px;white-space:nowrap}.login-button:hover,.admin-status:hover{background:#ffffff25}.admin-status span{color:#76e2a6}.admin-banner{text-align:center;padding:7px;background:#fff1bd;color:#745812;font-size:12px;border-bottom:1px solid #eed98e}.page-container{max-width:1480px;margin:auto;padding:34px clamp(16px,3.4vw,52px) 50px}.page-hero{display:flex;align-items:center;gap:16px;margin-bottom:24px;min-height:74px}.page-hero h1{font-size:28px;margin:2px 0 5px;color:#243e66}.page-hero p{margin:0;color:var(--muted)}.hero-mascot{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:#ffdc87;font-size:30px;transform:rotate(-3deg);box-shadow:0 8px 18px #d3ac5842}.hero-mascot.amber{background:#ffe8b4}.hero-mascot.mint{background:#cff3e5}.eyebrow{font-size:10px;color:#6e88aa;letter-spacing:.16em;font-weight:800}.hero-actions{margin-left:auto;display:flex;gap:9px}.page-hero>.primary-button,.page-hero>button{margin-left:auto}.primary-button{border:0;background:linear-gradient(135deg,#345d91,#487bb6);color:#fff;border-radius:10px;padding:10px 16px;box-shadow:0 5px 14px #365f9333}.primary-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px #365f9352}.hero-actions button,.section-heading button,.rule-footer-actions button,.admin-row button{border:1px solid var(--line);background:#fff;color:#405a7e;border-radius:9px;padding:9px 13px}.announcement-panel,.supplemental-section{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.section-heading,.section-heading>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading>div{justify-content:flex-start}.section-heading h2{font-size:18px;color:#29466f;margin:0}.section-heading p{font-size:12px;color:var(--muted);margin:2px 0 0}.section-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--sky);border-radius:11px;font-size:20px}.announcement-list{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;margin-top:17px}.announcement-card{position:relative;padding:15px;border-radius:13px;background:#f8faff;border:1px solid #e2eaf5;min-height:160px;display:flex;flex-direction:column}.announcement-card:first-child{background:#eef5ff;border-color:#b9d0ef}.announcement-card h3{font-size:14px;margin:10px 0 5px;color:#2e4f7d}.announcement-card h3 a{text-decoration:none}.announcement-card .markdown-content{font-size:12px;color:#667890;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.announcement-card footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:#8794a7;font-size:10px}.announcement-card footer button{border:0;background:none;color:#5277a7;padding:3px}.change-badge,.latest-badge,.pinned-badge{font-size:9px;font-weight:800;padding:4px 7px;border-radius:20px;background:#e7dafa;color:#725492}.change-badge.new{background:#daf2e6;color:#2d775b}.latest-badge{background:#ffdb7e;color:#69500e;margin-left:5px}.filter-bar{display:flex;align-items:end;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:15px;margin:18px 0;box-shadow:0 5px 18px #39577d0a}.filter-bar label,.editor-form label,.entity-selector,.login-dialog label,.rich-editor{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#63758e}.filter-bar select,.filter-bar input,.editor-form input,.editor-form select,.entity-selector select,.login-dialog input,.rich-editor textarea{height:39px;border:1px solid #d6e0ed;border-radius:9px;background:#fbfcfe;color:#293d58;padding:0 10px;outline:none}.filter-bar select:focus,.filter-bar input:focus,.editor-form input:focus,.editor-form select:focus,.login-dialog input:focus,.rich-editor textarea:focus{border-color:#7399c9;box-shadow:0 0 0 3px #8cafda25}.filter-keyword{min-width:190px}.text-button{height:39px;border:0;background:none;color:#5b78a0}.filter-count{margin-left:auto;color:#718096;font-size:12px;padding-bottom:11px;white-space:nowrap}.rule-workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.rule-directory,.rule-detail,.penalty-list,.penalty-detail{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.rule-directory{padding:16px;position:sticky;top:94px;max-height:calc(100vh - 115px);overflow:auto}.directory-heading{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:#2f4c75;border-bottom:1px solid var(--line);padding:1px 2px 12px}.mini-button{border:0;background:var(--sky);color:#466a99;border-radius:7px;padding:4px 8px}.rule-directory details{margin-top:13px}.rule-directory summary{font-weight:800;color:#2a4c78;cursor:pointer;font-size:14px}.directory-description{font-size:11px;line-height:1.55;color:#7c8b9e;margin:8px 5px}.secondary-group{padding-left:10px;margin-top:13px;border-left:2px solid #dce8f6}.secondary-group h3{font-size:11px;color:#73849b;margin:0 0 6px}.rule-link{width:100%;display:flex;align-items:center;gap:8px;justify-content:space-between;text-align:left;border:0;background:transparent;padding:9px;border-radius:9px;color:#40516a;font-size:12px}.rule-link small{background:#edf2f8;color:#687b95;padding:3px 5px;border-radius:5px;white-space:nowrap}.rule-link:hover,.rule-link.is-active{background:#eaf3ff;color:#294f80}.rule-link.is-active{font-weight:700;box-shadow:inset 3px 0 #567fb3}.rule-detail{padding:24px;min-height:560px}.breadcrumb{font-size:11px;color:#75869c;margin-bottom:13px}.breadcrumb span{padding:0 5px;color:#a1adbc}.rule-detail-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}.rule-detail-header h2{font-size:23px;margin:4px 0 0;color:#263f66}.risk-badge{background:#fff1c9;color:#725717;border:1px solid #f1dda1;border-radius:9px;padding:8px 11px;font-size:11px;font-weight:800}.detail-card{border:1px solid #e0e8f2;border-radius:13px;padding:17px 18px;margin-top:12px;background:#fcfdff}.detail-card h3{display:flex;align-items:center;gap:8px;font-size:14px;color:#31527e;margin:0 0 10px}.markdown-content{font-size:13px;line-height:1.75;overflow-wrap:anywhere}.markdown-content>*:last-child{margin-bottom:0}.markdown-content table{border-collapse:collapse;width:100%;margin:10px 0;background:#fff}.markdown-content th,.markdown-content td{border:1px solid #d7e1ee;padding:8px 10px;text-align:left}.markdown-content th{background:#edf4fd;color:#31527e}.markdown-content a{color:#386faa}.mobile-directory-button{display:none}.rule-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 0 318px}.rule-footer-actions>div{display:flex;gap:8px;flex-wrap:wrap}.linked-penalty{background:#fff5dc;border:1px solid #f1dc9f;color:#72560f;border-radius:9px;padding:8px 11px;text-decoration:none;font-size:12px}.danger-button{border-color:#f2c8c8!important;color:#a64242!important;background:#fff8f8!important}.penalty-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px}.penalty-list{padding:12px}.penalty-list>button{width:100%;display:flex;flex-direction:column;gap:4px;text-align:left;border:0;background:transparent;padding:14px;border-radius:11px;margin-bottom:5px;color:#40516b}.penalty-list>button:hover,.penalty-list>button.is-active{background:#eef5ff}.penalty-list span{font-size:10px;color:#7b6493}.penalty-list strong{font-size:14px}.penalty-list small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.penalty-detail{padding:24px}.penalty-detail>header{border-bottom:1px solid var(--line);padding-bottom:14px}.penalty-detail>header h2{color:#29486f;font-size:23px;margin:10px 0 5px}.violation-badge{font-size:10px;background:#ede4f7;color:#72538d;padding:5px 8px;border-radius:7px}.related-rules{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:15px 2px}.related-rules a{font-size:12px;color:#3d6eaa;text-decoration:none;background:#edf4fd;padding:6px 9px;border-radius:8px}.admin-row{display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:15px}.supplemental-groups{display:grid;gap:18px}.supplemental-section{margin:0}.supplemental-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.supplemental-card{position:relative;border:1px solid #e0e8f2;border-radius:13px;padding:18px;background:#fcfdff;min-height:170px;display:flex;flex-direction:column}.supplemental-card.pinned{background:#fffaf0;border-color:#efdea7}.supplemental-card h3{font-size:16px;color:#2f4d75;margin-bottom:8px;padding-right:40px}.supplemental-card .markdown-content{color:#5f7086}.pinned-badge{position:absolute;right:12px;top:12px;background:#ffdf88;color:#684f0e}.external-link{margin-top:10px;color:#3f74ad;font-size:12px;text-decoration:none}.supplemental-card footer{margin-top:auto;padding-top:13px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8edf4;color:#8794a4;font-size:10px}.supplemental-card footer button{border:0;background:none;color:#4c72a2;padding:3px}.danger-text{color:#a84848!important}.empty-state,.fatal-state,.loading-state{text-align:center;padding:80px 20px;color:#718096}.empty-state span,.fatal-state span,.loading-cat{font-size:45px}.empty-message{color:#8390a2;text-align:center;padding:22px;font-size:12px}.site-footer{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px;color:#8693a4;font-size:11px;background:#fff}.site-footer span:first-child{color:#47688f;font-weight:800}.modal-backdrop{position:fixed;inset:0;background:#16253d99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:22px}.modal-card{position:relative;background:#fff;border-radius:20px;box-shadow:0 25px 80px #13233d66;padding:27px;max-height:92vh;overflow:auto}.modal-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;background:#f0f3f8;border-radius:50%;color:#607087;font-size:22px}.login-dialog{width:min(420px,100%);text-align:center}.login-mascot{width:62px;height:62px;display:grid;place-items:center;margin:5px auto 13px;background:#edf4ff;border-radius:18px;font-size:30px}.login-dialog h2{color:#29466f;margin-bottom:7px}.login-dialog p{color:var(--muted);font-size:13px}.login-dialog form{text-align:left;margin-top:20px}.login-dialog input{height:44px;margin-bottom:10px}.full-button{width:100%;margin-top:8px}.login-dialog>small{display:block;color:#8996a6;font-size:10px;margin-top:15px}.editor-dialog{width:min(880px,100%)}.editor-dialog>header{border-bottom:1px solid var(--line);margin-bottom:16px}.editor-dialog>header h2{color:#29466f;margin:4px 0}.editor-dialog>header p{font-size:12px;color:var(--muted)}.entity-selector{margin-bottom:15px;background:#f3f7fc;padding:12px;border-radius:11px}.editor-form{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-form input,.editor-form select{height:42px}.rich-editor textarea{height:auto;min-height:120px;padding:11px;line-height:1.55;resize:vertical}.rich-editor>small{font-weight:400;color:#8a96a6}.editor-toolbar{display:flex;gap:5px;padding:6px;background:#f2f5f9;border:1px solid #d6e0ed;border-bottom:0;border-radius:9px 9px 0 0}.editor-toolbar button{border:1px solid #d5dfeb;background:#fff;color:#4b6383;border-radius:6px;padding:5px 9px;font-size:11px}.editor-toolbar+textarea{border-radius:0 0 9px 9px}.checkbox-field{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.checkbox-field legend{font-size:11px;font-weight:800;color:#63758e}.checkbox-field label,.check-label{display:flex;flex-direction:row;align-items:center;gap:7px}.checkbox-field input,.check-label input{height:auto}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:15px;border-top:1px solid var(--line)}.modal-actions button{border:1px solid var(--line);background:#fff;color:#4d6380;border-radius:9px;padding:10px 17px}.form-error{background:#fff0f0;border:1px solid #f0c1c1;color:#a13c3c;padding:10px 12px;border-radius:9px;font-size:12px;margin:7px 0}.confirm-dialog{width:min(430px,100%);text-align:center}.warning-icon{width:55px;height:55px;display:grid;place-items:center;background:#ffe8e8;color:#a64242;border-radius:50%;font-size:28px;font-weight:900;margin:auto}.confirm-dialog h2{margin:15px 0 7px;color:#493638}.confirm-dialog p{font-size:13px;color:var(--muted)}.history-dialog{width:min(900px,100%)}.history-dialog h2{color:#29466f}.history-dialog>p{color:var(--muted);font-size:12px}.history-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:15px;min-height:330px}.history-list{border-right:1px solid var(--line);padding-right:12px;overflow:auto;max-height:55vh}.history-list button{width:100%;display:grid;gap:4px;text-align:left;border:0;background:#f7f9fc;border-radius:9px;padding:10px;margin-bottom:7px;color:#53667f}.history-list button.is-active{background:#e8f2ff}.history-list time{font-size:10px;color:#8795a6}.history-list span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-preview{border:1px solid var(--line);border-radius:12px;padding:18px}.toast{position:fixed;right:24px;bottom:24px;background:#264d74;color:#fff;padding:12px 17px;border-radius:11px;box-shadow:0 10px 30px #18324f4d;z-index:150;font-size:13px}.fatal-state,.loading-state{min-height:100vh;display:grid;place-content:center}.fatal-state button{margin:auto;border:0;background:#365f92;color:#fff;padding:10px 16px;border-radius:9px}@media(max-width:1120px){.topbar{grid-template-columns:auto 1fr auto;gap:14px}.topbar nav{order:4;grid-column:1/-1;justify-content:center;background:#203a5f;margin:0 -58px;height:42px;align-items:center}.topbar{height:116px}.global-search{max-width:none}.rule-directory{top:136px}.announcement-list{grid-template-columns:repeat(3,1fr)}.announcement-card:nth-child(n+4){display:none}.supplemental-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.topbar{padding:9px 14px;height:auto;min-height:128px;grid-template-columns:1fr auto;align-content:start}.brand{height:40px}.brand small{display:none}.topbar .global-search{grid-column:1/-1;grid-row:2}.topbar nav{grid-column:1/-1;grid-row:3;margin:0 -14px -9px;height:43px}.topbar nav a{font-size:12px}.login-button,.admin-status{font-size:0;padding:8px}.login-button:first-letter,.admin-status:first-letter{font-size:15px}.page-container{padding:24px 13px 38px}.page-hero{align-items:flex-start}.page-hero h1{font-size:23px}.page-hero p{font-size:12px}.hero-mascot{width:48px;height:48px;font-size:24px}.hero-actions{flex-direction:column}.announcement-panel,.supplemental-section{padding:14px}.announcement-list{display:flex;overflow:auto}.announcement-card{min-width:250px}.announcement-card:nth-child(n){display:flex}.filter-bar{overflow:auto;align-items:end}.filter-bar label{min-width:155px}.filter-count{display:none}.rule-workspace{display:block}.mobile-directory-button{display:block;width:100%;border:1px solid var(--line);background:#fff;color:#31527e;padding:11px;border-radius:11px;margin-bottom:10px}.rule-directory{display:none;position:static;max-height:none;margin-bottom:12px}.rule-directory.is-open{display:block}.rule-detail{padding:16px}.rule-detail-header{display:block}.risk-badge{display:inline-block;margin-top:10px}.rule-footer-actions{margin:12px 0;display:block}.rule-footer-actions>div{margin-top:8px}.penalty-layout{display:block}.penalty-list{display:flex;overflow:auto;margin-bottom:12px}.penalty-list>button{min-width:230px}.penalty-detail{padding:16px}.supplemental-grid,.form-grid,.checkbox-field{grid-template-columns:1fr}.history-layout{display:block}.history-list{border-right:0;border-bottom:1px solid var(--line);padding:0 0 10px;max-height:220px;margin-bottom:12px}.modal-backdrop{padding:10px}.modal-card{padding:22px 16px}.site-footer{gap:8px;flex-direction:column;text-align:center}}
