/* Plane's body/heading family and 450/500/600 weight scale, with explicit CJK fallbacks. */
@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url('/huixin-geo/assets/fonts/inter-latin-variable.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
:root{--font-ui:"Inter Variable","Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC",ui-sans-serif,system-ui,sans-serif;--text:#17191c;--plane-secondary:#50545a;--muted:#666b72;--type-body:14px;--type-small:12px;--type-heading:24px;font-family:var(--font-ui);font-size:16px;color:var(--text);font-synthesis:none;font-weight:450;font-variant-ligatures:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
:root.dark{--text:#ededee;--plane-secondary:#b7b9bd;--muted:#a1a5ab}
body{font-family:var(--font-ui);font-size:var(--type-body);font-weight:450;line-height:1.6;color:var(--text)}
button,input,textarea,select{font-family:var(--font-ui);letter-spacing:normal}
.chart text,.dialog-body pre{font-family:var(--font-ui)}
.plane-shell{color:var(--text)}
.plane-page :is(h1,h2,h3,h4){font-family:var(--font-ui);font-weight:600;letter-spacing:normal}
.plane-page h1{font-size:var(--type-heading);line-height:32px}
.page-heading p{font-size:14px;font-weight:400;line-height:22px;color:var(--plane-secondary);margin-top:8px}
.plane-nav-item{font-size:14px;font-weight:450;color:var(--plane-secondary)}
.plane-nav-item.selected{font-weight:500;color:var(--text)}
.plane-sidebar-title strong,.plane-brand-project strong{font-weight:600}
.plane-group-heading{font-weight:500;color:var(--muted)}
.plane-page .data-table td{font-size:14px;font-weight:400;line-height:1.65;color:var(--text)}
.data-table .title-cell strong{font-weight:500;color:var(--text)}
.plane-page .data-table th{font-size:13px;font-weight:500;line-height:20px;color:var(--plane-secondary)}
.data-table small,.small,.hint{font-size:12px;font-weight:400;line-height:1.65;color:var(--muted)}
.field{font-size:14px;font-weight:450;color:var(--text)}
.field :is(input,textarea),.plane-select-trigger{font-weight:400;color:var(--text)}
.plane-page .badge{font-weight:450}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.page-heading>.page-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:0;flex-wrap:wrap;align-self:flex-start}
.page-heading>.page-heading-actions:empty{display:none}
.page-heading .page-action.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;min-height:28px;padding:3px 10px;border-radius:5px;font-size:13px;font-weight:500;line-height:20px;box-shadow:0 1px 2px #00000008;white-space:nowrap}
.page-heading .page-action.btn>.icon{width:14px;height:14px;flex:none}
.page-heading .page-action-secondary.btn{background:var(--plane-control);color:var(--text);border:1px solid var(--line)}
.page-heading .page-action-primary.btn{background:var(--template-primary);border:1px solid var(--template-primary);color:#fff}
.page-heading .page-action-primary.btn:not(:disabled):hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.page-heading .page-action-secondary.btn:not(:disabled):hover{background:var(--ui-hover);border-color:var(--muted)}
@media(max-width:700px){.plane-page h1{font-size:22px;line-height:30px}.page-heading{gap:16px}.page-heading>.page-heading-actions{justify-content:flex-start}.page-heading .page-action.btn{height:32px;min-height:32px}.field :is(input,textarea){font-size:16px}}
