:root{
  --bg: #fffbef;
  --card: #ffffff;
  --text: #222;
  --muted: #666;
  --line: #e6e0c8;
  --shadow: 0 8px 24px rgba(0,0,0,.08);
  --radius: 16px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

.wrap{max-width:1200px;margin:0 auto;padding:18px}
.site-header{
  position:sticky;top:0;z-index:10;
  background:rgba(255,251,239,.92);
  backdrop-filter: blur(8px);
  border-bottom:1px solid var(--line);
}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:800;text-decoration:none;color:var(--text)}
.header-right{display:flex;gap:10px;align-items:baseline}
.muted{color:var(--muted);font-size:.92rem}

.grid2{display:grid;grid-template-columns: 420px 1fr; gap:18px}
@media (max-width: 980px){ .grid2{grid-template-columns:1fr} }

.panel{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:16px;
}

h1{margin:0 0 6px}
.lede{margin:0 0 14px;color:var(--muted);line-height:1.35}

.form fieldset{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  margin:0 0 12px;
}
legend{padding:0 8px;color:var(--muted);font-weight:700}

.row{display:grid;grid-template-columns: 140px 1fr; gap:10px; align-items:center; margin:8px 0}
label{font-weight:650}
input, select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  font-size:1rem;
}

.hint{color:var(--muted);font-size:.92rem;margin-top:6px}

.buttons{display:flex;gap:10px;margin:12px 0}
.btn{
  cursor:pointer;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--text);
  background:var(--text);
  color:#fff;
  font-weight:800;
}
.btn.ghost{
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
}

.results{
  margin-top:10px;
  padding:10px 12px;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--text);
  background:#fffdf6;
  line-height:1.35;
}

.disclaimer{
  margin-top:12px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.35;
}

.preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.preview-wrap{
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
#svg{display:block;width:100%;height:auto}

.hide{display:none}

.actions{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.tt-footer{
  margin-top: 18px;
  padding: 14px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}

.tt-footer-inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
  font-size: 14px;
  opacity: .85;
}

.tt-footer a{
  text-decoration: none;
  font-weight: 700;
}
.tt-footer a:hover{
  text-decoration: underline;
}

.print-header{
  margin-bottom: 16px;
}

@media print {
  body {
    margin: 0;
  }

  .wrap {
    max-width: none;
    padding: 0;
  }

  .print-sheet {
    width: 100%;
    page-break-inside: avoid;
  }
}



@media print {
  .no-print {
    display: none !important;
  }
}

.print-footer {
  margin-top: 24px;
  font-size: 12px;
  color: #777;
  text-align: center;
}
