:root{font-family:"Source Han Serif SC","Noto Serif SC",Songti SC,STSong,serif;color:#12304e;background:#eef4fb;line-height:1.6;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #eef4fb;--surface: rgba(255, 255, 255, .86);--surface-strong: rgba(10, 53, 97, .92);--text: #143250;--text-light: #5b7088;--primary: #1d4f89;--primary-deep: #0f3867;--primary-soft: #d8e6f7;--border: rgba(26, 68, 116, .12);--shadow: 0 18px 40px rgba(15, 49, 93, .12)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top left,rgba(39,94,162,.15),transparent 28%),radial-gradient(circle at top right,rgba(21,73,132,.12),transparent 26%),linear-gradient(180deg,#f3f7fd,#e8f0fa);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,var(--primary) 0%,#2764aa 100%);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 10px 24px #1e4f892e}button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #1e4f8938}button.secondary{background:linear-gradient(135deg,#edf4fc,#dce9f8);color:var(--primary-deep)}button.ghost,button.text-button{background:transparent;color:var(--primary);box-shadow:none;padding-inline:0}button.text-button:hover,button.ghost:hover{transform:none}a{color:inherit;text-decoration:none}img{display:block;width:100%}input,select,textarea{width:100%;border:1px solid rgba(26,68,116,.18);border-radius:14px;padding:14px 16px;background:#ffffffe6;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#1858a18c;box-shadow:0 0 0 4px #2861a81f}label{display:flex;flex-direction:column;gap:8px}label span{font-size:14px;color:var(--text-light)}.app-shell{min-height:100vh;padding:0 28px 28px}.topbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:18px 28px;border:none;border-bottom:1px solid var(--border);border-radius:0;background:#ffffffeb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 24px #0f315d14;position:fixed;top:0;left:0;right:0;z-index:100}.content-shell{margin-top:0;padding-top:120px}.brand{display:flex;align-items:center;gap:16px}.brand-badge{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#103b69,#2b6ab1);color:#fff;font-size:30px;font-weight:700;box-shadow:0 16px 32px #103b6933}.brand h1,.hero h2,.section-header-block h2,.panel-card h3,.faq-item h3,.gallery-content h4,.schedule-item h4{margin:0;font-weight:700}.brand p,.section-header-block p,.panel-card p,.hero p,.faq-item p,.gallery-content p,.metric-card p{margin:0;color:var(--text-light)}.topbar-controls{display:flex;flex-direction:column;gap:14px;align-items:flex-end}.role-switcher,.main-nav,.category-tabs,.toggle-pills,.tag-list,.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.role-switcher button,.main-nav button,.category-tabs button,.toggle-pills button,.tag,.item-button{background:#e4eefbf2;color:var(--primary-deep);box-shadow:none}.role-switcher button.active,.main-nav button.active,.category-tabs button.active,.toggle-pills button.active,.item-button.active{background:linear-gradient(135deg,var(--primary) 0%,#2764aa 100%);color:#fff;box-shadow:0 10px 24px #1e4f892e}.page-stack{display:flex;flex-direction:column;gap:22px}.hero,.panel-card,.section-header-block{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.hero{border-radius:32px;padding:34px;display:grid;grid-template-columns:1.25fr .95fr;gap:28px;background:linear-gradient(135deg,#ffffffe6,#e2eefbe6),linear-gradient(120deg,#eff5fc,#dce8f8)}.eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:#1d4f891a;color:var(--primary);margin-bottom:14px}.hero-copy{display:flex;flex-direction:column;gap:18px}.hero h2{font-size:clamp(32px,4vw,52px);line-height:1.2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-panel{display:flex;flex-direction:column;gap:14px}.mini-grid,.split-four,.split-three,.gallery-grid{display:grid;gap:18px}.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.metric-card{padding:18px;border-radius:24px;background:#ffffffe0;border:1px solid rgba(26,68,116,.08)}.stat-card.large{min-height:180px;display:flex;flex-direction:column;justify-content:center}.stat-card span,.metric-card span,.faq-item span,.table-row span{color:var(--text-light);font-size:14px}.stat-card strong,.metric-card strong{display:block;font-size:32px;margin:8px 0;color:var(--primary-deep)}.card-section{display:grid;gap:20px}.split-two{grid-template-columns:repeat(2,minmax(0,1fr))}.split-three{grid-template-columns:repeat(3,minmax(0,1fr))}.split-four{grid-template-columns:repeat(4,minmax(0,1fr))}.split-sidebar{grid-template-columns:340px minmax(0,1fr)}.panel-card{border-radius:28px;padding:24px;display:flex;flex-direction:column;gap:18px}.panel-card.emphasis{background:linear-gradient(160deg,#11365eeb,#225ea0eb);color:#fff}.panel-card.emphasis p,.panel-card.emphasis span,.panel-card.emphasis .text-button,.panel-card.emphasis h3,.panel-card.emphasis strong{color:#fff}.panel-card.emphasis .timeline-list>div,.panel-card.emphasis .list-stack>*,.panel-card.emphasis .task-table>*{background:#ffffff26;border-color:#fff3}.panel-card.emphasis .timeline-list>div strong,.panel-card.emphasis .timeline-list>div span{color:#fff;font-size:15px}.section-title-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.action-button{min-height:92px;border-radius:22px}.notice-box,.notice-box.solid{border-radius:20px;padding:18px}.notice-box{background:#1d4f8914}.notice-box.solid{background:#ffffff1f}.resource-preview{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px;align-items:stretch}.resource-image-shell,.gallery-image{border-radius:22px;overflow:hidden;background:#dbe8f7;border:1px solid rgba(26,68,116,.12)}.resource-image-shell{min-height:300px;display:flex;align-items:center;justify-content:center;background:#f0f4fa}.resource-image-shell img,.gallery-image img{width:100%;height:auto;object-fit:contain}.faq-list{display:grid;gap:16px}.faq-list.compact{grid-template-columns:1fr}.faq-list.large{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-item{border-radius:22px;padding:18px;border:1px solid rgba(26,68,116,.1);background:#ffffffd6}.faq-item.detailed{padding:22px}.faq-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.form-grid{display:grid;gap:16px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1 / -1}.timeline-list,.list-stack,.schedule-list,.task-table{display:flex;flex-direction:column;gap:14px}.timeline-list>div,.schedule-item,.table-row,.item-button{border-radius:18px;padding:16px;border:1px solid rgba(26,68,116,.1);background:#ffffffb8}.item-button{text-align:left;display:flex;flex-direction:column;gap:8px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card{border-radius:24px;overflow:hidden;border:1px solid rgba(26,68,116,.1);background:#ffffffc2}.gallery-content{padding:18px;display:flex;flex-direction:column;gap:12px}.schedule-item,.table-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-header-block{border-radius:28px;padding:26px 28px}@media (max-width: 1200px){.hero,.split-two,.split-sidebar,.resource-preview,.faq-list.large,.split-four,.split-three{grid-template-columns:1fr}.topbar{flex-direction:column;padding:14px 20px}.content-shell{padding-top:160px}.topbar-controls{align-items:flex-start}}@media (max-width: 720px){.app-shell{padding:16px}.hero,.panel-card,.section-header-block{padding:20px;border-radius:22px}.topbar{padding:12px 16px}.content-shell{padding-top:180px}.app-shell{padding-top:0}.form-grid.two-columns,.mini-grid,.action-grid,.gallery-grid{grid-template-columns:1fr}.hero h2{font-size:30px}}.source-tag{font-size:12px;color:var(--primary);opacity:.7;margin-top:4px}.urgent-tag{color:#b9400e;font-weight:600;font-style:normal}.panel-card.emphasis .urgent-tag{color:#ffbfa0}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f3867,#1d4f89 40%,#2a6cb5);padding:24px}.login-card{width:100%;max-width:440px;background:#fffffff5;border-radius:28px;padding:48px 40px;box-shadow:0 30px 80px #00000040}.login-header{text-align:center;margin-bottom:32px}.login-badge{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--primary) 0%,#2764aa 100%);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 12px 32px #1d4f894d}.login-header h1{font-size:24px;color:var(--primary-deep);margin:0 0 6px}.login-header p{font-size:14px;color:var(--text-light);margin:0}.login-tabs{display:flex;gap:0;margin-bottom:28px;border-radius:16px;overflow:hidden;border:2px solid var(--primary)}.login-tabs button{flex:1;padding:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;background:transparent;color:var(--primary);transition:all .2s}.login-tabs button.active{background:var(--primary);color:#fff}.login-form{display:flex;flex-direction:column;gap:18px}.login-form label{display:flex;flex-direction:column;gap:6px}.login-form label span{font-size:14px;font-weight:600;color:var(--text)}.login-form input{padding:14px 18px;border-radius:14px;border:2px solid var(--border);font-size:15px;font-family:inherit;outline:none;transition:border-color .2s}.login-form input:focus{border-color:var(--primary)}.role-select{display:flex;gap:8px}.role-select button{flex:1;padding:10px 8px;border-radius:12px;border:2px solid var(--border);background:transparent;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text-light);transition:all .2s}.role-select button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.login-error{color:#c0392b;font-size:14px;text-align:center;padding:10px;border-radius:12px;background:#fdf0ef}.login-submit{padding:16px;border-radius:16px;border:none;background:linear-gradient(135deg,var(--primary) 0%,#2764aa 100%);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 10px 24px #1d4f8940;transition:all .2s;margin-top:6px}.login-submit:hover{transform:translateY(-1px);box-shadow:0 14px 32px #1d4f894d}.login-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-hint{margin-top:24px;text-align:center}.login-hint p{font-size:13px;color:var(--text-light);margin:0 0 8px}.hint-accounts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.hint-accounts span{font-size:12px;padding:6px 12px;border-radius:10px;background:var(--primary-soft);color:var(--primary);cursor:pointer;transition:all .2s}.hint-accounts span:hover{background:var(--primary);color:#fff}.user-bar{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-light)}.user-bar strong{color:var(--text)}.user-bar .logout-btn{padding:6px 16px;border-radius:10px;border:1px solid var(--border);background:transparent;font-size:13px;cursor:pointer;color:var(--text-light);font-family:inherit}.user-bar .logout-btn:hover{background:#fdf0ef;color:#c0392b;border-color:#c0392b}
