/* 房產工具箱共用樣式：沿用 style.css 的色彩變數，淺色／深色模式自動跟隨 */
.tool-page{padding:28px 0 64px;}
.tool-page .breadcrumb{margin-bottom:14px;font-size:.9rem;}
.tool-page .breadcrumb a{color:var(--ink-soft);text-decoration:none;}
.tool-page .breadcrumb a:hover{color:var(--orange);}
.tool-head{margin-bottom:22px;}
.tool-head .eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--orange);margin-bottom:6px;}
.tool-head h1{font-size:clamp(1.55rem,4.6vw,2.1rem);line-height:1.3;color:var(--navy-deep);}
.tool-head p{margin:10px 0 0;color:var(--ink-soft);line-height:1.8;max-width:46em;}

/* hub */
.tool-groups h2{font-size:1.15rem;margin:30px 0 12px;color:var(--navy-deep);}
.tool-grid{display:grid;gap:14px;grid-template-columns:1fr;}
@media (min-width:700px){.tool-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.tool-grid{grid-template-columns:repeat(3,1fr);}}
.tool-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease;}
.tool-card:hover{transform:translateY(-2px);border-color:var(--orange);}
.tool-card .ti{font-size:1.7rem;line-height:1;}
.tool-card h3{margin:10px 0 6px;font-size:1.05rem;color:var(--navy-deep);}
.tool-card p{margin:0;font-size:.9rem;line-height:1.7;color:var(--ink-soft);}
.tool-card .go{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:700;color:var(--orange);}

/* panels & fields */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:18px;}
.panel h2,.panel h3{font-size:1.05rem;margin:0 0 12px;color:var(--navy-deep);}
.fields{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--ink);}
.field .hint{display:block;font-weight:400;color:var(--ink-soft);font-size:.78rem;margin-top:2px;}
.field input,.field select{width:100%;font:inherit;font-size:1rem;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);min-height:44px;}
.field input:focus,.field select:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange);}
.unit-wrap{position:relative;}
.unit-wrap input{padding-right:46px;}
.unit-wrap .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--ink-soft);pointer-events:none;}
.seg{display:flex;flex-wrap:wrap;gap:8px;}
.seg label{margin:0;cursor:pointer;}
.seg input{position:absolute;opacity:0;pointer-events:none;}
.seg span{display:inline-block;padding:10px 14px;border:1px solid var(--line);border-radius:999px;font-size:.92rem;background:var(--bg);color:var(--ink);min-height:44px;line-height:22px;}
.seg input:checked+span{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700;}
.seg input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px;}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.actions .btn{cursor:pointer;font:inherit;}

/* tabs */
.tt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.tt-tab{font:inherit;font-weight:700;font-size:.95rem;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;min-height:44px;}
.tt-tab[aria-selected="true"]{background:var(--dark);border-color:var(--dark);color:#fff;}
.tt-pane[hidden]{display:none;}

/* results */
.result{background:var(--dark);color:var(--dark-ink);border-radius:16px;padding:20px;margin-bottom:18px;}
.result .lead{font-size:.85rem;color:var(--dark-ink-soft);margin-bottom:4px;}
.result .big{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:600;line-height:1.2;word-break:break-all;}
.result .sub{font-size:.9rem;color:var(--dark-ink-soft);margin-top:6px;line-height:1.7;}
.kpis{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:16px;}
.kpi{border:1px solid var(--dark-line);border-radius:12px;padding:12px;background:rgba(255,255,255,.05);}
.kpi .k{font-size:.78rem;color:var(--dark-ink-soft);}
.kpi .v{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600;margin-top:2px;word-break:break-all;}
.kpi.warn .v{color:#FFD28A;}
.kpi.good .v{color:#9BE3B5;}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;}
.pill.ok{background:#DCF5E5;color:#14532D;}
.pill.no{background:#FDE2E2;color:#7F1D1D;}
.pill.maybe{background:#FFF1CC;color:#7A4B00;}
.verdict{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--dark-line);font-size:.95rem;line-height:1.6;}
.verdict:last-child{border-bottom:none;}
.verdict .pill{flex:none;margin-top:2px;}

.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.tbl{width:100%;border-collapse:collapse;font-size:.88rem;min-width:420px;}
table.tbl th,table.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;}
table.tbl th:first-child,table.tbl td:first-child{text-align:left;}
table.tbl th{font-size:.78rem;color:var(--ink-soft);font-weight:700;}
table.tbl td{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;}
table.tbl td:first-child{font-family:inherit;}
table.tbl tr.hl td{background:var(--surface-navy);font-weight:700;}

.note{font-size:.82rem;line-height:1.8;color:var(--ink-soft);}
.note strong{color:var(--ink);}
.disclaimer{margin-top:22px;padding:14px 16px;border-left:4px solid var(--orange);background:var(--surface);border-radius:0 12px 12px 0;font-size:.82rem;line-height:1.8;color:var(--ink-soft);}
.asof{display:inline-block;font-size:.78rem;color:var(--ink-soft);margin-top:8px;}
.tool-cta{margin-top:26px;text-align:center;padding:22px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;}
.tool-cta p{margin:0 0 4px;font-weight:700;color:var(--navy-deep);}
.tool-cta .sm{font-weight:400;font-size:.88rem;color:var(--ink-soft);margin-bottom:12px;}
.related{margin-top:22px;font-size:.9rem;}
.related a{color:var(--orange);font-weight:700;text-decoration:none;margin-right:14px;display:inline-block;padding:4px 0;}

/* checklist */
.chk-progress{height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin:6px 0 4px;}
.chk-progress>i{display:block;height:100%;width:0;background:var(--orange);transition:width .25s ease;}
.chk-item{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:12px;overflow:hidden;}
.chk-item>summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;padding:14px 16px;font-weight:700;color:var(--navy-deep);min-height:52px;}
.chk-item>summary::-webkit-details-marker{display:none;}
.chk-item .no{flex:none;width:30px;height:30px;border-radius:50%;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.chk-item .cnt{margin-left:auto;font-size:.8rem;font-weight:400;color:var(--ink-soft);}
.chk-body{padding:2px 16px 14px;}
.chk-body .why{font-size:.85rem;color:var(--ink-soft);line-height:1.8;margin:0 0 8px;}
.chk-row{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px dashed var(--line);font-size:.93rem;line-height:1.7;}
.chk-row input{flex:none;width:22px;height:22px;margin-top:3px;accent-color:var(--orange);}
.chk-row label{cursor:pointer;}
.chk-row .where{display:block;font-size:.8rem;color:var(--ink-soft);}

@media print{
  .topbar,header.site,.quickbar,.tool-cta,.actions,.related,footer{display:none !important;}
  body{padding-bottom:0;}
}

/* 法規檢查結果 */
.gate{border-radius:16px;padding:16px 18px;margin-bottom:18px;border:1px solid;line-height:1.85;font-size:.93rem;}
.gate.ok{background:#E3F5EA;border-color:#8CCBA3;color:#10432A;}
.gate.warn{background:#FFF3D1;border-color:#E6C46A;color:#5E3B00;}
.gate.stop{background:#FDE7E7;border-color:#E39A9A;color:#6B1414;}
