/* Approved mobile composition — night blue/gold and amethyst/linen. */
body{max-width:500px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:100px;background:#101a2b;color:var(--ink)}html{background:#101623}body:before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:590px;background:linear-gradient(180deg,transparent 60%,var(--bg)),url('night-landscape.png') center 36%/cover no-repeat;pointer-events:none}body[data-route=journal]:before,body[data-route=wissen]:before,body[data-route=symbole]:before,body[data-route=quellen]:before{display:none}body{background-color:var(--bg)}main{margin:0;padding:0 24px;width:100%;max-width:none}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.6px}p{line-height:1.55}.app-header{height:56px;min-height:56px;margin:0;border:0;padding:10px 0;display:flex;justify-content:space-between}.app-header>a{font:34px Georgia;min-width:44px}.app-header .button{padding:8px;min-height:40px;width:40px;border:0;background:transparent;color:var(--muted)}.app-header svg{width:23px;height:23px}body[data-route=start] .app-header>a{visibility:hidden}.welcome{min-height:248px;padding:15px 8px 0}.welcome h1{font-size:43px;margin:0 0 9px;line-height:1.16}.welcome p{font-family:Georgia,serif;font-size:16px;margin:0;max-width:85%;color:var(--ink)}.arrival{padding:26px 20px 20px;border:1px solid #b2c3ec24;border-radius:19px;background:linear-gradient(125deg,#35425bd9,#202c43f2);box-shadow:0 10px 26px #070e1a28}.arrival-heading{display:flex;gap:19px;align-items:center;margin-bottom:23px}.botanical{font-size:64px;color:var(--gold);width:66px;flex-shrink:0;text-align:center}.arrival h2{font-size:33px;margin:0 0 11px}.arrival p{font-family:Georgia,serif;font-size:17px;margin:0}.gold-line{display:block;width:30px;height:1px;background:var(--gold);margin-top:18px}.primary-action,.secondary-action{display:flex;align-items:center;justify-content:center;gap:15px;width:100%;min-height:54px;border-radius:15px;padding:14px 16px;font-family:Georgia,serif;font-size:17px;text-decoration:none}.primary-action{background:linear-gradient(110deg,#e6c995,#d4ad6c);color:#192238;border:1px solid #ead2a5}.primary-action>span{margin-left:auto;font-size:24px;line-height:1}.secondary-action{margin-top:13px;border:1px solid #b8c0d66b;color:var(--ink);background:#18203933}.secondary-action svg{width:23px;height:26px}.letter-card{margin-top:20px;display:flex;align-items:center;gap:18px;padding:22px 19px;border-radius:17px;border:1px solid #b2c3ec20;background:linear-gradient(125deg,#2c3850,#1c283e)}.letter-card>svg{width:64px;height:48px;color:#d9bb80;filter:drop-shadow(0 3px 5px #0008)}.letter-card>span:first-of-type{flex:1}.letter-card strong{font:23px Georgia;display:block;font-weight:400}.letter-card small{font:15px Georgia;color:var(--gold);display:block;margin-top:7px}.letter-card>span:last-child{font-size:25px;color:var(--gold)}.home-secondary{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:24px 0;font-size:12px;color:var(--muted)}.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,500px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:13px 10px calc(13px + env(safe-area-inset-bottom));gap:0;background:#1d293eee;border-top:1px solid #b2c3ec24;backdrop-filter:blur(16px)}.bottom-nav a{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;min-height:50px;padding:0;font:11px Georgia;white-space:nowrap;color:#d0d2dc;border:0;border-radius:0}.bottom-nav svg{width:25px;height:25px}.bottom-nav a.active{background:none;color:#e2c28a;border:0;position:relative}.bottom-nav a.active:after{content:'';position:absolute;bottom:-9px;width:28px;height:2px;background:currentColor;border-radius:4px}.page-top{margin:18px 0 23px}.page-top h1{font-size:38px}.page-top .eyebrow{font-size:10px;letter-spacing:1.3px}.page-top p{font-size:14px}.journal-layout{display:flex;flex-direction:column;gap:24px}.journal-form{padding:20px;border:1px solid var(--line);border-radius:18px}.journal-form>.night-theme{display:none}.journal-form>h2,.journal-form>p:not(.eyebrow){display:none}.journal-form>.eyebrow{font-size:11px;margin:16px 0!important}.journal-form label{font-size:13px}.journal-form textarea{border:0;border-radius:10px;background:var(--bg);font-family:Georgia,serif;font-size:18px;line-height:1.65;min-height:145px}.journal-form #observation{min-height:210px}.journal-form>label[for=observation]{margin-top:12px}#quick-symbols{padding:20px 0;border-top:1px solid var(--line);margin-top:20px}#quick-symbols h3{font-size:24px;margin:0 0 10px}#quick-symbols p{font-size:12px}#symbol-chips .button{padding:10px 15px;font-family:Georgia,serif;min-height:44px;font-size:15px}.cards{grid-template-columns:1fr}.nights{grid-template-columns:1fr 1fr}.card{border-radius:17px}.card h3{font-size:26px}.letter-page{text-align:center}.letter-page h1{font-size:36px;margin:24px 0 34px}.large-envelope{position:relative;height:180px;display:flex;align-items:center;justify-content:center}.large-envelope svg{width:245px;height:170px;color:var(--gold);stroke-width:.65;filter:drop-shadow(0 8px 10px #000b)}.large-envelope>span{position:absolute;top:45px;font:39px Georgia;color:var(--gold)}.letter-page h2{font-size:31px;margin:25px 0 14px}.letter-page>p{font:17px/1.5 Georgia;padding:0 15px}.letter-details{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:10px 18px;text-align:left;margin:28px 0 20px}.letter-details p{display:flex;justify-content:space-between;gap:15px;padding:12px 0;margin:0;font:15px/1.5 Georgia}.letter-details p+p{border-top:1px solid var(--line)}.letter-details strong{font-weight:400;text-align:right}.letter-page .note{text-align:left;padding:18px;font-size:13px}.year-layout{display:block}.year-wheel{max-width:100%;min-width:0}.wheel-fest{width:77px}.wheel-center strong{font-size:17px}
[data-appearance=light] body:before{background:radial-gradient(ellipse at 80% 10%,#d6bfdc88,transparent 65%),linear-gradient(#f3eff7,#f3eff7)}[data-appearance=light] .arrival,[data-appearance=light] .letter-card{background:#fff;color:#30243d;border-color:#e3dbe9;box-shadow:0 8px 25px #65507809}[data-appearance=light] .primary-action{background:#655078;color:white;border-color:#655078}[data-appearance=light] .secondary-action{background:transparent;border-color:#c2b6ce}[data-appearance=light] .bottom-nav{background:#faf7fcee;border-color:#e3dbe9}[data-appearance=light] .bottom-nav a{color:#7c7188}[data-appearance=light] .bottom-nav a.active{color:#3d2853}[data-appearance=light] .letter-card>svg{color:#a88660;filter:none}[data-appearance=light] .large-envelope svg{filter:none}[data-appearance=light] body[data-route=journal]{background:linear-gradient(135deg,#f3eff7,#faf7fb)}
@media(min-width:600px){body{box-shadow:0 0 80px #0006;border-left:1px solid #45516b40;border-right:1px solid #45516b40}}@media(max-width:360px){main{padding:0 17px}.welcome h1{font-size:37px}.arrival{padding:21px 15px}.arrival-heading{gap:10px}.botanical{width:43px;font-size:45px}.arrival h2{font-size:29px}.letter-card strong{font-size:21px}.letter-card{gap:10px}.bottom-nav a{font-size:10px}}
body{isolation:isolate}body[data-route=start]:before{z-index:-1}.journal-form .dream-panel h3{font-size:25px}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.diary-selectors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.diary-selectors label{margin:0;font-size:12px;color:var(--muted)}.diary-selectors select{display:block;width:100%;margin-top:7px;padding:11px 7px;font-size:14px}.entry-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.entry-tabs:empty{display:none}.journal-form input:not([type=checkbox]){width:100%;box-sizing:border-box}#interpretation,.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}#interpretation:not(:empty){margin:18px 0;padding:18px;background:var(--bg);border-radius:14px;font:16px/1.65 Georgia}.backup-details{margin:25px 0;border-top:1px solid var(--line);padding:20px 0;font-size:13px}.backup-details summary{cursor:pointer;color:var(--gold)}.journal-form .speech-panel{margin:18px 0;padding:0;border:0}.speech-panel>h3{font-size:21px}.speech-panel>p,.speech-panel>label{font-size:12px}.letter-page .card{text-align:left;margin-bottom:15px}.letter-page textarea{text-align:left}.primary-action:disabled{opacity:.5}.journal-form #quick-symbols p{display:block}.journal-form .dream-panel{border-top:1px solid var(--line);padding-top:20px}.journal-form>.toolbar{margin-top:20px}.journal-form #v2-status{display:block!important;color:var(--gold);font-size:13px}
/* Step 1: diary composition from the approved reference. */
.entry-meta{margin:12px 0 20px;color:var(--muted);font-size:13px}.entry-meta summary{cursor:pointer;padding:10px 0}.entry-meta[open]{padding-bottom:12px;border-bottom:1px solid var(--line)}.journal-form{padding:20px 22px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 28px #00000008}.journal-form .dream-text-label{font-size:12px;color:var(--muted);margin:10px 0}.journal-form #observation{background:transparent;padding:5px 0 18px;border:0;border-radius:0;min-height:160px;font:20px/1.6 Georgia,serif}.journal-form #quick-symbols{margin-top:0;padding-top:22px}.journal-form #quick-symbols h3{font:24px Georgia,serif}.journal-form #quick-symbols>p{font-size:12px;margin-bottom:16px}.journal-form #symbol-add{font-size:14px}.journal-form #interpret{display:block;width:100%;border-radius:13px;font-family:Georgia,serif;margin-top:22px;padding:14px}.journal-form>.dream-hint{display:block!important;font-size:11px;text-align:center;color:var(--muted)}.recording-tools{margin-top:22px;padding-top:12px;border-top:1px solid var(--line)}.recording-tools>summary{cursor:pointer;padding:12px 0;color:var(--gold);font-family:Georgia,serif;font-size:17px}.page-top h1{margin:10px 0 14px}.page-top .eyebrow{font-size:9px;letter-spacing:1px}.entry-tabs button{font-size:12px;min-height:40px}.diary-selectors{margin-top:14px}.journal-form #meaning{font-size:17px;min-height:90px}body[data-route=journal] .page-top{position:relative}body[data-route=journal] .page-top:after{content:'☾';position:absolute;right:3px;top:12px;font:48px Georgia;color:var(--gold);opacity:.55;pointer-events:none}body[data-route=journal] .page-top h1{padding-right:45px}

.speech-panel #speech-status{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:14px;line-height:1.5}.speech-panel .toolbar{align-items:stretch}.speech-panel button{min-height:44px;white-space:normal}#observation[readonly]{opacity:.85}

.day-reflection h2{margin-top:32px;font-size:26px}.day-reflection select,.day-reflection input{width:100%;box-sizing:border-box;min-height:48px;padding:12px;font:inherit}.day-reflection textarea{min-height:110px;font:17px/1.6 system-ui,sans-serif}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.day-add{display:flex;gap:10px;align-items:center}.day-add>input,.day-add>select{flex:1;min-width:0}.day-add>button{flex-shrink:0}.day-help{font-size:14px;color:var(--muted);line-height:1.5}.day-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.day-chips li{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:3px 4px 3px 12px;overflow-wrap:anywhere}.day-chips button{min-width:44px;min-height:44px;padding:4px}.day-history>div{display:flex;flex-wrap:wrap;gap:8px}#day-status{display:block!important;line-height:1.6;color:var(--gold)}.day-reflection input:focus-visible,.day-reflection select:focus-visible,.day-reflection textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:600px){.day-grid{grid-template-columns:1fr}.day-add{flex-direction:column;align-items:stretch}.day-add>button{width:100%}}

/* Readable recording controls in both appearances. */
.journal-form .speech-panel,.journal-form .dream-panel{background:var(--panel);color:var(--ink)}
.journal-form .speech-panel>p,.journal-form .speech-panel>label,.recording-tools .dream-hint,.speech-browser-options p{font-size:16px;line-height:1.65;color:var(--ink)}
.recording-tools h3{font-size:25px}.recording-tools .button{font-size:16px;line-height:1.4;min-height:48px}.recording-tools .button:disabled{opacity:1;background:var(--bg);color:var(--muted);border:1px dashed var(--line);cursor:not-allowed}
.speech-browser-options{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.speech-browser-options summary{font-size:16px;line-height:1.5;color:var(--ink);padding:10px 0;cursor:pointer}.speech-panel #speech-status,.speech-device-help{font-size:16px;line-height:1.65;background:var(--bg);color:var(--ink);padding:14px;border:1px solid var(--line);border-radius:10px}.speech-device-help[hidden]{display:none}.speech-panel #speech-preview:empty{display:none}

.journal-form input::placeholder,.journal-form textarea::placeholder{color:var(--muted);opacity:1}.speech-device-help{margin:12px 0}

body[data-route=vorhaben]:before{display:none}#plan-status{display:block;color:var(--ink);line-height:1.6}

/* Light appearance follows the approved three-screen composition. */
[data-appearance=light]{--bg:#f3eef4;--panel:#fcfafc;--ink:#302938;--muted:#685e70;--green:#69537c;--gold:#92764d;--line:#ded4e3}
[data-appearance=light] body{background:linear-gradient(155deg,#f8f4f0 0%,#f1eaf4 60%,#f7f2f6 100%)}
[data-appearance=light] body:before{height:330px;background:linear-gradient(180deg,#f5f0ef 0%,#f3eef400 45%,#f3eef4 100%),url('night-landscape.png') center 47%/cover no-repeat;opacity:.17;filter:grayscale(1)}
[data-appearance=light] .welcome{position:relative;min-height:202px;padding:14px 5px 36px}
[data-appearance=light] .welcome h1{font-size:39px;letter-spacing:-.8px;margin-bottom:10px}
[data-appearance=light] .welcome p{font-size:16px;max-width:76%}
[data-appearance=light] .welcome:after{content:'☼';position:absolute;right:8px;top:9px;color:#ac8d5c;font:46px Georgia}
[data-appearance=light] .arrival{background:linear-gradient(135deg,#fcf9fcf5,#eae1eff5);border:1px solid #ddd1e4;border-radius:16px;padding:22px 18px 18px;box-shadow:0 8px 22px #4933530a}
[data-appearance=light] .arrival-heading{gap:14px;margin-bottom:18px;min-height:100px}
[data-appearance=light] .botanical{height:116px;width:61px;flex-basis:61px;font-size:0;background:url('botanical-linen.svg') center/contain no-repeat}
[data-appearance=light] .arrival h2{font-size:30px;margin-bottom:9px}
[data-appearance=light] .arrival p{font-size:16px;line-height:1.45}
[data-appearance=light] .gold-line{background:#bba077;margin-top:13px}
[data-appearance=light] .primary-action{background:linear-gradient(110deg,#705b82,#604b72);border-color:#756284;min-height:48px;padding:11px 15px;border-radius:11px;font-size:16px}
[data-appearance=light] .secondary-action{min-height:47px;border-radius:11px;padding:10px 12px;margin-top:11px;font-size:16px;border-color:#c8bbd1;background:#fcfafc66}
[data-appearance=light] .letter-card{background:linear-gradient(110deg,#eee6f2,#faf6fa);border:1px solid #ded2e6;border-radius:13px;padding:17px 15px;margin-top:15px;gap:13px}
[data-appearance=light] .letter-card strong{font-size:22px}
[data-appearance=light] .letter-card small{font-size:14px;color:#806945}
[data-appearance=light] .letter-card>svg{width:54px;height:41px;padding:6px;background:#e4d9ec;border:1px solid #baa9c8;border-radius:3px;color:#92764d;box-shadow:0 3px 8px #57426315}
[data-appearance=light] .page-top{position:relative;padding-right:48px;min-height:122px;margin:14px 0 22px}
[data-appearance=light] .page-top:after{content:'';position:absolute;right:-5px;top:6px;width:58px;height:122px;background:url('botanical-linen.svg') center/contain no-repeat;pointer-events:none}
[data-appearance=light] .page-top h1{font-size:36px}
[data-appearance=light] .page-top p{font-family:Georgia,serif;font-size:16px;line-height:1.55;color:var(--muted)}
[data-appearance=light] .journal-form{background:#fcfafc;border:1px solid #e5dce8;border-radius:14px;box-shadow:0 7px 20px #49335305}
[data-appearance=light] .journal-form input,[data-appearance=light] .journal-form textarea,[data-appearance=light] .journal-form select{background:#f1ebf4;border:1px solid #e4dae9;border-radius:10px;color:var(--ink);font-size:16px}
[data-appearance=light] .journal-form textarea{font-family:Georgia,serif;line-height:1.6;padding:15px}
[data-appearance=light] .journal-form label{font-size:15px;line-height:1.5}
[data-appearance=light] .day-reflection{padding:19px 17px}
[data-appearance=light] body[data-route=vorhaben] .page-top{padding-right:54px}
[data-appearance=light] body[data-route=vorhaben] .page-top+.toolbar{gap:9px;margin-bottom:18px}
[data-appearance=light] body[data-route=vorhaben] .page-top+.toolbar .button{font-size:14px;min-height:40px;padding:8px 12px}
[data-appearance=light] .bottom-nav{background:#faf6f9f5;border-color:#dfd3e5;box-shadow:0 -3px 15px #51335b04}
[data-appearance=light] .bottom-nav a{color:#706277}
[data-appearance=light] .bottom-nav a.active{color:#604675}
[data-appearance=light] .home-secondary{font-size:13px;line-height:1.55;padding:20px 0}

/* Sperrnächte share the journal's light and dark appearances. */
body[data-route=sperrnaechte]:before,body[data-route=sperrnacht]:before{display:none}
.phase-nav{display:flex;gap:6px;margin:8px 0 20px;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:13px}
.phase-nav a{flex:1;text-align:center;padding:12px 6px;border-radius:9px;font-size:15px;color:var(--muted);text-decoration:none}
.phase-nav a.active{background:var(--green);color:var(--button-text)}
.sperr-invitation{display:flex;flex-direction:column;gap:7px;padding:22px 18px;margin:18px 0 28px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--ink);text-decoration:none}
.sperr-invitation strong{font:25px Georgia,serif}.sperr-invitation span{font-size:14px;line-height:1.5}.sperr-invitation span:first-child{color:var(--gold)}
#sperr-year{display:block;max-width:170px;padding:12px;margin:9px 0 20px;font-size:17px}
.sperr-intro{font-size:16px;line-height:1.6;color:var(--ink)}
.sperr-nights{margin-top:20px}.sperr-nights .night h2{font-size:24px;margin:10px 0}
.sperr-count{display:block;margin-top:13px;color:var(--muted);font-size:14px;line-height:1.5}
.sperr-back{display:inline-block;padding:12px 0;color:var(--ink)}
.sperr-form{padding:20px 18px}.sperr-form label{display:block;margin:18px 0 8px;font-size:16px;line-height:1.5}
.sperr-form input,.sperr-form textarea{width:100%;font-size:16px}.sperr-form textarea{min-height:130px}
.sperr-form #sperr-text{min-height:190px}#sperr-status{display:block!important;font-size:15px;line-height:1.6;color:var(--ink)}
#sperr-entries{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}#sperr-entries:empty{display:none}
#sperr-entries [aria-current=true]{border-color:var(--gold)}
[data-appearance=light] .sperr-invitation{background:linear-gradient(125deg,#fcf9fc,#eee5f3)}
@media(max-width:380px){.sperr-nights{grid-template-columns:1fr}.phase-nav a{font-size:14px}}

.db-context{font-size:14px;line-height:1.6;color:var(--muted);border-left:2px solid var(--gold);padding:4px 0 4px 13px;margin:18px 0}
#db-search{display:block;width:100%;min-height:48px;padding:12px;margin:8px 0 16px;font-size:16px}
.db-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.db-filters label{font-size:14px;line-height:1.5}
.db-filters select{display:block;padding:10px;margin-top:6px;font-size:16px}.db-check{display:flex;gap:9px;align-items:center}.db-check input{width:20px;height:20px;flex-shrink:0}
#db-count{font-size:14px;line-height:1.6}.db-results{display:grid;gap:10px}.db-result{display:flex;align-items:center;gap:14px;padding:17px 15px;background:var(--panel);border:1px solid var(--line);border-radius:13px;text-decoration:none;color:var(--ink)}.db-result>span:first-child{flex:1;min-width:0}.db-result strong{display:block;font:23px Georgia,serif;margin-bottom:7px;overflow-wrap:anywhere}.db-result small{display:block;color:var(--muted);font-size:14px;line-height:1.5}
#db-pages{margin:20px 0}.db-article h1{font-size:36px;margin:14px 0;overflow-wrap:anywhere}.db-prose{white-space:pre-wrap;font:18px/1.75 Georgia,serif;overflow-wrap:anywhere;background:var(--panel);padding:20px 17px;border:1px solid var(--line);border-radius:13px}.db-changes{padding-left:22px;font-size:15px;line-height:1.65;overflow-wrap:anywhere}.db-source{font-size:14px;line-height:1.6;padding:15px 0}.db-journal-link{display:block!important;font-size:15px;line-height:1.6}.db-journal-link a{color:var(--ink);text-decoration:underline}
#article .db-article h1{font-size:30px}#article .db-prose{padding:14px;font-size:17px}

.sperr-nights .number{display:none}.sperr-night-label{font-size:13px;color:var(--gold);letter-spacing:.6px}.sperr-nights .night h2{font-size:26px;margin:10px 0 16px}.sperr-month{font-size:15px;line-height:1.6;margin:0 0 13px}.sperr-month strong{display:block;font:22px Georgia,serif;color:var(--ink)}

/* Shared interaction states: preserve the botanical day/night palette. */
:root{--interaction-focus:#ead19b}
:root[data-appearance="light"]{--interaction-focus:#684b87}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--interaction-focus);outline-offset:4px}
.bottom-nav a[aria-current="page"] span{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.journal-form p[role="status"],.journal-form p[role="alert"]{display:block!important;line-height:1.6}
#plan-import-status:empty{display:none}
.day-history .button{margin:0 8px 8px 0}
button:disabled{cursor:not-allowed}
@media(max-width:480px){input,select,textarea{font-size:16px}.day-add{flex-wrap:wrap}.day-add input,.day-add select{min-width:0;flex:1 1 180px}.toolbar{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Readable hints in every search and journal field, including dark mode. */
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
