@font-face{font-family:Bangers;src:url('assets/fonts/Bangers-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Patrick;src:url('assets/fonts/PatrickHand-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Barlow;src:url('assets/fonts/BarlowCondensed-SemiBold.ttf') format('truetype');font-display:swap}
:root{--ink:#081d38;--navy:#102e48;--blue:#46c7fa;--paper:#ffe893;--hand:Patrick,'Trebuchet MS','Arial Rounded MT Bold','Segoe UI',sans-serif;--display:Bangers,Impact,sans-serif;--body:Barlow,'Arial Narrow',sans-serif}
*{box-sizing:border-box}
html{min-width:280px;background:#102e48;color:var(--ink);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body)}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:focus-visible{outline:4px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px #075997}
.home{isolation:isolate;position:relative;max-width:500px;min-height:800px;min-height:max(750px,100svh);margin:0 auto;display:grid;grid-template-rows:62px auto minmax(clamp(330px, calc(120vw - 44px), 552px),1fr) 91px 100px;background:#d2e9ee url('assets/labor.webp') center center/cover no-repeat;overflow:hidden}
.home:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(16,46,72,.97) 0,rgba(25,70,96,.9) 11%,rgba(119,185,214,.2) 28%,transparent 43%,rgba(21,66,86,.08) 77%,rgba(12,39,62,.65) 90%)}
.masthead{display:flex;align-items:center;justify-content:center;padding-top:env(safe-area-inset-top,0px);color:#fff;text-shadow:1px 3px 0 #071e36}
.mission{display:flex;align-items:center;font-family:var(--display);font-size:31px;letter-spacing:.7px;transform:rotate(-2deg)}
.target{position:relative;color:transparent;margin:0 1px;width:19px;height:23px;border:3px solid white;border-radius:50%;background:radial-gradient(ellipse,#ed3c44 0 20%,white 23% 37%,#ed3c44 40% 58%,white 61%);box-shadow:1px 2px 0 #081d38;transform:rotate(16deg)}
.target:after{content:'';position:absolute;width:22px;height:3px;background:#081d38;box-shadow:0 -1px white;transform:rotate(-49deg);transform-origin:left;left:7px;top:9px}
.intro{position:relative;text-align:center;padding:17px 8px 7px;z-index:2}
h1{position:relative;z-index:1;margin:0 0 12px;font-family:var(--display);font-weight:400;line-height:1.07;font-size:clamp(54px,16.8vw,82px);letter-spacing:.2px;color:#ffdc63;-webkit-text-stroke:9px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink),2px 9px 0 #327297;transform:rotate(-4deg)}
.tagline{width:max-content;max-width:100%;margin:0 auto;font-family:var(--hand);font-size:clamp(18px,5.3vw,25px);line-height:1.14;padding:6px 8px 9px;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.94) 15% 85%,rgba(255,255,255,.05));transform:rotate(-2deg);text-shadow:0 1px #fff}
.rays{position:absolute;display:flex;gap:8px;top:1px;left:32px;transform:rotate(-20deg)}
.rays i{height:16px;width:5px;background:#55bee9;border:1px solid #24779f;border-radius:2px;transform:rotate(-30deg)}
.rays i:nth-child(2){height:22px;transform:translateY(-5px)}
.rays i:nth-child(3){transform:rotate(30deg)}
.rays-right{left:auto;right:29px;transform:rotate(23deg)}
.scene{position:relative;min-height:330px;z-index:1;margin-top:3px}
.jule{position:absolute;bottom:-48px;left:-11px;width:70%;height:calc(100% + 58px);object-fit:contain;object-position:left bottom;filter:drop-shadow(2px 3px 0 rgba(8,29,56,.2));pointer-events:none}
.sticky{position:absolute;top:41px;right:8px;width:53%;padding:19px 10px 21px 13px;background:linear-gradient(110deg,#fff0aa 0%,#ffe68a 62%,#ffdf72 100%);transform:rotate(-5deg);box-shadow:2px 5px 3px #152a3c40;z-index:2}
.sticky:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(178deg,#f1cb7633 0 11%,transparent 12% 88%,#fff3bd88 100%);border:1px solid #fff3bb80}
.sticky ul{list-style:none;margin:0;padding:0;font-family:var(--hand);font-size:clamp(18px,5.1vw,25px);line-height:1.12;letter-spacing:-.35px}
.sticky li{position:relative;padding-left:22px;margin-bottom:11px}
.sticky li:last-child{margin-bottom:0}
.sticky li:before{content:'✓';font-family:var(--hand);font-weight:bold;font-size:24px;line-height:16px;position:absolute;left:0;top:2px;width:14px;height:15px;border:1.6px solid var(--ink);border-radius:50%;transform:rotate(-9deg)}
.start-area{position:relative;z-index:3;padding:9px 24px 13px;display:flex;align-items:center}
.start-button{display:block;width:100%;min-height:67px;padding:9px 12px 12px;background:linear-gradient(110deg,#83ddff 0%,#39c4f7 35%,#58cafa 100%);border:3px solid var(--ink);border-radius:22px;box-shadow:inset 0 3px 0 #c6f3ff,inset 0 -5px 0 #2298d7,0 4px 0 #43809d,0 7px 0 #09213d; color:#061d31;font-family:var(--hand);font-size:32px;line-height:1.1;text-shadow:0 1px #b6eaff;transition:filter .12s,transform .12s}
.start-button:hover{filter:brightness(1.06)}
.start-button:active{transform:translateY(3px);box-shadow:inset 0 2px #c6f3ff,inset 0 -3px #2298d7,0 3px #09213d}
.bottom-nav{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(100deg,#173d57f5,#102b43f5);border-top:2px solid #6395ac;box-shadow:0 -5px 0 #102c4530;padding:5px 16px max(9px,env(safe-area-inset-bottom));gap:3px}
.bottom-nav button{border:0;background:transparent;color:#edf3ff;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-height:75px;font-family:var(--hand);font-size:18px;text-shadow:1px 2px #07162f;border-radius:12px}
.bottom-nav button:hover{background:#ffffff10}
.bottom-nav svg{width:33px;height:33px;fill:#cee1f4;stroke:#071b36;stroke-width:1.7px;stroke-linejoin:round;filter:drop-shadow(1px 2px 0 #050f2455)}
.bottom-nav .gear-hole{fill:#153950}
.bottom-nav .question{fill:none;stroke:#102947;stroke-width:3;stroke-linecap:round}
.preview-dialog{width:calc(100% - 36px);max-width:400px;padding:25px 21px 29px;border:3px solid var(--ink);border-radius:19px;color:var(--ink);background:#f4fbff;box-shadow:5px 7px 0 #061d3855}
.preview-dialog::backdrop{background:#06182bc2;backdrop-filter:blur(4px)}
.preview-label{display:inline-block;padding:4px 10px;font-family:var(--hand);font-size:18px;background:var(--paper);transform:rotate(-2deg)}
h2{font:400 34px/1.1 var(--display);margin:24px 0 12px}
.preview-dialog p{font:22px/1.4 var(--body);margin:0 0 26px}
.dialog-close{font-size:25px;min-height:56px}
@media(min-width:501px){.home{min-height:900px;height:100svh;max-height:1100px}.scene{min-height:390px}}
@media(max-width:374px){.home{grid-template-rows:55px auto minmax(clamp(330px, calc(120vw - 44px), 552px),1fr) 84px 91px}.intro{padding-top:15px}.sticky{right:8px;padding:17px 8px 19px 10px;width:54%;top:43px}.sticky li{padding-left:20px;margin-bottom:10px}.start-area{padding-left:20px;padding-right:20px}.start-button{font-size:30px;min-height:63px}.bottom-nav button{font-size:17px}.bottom-nav{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}
/* Visual pass 2: keep the face clear of the note at every mobile width. */
.jule{left:-10%;width:80%;height:auto;bottom:-48px}
.sticky{width:49%;right:9px;top:64px;padding:17px 9px 19px 12px}
.sticky ul{font-size:clamp(18px,4.85vw,23px);letter-spacing:-.35px}
.sticky li{margin-bottom:10px;padding-left:21px}
@media(max-width:374px){.sticky{width:49%;right:9px;top:65px;padding:16px 8px 18px 10px}.sticky li{margin-bottom:9px;padding-left:20px}}
/* Leave room for the rotated paper corners; no clipped edge. */
.target{text-shadow:none}
.sticky{right:18px;width:47%}
@media(max-width:374px){.sticky{right:17px;width:47%}}

/* Einstellungen: Entwicklermodus nur nach gezieltem Öffnen der Einstellungen */
.settings-developer{display:block;font-size:23px;min-height:55px;margin:0 0 14px}
.settings-developer[hidden]{display:none!important}

/* Browserfix: Die Figur ist 80vw breit (Seitenverhaeltnis 2:3). Damit ihr Kopf in der
   Szene bleibt, muss diese mindestens 1.2*Viewportbreite minus 48px (Bottom-Offset) hoch sein.
   Auf kurzen Browser-Viewports darf die Seite laenger als der sichtbare Bereich werden
   und normal vertikal scrollen, statt Texte und Figur zu ueberlagern. */

/* Avoid overflow at unusual Safari toolbar or dynamic type sizes */
.jule{max-height:calc(100% + 48px);object-fit:contain;object-position:left bottom}

/* v1.3R2 – installierte Version im Einstellungsdialog */
.app-version{font:18px/1.2 var(--hand);background:#e6f2fc;border:2px solid #9abed7;color:#113252;border-radius:11px;padding:10px 12px;margin:12px 0;}
.app-version strong{font-weight:700;}

/* v1.4: Testaktionen in den Einstellungen */
.settings-test-actions{display:flex;flex-direction:column;gap:8px;margin:10px 0 16px}
.settings-test-actions[hidden]{display:none}
.settings-option{border:2px solid #699cbf;background:#e7f4ff;border-radius:12px;padding:10px 12px;min-height:43px;color:#113454;font:19px/1.1 var(--hand);text-align:center}
.settings-option:disabled{opacity:.6}
.settings-test-actions small{font:14px/1.2 var(--body);color:#59758c}

/* v1.5R3 – zweizeiliger Titel auf der mobilen Startseite */
.home .intro h1 {
  font-size: clamp(40px, 10.5vw, 56px);
  line-height: .99;
  letter-spacing: .15px;
  -webkit-text-stroke: 6px var(--ink);
  margin-bottom: 15px;
}
.home .intro .tagline {
  font-size: clamp(18px, 5vw, 25px);
}
