.toast-wrap[data-v-ccd972ee]{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 20px);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;transform:translate(-50%);pointer-events:none}.toast[data-v-ccd972ee]{max-width:min(88vw,420px);padding:10px 18px;font-size:var(--fs-sm);line-height:1.5;color:#fff;text-align:center;background:#1f2328eb;border-radius:var(--r-full);box-shadow:var(--sh-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;cursor:pointer}.toast-ok[data-v-ccd972ee]{background:#1f8a4cf2}.toast-error[data-v-ccd972ee]{background:#c53030f2}@media(min-width:768px){.toast-wrap[data-v-ccd972ee]{bottom:40px}}.toast-enter-active[data-v-ccd972ee],.toast-leave-active[data-v-ccd972ee]{transition:opacity .22s,transform .22s var(--ease)}.toast-enter-from[data-v-ccd972ee],.toast-leave-to[data-v-ccd972ee]{opacity:0;transform:translateY(10px) scale(.96)}:root{--brand: #185fa5;--brand-strong: #134c85;--brand-soft: #e6f1fb;--brand-tint: #f3f8fd;--ok: #1f8a4c;--ok-soft: #e8f6ee;--warn: #b7791f;--warn-soft: #fdf6e7;--danger: #c53030;--danger-soft: #fdecec;--text: #1f2328;--text-2: #59606d;--text-3: #8b93a1;--line: #e6e9ef;--line-soft: #f0f2f6;--bg: #f5f7fa;--card: #ffffff;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-full: 999px;--sh-1: 0 1px 2px rgba(16, 24, 40, .05);--sh-2: 0 4px 14px rgba(16, 24, 40, .07);--sh-3: 0 14px 36px rgba(16, 24, 40, .12);--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--container: 1180px;--nav-h: 58px;--tabbar-h: 56px;--safe-b: env(safe-area-inset-bottom, 0px);--tap: 44px;--ease: cubic-bezier(.32, .72, 0, 1)}@media(min-width:1024px){:root{--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 38px;--nav-h: 64px;--r-lg: 18px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#app{min-height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-md);line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.num{font-variant-numeric:tabular-nums}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--brand);text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--sp-4)}@media(min-width:768px){.container{padding:0 var(--sp-6)}}@media(min-width:1280px){.container{padding:0 var(--sp-8)}}.page{padding:var(--sp-5) 0 var(--sp-10)}.has-tabbar{padding-bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-8))}@media(min-width:768px){.has-tabbar{padding-bottom:var(--sp-12)}}.grid{display:grid;gap:var(--sp-4)}@media(min-width:768px){.grid{gap:var(--sp-5)}}.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.split{display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.split{grid-template-columns:minmax(0,1fr) 360px;align-items:start}}.split-side{display:flex;flex-direction:column;gap:var(--sp-4)}@media(min-width:1024px){.split-side{position:sticky;top:calc(var(--nav-h) + var(--sp-5))}}.card{padding:var(--sp-4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}@media(min-width:768px){.card{padding:var(--sp-5)}}.card-title{margin-bottom:var(--sp-4);font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.card-sub{margin-top:calc(-1 * var(--sp-2));margin-bottom:var(--sp-4);font-size:var(--fs-sm);color:var(--text-3)}.card-link{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s var(--ease)}.card-link:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-5);font-size:var(--fs-md);font-weight:500;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;transition:background .16s,border-color .16s,color .16s,transform .1s}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{color:#fff;background:var(--brand);border-color:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.btn-ghost{color:var(--brand);background:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--brand-soft)}.btn-outline{color:var(--brand);background:transparent;border-color:var(--brand)}.btn-outline:hover:not(:disabled){background:var(--brand-soft)}.btn-block{width:100%}.btn-sm{min-height:34px;padding:0 var(--sp-4);font-size:var(--fs-sm)}.btn-lg{min-height:50px;padding:0 var(--sp-6);font-size:var(--fs-lg)}.field{margin-bottom:var(--sp-5)}.field-label{display:block;margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.field-label.req:after{content:" *";color:var(--danger)}.field-hint{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-3)}.input,.textarea,.select{width:100%;min-height:var(--tap);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-md);font-family:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);outline:none;transition:border-color .16s,box-shadow .16s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.textarea{min-height:96px;line-height:1.6;resize:vertical}.select{padding-right:var(--sp-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238b93a1' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-4) center}.chips{display:flex;gap:var(--sp-2);padding-bottom:var(--sp-1);overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:7px var(--sp-4);font-size:var(--fs-sm);color:var(--text-2);white-space:nowrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.chip:hover{border-color:var(--brand)}.chip.active{color:var(--brand);font-weight:500;background:var(--brand-soft);border-color:var(--brand)}.tag{display:inline-block;padding:2px var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);background:var(--line-soft);border-radius:var(--r-xs)}.tag-brand{color:var(--brand);background:var(--brand-soft)}.badge{display:inline-flex;align-items:center;padding:3px var(--sp-3);font-size:var(--fs-xs);font-weight:500;border-radius:var(--r-full)}.badge-ok{color:var(--ok);background:var(--ok-soft)}.badge-warn{color:var(--warn);background:var(--warn-soft)}.badge-danger{color:var(--danger);background:var(--danger-soft)}.badge-mute{color:var(--text-2);background:var(--line-soft)}.row{display:flex;align-items:center;gap:var(--sp-3)}.between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.muted{color:var(--text-3)}.dim{color:var(--text-2)}.center{text-align:center}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.divider{height:1px;margin:var(--sp-4) 0;background:var(--line-soft);border:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-title{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.3}.page-desc{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--text-3)}.empty{padding:var(--sp-10) var(--sp-4);color:var(--text-3);text-align:center}.empty-title{margin-bottom:var(--sp-1);font-size:var(--fs-md);color:var(--text-2)}.skeleton{background:linear-gradient(90deg,var(--line-soft) 25%,#e9ecf2 37%,var(--line-soft) 63%);background-size:400% 100%;border-radius:var(--r-sm);animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}*{transition-duration:.01ms!important}}@page{margin:14mm 12mm}@media print{.topnav,.tabbar,.no-print,.mask,.sheet,.toast,.skeleton{display:none!important}html,body{background:#fff!important}.container,.narrow,.split-main{max-width:none!important;padding:0!important;margin:0!important}.split{display:block!important}*{position:static!important;overflow:visible!important}.card{padding:0 0 12px!important;margin:0 0 14px!important;background:#fff!important;border:none!important;border-bottom:1px solid #ddd!important;border-radius:0!important;box-shadow:none!important}li,.risk-item,.sug-item,.pos-item,.dim-row,.tutor-card{break-inside:avoid}h1,h2,h3,.card-title{break-after:avoid}p,li{orphans:2;widows:2}.badge,.sev,.chip,.dim-chip,.tag,.step-mark{color:#000!important;background:#fff!important;border:1px solid #888!important}.cta-card,.report-tools,.credit-line,.no-credit,.reschedule,.actions{display:none!important}.dim-score,.pos-match,.r-score{color:#000!important}body,p,li{color:#000!important;font-size:12pt;line-height:1.65}a{color:#000!important;text-decoration:none!important}.print-only{display:block!important;padding-bottom:8px;margin-bottom:14px;border-bottom:2px solid #000}}.print-only{display:none}
