/* Both modes use the sensetofeel Brand Kit. Dark colours are mixed only with
   the original Forest Moss, Light Moss, Sea Shell and Lemon Burst values. */
:root{--theme-ink:#342516;--theme-muted:#686655;--theme-line:#4a4c3733;--theme-surface:#f8f3e4;--theme-accent:#4a4c37;--theme-atmosphere:radial-gradient(ellipse at bottom left,#817C50,#4A4C37 65%)}
body{isolation:isolate}
.entry-tools{display:flex;align-items:center;gap:12px}
.theme-toggle{border:1px solid var(--theme-line);border-radius:22px;min-height:44px;padding:10px 16px;background:transparent;color:var(--theme-ink);font:inherit;font-size:13px}
.theme-options{display:flex;gap:4px;padding:4px;margin:14px 0 24px;background:#4a4c370c;border:1px solid var(--theme-line);border-radius:18px}
.theme-options button{flex:1;min-height:44px;border:0;border-radius:13px;background:transparent;color:var(--theme-muted);font:inherit;font-size:14px}
.theme-options button[aria-pressed="true"]{background:var(--theme-surface);color:var(--theme-ink);box-shadow:0 2px 10px #34251612}
.playback .skip-icon{width:26px;height:26px;stroke-width:1.65}
.playback .skip-icon text{fill:currentColor;stroke:none;font:450 8.8px Outfit,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}

html[data-theme="dark"]{--theme-ink:#F8F3E4;--theme-muted:#F8F3E4cc;--theme-line:#f8f3e433;--theme-surface:#4A4C37;--theme-accent:#FFFB54;background:#4A4C37;color:#F8F3E4;color-scheme:dark}
html[data-theme="dark"] body{background:#4A4C37;color:#F8F3E4}
html[data-theme="dark"] .ambient{opacity:1;background:var(--theme-atmosphere)}
html[data-theme="dark"] .ambient:after{background:linear-gradient(180deg,#4a4c3726,transparent 55%,#4a4c371a)}
html[data-theme="dark"] .gradient{opacity:.14}
html[data-theme="dark"] .gradient-sand{background:radial-gradient(ellipse,#EFE4B5,transparent 64%)}
html[data-theme="dark"] .gradient-lemon{background:radial-gradient(ellipse,#FFFB54,transparent 64%);opacity:.05}
html[data-theme="dark"] .gradient-cacao{background:radial-gradient(ellipse,#342516,transparent 66%);opacity:.12}
html[data-theme="dark"] #entry-screen{color:var(--theme-ink);color-scheme:dark}
html[data-theme="dark"] #entry-screen:before{background:#4a4c3714}
html[data-theme="dark"] .entry-header img,html[data-theme="dark"] #home .masthead>img,html[data-theme="dark"] .flow-brand{content:url('assets/logo-lemon.svg');filter:none;opacity:1}
html[data-theme="dark"] .entry-mark{content:url('assets/mark-lemon.svg');opacity:1}
html[data-theme="dark"] .entry-panel em,html[data-theme="dark"] .sheet-body h2 em{color:var(--theme-accent)}
html[data-theme="dark"] .entry-description,html[data-theme="dark"] .entry-panel label,html[data-theme="dark"] .entry-hint,html[data-theme="dark"] .entry-footer{color:var(--theme-muted)}
html[data-theme="dark"] .entry-panel input,html[data-theme="dark"] .sheet-body input:not([type="checkbox"]):not([type="radio"]){background:#f8f3e411;border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme="dark"] .entry-panel input::placeholder,html[data-theme="dark"] .sheet-body input::placeholder{color:#F8F3E4a6}
html[data-theme="dark"] .entry-panel input:focus{outline-color:var(--theme-accent)}
html[data-theme="dark"] .entry-primary,html[data-theme="dark"] .sheet-primary,html[data-theme="dark"] .flow-primary{background:#FFFB54;color:#342516;border-color:#FFFB54}
html[data-theme="dark"] .entry-primary:hover{background:#EFE4B5}
html[data-theme="dark"] .entry-text-button,html[data-theme="dark"] .entry-back{color:var(--theme-ink)}
html[data-theme="dark"] #entry-error,html[data-theme="dark"] .sheet-error{color:#FFFB54!important}
html[data-theme="dark"] .intro,html[data-theme="dark"] .footnote,html[data-theme="dark"] .sense-dial,html[data-theme="dark"] .dial-label{color:var(--theme-ink)}
html[data-theme="dark"] .dial-label.is-current{color:#FFFB54}
html[data-theme="dark"] .dial-light{background:radial-gradient(ellipse,#fffb541c,transparent 70%)}
html[data-theme="dark"] .footnote p{color:var(--theme-muted)!important}
html[data-theme="dark"] #dial-confirm>span,html[data-theme="dark"] #dial-status{color:var(--theme-muted)}
html[data-theme="dark"] .account-trigger,html[data-theme="dark"] .results-trigger,html[data-theme="dark"] .entry-back{color:var(--theme-ink);background:#f8f3e410;border-color:var(--theme-line)}
html[data-theme="dark"] .dial-controls:focus-within{background:#4A4C37}
html[data-theme="dark"] .dial-controls button{background:#f8f3e410;color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme="dark"] #session:not([data-step="video"]){background:var(--theme-atmosphere)}
html[data-theme="dark"] .flow-screen,html[data-theme="dark"] .selection-bond>*,html[data-theme="dark"] .selection-flight{color:var(--theme-ink)}
html[data-theme="dark"] .selection-bond>*:before,html[data-theme="dark"] .selection-flight{background:radial-gradient(ellipse,#fffb541c,#f8f3e408 63%,transparent 82%);box-shadow:none}
html[data-theme="dark"] .selection-bond:has(#bond-place:not([hidden])):after{background:#fffb540d}
html[data-theme="dark"] #bond-intensity:before{background:radial-gradient(ellipse,#fffb5433,#fffb540f 60%,transparent 80%)}
html[data-theme="dark"] .place-options button{background:radial-gradient(ellipse at 40% 40%,#f8f3e41c,#f8f3e409 60%,transparent 82%);color:var(--theme-ink)}
html[data-theme="dark"] .place-options button:nth-child(2){background:radial-gradient(ellipse at 60% 40%,#efe4b526,#efe4b509 60%,transparent 82%)}
html[data-theme="dark"] .place-options button[data-place="unterwegs"]{background:radial-gradient(ellipse,#817c5080,#817c501a 62%,transparent 82%)}
html[data-theme="dark"] #session:not([data-step="video"]) .back,html[data-theme="dark"] #session-home{color:var(--theme-ink);background:#f8f3e410;border-color:var(--theme-line)}
html[data-theme="dark"] .scale-ends,html[data-theme="dark"] .flow-screen .rating-note,html[data-theme="dark"] .flow-screen .rating-phase,html[data-theme="dark"] .flow-screen .last-assessment{color:var(--theme-muted)}
html[data-theme="dark"] #rating-step #rating-submit,html[data-theme="dark"] #complete-step #finish-session,html[data-theme="dark"] .complete-actions button{color:#FFFB54}
html[data-theme="dark"] .rating-control input::-webkit-slider-runnable-track{background:linear-gradient(to right,#FFFB54 var(--level,50%),#f8f3e433 var(--level,50%))}
html[data-theme="dark"] .rating-control input::-webkit-slider-thumb{background:#FFFB54;border-color:#EFE4B5;box-shadow:0 0 20px #fffb5426}
html[data-theme="dark"] .rating-control input::-moz-range-track{background:#f8f3e433}
html[data-theme="dark"] .rating-control input::-moz-range-progress,html[data-theme="dark"] .rating-control input::-moz-range-thumb{background:#FFFB54}
html[data-theme="dark"] #complete-step:before{background:radial-gradient(ellipse,#fffb541c,transparent 68%)}
html[data-theme="dark"] .completion-now{color:#FFFB54}
html[data-theme="dark"] .rating-summary,html[data-theme="dark"] .rating-control output{color:#F8F3E4}
html[data-theme="dark"] .completion-value small,html[data-theme="dark"] .completion-arrow,html[data-theme="dark"] #completion-context{color:var(--theme-muted)}
html[data-theme="dark"] #account-dialog{--ink:#F8F3E4;background:var(--theme-atmosphere);color:var(--theme-ink);color-scheme:dark;border-color:var(--theme-line)}
html[data-theme="dark"] #account-dialog::backdrop{background:#34251699}
html[data-theme="dark"] .sheet-top{background:#4A4C37}
html[data-theme="dark"] .sheet-top img{content:url('assets/mark-lemon.svg');filter:none;opacity:.7}
html[data-theme="dark"] .sheet-close,html[data-theme="dark"] .sheet-secondary{background:#f8f3e410;border-color:var(--theme-line);color:var(--theme-ink)}
html[data-theme="dark"] .sheet-body p,html[data-theme="dark"] .sheet-link,html[data-theme="dark"] .history-values{color:var(--theme-ink)}
html[data-theme="dark"] .plan-option{background:#f8f3e40a;border-color:var(--theme-line)}
html[data-theme="dark"] .plan-option:has(input:checked){background:#fffb5414;border-color:#fffb5480}
html[data-theme="dark"] .plan-option input,html[data-theme="dark"] .check-row input{accent-color:#FFFB54}
html[data-theme="dark"] .sheet-message{background:#f8f3e40a;border-color:var(--theme-line)}
html[data-theme="dark"] .sheet-divider{background:var(--theme-line)}
html[data-theme="dark"] .history-list li,html[data-theme="dark"] .stats-table th,html[data-theme="dark"] .stats-table td{border-color:var(--theme-line)}
html[data-theme="dark"] .result-group{color:var(--theme-ink);background:radial-gradient(ellipse at 30% 50%,#f8f3e410,transparent 95%)}
html[data-theme="dark"] .result-group>span>span,html[data-theme="dark"] .stats-total strong{color:#FFFB54}
html[data-theme="dark"] #account-content .results-caption,html[data-theme="dark"] .history-values>span>small{color:var(--theme-muted)}
html[data-theme="dark"] .chart-guide{stroke:#f8f3e41a}
html[data-theme="dark"] .chart-line{stroke:#FFFB54}
html[data-theme="dark"] .chart-before{fill:#EFE4B5}
html[data-theme="dark"] .chart-after{fill:#FFFB54}
html[data-theme="dark"] .pair-chart text{fill:#F8F3E4}
html[data-theme="dark"] .pair-chart text.chart-label{fill:#F8F3E4cc}
html[data-theme="dark"] #pull-refresh{color:#F8F3E4}
html[data-theme="dark"] #arrival,html[data-theme="dark"] #arrival::backdrop{background:#4A4C37;color:#FFFB54}
html[data-theme="dark"] #arrival{background:var(--theme-atmosphere)}
html[data-theme="dark"] #arrival .arrival-mark path{fill:currentColor}
html[data-theme="dark"] .arrival-halo{background:radial-gradient(ellipse,#fffb540d,transparent 65%)}
html[data-theme="dark"] .theme-options{background:#34251626}
html[data-theme="dark"] .theme-options button[aria-pressed="true"]{background:#f8f3e41a;box-shadow:none}
@media(prefers-reduced-transparency:reduce){html[data-theme="dark"] #account-dialog,html[data-theme="dark"] .sheet-top{background:#4A4C37}html[data-theme="dark"] .place-options button{background:#4A4C37;border:1px solid #f8f3e433}}

/* One safe content frame for standalone iPhones and browser windows. The
   background/video may fill the display; controls stay below the status bar. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--chrome-gap:20px}
#home .masthead{flex:0 0 auto;height:calc(104px + var(--safe-top));min-height:calc(104px + var(--safe-top));padding:calc(20px + var(--safe-top)) 24px 20px;margin:0 auto}
#home .results-trigger,#home .account-trigger{top:calc(var(--safe-top) + 24px)}
.entry-header{flex:0 0 auto;min-height:calc(96px + var(--safe-top));padding-top:calc(16px + var(--safe-top));padding-bottom:16px}
#session .session-header{top:calc(var(--safe-top) + var(--chrome-gap));min-height:44px}
.flow-screen{padding-top:calc(var(--safe-top) + 24px);padding-bottom:calc(var(--safe-bottom) + 28px)}

/* Keep the header out of the scrolling body. Safari must not scroll the
   logo/close control into its status-bar blur when focusing a sheet heading. */
#account-dialog{position:fixed;inset:calc(var(--safe-top) + 12px) 0 calc(var(--safe-bottom) + 12px);margin:auto;width:min(calc(100% - 28px),470px);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px);overflow:hidden;padding:0}
#account-dialog[open]{display:flex;flex-direction:column}
#account-dialog .sheet-top{position:relative;top:auto;flex:0 0 auto;min-height:70px;padding:13px 17px;backdrop-filter:none;-webkit-backdrop-filter:none}
#account-content{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:28px;scroll-padding:16px}
#heading,#account-title{outline:none;-webkit-user-select:none;user-select:none}
#account-dialog:focus{outline:none}
/* Keyboard focus stays visible on actionable controls. */
#account-dialog button:focus-visible,#account-dialog input:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}

/* Prevent the iOS image callout on brand artwork, without disabling text
   selection, editing, keyboard focus or taps on the surrounding controls. */
img[src^="assets/logo-"],img[src^="assets/mark-"],.arrival-mark{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}

/* Four short italic accents in the selection, place, assessment and ending. */
#heading em,#place-question em,#rating-question em,#complete-step h2 em{font-family:Playfair,serif;font-style:italic;font-weight:400;color:var(--theme-accent);letter-spacing:normal}
#rating-question{font-size:24px;line-height:1.4}
#rating-question em{font-size:1.05em}
.free-exercise{align-self:center;margin:0 auto 18px!important;color:#FFFB54!important;border-color:#fffb5466!important;background:#4A4C37!important}

/* Gradients reach zero alpha before their bounds. The shared field connects
   the three lobes while their labels remain independent accessible controls. */
.selection-bond{--bond-glow:#817c5033}
html[data-theme="dark"] .selection-bond{--bond-glow:#fffb5429}
.selection-bond>*:before,html[data-theme="dark"] .selection-bond>*:before{inset:-18px -24px;border-radius:0;background:radial-gradient(ellipse at center,var(--bond-glow) 0%,transparent 68%);box-shadow:none;filter:blur(9px)}
#bond-intensity:before,html[data-theme="dark"] #bond-intensity:before{background:radial-gradient(ellipse at center,var(--bond-glow),transparent 68%)}
.selection-bond:has(#bond-place:not([hidden])):after,html[data-theme="dark"] .selection-bond:has(#bond-place:not([hidden])):after{inset:5% -10%;border-radius:0;background:radial-gradient(ellipse,var(--bond-glow),transparent 68%);filter:blur(18px)}
.place-options button,.place-options button:nth-child(2),.place-options button[data-place="unterwegs"],html[data-theme="dark"] .place-options button,html[data-theme="dark"] .place-options button:nth-child(2),html[data-theme="dark"] .place-options button[data-place="unterwegs"]{background:none;border-radius:0;overflow:visible;isolation:isolate}
.place-options button:before{content:'';display:block;position:absolute;inset:-8%;z-index:-1;pointer-events:none;border-radius:0;background:radial-gradient(ellipse,#817c5030 0%,#817c5014 38%,transparent 68%);filter:blur(8px)}
.place-options button:nth-child(2):before{background:radial-gradient(ellipse,#efe4b580,#efe4b522 38%,transparent 68%)}
.place-options button[data-place="unterwegs"]:before{background:radial-gradient(ellipse,#817c502e,#817c5011 38%,transparent 68%)}
html[data-theme="dark"] .place-options button:before{background:radial-gradient(ellipse,#f8f3e429,#f8f3e40d 38%,transparent 68%)}
html[data-theme="dark"] .place-options button:nth-child(2):before{background:radial-gradient(ellipse,#efe4b52e,#efe4b50d 38%,transparent 68%)}
html[data-theme="dark"] .place-options button[data-place="unterwegs"]:before{background:radial-gradient(ellipse,#817c5066,#817c501a 38%,transparent 68%)}
.place-options button:active{background:none}
@media(max-height:650px){#home .masthead{height:calc(88px + var(--safe-top));min-height:calc(88px + var(--safe-top));padding-top:calc(12px + var(--safe-top));padding-bottom:12px}#home .results-trigger,#home .account-trigger{top:calc(var(--safe-top) + 16px)}}
@media(prefers-reduced-transparency:reduce){.place-options button:before,.selection-bond>*:before,.selection-bond:after{filter:none}}
#heading,#place-question,#rating-question,#complete-step h2{letter-spacing:normal}
.coupon-entry{margin:18px 0 4px;color:inherit;font-size:13px}
.coupon-entry summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}
.coupon-entry summary:before{content:'+';font-size:18px}
.coupon-entry[open] summary:before{content:'−'}
.coupon-entry summary::-webkit-details-marker{display:none}
.coupon-entry input{margin:0 0 8px!important}

/* A single word carries the branded italic accent. Sea Shell remains body ink. */
html[data-theme="dark"] :is(.entry-panel,.sheet-body) :is(h1,h2) em{color:#FFFB54}
.free-access{align-self:center;width:fit-content;margin:22px auto 0;padding:8px 14px;border:1px solid var(--theme-line);border-radius:24px;background:#4a4c370d;color:var(--theme-ink);font:450 13px/1.4 Outfit,sans-serif}
html[data-theme="dark"] .free-access{color:#FFFB54;border-color:#fffb5466;background:#fffb540c}
#place-free{font:450 12px/1.4 Outfit,sans-serif;color:var(--theme-accent);padding:4px 9px;border:1px solid var(--theme-line);border-radius:16px}

/* The app owns one viewport; only task and sheet bodies may scroll.
   The masthead cannot be pushed behind the iPhone status bar. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
body{position:fixed;inset:0;width:100%}
#home{position:fixed;inset:0;height:100dvh;min-height:0;padding-bottom:0}
#home .experience{display:flex;flex-direction:column;flex:1;min-height:0;margin:0 auto;padding:12px 20px calc(12px + var(--safe-bottom));justify-content:flex-start}
#home .intro{flex:0 0 auto}
#home .sense-dial{flex:1 1 0;min-height:0;height:auto;max-height:760px;margin:12px auto 0;scale:1}
#home .footnote{flex:0 0 35px;min-height:35px;margin:0!important}
#session{overflow:hidden;padding-bottom:0}
/* Empty ratings reserve the same space as explicit scores. History loading
   and number changes must not recenter the task or stretch its typography. */
#intensity{touch-action:none}
#intensity[data-chosen="false"]::-webkit-slider-thumb{opacity:0}
#intensity[data-chosen="false"]::-moz-range-thumb{opacity:0}
#intensity[data-chosen="false"]::-moz-range-progress{background:transparent}
#intensity::-webkit-slider-thumb{transition:opacity .25s ease,box-shadow .25s ease}
#intensity::-moz-range-thumb{transition:opacity .25s ease,box-shadow .25s ease}
#intensity[data-dragging="true"]::-webkit-slider-thumb{box-shadow:0 0 24px #fffb5440}
#intensity[data-dragging="true"]::-moz-range-thumb{box-shadow:0 0 24px #fffb5440}
.rating-prompt{display:block;min-height:20px;margin-top:14px;font:400 13px/20px Outfit,sans-serif;color:var(--theme-muted)}
#rating-step[data-chosen="true"] .rating-prompt{visibility:hidden}
#bond-intensity[data-chosen="false"]{visibility:hidden}
.flow-screen .last-assessment,.flow-screen .rating-note{height:20px;min-height:20px;line-height:20px;margin:16px 0 0;white-space:nowrap}
#rating-step[data-chosen="false"] :is(.last-assessment,.rating-note){visibility:hidden}
@media(prefers-reduced-motion:reduce){#intensity::-webkit-slider-thumb,#intensity::-moz-range-thumb{transition:none}}
