/* Detail 2: one continuous mobile world, with media and copy in separate flow areas. */
.mobile-scene,.mobile-detail-scene{display:none}
@media(max-width:800px){
 html{scroll-behavior:auto;scroll-padding:24px}
 body{padding-bottom:env(safe-area-inset-bottom,0px)}
 .header{position:relative;padding:18px 22px 12px;gap:14px;flex-wrap:wrap}
 .wordmark{font-size:26px;min-height:44px}.header-right{gap:0}.edition{display:none}
 .quiet{font-size:16px;min-height:44px;padding:10px 0}
 .variant-switch{position:relative;top:auto;right:auto;justify-content:flex-end;flex-wrap:wrap;padding:0 22px;gap:8px;font-size:16px}
 .variant-switch>span{display:none}.variant-switch button{font-size:16px;min-height:44px;padding:10px 15px}
 body[data-view=home] .variant-switch{margin:12px 0 0}
 #home{height:auto;min-height:0;overflow:visible;padding-bottom:36px}
 .intro{position:relative;inset:auto;padding:30px 22px 0;pointer-events:auto}
 .intro h1{font-size:clamp(43px,9vw,64px);letter-spacing:-2px}
 .intro p{font-size:16px;line-height:1.55;margin-top:18px;max-width:560px}
 #landscape{z-index:-1}.night-water{opacity:.5;background:url('./assets/nacht.webp') left bottom/auto 160% no-repeat}
 .mist{display:none}
 .world-path{display:flex;flex-direction:column;align-items:flex-start;position:relative;inset:auto;max-width:none;width:100%;padding:0 22px;transform:none!important;opacity:1!important;margin:0}
 .world-path .mobile-scene{order:0}.path-note{order:1}.path-description{order:2}.path-button{order:3}.path-meta{order:4}
 .world-path .mobile-scene{display:block;position:relative;margin:0 -22px;width:calc(100% + 44px);height:300px;overflow:hidden;isolation:isolate}
 .path-kai .mobile-scene{height:350px;margin-top:12px}
 .path-plan{margin-top:30px}.path-person{margin-top:24px}
 .path-plan .mobile-scene{height:260px}.path-person .mobile-scene{height:290px}
 .mobile-world .mobile-scene :is(#kai-visual,#stone-visual,#ink-visual){position:absolute;inset:0;width:100%;height:100%;opacity:1;filter:none;transform:none;transition:none}
 .mobile-scene #kai-visual{mask-image:linear-gradient(0deg,transparent,#000 18%,#000 88%,transparent);mask-composite:add}
 .mobile-scene #kai-visual img,.mobile-scene #kai-visual video{object-fit:cover;object-position:50% 50%}
 .mobile-world .mobile-scene #stone-visual{left:-35%;width:140%;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 86%,transparent);mask-composite:add}
 .mobile-scene #stone-frame{object-fit:cover}
 .mobile-scene #stone-visual::after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 66% 85%,transparent 0 20px,#87b5ff66 21px,transparent 23px 35px);mask-image:linear-gradient(transparent 58%,#000 78%,transparent);animation:plan-water 4s linear infinite;pointer-events:none}
 .mobile-scene:not(.scene-awake) #stone-visual::after{animation-play-state:paused}
 .mobile-scene #ink-visual{mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 36%,transparent 73%)}
 .path-note{font-family:Familjen,Arial,sans-serif;color:var(--ink);font-size:28px;line-height:1.15;margin:0 0 12px;letter-spacing:-.6px}
 .path-description{display:block;font-size:16px;line-height:1.6;max-width:560px;margin:0 0 16px}
 .path-button,.path-person .path-button{font-size:23px;min-height:48px;max-width:none!important;line-height:1.3;padding:8px 0}
 .path-meta,.path-plan .path-meta{font-size:16px;line-height:1.5;max-width:none;margin-top:12px}
 .home-footer{position:relative;inset:auto;padding:32px 22px 0;display:block;font-size:16px;line-height:1.6}
 .home-footer>p{display:block;max-width:540px}.interaction-hint{display:none}
 #kai-touch,.mobile-detail-scene #kai-touch{position:absolute;inset:0;width:100%;height:100%;border-radius:0;touch-action:pan-y;z-index:3}
 #ink-touch{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;z-index:3;font-size:0}
 body[data-view=home] .mobile-scene #blueprint{position:absolute;left:22px;right:22px;top:28px;width:auto;height:220px;margin:0!important;transform:none}
 body[data-view=home] .mobile-scene #blueprint .blueprint-toolbar{height:44px;padding:12px}
 body[data-view=home] .mobile-scene #blueprint .blueprint-toolbar span{font-size:16px}
 body[data-view=home] .mobile-scene #blueprint .blueprint-page{top:44px;padding:18px}
 body[data-view=home] .mobile-scene #blueprint .bp-brand{font-size:16px;max-width:100%}
 body[data-view=home] .mobile-scene #blueprint h3{font-size:28px;max-width:90%;margin-top:18px}
 body[data-view=home] .mobile-scene #blueprint :is(.bp-photo,.bp-nav,.bp-cta,.bp-sections,.bp-offer){display:none}
 body[data-view=home] .mobile-scene .blueprint-lines{stroke-dasharray:80 400;animation:plan-trace 6s linear infinite}
 body.mobile-world[data-variant=B] .mobile-scene #stone-visual{opacity:0}
 #detail{padding:28px 22px 70px;min-height:0}#detail-content{width:100%;max-width:none;background:none!important}
 .back{font-size:16px;min-height:44px;margin-bottom:24px}
 #detail-title{font-size:42px;line-height:1.1;letter-spacing:-1.5px}
 #detail-content :is(p,small,label,legend,summary,button,input,textarea,select,li,.step-line,.field-kind,.field-help,.save-actions,.optional,.conversation>span,.service-explainer){font-size:16px}
 #detail-content :is(p,li,.field-help,.field-kind){line-height:1.6}
 #detail-content .answer-review h3{font-size:20px}
 #detail-content :is(button,summary,select,input:not([type=checkbox]):not([type=radio])){min-height:44px}
 #detail-content summary{padding:9px 0}
 .intent-options label{width:100%}.intent-options span{min-height:48px;padding:12px 16px}
 .form-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .field-options{min-width:0}.field-options>div{width:100%}
 .field-options label{min-height:48px;font-size:16px}.field-options input{flex-shrink:0}
 .field-options legend{line-height:1.5}
 .check{padding:10px 0;min-height:44px}.check input{margin-top:3px}
 .service-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:18px 0}
 .service-choice .service-label{font-size:26px;grid-column:1}.service-choice small{grid-row:2;margin:0;grid-column:1}.service-choice .selection{grid-column:2;grid-row:1/3}
 .process-row{grid-template-columns:minmax(0,1fr)}.process-row>span{font-size:16px}
 .actions{align-items:stretch;gap:14px}.actions button{max-width:100%;white-space:normal;line-height:1.4}
 #next-chapter{width:100%}.save-actions{flex-wrap:wrap;font-size:16px}
 .mood-options{gap:20px 14px}.mood-options label{min-width:0;min-height:44px}.mood-options img{height:115px}
 .price-breakdown p{flex-wrap:wrap;gap:8px}.order-builder>div{gap:8px}
 .order-builder button{min-width:44px}.upload-actions{width:100%}.upload-actions input{font-size:16px;min-height:44px}
 .upload-actions input::file-selector-button{min-height:44px}
 body[data-view=plan] #landscape .visual,body[data-view=person] #landscape .visual{display:none}
 body[data-view=kai] .mobile-detail-scene{display:block;position:relative;width:calc(100% + 44px);margin:-10px -22px 20px;height:300px}
 body[data-view=kai] .mobile-detail-scene #kai-visual{inset:0;width:100%;height:100%;opacity:1;mask-image:linear-gradient(0deg,transparent,#000 20%,#000 86%,transparent)}
 .mobile-detail-scene #kai-visual img,.mobile-detail-scene #kai-visual video{object-position:50% 50%}
 body[data-view=plan] #blueprint{position:relative;inset:auto;width:calc(100% - 44px);height:auto;min-height:380px;margin:0 22px 100px!important;transform:none;opacity:1}
 body[data-view=plan] .blueprint-toolbar{position:relative;min-height:44px;height:auto;padding:12px}
 body[data-view=plan] .blueprint-toolbar span{font-size:16px}
 body[data-view=plan] .blueprint-page{position:relative;inset:auto;padding:22px;min-height:340px;overflow:visible}
 body[data-view=plan] .blueprint-page :is(.bp-brand,.bp-offer,.bp-cta,.bp-nav,.bp-sections>div,#service-preview,#service-preview small,#service-preview strong){font-size:16px}
 body[data-view=plan] .bp-brand{max-width:100%}body[data-view=plan] .bp-nav{display:none}
 body[data-view=plan] .blueprint-page h3{max-width:100%;font-size:28px;display:block;margin-top:20px}
 body[data-view=plan] .bp-offer{width:100%;display:block}
 body[data-view=plan] .bp-photo{position:relative;inset:auto;width:100%;height:150px;margin:20px 0}
 body[data-view=plan] .bp-sections{position:relative;inset:auto;margin-top:20px;gap:16px}
 body[data-view=plan] #service-preview{width:100%!important}
 #kai-chat{right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));transform:translateY(var(--orb-lift,0px));transition:none}
 #chat-launcher{font-size:16px;gap:3px;min-width:48px;min-height:64px}.chat-orb{width:48px;height:48px}
 #kai-chat.orb-avoiding{visibility:hidden;pointer-events:none}
 #chat-panel{width:min(390px,calc(100vw - 32px));bottom:82px;max-height:calc(100dvh - 120px);border-radius:16px}
 #chat-panel :is(p,button,a,label){font-size:16px}#chat-panel button{min-height:44px}
 #chat-panel header{padding:14px}#chat-close{width:44px;height:44px}
 #chat-messages{max-height:32dvh;padding:14px}#chat-form{padding:12px 14px}
 .chat-suggestions{padding:8px 14px}.chat-suggestions button{min-height:44px}
 #notice{font-size:16px;bottom:100px;width:calc(100% - 44px)}
}
@keyframes plan-water{from{transform:translateY(0) scale(1)}to{transform:translateY(12px) scale(1.07)}}
@keyframes plan-trace{to{stroke-dashoffset:-480}}
@media(prefers-reduced-motion:reduce){.mobile-scene #stone-visual::after{animation:none}}
