:root{--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--bg:#fff;--panel:#f8fafc;--accent:#2563eb;--warn:#b45309;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{max-width:100%}body{color:var(--ink);background:var(--bg);margin:0;overflow-x:clip}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{flex-direction:column;min-width:0;min-height:100vh;display:flex}main{flex:1}.pad{padding:1rem}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:30;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.brand{color:var(--ink);white-space:nowrap;font-size:1.05rem;font-weight:700}.topbar nav{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.topbar nav a{color:var(--muted);font-size:.95rem}.topbar nav a.active{color:var(--accent);font-weight:600}.nav-group{align-items:center;gap:.65rem;display:flex}.nav-group+.nav-group{border-left:1px solid var(--line);padding-left:.9rem}.nav-group-label{color:var(--muted);font-size:.72rem;font-weight:700}.nav-toggle{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:.35rem .55rem;display:none}.footer{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:.25rem;padding:.8rem 1rem;font-size:.8rem;display:flex}.home{height:calc(100vh - var(--topbar-h,53px));grid-template-columns:400px minmax(0,1fr);display:grid}.side{border-right:1px solid var(--line);padding:.8rem;overflow-y:auto}.mapwrap,.mapwrap-inner{min-width:0;max-width:100%;position:relative;overflow:hidden}.map{position:absolute;inset:0}.map-load-error{z-index:8;text-align:center;color:var(--muted);background:#eef2f7;place-items:center;margin:0;padding:1rem;display:grid;position:absolute;inset:0}.searchbox input{border:1px solid var(--line);border-radius:8px;width:100%;padding:.55rem .7rem;font-size:1rem}.filters{flex-wrap:wrap;gap:.4rem;margin:.6rem 0;display:flex}.filters select,.filters input[type=number]{border:1px solid var(--line);background:var(--bg);border-radius:6px;max-width:9.5rem;padding:.3rem .4rem;font-size:.85rem}.note{color:var(--muted);margin:.3rem 0;font-size:.78rem}.school-list{margin:.4rem 0;padding:0;list-style:none}.school-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.45rem .2rem;display:flex}.school-list .meta{color:var(--muted);white-space:nowrap;font-size:.78rem}.badge{border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;margin-left:.3rem;padding:.05rem .45rem;font-size:.72rem;display:inline-block}.badge.status-unknown_missing{color:var(--warn);border-style:dashed;border-color:var(--warn)}.badge.status-closed,.badge.status-merged_into,.badge.status-suspended,.badge.status-became_branch,.badge.status-became_class,.badge.status-converted_out{color:#7f1d1d;border-color:#fca5a5}.year-slider{align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.year-slider input{flex:1}.year-slider .yr{min-width:5.5rem;font-weight:700}.map-legend{z-index:5;border:1px solid var(--line);background:#fffffff0;border-radius:8px;max-width:240px;padding:.5rem .7rem;font-size:.75rem;line-height:1.5;position:absolute;bottom:10px;right:10px}.map-legend-toggle{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.map-legend-toggle span{float:right;color:var(--accent);font-weight:400}.map-legend-body{margin-top:.35rem}.map-legend.collapsed{width:max-content;max-width:calc(100% - 20px)}.map-legend.collapsed .map-legend-body{display:none}.map-note{z-index:5;border:1px solid var(--line);color:var(--muted);background:#fffffff0;border-radius:8px;max-width:300px;padding:.35rem .6rem;font-size:.72rem;position:absolute;bottom:10px;left:10px}.detail{max-width:960px;margin:0 auto;padding:1rem}.detail h1{margin:.2rem 0;font-size:1.5rem}.subtitle{color:var(--muted)}.sentence{background:var(--panel);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;margin:.7rem 0;padding:.6rem .8rem}.sentence.status{border-left-color:var(--warn)}section.block{margin:1.4rem 0}section.block h2{border-bottom:1px solid var(--line);padding-bottom:.3rem;font-size:1.1rem}table.tbl{border-collapse:collapse;width:100%;font-size:.85rem}table.tbl th,table.tbl td{border:1px solid var(--line);text-align:left;padding:.3rem .5rem}table.tbl th{background:var(--panel)}.tbl-scroll{overflow-x:auto}.lifeline{margin:0;padding:0;list-style:none;position:relative}.lifeline:before{content:"";background:var(--line);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.lifeline li{padding:.35rem 0 .35rem 2rem;position:relative}.lifeline li:before{content:"";background:var(--bg);border:3px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:.75rem;left:2px}.lifeline li.ev-unknown_missing:before{border-style:dashed;border-color:var(--warn)}.lifeline li.ev-closed:before,.lifeline li.ev-merged:before{border-color:#b91c1c}.lifeline details{margin-top:.2rem}.lifeline .rawtext{background:var(--panel);white-space:pre-wrap;border-radius:6px;padding:.5rem .7rem;font-size:.85rem}.chart{width:100%;height:320px}.chart-summary{color:var(--muted);font-size:.82rem}.chart-tools{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.chart-tools .linklike{margin-left:0}.grid2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.linklike{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;margin-left:.4rem;padding:0}.linklike:hover{text-decoration:underline}.compare-bar{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;margin:.7rem 0;padding:.5rem .65rem;font-size:.85rem;display:flex}.compare-bar .badge{background:var(--bg);margin-left:0}.block-title-row{justify-content:space-between;align-items:end;gap:1rem;display:flex}.block-title-row h2{flex:1}.field-label{color:var(--muted);font-size:.78rem}.field-label select{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;margin-top:.2rem;padding:.3rem;display:block}.site-timeline{margin:.5rem 0;padding:0;list-style:none}.site-timeline li{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,auto) 1fr;gap:.15rem .8rem;padding:.55rem 0;font-size:.88rem;display:grid}.site-timeline li .meta{color:var(--muted);grid-column:2;font-size:.76rem}.identity-list{margin:.7rem 0;padding:0;list-style:none}.identity-list>li{border-bottom:1px solid var(--line);padding:.8rem 0}.identity-heading{flex-wrap:wrap;align-items:center;gap:.15rem;display:flex}.identity-list .meta{color:var(--muted);margin:.15rem 0 .45rem;font-size:.78rem}.identity-spans{flex-wrap:wrap;gap:.45rem;display:flex}.identity-span{border:1px solid var(--line);background:var(--panel);border-radius:7px;flex-direction:column;gap:.08rem;min-width:9rem;padding:.35rem .5rem;font-size:.85rem;display:inline-flex}.identity-span small{color:var(--muted);font-size:.72rem}.identity-basis{color:var(--muted);margin-top:.45rem;font-size:.76rem}.download-hero{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 .6rem;padding:1rem;display:flex}.download-hero h2{margin:0 0 .35rem;font-size:1.1rem}.download-hero p{margin:.25rem 0}.download-primary{background:var(--accent);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:.65rem .9rem;font-weight:700;display:inline-flex}.download-primary:hover{color:#fff}.download-support{flex-wrap:wrap;gap:.5rem 1rem;font-size:.82rem;display:flex}.popup{font-size:.85rem;line-height:1.5}.approx-warn{color:var(--warn);margin-top:.2rem;font-weight:600}.doc-page h1{font-size:1.5rem}.doc-page h2{border-bottom:1px solid var(--line);margin-top:1.6rem;padding-bottom:.3rem;font-size:1.15rem}.doc-page table{border-collapse:collapse;width:100%;font-size:.85rem}.doc-page th,.doc-page td{border:1px solid var(--line);text-align:left;padding:.3rem .5rem}.doc-page th{background:var(--panel)}.doc-page blockquote{border-left:3px solid var(--line);color:var(--muted);margin:.6rem 0;padding:.1rem .8rem}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1rem 0;display:grid}.card{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex}.card .kpi{color:var(--accent);font-size:1.9rem;font-weight:800;line-height:1.1}.card .kpi.warn{color:var(--warn)}.card h3{margin:0;font-size:.98rem}.card .card-text{font-size:.88rem;line-height:1.55}.card .note{margin-top:auto}.digest{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:.15rem 1rem;margin:.7rem 0;padding:.55rem .8rem;font-size:.88rem;line-height:1.6;display:flex}.evidence{color:var(--muted);margin-top:.45rem;font-size:.8rem}.evidence details{margin-top:.2rem}.rawtext{background:var(--panel);white-space:pre-wrap;border-radius:6px;padding:.5rem .7rem;font-size:.85rem}.year-row{align-items:center;gap:.5rem;display:flex}.playbtn{border:1px solid var(--line);background:var(--bg);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.25rem .6rem;font-size:.85rem}.playbtn:hover{border-color:var(--accent);color:var(--accent)}.page-tabs{border-bottom:1px solid var(--line);gap:0;margin:.6rem 0 1rem;display:flex}.page-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.95rem}.page-tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.van-list{margin:.6rem 0;padding:0;list-style:none}.van-list li{border-bottom:1px solid var(--line);padding:.6rem .2rem}.van-list .meta{color:var(--muted);margin-top:.15rem;font-size:.78rem}.van-sentence{margin-top:.25rem;font-size:.85rem}.controls-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.8rem 0;display:flex}.seg{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{background:var(--bg);cursor:pointer;color:var(--muted);border:none;padding:.35rem .8rem;font-size:.88rem}.seg button.on{background:var(--accent);color:#fff}.intro-bar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.intro-links{white-space:nowrap;gap:.9rem;display:flex}.year-facts{color:var(--muted);white-space:nowrap;font-size:.8rem}.card-terms summary{cursor:pointer}.flow-list{margin:.4rem 0 0;padding:0;font-size:.85rem;list-style:none}.flow-list li{padding:.15rem 0}.lineage-flow{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0 .8rem;display:flex}.lf-col{flex-direction:column;gap:.35rem;display:flex}.lf-box{border:1px solid var(--line);background:var(--bg);color:var(--accent);border-radius:8px;flex-direction:column;align-items:flex-start;padding:.35rem .7rem;font-size:.88rem;display:inline-flex}.lf-box .meta{color:var(--muted);font-size:.72rem}.lf-box.lf-self{border-color:var(--accent);color:var(--ink);background:var(--panel);font-weight:600}.lf-arrow{color:var(--muted);font-size:1.1rem}@media print{.topbar,.footer,.mobile-tabs,.intro-bar,.no-print,.map-legend,.map-note,.maplibregl-control-container{display:none!important}.detail{max-width:100%;padding:0}a{color:var(--ink);text-decoration:none}section.block{break-inside:avoid}}.county-picker{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:.3rem 1rem;margin:.8rem 0;padding:.6rem .8rem;display:flex}.county-picker legend{color:var(--muted);padding:0 .3rem;font-size:.85rem}.county-picker legend .linklike{margin-left:.6rem}.county-check{white-space:nowrap;align-items:center;gap:.3rem;font-size:.88rem;display:inline-flex}.mobile-tabs{display:none}@media (width<=800px){.topbar{justify-content:space-between;padding:.55rem .75rem}.nav-toggle{align-items:center;gap:.35rem;display:inline-flex}.topbar nav{max-height:calc(100vh - var(--topbar-h,53px));background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem .75rem .9rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 5px 14px #0f172a1f}.topbar nav.open{display:block}.nav-group{grid-template-columns:1fr 1fr;gap:0;display:grid}.nav-group+.nav-group{border-left:0;border-top:1px solid var(--line);padding-left:0}.nav-group-label{grid-column:1/-1;padding:.65rem 0 .25rem}.topbar nav a{padding:.5rem .2rem}.home{grid-template-columns:1fr;height:auto}.mapwrap{height:70vh;display:none}.mapwrap.active{display:block}.side.hidden{display:none}.mobile-tabs{border-bottom:1px solid var(--line);top:var(--topbar-h,53px);background:var(--bg);z-index:20;gap:0;display:flex;position:sticky}.mobile-tabs button{background:var(--bg);color:var(--muted);border:none;border-bottom:2px solid #0000;flex:1;padding:.55rem;font-size:.95rem}.mobile-tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.grid2{grid-template-columns:1fr}.map-legend{max-width:calc(100% - 20px);bottom:10px;left:10px;right:auto}.map-note{display:none}.block-title-row{flex-direction:column;align-items:stretch;gap:0}.field-label select{width:100%}.site-timeline li{grid-template-columns:1fr}.site-timeline li .meta{grid-column:1}.download-hero{flex-direction:column;align-items:stretch}.download-primary{width:100%}}
