:root{--primary: #4f7cf5;--primary-dark: #3d68e0;--primary-soft: #eef3ff;--text: #1f2430;--text-2: #6b7280;--text-3: #98a1b3;--line: #e8ecf4;--bg: #f2f4f9;--card: #ffffff;--header-h: 56px;--sidebar-w: 214px;--ok: #14b37d;--warn: #e79b2f;--danger: #e05252}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}.icon{display:inline-block;vertical-align:-2px}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#eef2ff,#f6f8fc 55%,#e8f4ef)}.login-card{width:100%;max-width:400px;background:var(--card);border-radius:20px;padding:36px 32px 28px;box-shadow:0 18px 48px #1f29421f}.brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#7c6bf0);color:#fff;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand h1{font-size:18px;font-weight:700}.brand p{margin-top:3px;font-size:12px;color:var(--text-2)}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.field input{width:100%;height:44px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:14px;outline:none;background:#fafbfd;transition:border-color .18s,box-shadow .18s}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f7cf524;background:#fff}button.primary{width:100%;height:46px;border:none;border-radius:12px;margin-top:6px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}button.primary:disabled{opacity:.6;cursor:not-allowed}.error{margin-top:14px;font-size:12.5px;color:var(--danger);text-align:center}.hidden{display:none}.footer{margin-top:22px;font-size:12px;color:#a6adbb}.app{min-height:100vh}.header{position:fixed;inset:0 0 auto 0;height:var(--header-h);display:flex;align-items:center;padding:0 18px 0 0;background:linear-gradient(90deg,#3b6cf0,#4d80f6 55%,#5a8cf7);color:#fff;z-index:40;box-shadow:0 2px 10px #2b56be47}.header__brand{width:var(--sidebar-w);display:flex;align-items:center;gap:10px;padding-left:16px;flex-shrink:0}.header__logo{width:28px;height:28px;border-radius:8px;background:#ffffff38;display:flex;align-items:center;justify-content:center}.header__name{font-size:15px;font-weight:600;letter-spacing:.4px;white-space:nowrap}.topnav{display:flex;align-items:center;gap:2px;flex:1;overflow:hidden}.topnav__tab{display:flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:none;border-radius:8px;background:transparent;color:#ffffffd1;font-size:13.5px;white-space:nowrap;transition:background .18s,color .18s}.topnav__tab:hover{background:#ffffff1f;color:#fff}.topnav__tab.is-active{background:#ffffff38;color:#fff;font-weight:600}.topnav__icon{display:flex;align-items:center}.header__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.header__icon{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#ffffffd9;display:flex;align-items:center;justify-content:center}.header__icon:hover{background:#ffffff29}.header__user{display:flex;align-items:center;gap:8px;margin-left:6px;padding-left:12px;border-left:1px solid rgba(255,255,255,.24)}.avatar{width:30px;height:30px;border-radius:50%;background:#ffffff3d;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.header__username{font-size:13.5px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__logout{border:none;background:transparent;color:#fffc;display:flex;align-items:center;padding:4px;border-radius:6px}.header__logout:hover{background:#ffffff29;color:#fff}.layout{display:flex;padding-top:var(--header-h);min-height:100vh}.sidebar{position:fixed;top:var(--header-h);bottom:0;left:0;width:var(--sidebar-w);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:width .2s;z-index:30}.sidebar__inner{padding:14px 10px;overflow-y:auto}.sidebar__item{width:100%;height:40px;display:flex;align-items:center;gap:10px;padding:0 12px;margin-bottom:4px;border:none;border-radius:8px;background:transparent;color:#45506a;font-size:14px;text-align:left;transition:background .16s,color .16s}.sidebar__item:hover{background:#f4f7ff;color:var(--primary)}.sidebar__item.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.sidebar__icon{display:flex;align-items:center;color:#8b95a8}.sidebar__item.is-active .sidebar__icon{color:var(--primary)}.sidebar__arrow{margin-left:auto;display:flex;color:#a4adbe;transition:transform .18s}.sidebar__arrow.is-open{transform:rotate(90deg)}.sidebar__item.is-parent-active{color:var(--primary)}.sidebar__group{display:none;margin:0 0 6px 22px;border-left:1px solid var(--line);padding-left:8px}.sidebar__group.is-open{display:block}.sidebar__child{width:100%;height:34px;border:none;border-radius:7px;background:transparent;color:#6b7385;font-size:13px;text-align:left;padding:0 12px}.sidebar__child:hover{background:#f6f8fd;color:var(--primary)}.sidebar__child.is-active{background:var(--primary-soft);color:var(--primary);font-weight:600}.sidebar__collapse{height:46px;border:none;border-top:1px solid var(--line);background:#fbfcff;color:var(--text-3);font-size:12.5px;display:flex;align-items:center;gap:8px;padding:0 18px}.sidebar__collapse:hover{color:var(--primary)}.is-collapsed .sidebar{width:64px}.is-collapsed .sidebar__inner{padding:14px 8px}.is-collapsed .sidebar__text,.is-collapsed .sidebar__child,.is-collapsed .sidebar__collapse-text{display:none}.is-collapsed .sidebar__item{justify-content:center;padding:0}.is-collapsed .header__brand{width:64px}.is-collapsed .header__name{display:none}.main{flex:1;margin-left:var(--sidebar-w);padding:14px 20px 30px;min-width:0;transition:margin-left .2s}.is-collapsed .main{margin-left:64px}.crumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3);margin-bottom:12px}.crumb__item--current{color:var(--text-2)}.crumb__sep{color:#c6ccd8}.card{background:var(--card);border-radius:10px;box-shadow:0 2px 10px #1f29420d;padding:16px 18px}.card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card__head h3{font-size:14.5px;font-weight:600}.card__hint{font-size:12px;color:var(--text-3)}.card__more{font-size:12.5px;color:var(--text-3);cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.card__more:hover{color:var(--brand)}.card__add{width:26px;height:26px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center}.card__add:hover{background:var(--primary-soft)}.grid{display:grid;gap:14px;margin-top:14px}.grid--2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:10px;color:#fff;position:relative;overflow:hidden;box-shadow:0 6px 18px #3f68d62e}.stat-card:after{content:"";position:absolute;right:-30px;bottom:-40px;width:120px;height:120px;border-radius:50%;background:#ffffff1f}.stat-card--blue{background:linear-gradient(135deg,#5c8bf8,#4a76ee)}.stat-card--teal{background:linear-gradient(135deg,#6fc9c2,#56b8b0)}.stat-card--cyan{background:linear-gradient(135deg,#74bcf3,#5aa7e8)}.stat-card--indigo{background:linear-gradient(135deg,#8fa9f6,#7b96f0)}.stat-card--violet{background:linear-gradient(135deg,#a08bf5,#8b74ee)}.stat-card__icon{width:46px;height:46px;border-radius:12px;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__label{font-size:12.5px;opacity:.92}.stat-card__value{display:flex;align-items:baseline;gap:5px;margin-top:2px}.stat-card__value b{font-size:26px;font-weight:700;letter-spacing:.5px}.stat-card__value span{font-size:12px;opacity:.86}.plan-card__body{display:flex;gap:18px}.plan-calendar{width:280px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;padding:10px 8px}.plan-calendar__head{display:flex;align-items:center;gap:8px;padding:2px 6px 8px;font-size:13px}.plan-calendar__year{font-weight:600}.plan-calendar__month{color:var(--primary);font-weight:600}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar__week{text-align:center;font-size:11.5px;color:var(--text-3);padding:4px 0}.calendar__day{height:27px;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:6px;color:#39435a}.calendar__day.is-muted{color:#c3c9d6}.calendar__day.is-today{background:var(--primary);color:#fff;font-weight:600}.plan-list{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.plan-list__item{display:flex;gap:12px;padding:10px 12px;border-radius:8px;background:#f8fafe;border-left:3px solid var(--primary)}.plan-list__month{width:34px;flex-shrink:0;text-align:center;color:var(--primary);font-weight:600;font-size:13px;display:flex;flex-direction:column;justify-content:center}.plan-list__month b{font-size:16px}.plan-list__month span{font-size:10.5px;color:var(--text-3);font-weight:400}.plan-list__month--1{color:#2f9de0}.plan-list__month--2{color:#e08a4a}.plan-list__content{list-style:none;display:flex;flex-direction:column;gap:4px;min-width:0}.plan-list__content li{font-size:12.5px;color:#5b6579;display:flex;gap:6px;align-items:flex-start;line-height:1.5}.dot{width:4px;height:4px;border-radius:50%;background:#b8c2d6;margin-top:7px;flex-shrink:0}.welcome-card{display:flex;flex-direction:column;gap:14px}.welcome-card__head{display:flex;align-items:flex-start;justify-content:space-between}.welcome-card__greet{font-size:15px;font-weight:600}.welcome-card__sub{margin-top:4px;font-size:12px;color:var(--text-3)}.welcome-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}.welcome-card__info{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:8px;background:#f8fafe}.welcome-card__row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-2)}.welcome-card__row b{color:var(--text);font-weight:600}.welcome-card__actions{display:flex;flex-direction:column;gap:8px}.welcome-card__action{height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#4d576c;font-size:13px;display:flex;align-items:center;justify-content:space-between;padding:0 12px}.welcome-card__action:hover{border-color:#c9d7fb;color:var(--primary);background:#fbfcff}.welcome-card__arrow{color:#b7c0d0}.chart-card{min-width:0}.chart{width:100%;height:250px}.chart--sm{height:230px}.todo-list,.notice-list{list-style:none;display:flex;flex-direction:column;gap:12px}.todo-list li{display:flex;gap:9px;align-items:flex-start}.todo-list__dot{width:6px;height:6px;border-radius:50%;background:var(--primary);margin-top:7px;flex-shrink:0}.todo-list__dot--paper{background:#e79b2f}.todo-list__dot--video{background:#2f9de0}.todo-list__text p{font-size:12.8px;color:#454f63;line-height:1.5}.todo-list__text span{font-size:11.5px;color:var(--text-3)}.notice-list li{padding-bottom:10px;border-bottom:1px dashed var(--line)}.notice-list li:last-child{border-bottom:none;padding-bottom:0}.notice-list p{font-size:12.8px;color:#454f63;line-height:1.55}.notice-list span{font-size:11.5px;color:var(--text-3)}.notice-list__item{cursor:pointer;transition:background .15s ease;border-radius:8px;padding:8px 10px;margin:0 -10px}.notice-list__item:hover{background:#f5f7fb}.notice-list__item p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__head-right{display:flex;align-items:center;gap:10px}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ff5e5e;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.page-head{margin-bottom:12px}.page-head h2{font-size:17px;font-weight:600}.page-head p{margin-top:4px;font-size:12.5px;color:var(--text-3)}.table-card{padding:14px 16px 16px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.toolbar__left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar__count{font-size:12.5px;color:var(--text-3)}.search{position:relative;display:flex;align-items:center}.search__icon{position:absolute;left:10px;color:var(--text-3);display:flex}.search .input{padding-left:30px;width:240px}.input,.select{height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;font-size:13px;color:var(--text);outline:none;font-family:inherit}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f7cf51f}.textarea{height:auto;width:100%;box-sizing:border-box;padding:8px 10px;line-height:1.6;resize:vertical}.modal__body textarea{width:100%;box-sizing:border-box}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:7px;border:1px solid transparent;font-size:13px;transition:background .16s,border-color .16s,color .16s}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark)}.btn--ghost{background:#fff;border-color:var(--line);color:#566078}.btn--ghost:hover{border-color:#c9d7fb;color:var(--primary)}.btn--sm{height:30px;padding:0 12px;font-size:12.5px}.btn:disabled{opacity:.55;cursor:not-allowed}.table-wrap{overflow-x:auto;min-height:120px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:600;color:#5a6376;background:#f7f9fd;padding:10px 12px;white-space:nowrap}.table th:first-child{border-radius:8px 0 0 8px}.table th:last-child{border-radius:0 8px 8px 0}.table td{padding:11px 12px;border-bottom:1px solid var(--line);color:#454f63;vertical-align:middle}.table tbody tr:hover{background:#fafcff}.cell-ellipsis{display:inline-block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.cell-ann-title{display:flex;align-items:flex-start;gap:6px;max-width:460px}.cell-ann-title__text{min-width:0;white-space:normal;word-break:break-word;line-height:1.55}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-3);font-size:12px}.col-actions{width:92px;text-align:right;white-space:nowrap}.link{border:none;background:transparent;color:var(--primary);padding:4px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;font-size:12.5px}.link:hover{background:var(--primary-soft)}.link--danger{color:var(--danger)}.link--danger:hover{background:#fdeeee}.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:5px;font-size:11.5px;background:#f1f4fa;color:#6b7385}.tag--ok{background:#e8f8f1;color:var(--ok)}.tag--muted{background:#f2f4f8;color:#8b95a8}.text-warn{color:var(--warn)}.text-ok{color:var(--ok, #12a172);font-weight:600}.table-empty{text-align:center;color:var(--text-3);padding:32px 0!important}.table-loading{display:flex;justify-content:center;padding:40px 0}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:12.5px;color:var(--text-3);flex-shrink:0;padding:10px 2px 2px;background:var(--card);border-top:1px solid var(--line)}.table-page{display:flex;flex-direction:column;min-height:0}.table-page .page-head{flex-shrink:0}.table-page .table-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.table-page .toolbar,.table-page .bulk-bar{flex-shrink:0}.table-page .table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.table-page .table thead th{position:sticky;top:0;z-index:3;background:#f7f9fd}.pager__btns{display:flex;align-items:center;gap:8px}.pager .select{height:30px;padding:0 8px;font-size:12px}.tree-wrap{min-height:120px}.tree__row{display:flex;align-items:center;justify-content:space-between;gap:12px;height:44px;border-bottom:1px solid var(--line);padding-right:10px}.tree__row:hover{background:#fafcff}.tree__main{display:flex;align-items:center;gap:8px;min-width:0}.tree__icon{color:#97a1b5;display:flex}.tree__name{font-size:13.5px;color:#333c4e}.tree__caret{width:16px;height:16px;padding:0;border:none;background:transparent;color:#9aa4b8;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transform:rotate(90deg);transition:transform .15s ease}.tree__caret:hover{color:var(--primary)}.tree__caret.is-collapsed{transform:rotate(0)}.tree__caret.is-empty{visibility:hidden}.tree__count{padding:1px 7px;border-radius:999px;background:#f2f5fb;font-size:11px;color:var(--text-3);cursor:pointer;-webkit-user-select:none;user-select:none}.tree__count:hover{background:#e9f0ff;color:var(--primary)}.tree__children.is-collapsed{display:none}.tree__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#181f2d6b;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:12px;max-width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #141c2d40}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal__head h3{font-size:15px;font-weight:600}.modal__close{border:none;background:transparent;font-size:20px;line-height:1;color:var(--text-3);padding:2px 6px;border-radius:6px}.modal__close:hover{background:#f2f4f8}.modal__body{padding:18px 20px;overflow-y:auto}.modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--line)}.form{display:flex;flex-direction:column;gap:14px}.form__field{display:flex;flex-direction:column;gap:6px}.form__label{font-size:12.5px;color:#5a6376;font-weight:600}.form .input,.form .select{width:100%}.confirm-text{font-size:13.5px;color:#4b5568;line-height:1.7}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%) translateY(-12px);background:#2b3345;color:#fff;font-size:13px;padding:9px 18px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:200}.toast--show{opacity:1;transform:translate(-50%) translateY(0)}.toast--error{background:#c9453f}.toast--success{background:#178a63}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid #e3e9f6;border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 0;color:var(--text-3);font-size:13px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-3);font-size:13px;display:flex;flex-direction:column;gap:10px;align-items:center}.empty-state h3{font-size:15px;color:#4b5568}.topnav--empty{flex:1}.page-head--form,.page-head__left{display:flex;align-items:center;gap:12px}.back-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#5b6478;display:flex;align-items:center;justify-content:center}.back-btn:hover{border-color:#c9d7fb;color:var(--primary);background:#fbfcff}.form-card{padding:22px 24px}.page-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}.form-row{display:flex;flex-direction:column;gap:7px;min-width:0}.form-row--wide{grid-column:1 / -1}.form-row__label{font-size:12.5px;font-weight:600;color:#5a6376}.form-row__control{min-width:0}.form-row__control>.input,.form-row__control>.select,.form-row__control>textarea{width:100%}.form-row__hint{margin-top:6px;font-size:11.5px;color:var(--text-3)}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.form-bar{position:sticky;bottom:12px;z-index:8;display:flex;justify-content:flex-end;margin-top:18px;pointer-events:none}.form-bar__inner{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:999px;border:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px #172b631f}.btn--pill{height:36px;padding:0 22px;border-radius:999px;font-weight:600}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{position:relative;width:42px;height:24px;border-radius:12px;background:#dfe4ee;transition:background .18s}.switch__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:transform .18s}.switch input:checked+.switch__track{background:var(--primary)}.switch input:checked+.switch__track .switch__thumb{transform:translate(18px)}.switch__label{font-size:12.5px;color:var(--text-2)}.text-muted{color:var(--text-3)}.feedback-quote{padding:10px 12px;border-radius:8px;background:#f6f8fc;border:1px solid #e8edf6;font-size:13px;line-height:1.65;color:#333c4e;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto}.feedback-images{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.feedback-images__item{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid #e8edf6;cursor:zoom-in;background:#f0f3f8}.md-editor{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.md-editor__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#f8fafe;border-bottom:1px solid var(--line);flex-wrap:wrap}.md-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.md-tool{min-width:28px;height:28px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:#4d576c;font-size:12.5px}.md-tool:hover{background:#e8eefc;color:var(--primary)}.md-tool--bold{font-weight:700}.md-tool--italic{font-style:italic}.md-tabs{display:flex;align-items:center;gap:2px;background:#eef1f8;padding:2px;border-radius:7px}.md-tab{height:24px;padding:0 10px;border:none;border-radius:5px;background:transparent;color:#6b7385;font-size:12px}.md-tab.is-active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 3px #1f29421f}.md-editor__body{display:grid;grid-template-columns:1fr 1fr;min-height:120px;align-items:stretch}.md-editor.is-edit .md-editor__body{grid-template-columns:1fr}.md-editor.is-edit .md-preview{display:none}.md-editor.is-preview .md-editor__body{grid-template-columns:1fr}.md-editor.is-preview .md-input{display:none}.md-input{width:100%;height:100%;min-height:0;border:none;outline:none;resize:none;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.75;color:#2c3444;background:#fff;border-right:1px solid var(--line)}.md-preview{padding:14px 18px;overflow-y:auto;max-height:520px;background:#fcfdff}.md-empty{color:var(--text-3);font-size:13px}.markdown-body{font-size:13.5px;line-height:1.75;color:#39435a;word-break:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:14px 0 8px;color:#1f2430;line-height:1.4}.markdown-body h1{font-size:20px}.markdown-body h2{font-size:16.5px}.markdown-body h3{font-size:14.5px}.markdown-body p{margin:8px 0}.markdown-body ul,.markdown-body ol{margin:8px 0 8px 20px}.markdown-body li{margin:3px 0}.markdown-body blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid #c9d7fb;background:#f5f8ff;color:#5b6579}.markdown-body code{padding:1px 5px;border-radius:4px;background:#f1f4fa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.markdown-body pre{margin:10px 0;padding:12px 14px;border-radius:8px;background:#f5f7fb;overflow-x:auto}.markdown-body pre code{background:transparent;padding:0}.markdown-body a{color:var(--primary);text-decoration:none}.markdown-body hr{border:none;border-top:1px solid var(--line);margin:14px 0}.markdown-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12.5px}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:6px 10px;text-align:left}.form-section{margin-bottom:16px}.form-section__title{margin:0 0 16px;font-size:14.5px;font-weight:700;color:var(--text-1);display:flex;align-items:center;gap:8px}.form-section__title:before{content:"";width:3px;height:14px;border-radius:2px;background:var(--primary)}.segmented{display:inline-flex;gap:4px;background:#f1f4fa;padding:4px;border-radius:9px}.segmented__item{height:32px;padding:0 16px;border:none;border-radius:6px;background:transparent;color:#5b6478;font-size:13px}.segmented__item.is-active{background:#fff;color:var(--primary);font-weight:600;box-shadow:0 1px 4px #1f294224}.option-list{display:flex;flex-direction:column;gap:10px}.option-item{display:flex;align-items:flex-start;gap:10px}.option-item__letter{width:28px;height:28px;margin-top:4px;border-radius:8px;background:#eef3ff;color:var(--primary);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}.option-item__input{min-height:36px;resize:vertical;font-family:inherit}.option-item__remove{width:28px;height:28px;margin-top:4px;border:none;border-radius:7px;background:transparent;color:#b3bac8;display:flex;align-items:center;justify-content:center;flex:none}.option-item__remove:hover{color:#e5484d;background:#feecec}.option-toolbar{display:flex;align-items:center;gap:12px;margin-top:10px}.option-batch{margin-top:12px;padding:14px;border:1px dashed #c9d7fb;border-radius:10px;background:#f8faff;display:flex;flex-direction:column;gap:10px}.answer-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 0}.answer-chips{display:flex;gap:8px}.answer-chip{width:34px;height:34px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:#5b6478;font-weight:700;font-size:13.5px}.answer-chip:hover{border-color:#c9d7fb;color:var(--primary)}.answer-chip.is-active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 3px 10px #2f6ce559}.qform-head{margin-bottom:10px}.qform-head__title h2{margin:0;font-size:17px}.qform-head__title p{margin:2px 0 0;font-size:12px;color:var(--text-3)}.qform-card{padding:14px 18px 16px;margin-bottom:10px}.qform-card--last{margin-bottom:4px}.qform-card .form-section__title{margin:0 0 12px;font-size:13.5px}.qform-grid{display:grid;gap:12px 16px}.qform-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.qform-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.qform-field{display:flex;flex-direction:column;gap:6px;min-width:0}.qform-field__head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-height:16px}.qform-field__label{font-size:12.5px;font-weight:600;color:#5a6376}.qform-field__hint{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qform-field__control{min-width:0}.qform-cascade{display:flex;flex-direction:row;align-items:center;gap:8px}.qform-cascade .input{flex:1 1 0;min-width:0;height:36px;font-size:12.5px;padding:0 8px}.qform-sub{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 6px}.qform-card .segmented{padding:3px;border-radius:8px}.qform-card .segmented__item{height:30px;padding:0 14px}.qform-card .option-list{gap:8px}.qform-card .option-item{align-items:center;gap:8px}.qform-card .option-item__letter,.qform-card .option-item__remove{margin-top:0}.option-item__input{flex:1 1 auto;width:100%;min-height:36px;padding:8px 12px;line-height:1.5}.qform-card .option-toolbar{margin-top:8px}.qform-card--options .answer-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);gap:10px}.form-dock{position:sticky;bottom:8px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -4px 18px #1f29421a}.form-dock__info{display:flex;align-items:baseline;gap:10px;min-width:0}.form-dock__info b{font-size:13px}.form-dock__meta{font-size:11.5px;color:var(--text-3)}.form-dock__actions{display:flex;align-items:center;gap:10px;flex:none}.qform-grid--1{grid-template-columns:minmax(0,1fr)}.qform-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.qform-grid--gap{margin-top:12px}.qform-field--wide{grid-column:1 / -1}.hidden{display:none!important}.cover-uploader{display:flex;gap:16px;align-items:stretch}.cover-uploader__preview{width:240px;height:134px;flex:none;border:1px dashed #c9d7fb;border-radius:10px;background:#f8faff;overflow:hidden;display:flex;align-items:center;justify-content:center}.cover-uploader__preview img{width:100%;height:100%;object-fit:cover;display:block}.cover-uploader__empty{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-3);font-size:12px}.cover-uploader__side{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;justify-content:center}.cover-uploader__actions{display:flex;gap:8px}.cover-uploader__hint{font-size:11.5px;color:var(--text-3)}.file-field{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%}.file-field .btn{flex:none}.file-field .form-row__hint{margin:0;flex:1 1 200px}.file-field .input{flex:1 1 100%}.file-field--avatar{flex-direction:column;align-items:flex-start;gap:12px}.file-field__previews{display:flex;align-items:flex-end;gap:18px}.file-field__body{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%}.file-field__body .form-row__hint{margin:0;flex:1 1 200px}.file-field__body .input{flex:1 1 100%}.file-avatar{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px}.file-avatar__img{display:block;object-fit:cover;background:#f2f5fb;border:1px solid #e2e8f4}.file-avatar__img--circle{width:64px;height:64px;border-radius:50%}.file-avatar__img--square{width:96px;height:96px;border-radius:10px}.file-avatar__img--empty{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3);border-style:dashed;background:#fafbfe}.file-avatar__caption{font-size:11px;color:var(--text-3);white-space:nowrap}.cell-course{display:flex;align-items:center;gap:10px;min-width:0}.cell-course__cover{width:64px;height:36px;border-radius:6px;object-fit:cover;flex:none;background:#eef3ff}.cell-course__cover--empty{display:block}.cell-course__cover--round{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#5b7cf0}.cell-course__sub{display:block;font-size:11.5px;color:var(--text-3);margin-top:2px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-price{display:flex;flex-direction:column;line-height:1.3}.cell-price b{color:#e5484d;font-size:13px}.cell-price__origin{font-size:11px;color:var(--text-3);text-decoration:line-through}.chapter-tree{display:flex;flex-direction:column}.chapter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.chapter-row:hover{background:#fafbff}.chapter-row--child{padding-left:42px;background:#fcfdff}.chapter-row__main{display:flex;align-items:center;gap:10px;min-width:0}.chapter-row__index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:6px;background:#eef3ff;color:var(--primary);font-size:11.5px;font-weight:700}.chapter-row__title{font-size:13.5px;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-row__actions{display:flex;align-items:center;gap:12px;flex:none}@media (max-width: 900px){.cover-uploader{flex-direction:column}}@media (max-width: 1180px){.qform-grid--4,.qform-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.qform-grid--4,.qform-grid--3{grid-template-columns:minmax(0,1fr)}.form-dock__meta{display:none}}.knowledge-layout{display:grid;grid-template-columns:210px 200px minmax(0,1fr);gap:14px;align-items:start}.ktree-side{padding:14px 12px;position:sticky;top:76px;max-height:calc(100vh - 100px);overflow-y:auto}.ktree-side__head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}.ktree-nav__group{padding:10px 0 2px}.ktree-nav__title{display:flex;align-items:center;gap:8px;padding:0 8px 6px;font-size:12px;font-weight:700;color:var(--text-3);letter-spacing:.4px}.ktree-nav__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;margin:2px 0;border:none;border-radius:8px;background:transparent;color:var(--text-2);font-size:13.5px;text-align:left}.ktree-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ktree-nav__empty{padding:18px 8px;text-align:center;font-size:12.5px;color:var(--text-3)}.tree__sort{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-3)}.tree__sort .input--sort{width:62px;height:26px;padding:2px 8px;font-size:12px}@media (max-width: 1280px){.knowledge-layout{grid-template-columns:180px 170px minmax(0,1fr)}}.ktree-nav__item:hover{background:#f2f6ff;color:var(--primary)}.ktree-nav__item.is-active{background:var(--primary);color:#fff;font-weight:600}.ktree-nav__item.is-active .tag{background:#ffffff3d;color:#fff}.bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 18px;border-bottom:1px solid var(--line);background:#fafbff}.bulk-bar:empty{display:none}.bulk-bar__info{font-size:12.5px;color:var(--text-2)}.bulk-bar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.col-check{width:40px;text-align:center}.check{width:15px;height:15px;cursor:pointer;accent-color:var(--primary)}.input--sort{width:74px;padding:4px 8px;text-align:center}.page-form--single{grid-template-columns:minmax(0,1fr);gap:14px}.page-form--compact{gap:12px 18px}.page-form--compact .form-row{gap:5px}.page-form--compact .form-row__label{font-size:12px}.page-form--compact .form-row__hint{margin-top:4px}.tag--warn{background:#fff4e5;color:#b56a00}.tag--danger{background:#ffecec;color:#d33}.log-card{padding:16px 18px 6px;margin-top:14px;position:relative}.log-card__head-right{display:flex;align-items:center;gap:10px}.log-table-wrap{overflow-x:auto;margin:0 -6px}.log-table{width:100%;border-collapse:collapse;font-size:12.5px}.log-table th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-3);background:#f8faff;white-space:nowrap}.log-table td{padding:9px 10px;border-top:1px solid var(--line);color:var(--text-2);vertical-align:middle}.log-table tbody tr:hover td{background:#fafbff}.log-table__time{white-space:nowrap;color:var(--text-3)}.log-table__target{font-size:12px;color:var(--text-2)}.log-table__detail{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3)}.log-empty{padding:26px 0;text-align:center;font-size:12.5px;color:var(--text-3)}.assign-granted{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:4px 0}.assign-granted__item{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbff}.assign-granted__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.assign-granted__meta{font-size:11.5px;color:var(--text-3)}.assign-meta-btn{border:none;background:transparent;padding:2px 4px;border-radius:5px;font-size:11.5px;color:var(--text-3);cursor:pointer;transition:background .15s,color .15s}.assign-meta-btn:hover{background:var(--primary-weak, rgba(64, 128, 255, .12));color:var(--primary, #4080ff)}.assign-meta-input{width:132px;height:26px;padding:0 6px;font-size:11.5px}.assign-empty{margin:0;padding:10px 0;text-align:center;font-size:12.5px;color:var(--text-3)}.assign-courses{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.assign-course{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.assign-course:hover{border-color:#b9cbfb}.assign-course.is-picked{border-color:var(--primary);background:#f3f7ff}.assign-course.is-granted{background:#f5f6f8;cursor:default;opacity:.75}.assign-course input{flex:none;width:15px;height:15px;accent-color:var(--primary)}.assign-course__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.assign-course__meta{font-size:11.5px;color:var(--text-3)}.toolbar__right{display:flex;align-items:center;gap:10px}@media (max-width: 1500px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1280px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1080px){.grid--2-1{grid-template-columns:minmax(0,1fr)}.plan-card__body{flex-direction:column}.plan-calendar{width:100%}}@media (max-width: 860px){.sidebar{display:none}.main{margin-left:0}.stat-grid{grid-template-columns:minmax(0,1fr)}.topnav{display:none}.search .input{width:160px}}.modules-field{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed #d5dbe7;border-radius:10px;background:#fbfcfe}.modules-field__head,.modules-field__row{display:grid;grid-template-columns:minmax(150px,1fr) 84px 96px 66px auto;gap:8px;align-items:center}.modules-field__head{font-size:12px;color:var(--text-3);padding:0 2px}.modules-field__row .input{width:100%}.modules-field__row--child{grid-template-columns:minmax(120px,1fr) 76px 88px 60px auto}.modules-field__children{display:flex;flex-direction:column;gap:8px;margin:2px 0 4px 24px;padding-left:12px;border-left:2px solid #e3e9f6}.modules-field__actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.modules-field__actions .btn{padding:4px 8px;font-size:12px}.modules-field__subtotal{font-size:12.5px;color:#5a6376;text-align:right}.modules-field__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.modules-field__summary{margin:0;font-size:12px;color:var(--text-3)}.modules-field__rows{display:flex;flex-direction:column;gap:14px}.modules-field__item{display:flex;flex-direction:column;gap:8px}.modules-field__desc-row{display:flex;align-items:flex-start;gap:8px;padding-top:8px;border-top:1px dashed #e7ecf6}.modules-field__desc-label{flex-shrink:0;padding-top:8px;font-size:11.5px;color:var(--text-3);letter-spacing:1px}.modules-field__desc{flex:1;min-width:0;height:32px;min-height:32px;max-height:120px;padding:6px 9px;font-size:12.5px;line-height:1.5;resize:vertical;overflow-y:auto;background:#fff}.attach-field{display:flex;flex-direction:column;gap:8px;width:100%}.attach-field__head{display:flex;align-items:center;gap:10px}.attach-field__url-row{display:flex;align-items:center;gap:8px}.attach-field__url-row .attach-field__url{flex:1;min-width:0}.attach-field__status{font-size:12px;color:var(--text-3)}.attach-field__list{display:flex;flex-direction:column;gap:6px}.attach-field__item{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;font-size:12.5px}.attach-field__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.attach-field__meta{flex-shrink:0;color:var(--text-3)}.attach-field__link{flex-shrink:0;color:var(--primary);text-decoration:none}.attach-field__link:hover{text-decoration:underline}.site-set{display:flex;flex-direction:column;gap:14px;width:100%;max-width:none}.site-set__card{padding:16px 18px}.site-set__title{margin:0 0 14px;font-size:13.5px;font-weight:600;color:var(--text)}.site-set__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px 28px;align-items:start}.site-set__fields>.site-set__field--top{grid-column:1 / -1}.site-set__field{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px}.site-set__field--top{align-items:start}.site-set__field--top>.form-row__label{padding-top:8px}.site-set__field>.form-row__label{font-size:12.5px;color:var(--text-2);white-space:nowrap}.site-set__logo{display:flex;align-items:center;gap:12px;min-width:0}.site-set__logo-box{flex-shrink:0;width:44px;height:44px;border-radius:10px;border:1px dashed var(--line);background:#f8fafd;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px;color:var(--text-3)}.site-set__logo-box img{width:100%;height:100%;object-fit:contain}.site-set__logo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.site-set__rows{display:flex;flex-direction:column;gap:10px}.site-set__row{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.3fr) 64px auto;gap:8px;align-items:center}.site-set__row--banner{grid-template-columns:52px 132px minmax(0,1fr) minmax(0,1fr) 64px auto}.site-set__row--cd{grid-template-columns:minmax(0,1.5fr) 190px auto}.site-set__row-head{font-size:11.5px;color:var(--text-3)}.site-set__row>input[type=checkbox]{justify-self:center}.site-set__foot{display:flex;gap:10px}.site-set__hint{margin:4px 0 0;font-size:12px;color:var(--text-3)}.banner-thumb{width:44px;height:28px;border-radius:6px;object-fit:cover;background:#f6f8fc;border:1px solid var(--line);flex-shrink:0}@media (max-width: 720px){.modules-field__head{display:none}.modules-field__row,.modules-field__row--child{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.modules-field__actions{grid-column:1 / -1;justify-content:flex-end}}.page-form--cols4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 18px}.page-form--cols5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 16px}@media (max-width: 1240px){.page-form--cols5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.page-form--cols5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1180px){.page-form--cols4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.page-form--cols4{grid-template-columns:minmax(0,1fr)}}.multiselect{display:flex;flex-direction:column;gap:8px}.multiselect__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px 10px;padding:10px 12px;border:1px solid #e2e8f4;border-radius:10px;background:#fbfcfe;max-height:208px;overflow-y:auto}.multiselect__item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.multiselect__item input{width:14px;height:14px;accent-color:var(--primary)}.multiselect__foot{display:flex;align-items:center;gap:8px}.multiselect__count{margin-left:auto;font-size:12px;color:var(--text-3)}.form-row__inline{display:flex;align-items:center;gap:10px}.form-row__inline>.input{flex:1 1 auto;min-width:0}.switch--inline{flex:0 0 auto;gap:6px;white-space:nowrap}.switch--inline .switch__track{width:34px;height:20px;border-radius:10px}.switch--inline .switch__thumb{top:3px;left:3px;width:14px;height:14px}.switch--inline input:checked+.switch__track .switch__thumb{transform:translate(14px)}.switch--inline .switch__label{font-size:12px}.tag--warn{background:#fdf3e4;color:var(--warn)}.paper-q__tip{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:14px;background:var(--primary-soft);border:1px solid #dbe6ff;box-shadow:none}.paper-q__tip-icon{color:var(--primary);display:inline-flex}.paper-q__tip p{font-size:12.5px;color:#4d5b7c;line-height:1.5}.paper-q__groups{display:flex;flex-direction:column;gap:14px}.paper-q__group{padding:0;overflow:hidden}.paper-q__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f7f9fd;border-bottom:1px solid var(--line)}.paper-q__title-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.paper-q__title{font-size:13.5px;font-weight:600;color:var(--text)}.paper-q__empty{padding:22px 16px;font-size:12.5px;color:var(--text-3);text-align:center}.paper-q__group-desc{margin:0;padding:10px 16px;font-size:12.5px;line-height:1.65;color:var(--text-3);background:#fbfcff;border-bottom:1px dashed var(--line);white-space:pre-wrap}.paper-q__rows{display:flex;flex-direction:column}.paper-q__row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.paper-q__row:last-child{border-bottom:none}.paper-q__row:hover{background:#fafcff}.paper-q__idx{width:24px;height:22px;flex-shrink:0;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.paper-q__main{flex:1;min-width:0}.paper-q__stem{font-size:13px;line-height:1.6;color:#364055;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.paper-q__meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.paper-q__score{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:11.5px;color:var(--text-3)}.paper-q__score .input{width:62px;height:30px;text-align:center}.paper-q__ops{display:flex;align-items:center;gap:2px;flex-shrink:0}.paper-q__ops .link[disabled]{opacity:.35;cursor:not-allowed}.picker__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.picker__filters .search{width:220px}.picker__count{margin-left:auto;font-size:12px;color:var(--text-3)}.picker__table{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:8px}.picker__table .table thead th{position:sticky;top:0;z-index:2}.picker__row{cursor:pointer}.picker__stem{font-size:12.8px;line-height:1.55;color:#39435a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.paper-pv__loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:44px 0;font-size:13px;color:var(--text-3)}.paper-pv{display:flex;flex-direction:column;gap:14px}.paper-pv__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#f8faff,#fff)}.paper-pv__title{font-size:15px;font-weight:600;color:#1f2430;line-height:1.5}.paper-pv__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.paper-pv__empty{padding:26px 16px}.paper-pv__group{padding:0;overflow:hidden}.paper-pv__group-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 16px;background:#f7f9fd;border-bottom:1px solid var(--line)}.paper-pv__group-title{font-size:13px;font-weight:600;color:var(--text)}.paper-pv__group-empty{padding:18px 16px;font-size:12.5px;color:var(--text-3);text-align:center}.paper-pv__group-desc{margin:0;padding:10px 16px;font-size:12.5px;line-height:1.65;color:var(--text-3);background:#fbfcff;border-bottom:1px dashed var(--line);white-space:pre-wrap}.paper-pv__qs{display:flex;flex-direction:column}.paper-pv__q{padding:14px 16px;border-bottom:1px dashed var(--line)}.paper-pv__q:last-child{border-bottom:none}.paper-pv__q-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.paper-pv__no{min-width:22px;height:22px;padding:0 6px;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.paper-pv__stem{font-size:13.5px;line-height:1.75;color:#2f384d;white-space:pre-wrap;word-break:break-word}.paper-pv__opts{display:flex;flex-direction:column;gap:6px;margin-top:10px}.paper-pv__opt{display:flex;gap:8px;padding:6px 10px;border-radius:7px;background:#f7f9fd;font-size:13px;line-height:1.6;color:#3b455c}.paper-pv__opt.is-answer{background:#eefaf1;color:#1c6b3a}.paper-pv--hide-answer .paper-pv__opt.is-answer{background:#f7f9fd;color:#3b455c}.paper-pv__opt-letter{flex-shrink:0;font-weight:600}.paper-pv__opt-text{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.paper-pv__answer{margin-top:10px;padding:10px 12px;border:1px solid #e3ecff;border-radius:8px;background:#f4f8ff}.paper-pv--hide-answer .paper-pv__answer{display:none}.paper-pv__answer-line{display:flex;align-items:center;gap:8px;font-size:12.8px}.paper-pv__answer-label{flex-shrink:0;padding:1px 7px;border-radius:5px;background:#e6eeff;color:var(--primary);font-size:11.5px;font-weight:600}.paper-pv__answer-value{color:#1c6b3a;font-weight:600;letter-spacing:1px}.paper-pv__explain{display:flex;gap:8px;margin-top:8px}.paper-pv__explain-body{flex:1;min-width:0;font-size:12.8px}.paper-pv__explain-body p{margin:0 0 6px}.paper-pv__explain-body p:last-child{margin-bottom:0}.paper-pv__passage{margin-bottom:10px;border:1px solid #e3ecff;border-radius:9px;overflow:hidden;background:#fbfdff}.paper-pv__passage-head{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#eef4ff;color:var(--primary);font-size:12.5px;font-weight:600}.paper-pv__passage-body{padding:10px 12px;font-size:12.8px}
