:root {
  --tvn-ink: #171717;
  --tvn-cream: #f8f3ea;
  --tvn-paper: #fffdf9;
  --tvn-gold: #c79a2d;
  --tvn-gold-soft: #ead8ad;
  --tvn-muted: #6b655d;
  --tvn-border: #ded2bd;
}

.tvn-glass-header { position: sticky; top: 12px; z-index: 100; width: min(1040px, calc(100% - 24px)); margin: 12px auto 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.75); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: 0 12px 38px rgba(0,0,0,.09); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.tvn-glass-header > div { display: grid; gap: 1px; }
.tvn-glass-brand { font-size: 17px; letter-spacing: .12em; }
.tvn-glass-header small { opacity: .68; }
.tvn-glass-header a { color: inherit; border: 1px solid currentColor; border-radius: 999px; padding: 8px 15px; font-weight: 700; text-decoration: none; }
.tvn-glass-actions { display:flex; align-items:center; gap:8px; }
.tvn-glass-header .tvn-glass-logout { color:#8c2e2e; }
.tvn-bottom-nav { position: sticky; bottom: 10px; z-index: 99; width: min(1040px, calc(100% - 24px)); margin: 24px auto 10px; padding: 10px; border-radius: 20px; background: #171717; box-shadow: 0 18px 45px rgba(0,0,0,.28); }
.tvn-bottom-links { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
.tvn-bottom-nav a { color: #fff; text-decoration: none; padding: 10px 15px; border-radius: 999px; font-size: 14px; font-weight: 700; }
.tvn-bottom-nav a:hover { background: rgba(255,255,255,.12); }

/* The stylesheet is loaded only on the notebook page, so these corrections do not affect existing pages. */
#site-header { padding: 14px 24px; background: #fff; }
#site-header .header-inner { min-height: 70px; justify-content: center; }
#site-header .custom-logo { display: block; width: auto !important; max-width: 180px !important; height: auto !important; max-height: 82px !important; object-fit: contain; }
.site-main > .page-header { display: none; }

.tvn-wrap { width: 100%; max-width: 1040px; margin: 0 auto; padding: 32px 18px 120px; color: var(--tvn-ink); font-family: inherit; overflow-x: clip; }
.tvn-wrap, .tvn-wrap * { box-sizing: border-box; }
.tvn-wrap > *, .tvn-form > *, .tvn-card > * { min-width: 0; max-width: 100%; }
.tvn-hero { background: rgba(240,236,225,.62); color: var(--tvn-ink); padding: clamp(34px, 7vw, 72px); border: 1px solid rgba(199,154,45,.28); border-radius: 28px; box-shadow: 0 24px 70px rgba(74,57,24,.10); text-align: center; }
.tvn-eyebrow { color: #927022; letter-spacing: .08em; font-size: 18px; font-weight: 700; }
.tvn-hero h1 { color: #80611e; font-size: 22px; line-height: 1.35; margin: 12px auto 18px; max-width: 850px; }
.tvn-hero > p:not(.tvn-eyebrow):not(.tvn-progress-label) { max-width: 720px; margin-inline: auto; color: var(--tvn-ink); font-size: 18px; }
.tvn-progress { height: 8px; background: rgba(128,97,30,.14); border-radius: 999px; overflow: hidden; margin-top: 30px; }
.tvn-progress span { display: block; width: 0; height: 100%; background: var(--tvn-gold); transition: width .3s ease; }
.tvn-progress-label { margin: 8px 0 0; color: #80611e; font-size: 14px; }
.tvn-form { display: grid; gap: 24px; margin-top: 28px; }
.tvn-card { position: relative; background: var(--tvn-paper); border: 1px solid var(--tvn-border); border-radius: 24px; padding: clamp(26px, 5vw, 52px); box-shadow: 0 12px 38px rgba(62,49,28,.07); }
.tvn-card::before { content: ''; position: absolute; top: 32px; right: 0; width: 4px; height: 54px; background: var(--tvn-gold); }
.tvn-step { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--tvn-gold); border-radius: 50%; color: #8c6712; font-weight: 800; }
.tvn-card h2 { margin: 18px 0; font-size: 22px; line-height: 1.4; overflow-wrap: anywhere; }
.tvn-card p { font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.tvn-card blockquote { margin: 28px 0 0; padding: 22px; border: 0; background: var(--tvn-cream); border-radius: 16px; font-size: 18px; line-height: 1.65; text-align: center; overflow-wrap: anywhere; }
.tvn-grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.tvn-card label, .tvn-label { display: grid; gap: 9px; color: var(--tvn-ink); font-size: 18px; line-height: 1.55; font-weight: 700; overflow-wrap: anywhere; }
.tvn-card input[type="text"], .tvn-card input[type="date"], .tvn-card textarea { width: 100%; border: 1px solid var(--tvn-border); border-radius: 14px; background: #fff; padding: 14px 16px; color: var(--tvn-ink); font: inherit; font-weight: 400; outline: none; transition: border .2s, box-shadow .2s; }
.tvn-card textarea { min-height: 135px; resize: vertical; line-height: 1.7; }
.tvn-card input:focus, .tvn-card textarea:focus { border-color: var(--tvn-gold); box-shadow: 0 0 0 4px rgba(199,154,45,.14); }
.tvn-question { margin-top: 24px; }
.tvn-signature { margin-top: 24px; }
.tvn-signature canvas { display: block; width: 100%; height: 180px; background: #fff; border: 1px dashed #a88b51; border-radius: 14px; touch-action: none; }
.tvn-signature-actions { display: flex; align-items: center; gap: 14px; margin-top: 10px; color: var(--tvn-muted); font-size: 14px; }
.tvn-secondary, .tvn-primary { border: 0; border-radius: 999px; padding: 12px 22px; font: inherit; font-weight: 800; cursor: pointer; }
.tvn-secondary { background: var(--tvn-cream); color: var(--tvn-ink); }
.tvn-primary { background: var(--tvn-gold); color: #171717; min-width: 180px; }
.tvn-life-wheel { display: grid; gap: 16px; margin-top: 24px; }
.tvn-scale { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--tvn-border); border-radius: 16px; }
.tvn-scale legend { max-width: 100%; padding: 0 8px; font-size: 18px; line-height: 1.45; font-weight: 800; overflow-wrap: anywhere; }
.tvn-scale-options { display: grid; grid-template-columns: repeat(10, 1fr); gap: 7px; direction: ltr; }
.tvn-scale-options label { display: block; }
.tvn-scale-options input { position: absolute; opacity: 0; pointer-events: none; }
.tvn-scale-options span { display: grid; place-items: center; min-height: 34px; border: 1px solid var(--tvn-border); border-radius: 8px; background: #fff; font-size: 13px; cursor: pointer; transition: .2s; }
.tvn-scale-options input:hover + span, .tvn-scale-options input:focus + span { border-color: var(--tvn-gold); }
.tvn-scale-options input:checked + span { background: var(--tvn-ink); border-color: var(--tvn-ink); color: #fff; transform: translateY(-2px); }
.tvn-savebar { position: static; display: flex; justify-content: space-between; align-items: center; gap: 12px; background: rgba(23,23,23,.96); color: #fff; border-radius: 14px; padding: 10px 14px; box-shadow: 0 8px 22px rgba(0,0,0,.16); }
.tvn-savebar div { display: grid; gap: 3px; }
.tvn-savebar strong { font-size: 13px; line-height: 1.3; }
.tvn-savebar small { color: #c9c3ba; font-size: 11px; line-height: 1.3; }
.tvn-savebar .tvn-primary { min-width: 130px; padding: 9px 16px; font-size: 13px; }
.tvn-savebar .has-error { color: #ffb3a9; }
.tvn-form.is-saving .tvn-primary { opacity: .6; pointer-events: none; }
.tvn-login-required { max-width: 680px; margin: 50px auto; padding: 42px; text-align: center; background: var(--tvn-cream); border-radius: 22px; }
.tvn-login-required a { display: inline-block; padding: 12px 28px; border-radius: 999px; background: var(--tvn-ink); color: #fff; }

/* אחידות טיפוגרפית: כותרות 22px, טקסטים ופעולות 18px. */
.tvn-wrap h1, .tvn-wrap h2, .tvn-wrap h3 { font-size: 22px; }
.tvn-wrap p, .tvn-wrap label, .tvn-wrap legend, .tvn-wrap input, .tvn-wrap textarea, .tvn-wrap button, .tvn-wrap a, .tvn-wrap small, .tvn-wrap strong, .tvn-scale-options span { font-size: 18px; }
[aria-label="פתיחת האזור האישי"], [aria-label="התנתקות מהחשבון"] { font-size: 18px !important; }
[aria-label="פתיחת האזור האישי"] *, [aria-label="התנתקות מהחשבון"] * { font-size: inherit !important; }

@media (max-width: 700px) {
	.tvn-glass-header { top: 6px; }
	.tvn-glass-header small { display: none; }
	.tvn-glass-header { flex-wrap:wrap; }
	.tvn-glass-actions { width:100%; justify-content:center; }
	.tvn-bottom-nav { overflow-x: auto; }
	.tvn-bottom-links { width: max-content; min-width: 100%; flex-wrap: nowrap; justify-content: flex-start; }
  .tvn-wrap { width: 100%; max-width: 100%; padding: 18px 10px 80px; overflow-x: hidden; }
  .tvn-hero { padding: 24px 16px; border-radius: 20px; }
  .tvn-card { padding: 22px 16px; border-radius: 20px; }
  .tvn-grid-two { grid-template-columns: 1fr; }
  .tvn-scale { padding: 12px 10px; }
  .tvn-scale-options { width: 100%; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
  .tvn-scale-options span { min-height: 32px; font-size: 12px; }
  .tvn-savebar { align-items: stretch; flex-direction: column; }
  .tvn-primary { width: 100%; }
  .tvn-signature-actions { align-items: flex-start; flex-direction: column; }
}
