/* Matched to the live Stjernerne homepage on 2026-10-13.
   Fonts are served locally; no calls to Google Fonts at runtime. */
@font-face {
  font-family: 'Manrope';
  src: url('/en/static/fonts/manrope.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito Sans';
  src: url('/en/static/fonts/nunito-sans.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
}
:root {
  --paper: #f7f5ef;
  --card: #fffaf2;
  --ink: #142e2b;
  --body: #34483c;
  --muted: #526052;
  --purple: #435a48;
  --accent: #435a48;
  --line: #ced6c8;
  --soft: #587c72;
  --hard: #ad755a;
  --gold: #c6ae76;
  --sage: #e4e9dd;
  --peach: #f1dfd2;
  --lavender: #e9e1ee;
  --serif: 'Manrope', Arial, sans-serif;
  font-family: 'Nunito Sans', Arial, sans-serif;
  color: var(--body);
  line-height: 1.5;
}
header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  height: 120px;
  border-bottom-color: #d9dfd2;
}
header .brand { grid-column: 2; grid-row: 1; }
header .edition { grid-column: 1; grid-row: 1; justify-self: start; }
header .prototype { grid-column: 3; grid-row: 1; justify-self: end; }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 192px; height: 64px; object-fit: contain; display: block; }
.brand.small img { width: 138px; height: 46px; }
.edition { letter-spacing: 1.25px; font-size: 10px; }
.prototype { font-size: 11px; padding: 8px 14px; background: #ecefe6; border-color: #d2dacb; }
.intro { padding: 46px 0 38px; }
.eyebrow { letter-spacing: 1.68px; font-size: 11px; font-weight: 700; color: var(--body); }
h1 { font: 500 clamp(42px,4.4vw,60px)/1.1 var(--serif); letter-spacing: -.045em; color: var(--ink); }
h1 em { font-style: normal; font-weight: 500; color: var(--accent); }
h2 { font: 500 26px/1.22 var(--serif); letter-spacing: -.025em; color: var(--ink); }
.intro-copy { font: 400 17px/1.65 'Nunito Sans', Arial, sans-serif; color: var(--body); margin-right: 0; max-width: 395px; }
.birth-card,.chart-card { border-radius: 24px; border: 1px solid #d5dcce; }
.birth-card { background: var(--sage); padding: 29px 26px; }
.chart-card { background: var(--card); padding-top: 29px; }
.section-number { font-size: 12px; font-weight: 700; color: var(--accent); margin-bottom: 21px; }
.section-number span { font-size: 10px; letter-spacing: 1.2px; }
.muted { font-size: 14px; line-height: 1.6; margin-bottom: 25px; }
label { font-size: 13px; color: var(--body); }
input,select { background: #fffdf8; border-color: #b9c4b2; border-radius: 12px; padding: 12px 11px; color: var(--ink); }
input[type=date],input[type=time] { font-size: 14px; }
input:focus,select:focus { border-color: var(--accent); }
.two-fields { grid-template-columns: 1.1fr 1fr; gap: 11px; }
.hint { font-size: 12px; line-height: 1.55; }
.advanced summary { font-size: 12px; }
.check { font-size: 12px; }
.search-results { border-color: #b9c4b2; border-radius: 12px; box-shadow: 0 12px 28px #203e3218; }
.search-results button { border-bottom-color: #e2e6dc; }
.search-results button:hover,.search-results button:focus { background: #edf1e7; }
.primary { border-radius: 99px; background: #435a48; padding: 14px 19px; font-size: 14px; font-weight: 650; line-height: 1.5; }
.primary:hover { background: #203e32; }
.primary span { font-size: 23px; font-weight: 400; }
.privacy { font-size: 11px; }
.settings { gap: 5px; font-size: 10px; padding: 16px 0; }
.settings span+span:before { margin-right: 7px; }
.quiet-note { font: 400 13px/1.65 'Nunito Sans', Arial, sans-serif; }
.quiet-note strong { font-weight: 700; }
.quiet-note p { font-size: 13px; }
.chart-top h2 { font-size: 28px; line-height: 1.2; }
.chart-top .eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }
.chart-meta { font-size: 13px; }
.icon-button { background: #e8eddf; border-color: #cbd5c2; color: #34483c; width: 42px; height: 42px; }
.icon-button:hover { background: #dce5d4; }
.tabs { gap: 26px; }
.tabs button { font-size: 13px; font-weight: 600; }
.tabs button[aria-selected=true] { color: #203e32; border-bottom-width: 3px; }
.big-three { background: transparent; border-radius: 0 0 24px 24px; overflow: hidden; }
.big-three>div { padding: 22px 8px; }
.big-three>div:nth-child(1) { background: var(--peach); }
.big-three>div:nth-child(2) { background: var(--sage); }
.big-three>div:nth-child(3) { background: var(--lavender); }
.big-three>div+div { border-left: 1px solid #fffaf2; }
.big-three small { font-size: 10px; font-weight: 700; color: var(--body); }
.big-three strong { font: 500 19px/1.3 var(--serif); letter-spacing: -.03em; color: var(--ink); }
.big-three .degree { font-size: 12px; color: var(--body); }
.legend { font-size: 10px; }
.loading { font: 500 17px/1.5 var(--serif); }
table { font-size: 13px; }
caption { font: 500 20px/1.4 var(--serif); color: var(--ink); }
td,th { border-bottom-color: #dfe4d9; }
th { font-size: 11px; }
.table-intro { font-size: 13px; }
.calculation-details { font-size: 13px; border-color: #d4ddcc; }
.calculation-details summary { font-weight: 600; }
.error,.stale,.warnings { border-radius: 12px; }
.error { background: #f8e8e2; border-color: #d5aa99; color: #7a372d; }
.stale,.warnings { background: #f4ead0; border-color: #d8cba8; color: #645225; }
footer p { font: 400 13px/1.5 'Nunito Sans', Arial, sans-serif; }
footer>span:last-child { font-size: 9px; }
body.embedded header { display: flex; justify-content: center; height: 88px; }
@media(max-width:1000px) {
  .birth-card { padding: 25px 22px; }
  .intro-copy { font-size: 16px; max-width: 345px; }
  .big-three strong { font-size: 16px; }
  .edition { font-size: 8px; max-width: 150px; line-height: 1.6; }
}
@media(max-width:760px) {
  header { display: flex; justify-content: space-between; height: 98px; }
  .brand img { width: 168px; height: 56px; }
  .prototype { font-size: 10px; padding: 7px 11px; }
  .intro { padding: 30px 0 28px; }
  .intro h1 { font-size: clamp(38px,10.5vw,48px); letter-spacing: -.045em; }
  .intro-copy { max-width: none; font-size: 16px; margin-top: 20px; }
  .birth-card { padding: 25px; }
  .birth-card h2 { font-size: 25px; }
  .chart-top h2 { font-size: 24px; }
  .big-three strong { font-size: 16px; }
  .big-three small { font-size: 9px; letter-spacing: 1px; }
  .big-three .degree { font-size: 11px; }
  .legend { font-size: 9px; gap: 13px; }
  .tabs { gap: 23px; }
}
@media(max-width:360px) {
  .birth-card { padding: 23px 18px; }
  input[type=date],input[type=time] { font-size: 12px; }
  .big-three strong { font-size: 14px; }
  .prototype { font-size: 9px; padding: 6px 9px; }
  .brand img { width: 152px; height: 51px; }
}

/* Transit controls and the second chart ring. */
.transit-controls{margin:20px 0;background:#f5eee3;border:1px solid #dfd6c6;border-radius:18px;padding:18px}
.transit-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.transit-heading h3{font-family:Manrope,sans-serif;font-size:17px;font-weight:500;margin:5px 0}
.transit-heading .eyebrow{font-size:10px;margin:0}.transit-heading .check{margin:0;white-space:nowrap}
.transit-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-top:16px}.transit-fields label{min-width:0}
.transit-fields input,.transit-fields select{width:100%;min-width:0;box-sizing:border-box}
.transit-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.transit-actions button{border:1px solid #bdc5b4;border-radius:99px;background:#fffaf2;color:#34483c;padding:8px 13px;font:600 12px 'Nunito Sans',sans-serif;cursor:pointer}
.transit-actions #transit-now,.transit-actions button[type=submit]{background:#435a48;color:white;border-color:#435a48}
.transit-caption{margin:8px 20px 18px;padding:12px;border-radius:12px;background:#f1dfd2;text-align:center;font-size:13px;color:#61462f;line-height:1.5}
.transit-link{background:none;border:0;color:#34483c;text-align:left;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 0}
#transit-rows td{white-space:normal}#transit-rows small{display:block;color:#526052;margin-top:3px}
#transit-status{margin-bottom:0}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}
@media(max-width:600px){.transit-controls{padding:13px}.transit-fields{grid-template-columns:1fr 1fr}.transit-fields label:last-child{grid-column:1/-1}.transit-heading h3{font-size:16px}.transit-actions{gap:5px}.transit-actions button{padding:8px 10px}.tabs button{padding-left:10px;padding-right:10px;font-size:12px}.transit-caption{margin-left:0;margin-right:0}}

@media(max-width:600px){.tabs{gap:0;justify-content:space-between}.tabs button{padding:13px 7px;font-size:11px}}

.playback-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;border-top:1px solid #dfd6c6;margin-top:16px;padding-top:14px}
.playback-controls label{flex:1;min-width:90px;margin:0}.playback-controls select{margin-top:5px}
#transit-play{background:#435a48;color:white;border:0;border-radius:99px;padding:13px 20px;min-height:45px;font-weight:600;min-width:112px}
#transit-play[aria-pressed=true]{background:#815036}#playback-status{margin:9px 0 0}
@media(max-width:400px){.playback-controls{gap:8px}#transit-play{width:100%}.playback-controls label{min-width:0}}

.technique-controls{padding:16px 0 0;margin-top:10px;border-top:1px solid var(--line)}
#technique-form{padding:18px;background:#e9e1ee;border-radius:18px;margin-top:14px}#technique-form .primary{justify-content:center}
#technique-status:empty{display:none}#return-place-fields{margin-top:15px}.dwarf-choice{margin:12px 0 0}

.synastry-controls {background:#eee7ef;border:1px solid #d9cddd;border-radius:20px;padding:20px;margin:18px 0;}
.synastry-controls h3 {margin:0 0 12px;}
.synastry-controls form {margin-top:20px;}
#synastry-details table {margin-bottom:24px;}
#synastry-details th,#synastry-details td {white-space:normal;}
#synastry-controls .primary {width:100%;}

.big-three:has(>div:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Birth-time exploration: compact controls beside the changing wheel. */
.rectify-controls { margin: 16px 32px; padding: 20px; background: #e8eddf; border: 1px solid #d4dccb; border-radius: 20px; }
.rectify-controls h3 { margin: 6px 0 12px; }
.rectify-controls input[type=range] { padding: 0; width: 100%; accent-color: #435a48; min-height: 34px; }
.rect-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.rect-actions button, #rect-save, #rect-event-form button, .rect-candidates button, .rect-events button { border: 1px solid #aebca9; border-radius: 14px; background: #fffdf8; padding: 9px 12px; color: #344f3b; font: inherit; cursor: pointer; }
.rect-actions button { font-size: 12px; }
.rect-changes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0; }
.rect-changes p { margin: 0; padding: 10px; background: #fffaf2; border-radius: 10px; font-size: 13px; }
.rect-changes strong,.rect-changes span { display:block; }
#panel-rectify { padding: 8px 32px 28px; }
.rect-candidate { border-bottom: 1px solid #d9dfd2; padding: 12px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rect-candidate span { flex: 1 1 220px; font-size: 13px; }
.rect-candidate small { display: block; margin-top: 5px; }
.rect-events { padding-left: 20px; }
.rect-events li { margin: 10px 0; font-size: 14px; }
.rect-events button { margin-left: 8px; font-size: 12px; }
.rect-method { background: #eee5ed; padding: 15px; border-radius: 14px; }
#rect-comparison td { white-space: normal; vertical-align: top; min-width: 145px; }
#rect-comparison td:first-child { min-width: 110px; }
#rect-comparison .transit-link { display:block; margin: 7px 0; }
#rect-comparison th { white-space: normal; }
#rect-comparison small { display:block; }
@media(max-width:600px){.rectify-controls{margin:14px 16px;padding:14px;}#panel-rectify{padding:8px 16px 20px;}.rect-actions button{flex:1 0 22%;}.rect-changes{grid-template-columns:1fr;}}

.rect-quick { position: sticky; top: 0; z-index: 2; background: #f7f5eff2; border: 1px solid #c8d1bc; border-radius: 14px; padding: 10px 14px; margin: 0 16px 12px; backdrop-filter: blur(8px); }
.rect-quick output { display:block; font-size: 13px; margin-bottom: 7px; color: #344f3b; }
.rect-quick .rect-actions { justify-content: center; }
.library { background: #eee9ef; border: 1px solid #d9d0dd; border-radius: 20px; margin: 0 0 26px; padding: 18px 24px; }
.library>summary { cursor:pointer; font-size:20px; font-weight:600; }
.library>summary span { font-size:12px; font-weight:400; margin-left:16px; }
.library-save { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.library-save label { flex:1 1 230px; margin:0; }
.library-save input { margin-bottom:0; }
.library button,.library-import { padding:11px 15px; background:#fffdf8; border:1px solid #b8c0ae; border-radius:14px; color:#344f3b; font:inherit; font-size:13px; cursor:pointer; }
.library button:disabled { opacity:.5; cursor:default; }
.library-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.library-import { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0; }
.library-import input { max-width:220px; border:0; padding:0; background:transparent; font-size:12px; margin:0; }
.library-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border-top:1px solid #d9d0dd; padding:15px 0; }
.library-row>div { flex:1 1 260px; overflow-wrap:anywhere; }
.library-row small { display:block; margin-top:5px; color:#596758; font-size:12px; }
.library>details { border-top:1px solid #d9d0dd; padding-top:14px; }
.library>details>summary { cursor:pointer; }
@media(max-width:600px){.library{padding:16px;}.library>summary span{display:block;margin:6px 0 0;}.library-save button{flex:1;}.library-import input{max-width:100%;}.library-import{max-width:100%;}}

@media(max-width:600px){.library-save label{flex:1 0 100%;}.library-save button{flex:1 1 40%;}}

/* Guided workspace: clear entry points, expandable settings, room for the wheel. */
.workspace-nav{display:flex;gap:8px;align-items:center;justify-content:center;padding:18px 0 0;flex-wrap:wrap}
.workspace-nav button,.chart-actions button,#wheel-close{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:11px 18px;font-size:13px;min-height:44px}
.workspace-nav button:last-child{background:var(--lavender);border-color:#d9cddd}
#library-count{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#fffaf2;margin-left:6px;font-size:11px}
.intro{padding:30px 0;gap:35px}.intro h1{font-size:clamp(32px,3.7vw,48px)}.intro-copy{margin:0;max-width:400px;font-size:16px}
.workspace{grid-template-columns:300px minmax(0,1fr);gap:24px}
.birth-card{padding:0;overflow:visible}#birth-editor>summary{padding:22px;cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;align-items:start;gap:6px;font:600 16px var(--serif)}
#birth-editor>summary::-webkit-details-marker{display:none}#birth-editor>summary small{font:400 12px/1.5 'Nunito Sans',sans-serif;grid-column:1/-1;overflow-wrap:anywhere}
#birth-editor .disclosure-action{grid-column:2;grid-row:1;font:600 12px 'Nunito Sans',sans-serif;text-decoration:underline;text-underline-offset:3px}
#birth-editor[open] .disclosure-action{font-size:0}#birth-editor[open] .disclosure-action:after{content:'Collapse';font-size:12px}
.birth-editor-body{padding:0 22px 22px}.birth-editor-body .section-number{display:none}.birth-editor-body h2{font-size:22px}.birth-editor-body .muted{margin-bottom:18px}
.chart-card{padding:26px 26px 0;scroll-margin-top:18px}.chart-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.chart-actions button{font-size:12px;padding:10px 14px}.chart-actions button:first-child{background:var(--lavender)}
.explore h3{font-size:14px;font-weight:600;margin:0 0 12px}.mode-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mode-choices button{border:1px solid var(--line);border-radius:13px;text-align:left;background:#f7f5ef;color:var(--ink);padding:11px 12px;min-height:67px;font-size:13px;font-weight:650}
.mode-choices small{display:block;font-size:11px;font-weight:400;line-height:1.35;margin-top:4px;color:var(--muted)}
.mode-choices button[aria-pressed=true]{background:var(--sage);border:2px solid var(--accent);padding:10px 11px;box-shadow:0 2px 0 #435a4814}
.mode-choices button:hover{background:#edf0e7}.explore .hint{margin:12px 0 16px}
.chart-settings{border:1px solid var(--line);border-radius:14px;background:#f3f0e8;padding:0 14px;margin-bottom:16px}
.chart-settings>summary{padding:14px 0;font-size:14px;font-weight:650;cursor:pointer}.chart-settings>summary span:last-child{float:right;font-size:11px;font-weight:400;margin-top:3px}
.chart-settings .technique-controls{border:0;margin:0;padding:0}.chart-settings #technique-form{margin-top:0;padding:14px}
.chart-settings .transit-controls,.chart-settings .rectify-controls,.chart-settings .synastry-controls{margin:0 0 14px;padding:12px;border:0;background:transparent}
.chart-settings .transit-heading{display:none}.chart-settings .rectify-controls .eyebrow{display:none}
.tabs{margin-top:10px;gap:18px}.tabs button{min-height:44px}.wheel-wrap{margin:8px -18px 0}.wheel-wrap svg{max-width:800px}.big-three{margin:0 -26px}
.library{scroll-margin-top:16px}.library>p{max-width:850px}.library h3{font-size:15px;margin:20px 0 12px}.library-backup{margin:18px 0}.library-tools{margin-top:16px}.library-row{border-top:0;border-bottom:1px solid #d9d0dd}.library>summary{font-size:18px}
.first-steps{border-top:1px solid var(--line);padding-top:28px;margin-top:35px}.first-steps h2{font-size:22px}.first-steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-left:20px;font-size:14px;line-height:1.65}.first-steps li{padding-left:3px}.first-steps strong{display:block;color:var(--ink)}
#wheel-dialog{width:min(1000px,96vw);max-width:96vw;max-height:96dvh;border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--card);color:var(--ink)}
#wheel-dialog::backdrop{background:#142e2bb3}body:has(#wheel-dialog[open]){overflow:hidden}
.wheel-dialog-bar{display:flex;align-items:start;justify-content:space-between;gap:14px}.wheel-dialog-bar h2{font-size:21px;margin-bottom:5px}.wheel-dialog-bar p{font-size:12px;margin:0}.wheel-dialog-bar button{flex-shrink:0}
.wheel-zoom{display:flex;align-items:center;gap:12px;margin:14px 0 0}.wheel-zoom input{padding:0;flex:1;margin:0;min-height:32px;accent-color:var(--accent)}.wheel-zoom output{min-width:42px;font-size:12px}
#wheel-dialog>.hint{margin:4px 0 10px}#wheel-stage{overflow:auto;max-height:65dvh;overscroll-behavior:contain}#wheel-stage .wheel-wrap{margin:0;display:block;min-height:0}#wheel-stage svg{width:100%;max-width:none}
@media(max-width:1000px) and (min-width:761px){.shell{padding:0 22px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:16px}.birth-editor-body{padding:0 16px 18px}.chart-card{padding:22px 18px 0}.mode-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.big-three{margin:0 -18px}}
@media(max-width:760px){
 .shell,body.embedded .shell{padding:0 12px}header{height:82px}.workspace-nav{gap:6px;justify-content:space-between;padding-top:14px}.workspace-nav button{font-size:12px;padding:10px 12px}.workspace-nav button:first-child{flex:1}.workspace-nav button:nth-child(2){flex:1}.workspace-nav button:last-child{flex:1 0 100%}
 .intro{padding:24px 6px}.intro .eyebrow{font-size:9px;margin-bottom:8px}.intro h1{font-size:34px}.intro-copy{font-size:14px;margin-top:12px;max-width:440px}
 .workspace{grid-template-columns:minmax(0,1fr);gap:14px}.birth-editor-body{padding:0 20px 20px}.library{margin-bottom:14px}.chart-card{padding:20px 14px 0;border-radius:20px}.chart-top h2{font-size:24px}.chart-meta{font-size:12px}
 .mode-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mode-choices button{min-height:62px;padding:10px;font-size:13px}.mode-choices button[aria-pressed=true]{padding:9px}.mode-choices small{font-size:11px}.explore .hint{font-size:12px}
 .chart-settings{padding:0 10px}.chart-settings>summary{font-size:13px}.tabs{gap:10px;justify-content:flex-start}.tabs button{font-size:12px;padding:12px 3px;flex-shrink:0}.wheel-wrap{margin:6px -14px 0}.big-three{margin:0 -14px}.big-three>div{padding:16px 4px}.big-three strong{font-size:15px}
 .first-steps ol{grid-template-columns:1fr;gap:14px}.first-steps{padding:22px 8px 0}.first-steps h2{font-size:20px}#wheel-dialog{padding:12px;border-radius:14px;width:98vw;max-width:98vw}.wheel-dialog-bar h2{font-size:18px}#wheel-close{padding:8px 12px}.wheel-dialog-bar p{font-size:11px}#wheel-stage{max-height:65dvh}
}
#birth-editor[open] .disclosure-action{font-size:12px}#birth-editor[open] .disclosure-action:after{content:none}
#birth-editor .when-open,#birth-editor[open] .when-closed{display:none}#birth-editor[open] .when-open{display:inline}
.explore{border-top:1px solid var(--line);margin-bottom:16px}.explore>summary{padding:14px 0;cursor:pointer;font-size:14px;font-weight:650}.explore>summary small{float:right;font-size:11px;font-weight:400;margin-top:3px}.explore h3{font-size:12px;color:var(--muted)}
#settings-done{background:var(--accent);color:white;border:0;border-radius:99px;padding:11px 18px;min-height:44px;margin:0 0 14px;font-size:13px}

/* Kündig candidates share the workshop's cards and touch targets. */
.kundig-tools{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.kundig-tools>summary{cursor:pointer;min-height:44px;font-weight:600}.kundig-tools>summary span{display:block;font-size:.8rem;font-weight:400;margin:4px 0 0 16px}.kundig-tools>label{max-width:320px}.kundig-results{display:grid;gap:12px;margin-top:16px}.kundig-cut{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}.kundig-cut strong,.kundig-cut small{display:block;overflow-wrap:anywhere}.kundig-cut small{font-size:.8rem;line-height:1.6;margin-top:6px}.kundig-cut .rect-actions{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}.kundig-cut button{min-height:44px}.kundig-nearest{display:inline-block;padding:4px 9px;border-radius:20px;background:#e2e8dc;font-size:.72rem;margin-top:9px}.kundig-method{margin-top:18px}.kundig-method summary{cursor:pointer;min-height:44px}.kundig-method a{font-size:.85rem}.kundig-tools .hint{line-height:1.6}

.cut-bonatti{background:#e8dfee;color:#574464}.cut-both{background:#eee3ca;color:#66512e}

/* A short, optional route through rectification; calculation controls stay available. */
.rect-guide{background:#e9e4ee;border:1px solid #d8cfe0;border-radius:16px;padding:18px;margin:14px 0 16px}.rect-guide>p:first-child{margin-top:0;line-height:1.65}.rect-guide ol{padding-left:22px;margin:14px 0;display:grid;gap:10px;line-height:1.6}.rect-guide li::marker{font-weight:700;color:#574464}.rect-guide li strong{font-weight:700}.rect-guide>button{border-radius:99px;padding:12px 18px;font-weight:600;min-height:46px;background:var(--accent);color:#fff;border:0}.rect-guide .hint{border-top:1px solid #d8cfe0;padding-top:12px;margin-bottom:0}.rect-glossary,.rect-manual{margin:14px 0;border-bottom:1px solid var(--line);padding-bottom:10px}.rect-glossary>summary,.rect-manual>summary,.rect-reading summary{min-height:44px;cursor:pointer;padding:10px 0;line-height:1.5}.rect-manual>summary span{font-size:.8rem;color:var(--muted);margin-left:8px}.rect-glossary dl{font-size:.88rem;line-height:1.65}.rect-glossary dt{font-weight:700;margin-top:12px}.rect-glossary dd{margin-left:0}.rect-reading{padding:16px;border:1px solid var(--line);border-radius:14px;margin:16px 0}.rect-reading h4{margin:0 0 8px;font-size:1rem}.rect-reading p{line-height:1.65}.rect-reading p:last-child{margin-bottom:0}
@media(max-width:760px){.rect-guide{padding:14px}.rect-guide ol{padding-left:20px}.rect-guide>button{width:100%;white-space:normal}.rect-reading{padding:12px}.rect-glossary dd{overflow-wrap:anywhere}}

/* Compare the two fixed solar-key conventions without changing natal data. */
.solar-key-comparison{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);min-width:0;overflow-wrap:anywhere}
.solar-key-comparison h3{font:600 16px/1.4 var(--serif);margin:0 0 8px}
.solar-key-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.solar-key-card{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0}
.solar-key-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.solar-key-card h4{font-size:14px;margin:0 0 14px;color:var(--ink)}
.solar-key-card dl{margin:0 0 14px;font-size:12px;line-height:1.55}
.solar-key-card dt{color:var(--muted);margin-top:8px}.solar-key-card dd{margin:0;font-variant-numeric:tabular-nums}
.solar-key-card button{border:1px solid var(--accent);border-radius:99px;background:var(--sage);color:var(--ink);padding:10px 14px;min-height:44px;width:100%;white-space:normal}
.solar-key-card button:disabled{cursor:default;opacity:1;background:var(--accent);color:#fff}
.solar-key-difference{margin-bottom:0}
.rect-solar-comparison{margin-top:14px}.rect-solar-comparison>summary{min-height:44px;cursor:pointer;line-height:1.5}
.rect-solar-comparison .solar-key-comparison{padding:10px}.rect-solar-comparison .solar-key-cards{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.solar-key-cards{grid-template-columns:minmax(0,1fr)}.solar-key-comparison{padding:12px}.solar-key-card{padding:12px}}
