.beta-banner{background:#fde588;color:#29243d;text-align:center;padding:8px 16px;font-size:.8rem;font-weight:750;letter-spacing:.02em}.beta-nav{display:flex;gap:7px;flex-wrap:wrap;max-width:1120px;margin:18px auto 0;padding:0 20px}.beta-nav[hidden]{display:none}.beta-nav a{padding:10px 14px;border:1px solid #626e8b;border-radius:12px;background:#202c44;color:#f5f0e8;text-decoration:none;font-weight:650}.beta-nav a:hover{background:#49324c;border-color:#ff95c6}.beta-section{max-width:1120px;margin:auto}.beta-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.beta-heading h1{font-size:clamp(1.8rem,5vw,3rem);margin:.2em 0}.space-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:18px;border:1px solid #4c5973;background:#1c273c;border-radius:16px;margin-bottom:24px}.space-tools>label{min-width:180px;flex:1}.people-options{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}.people-options label{display:flex;gap:8px;align-items:center;padding:10px 14px;background:#26344b;border-radius:10px}.people-options input{width:auto}.beta-dialog{max-width:650px;width:calc(100% - 24px);max-height:90dvh;overflow:auto}.beta-dialog label{display:block;margin:10px 0}.beta-dialog .people-options label{display:flex}.beta-dialog input[type=checkbox]{width:auto}.calendar-week{margin:28px 0}.calendar-week h2{font-size:1.35rem}.week-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.day-card{background:#1b253b;border:1px solid #48546d;border-radius:16px;padding:18px;min-width:0;margin-bottom:8px}.day-card h3{margin:0 0 16px}.day-card.today{border-color:#ff95c6;box-shadow:0 0 0 1px #ff95c6}.day-card.past{opacity:.7}.meal-slot{padding:10px 0;border-top:1px solid #3c485e}.meal-slot>strong{color:#e5d08a;font-size:.85rem}.planned-meal{margin:10px 0;padding:10px;background:#25324a;border-radius:10px}.planned-meal p{margin:0 0 8px}.planned-meal small{display:block;margin-top:6px}.planned-meal .btn{font-size:.75rem;padding:6px 10px;min-height:36px;margin-right:4px}.empty{padding:36px 22px;text-align:center;border:1px dashed #61708b;border-radius:18px}.week-controls{margin-bottom:16px}.flipchart-scene{max-width:760px;margin:26px auto 10px}.flipchart-art{width:100%;aspect-ratio:2.3;background:url('branding/beta-shopping-lab.webp') center center/cover no-repeat;border-radius:22px 22px 0 0}.flipchart{position:relative;background:#fff9e9;color:#292536;padding:36px 30px 30px;border:12px solid #566078;border-radius:12px;box-shadow:0 20px 50px #05091560;margin-top:-12px}.flipchart h2{color:#312139;font-size:clamp(1.65rem,5vw,2.5rem);line-height:1.08;margin:10px 0 22px}.flipchart h3{color:#312139}.chart-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800;color:#963663}.chart-clips{position:absolute;top:-18px;left:14%;right:14%;height:22px;border-left:22px solid #b6c1cc;border-right:22px solid #b6c1cc}.shopping-row{padding:18px 0;border-bottom:1px solid #cfc4a4;display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center}.shopping-row strong{color:#492441}.shopping-row small{display:block;font-size:.8rem;margin-top:6px}.shopping-row.completed>div{text-decoration:line-through;opacity:.65}.shopping-row select{background:#fffdf5;color:#292536;border-color:#9e9274;font-size:.84rem}.shopping-row details{grid-column:1/-1;font-size:.8rem}.flipchart a{color:#7a2453}.shopping-change{color:#a33a1e;font-weight:700}.flipchart input:not([type=checkbox]){background:white;color:#292536;border-color:#aca082}.flipchart label{color:#292536}.chart-hint{font-size:.85rem;color:#655b4c}.shopping-extra{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #cfc4a4}.shopping-extra label{display:flex;align-items:center;gap:10px}.shopping-extra input{width:20px;height:20px;accent-color:#8f305d}.shopping-extra .btn{font-size:.75rem;padding:6px 10px;min-height:36px}.chart-stand{height:45px;width:70%;margin:auto;border-left:12px solid #566078;border-right:12px solid #566078;transform:perspective(80px) rotateX(8deg)}.family-post{background:#1c263d;border:1px solid #4a5770;border-radius:20px;margin:24px 0;padding:24px}.family-post header small{display:block;color:#aeb9cf;font-size:.8rem;margin-top:5px}.post-text,.comment p{white-space:pre-wrap;overflow-wrap:anywhere}.post-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.post-gallery figure{margin:0;min-width:0}.post-gallery img{width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:12px;background:#111827}.post-gallery figcaption{font-size:.8rem;padding:8px 0}.post-gallery figcaption small{display:block;color:#aeb9cf}.photo-placeholder{padding:40px 12px;background:#26344b;border-radius:12px;overflow-wrap:anywhere}.post-actions{margin:18px 0}.comment{border-top:1px solid #3c4960;padding:12px 0}.comment p{margin:6px 0}.comment-form{display:flex;align-items:end;gap:10px}.comment-form label{flex:1}.timeline{max-width:850px}.beta-recipe-tools{margin:16px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:800px){.week-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.week-days{grid-template-columns:1fr}.beta-nav{padding:0 12px;gap:6px}.beta-nav a{font-size:.78rem;padding:9px 10px}.beta-heading{align-items:start;flex-direction:column;gap:12px}.family-post{padding:16px}.post-gallery{grid-template-columns:1fr}.flipchart{padding:26px 15px 20px;border-width:7px}.shopping-row{grid-template-columns:minmax(0,1fr) 112px;gap:8px}.shopping-row select{padding:10px 5px}.comment-form{display:block}.comment-form button{margin-top:8px}.space-tools{padding:12px}.beta-section .actions{gap:8px}}
.space-tools{display:block}.space-tools h2{font-size:1.1rem;margin:0 0 6px}.space-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px;margin:16px 0}.space-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;white-space:normal;padding:16px;background:#202c44;border:1px solid #68758e;border-radius:14px;color:#f5f0e8;cursor:pointer}.space-card strong{font-size:1rem}.space-card span,.space-card small{font-size:.82rem;color:#c7d2e5}.space-card[aria-pressed=true]{border:2px solid #ff95c6;background:#3b2b45}.space-card:focus-visible{outline:3px solid #fde588;outline-offset:3px}.meal-area{color:#f7d187;font-weight:700;margin:8px 0}.activity-badge,.unread-label{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:20px;background:#ff95c6;color:#27172b;font-size:.78rem;font-weight:800}.family-news{display:block;max-width:1080px;margin:14px auto 0;padding:13px 18px;border:1px solid #ff95c6;border-radius:12px;background:#35243b;color:#ffe3ef;text-decoration:none;font-weight:700}.family-news[hidden]{display:none}@media(max-width:1140px){.family-news{margin-left:20px;margin-right:20px}}

/* Timeline: distinguish authors and separate the original post from its replies. */
/* The supplied illustration frames live, growing paper; no text is baked into it.
   CSS shows the two sides of the original artwork without altering the bitmap. */
.flipchart-scene{position:relative;max-width:1040px;padding:24px 19% 0;margin:26px auto 10px;isolation:isolate}
.flipchart-figures{position:absolute;inset:0 0 auto;height:clamp(300px,44vw,470px);z-index:-1;overflow:hidden;border-radius:24px;background:#101b30}
.flipchart-figures>span{position:absolute;top:0;bottom:0;width:27%;background-image:url('branding/pinky-brain-einkaufsplan-v1.webp');background-size:auto 100%;background-repeat:no-repeat}
.flipchart-brain{left:0;background-position:left center}
.flipchart-pinky{right:0;background-position:right center}
.flipchart{margin:0;min-height:450px;border:9px solid #5a4c43;border-top:20px solid #d2bfa5;border-bottom:18px solid #c9b396;border-radius:12px;background:linear-gradient(100deg,#f5e3c9,#fff6e6 45%,#f4e1c8);padding:28px 22px;box-shadow:0 12px 28px #04081070,inset 0 0 22px #b99d7540}
.chart-clips{top:-24px;left:-11px;right:-11px;height:27px;border-left:16px solid #34302f;border-right:16px solid #34302f;border-radius:7px;pointer-events:none}
.flipchart h2{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.15;overflow-wrap:anywhere}
.flipchart .shopping-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}
.flipchart .shopping-row>div,.shopping-extra span{min-width:0;overflow-wrap:anywhere}
.flipchart .shopping-row select{justify-self:start;width:auto;min-width:125px;min-height:44px;background:#fffaf0}
.flipchart .shopping-row details{grid-column:1;font-size:.83rem}
.flipchart .shopping-row summary{cursor:pointer;padding:5px 0}
.flipchart .shopping-extra{flex-wrap:wrap}.flipchart .shopping-extra label{flex:1;min-width:130px}.flipchart .shopping-extra input{flex:none}
.flipchart #extra-form .btn{white-space:normal;max-width:100%}
.chart-stand{height:35px;width:75%;border-color:#47403b;box-sizing:border-box}
@media(max-width:650px){
 .flipchart-scene{padding:0;max-width:520px;margin-top:24px;border:7px solid #5a4c43;border-top:18px solid #d2bfa5;border-bottom:15px solid #c9b396;border-radius:10px;background:linear-gradient(100deg,#f5e3c9,#fff6e6 45%,#f4e1c8);box-shadow:0 12px 28px #04081070,inset 0 0 22px #b99d7540}
 .flipchart-figures{position:relative;height:220px;inset:auto;z-index:0;border-radius:0;background:#17213a;mask-image:linear-gradient(#000 65%,transparent 100%)}
 .flipchart-figures>span{width:50%;background-size:580px auto}
 .flipchart-brain{background-position:left 38%}
 .flipchart-pinky{background-position:right 38%}
 .flipchart{margin-top:-18px;min-height:0;padding:0 17px 24px;border:0;border-radius:0;background:transparent;box-shadow:none;position:static}
 .chart-clips{top:-22px;left:-9px;right:-9px;height:25px;border-width:13px}
 .flipchart-scene .chart-stand{position:absolute;top:calc(100% + 15px);left:12.5%;height:24px}
 .flipchart-scene{margin-bottom:40px}
 .flipchart h2{font-size:clamp(1.25rem,6vw,1.85rem)}.flipchart .shopping-row{grid-template-columns:minmax(0,1fr)}
}
/* Compact planning and shopping: seven days stay visible without empty slots. */
.week-days{grid-template-columns:1fr;gap:8px}.day-card{padding:0;margin:0}.day-summary{padding:14px 16px;cursor:pointer;display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start;list-style:none}.day-summary::-webkit-details-marker{display:none}.day-summary>strong:after{content:' +';color:#ffaad2}.day-card[open] .day-summary>strong:after{content:' −'}.day-preview{display:block;font-size:.88rem;line-height:1.45;margin:0 0 5px}.day-preview b{color:#e5d08a;margin-right:8px}.day-preview small{display:block;color:#b8c8e1}.empty-day{font-size:.83rem;color:#b8c8e1}.day-meals{padding:0 16px 12px}.day-meals .meal-slot>.btn{float:right}.day-meals .meal-slot:after{content:'';display:block;clear:both}
.flipchart-scene{padding:20px 13% 0}.flipchart-figures>span{width:22%}.flipchart .shopping-row{padding:10px 0;gap:3px}.shopping-check{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400;margin:0;cursor:pointer}.shopping-check input{flex:none;width:22px;height:22px;accent-color:#8f305d}.shopping-check span{min-width:0;overflow-wrap:anywhere}.shopping-row.completed .shopping-check>span{text-decoration:line-through;opacity:.65}.shopping-row details{padding-left:34px}.shopping-row details label{font-size:.85rem}.shopping-row details select{display:block;margin:6px 0 12px}.shopping-row [data-state]:empty{display:none}.shopping-row [data-state]{font-size:.72rem}
@media(max-width:650px){.space-tools{padding:10px;margin-bottom:14px}.space-tools>.hint,.space-tools>div>.hint{font-size:.77rem;margin:4px 0}.space-cards{margin:10px 0;gap:7px}.space-card{padding:10px;gap:3px}.space-card strong{font-size:.85rem}.space-card span,.space-card small{font-size:.72rem}.space-tools .actions .btn{min-height:38px;padding:8px 12px;font-size:.78rem}.week-controls{display:grid;grid-template-columns:1fr 1fr 1fr}.week-controls .btn{white-space:normal;padding:8px;font-size:.75rem}.calendar-week{margin:14px 0}.calendar-week h2{font-size:1.05rem}.day-summary{grid-template-columns:96px 1fr;padding:12px 10px;gap:8px}.day-summary>strong{font-size:.85rem}.day-preview,.empty-day{font-size:.78rem}.flipchart-scene{padding:0;max-width:100%;border-left-width:4px;border-right-width:4px}.flipchart-figures{height:160px}.flipchart-figures>span{width:50%;background-size:560px auto}.flipchart-brain{background-position:8% 38%}.flipchart-pinky{background-position:92% 20%}.flipchart{padding:0 12px 18px;margin-top:-5px}.flipchart h2{font-size:clamp(1.2rem,5.5vw,1.6rem);margin:8px 0 12px}.chart-eyebrow{font-size:.64rem;margin:0}.flipchart>p:not(.chart-eyebrow){font-size:.85rem;margin:10px 0}.flipchart .shopping-row{padding:8px 0}.shopping-row details summary{font-size:.75rem;padding:3px 0}.shopping-check{gap:9px;font-size:.92rem}}
/* Fullscreen stays inside the app; controls respect iPhone safe areas. */
.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}.photo-open img{display:block}.photo-open:focus-visible{outline:3px solid #fde588;outline-offset:3px}.photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#080d18;color:#fff;overflow:hidden;box-sizing:border-box}.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#080d18}.photo-viewer header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(10px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:#141f33}.photo-viewer .btn{min-height:44px;font-size:.85rem;padding:10px 14px}.photo-stage{flex:1;min-height:0;overflow:auto;position:relative;display:flex;align-items:center;touch-action:pan-x pan-y;overscroll-behavior:contain}.photo-stage img{display:block;width:100%;height:100%;object-fit:contain;flex:none}.photo-stage img.zoomed{height:auto;max-width:none;align-self:flex-start}.photo-stage img:not([src]){display:none}.photo-stage [data-loading]{position:absolute;inset:auto 15px 12px;text-align:center;background:#101929dd;border-radius:12px;padding:8px}.photo-stage [data-loading]:empty{display:none}.photo-viewer footer{flex:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#141f33;text-align:center}.photo-navigation{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.photo-viewer [data-status]{font-size:.76rem;margin:6px 0 0;max-width:600px;margin-inline:auto}.photo-viewer [data-status]:empty{display:none}
.tone-pink{--person-accent:#ffaad2;--person-surface:#3e2943}
.tone-mint{--person-accent:#8fe1c9;--person-surface:#193c3d}
.tone-lavender{--person-accent:#c5b7ff;--person-surface:#302d4d}
.tone-gold{--person-accent:#f5d58d;--person-surface:#3c3528}
.tone-blue{--person-accent:#9acfff;--person-surface:#23384c}
.tone-peach{--person-accent:#ffc1a4;--person-surface:#44312e}
.timeline{max-width:780px}
.family-post{padding:0;border-color:#53617c;box-shadow:0 10px 28px #04091630;margin:24px 0 32px}
.post-header{display:flex;align-items:flex-start;gap:12px;padding:22px 24px 0}
.person-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--person-surface);border:2px solid var(--person-accent);color:var(--person-accent);font-size:.95rem;font-weight:850;line-height:1;user-select:none}
.post-byline{flex:1;min-width:0;overflow-wrap:anywhere}
.family-post .person-name{color:var(--person-accent);font-size:.96rem;font-weight:800}
.self-label{font-size:.7rem;display:inline-block;margin-left:8px;color:#c4cde0;font-weight:500}
.family-post header small{line-height:1.5;margin-top:4px;font-size:.75rem}
.post-text{margin:20px 24px 24px;font-size:1.06rem;line-height:1.65;color:#f5f3fa}
.family-post .post-gallery{padding:18px 24px 24px}
.family-post .post-menu{position:relative;flex:none;margin:0}
.post-menu>summary,.comment-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:9px;color:#c9d3e7;font-weight:800;letter-spacing:2px}
.post-menu>summary::-webkit-details-marker,.comment-menu>summary::-webkit-details-marker{display:none}
.post-menu>summary:hover,.comment-menu>summary:hover{background:#35425c;color:white}
.post-menu>summary:focus-visible,.comment-menu>summary:focus-visible{outline:2px solid #fde588;outline-offset:2px}
.post-menu .post-actions{position:absolute;right:0;top:42px;z-index:2;display:grid;gap:6px;width:230px;padding:10px;margin:0;background:#25314a;border:1px solid #68758f;border-radius:12px;box-shadow:0 8px 24px #0007}
.post-actions .btn{font-size:.8rem;min-height:42px;padding:9px 12px;text-align:left;justify-content:flex-start;white-space:normal}
.post-conversation{margin-top:20px;padding:18px 24px 22px;background:#111b2d;border-top:1px solid #46536b;border-radius:0 0 20px 20px}
.conversation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:18px}
.conversation-heading h2{font-size:.82rem;font-weight:700;color:#cdd6e7;margin:0}
.conversation-heading>span{font-size:.7rem;color:#aab9ce}
.comments{display:flex;flex-direction:column;gap:14px}
.family-post .comment{display:flex;gap:10px;align-items:flex-start;border:0;padding:0;margin:0}
.comment .person-avatar,.comment-form .person-avatar{flex-basis:32px;width:32px;height:32px;font-size:.75rem}
.comment-content{min-width:0;max-width:calc(100% - 42px);flex:1}
.comment-bubble{background:var(--person-surface);border-left:3px solid var(--person-accent);border-radius:3px 15px 15px 15px;padding:12px 15px;width:fit-content;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.comment-bubble p{color:#f5f3fa;font-size:.95rem;line-height:1.6;margin:5px 0 0}
.comment-meta{display:flex;align-items:center;gap:12px;padding:3px 5px 0;min-height:30px;color:#b5c2d6;font-size:.7rem}
.comment-menu{position:relative;margin:0}
.comment-menu>summary{min-height:32px;font-size:.75rem}
.comment-remove{position:absolute;left:0;top:32px;z-index:2;border:1px solid #77839c;background:#28354e;color:#ffd4de;border-radius:8px;padding:10px 15px;min-height:42px;cursor:pointer}
.family-post .comment-form{display:flex;align-items:flex-start;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #35445c}
.comments:empty+.comment-form{margin-top:0;padding-top:0;border-top:0}
.reply-content{min-width:0;flex:1}
.comment-form textarea{background:#1e2c43;border:1px solid #62738f;border-radius:14px;padding:12px 14px;min-height:76px;height:auto;resize:vertical;font-size:.95rem;line-height:1.5;margin:0;width:100%;box-sizing:border-box}
.comment-form textarea::placeholder{color:#b7c5d9}
.reply-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
.reply-actions small{font-size:.69rem;color:#aab9ce}
.comment-form .btn{font-size:.82rem;min-height:42px;padding:8px 18px;margin:0}
.reply-status{font-size:.8rem;margin:8px 0 0;color:#f5d58d}
@media(max-width:550px){
 .post-header{padding:16px 14px 0;gap:10px}.post-header>.person-avatar{flex-basis:36px;width:36px;height:36px}
 .post-text{margin:18px 14px;font-size:1rem}.family-post .post-gallery{padding:10px 14px 18px}
 .post-conversation{padding:16px 12px 18px}.family-post .comment{gap:8px}.comment-content{max-width:calc(100% - 40px)}
 .comment-bubble{padding:10px 11px}.comment-bubble p{font-size:.9rem}.family-post .person-name{font-size:.87rem}
 .conversation-heading>span{font-size:.65rem}.reply-actions small{max-width:100px}.family-post .comment-form{gap:8px}
 .post-menu .post-actions{width:210px}.comment-remove{left:auto;right:0}
}

.shopping-areas {line-height:1.5;overflow-wrap:anywhere;}
.shopping-extra small {display:block;font-size:.8rem;}
.export-dialog {width:min(760px,94vw);max-height:90dvh;overflow:auto;}
.export-option {display:flex;align-items:center;gap:10px;}
.export-option input {width:22px;height:22px;}
.export-preview {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin:16px 0;}
.export-preview img {display:block;width:100%;height:auto;border-radius:8px;}
.export-downloads {display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}

/* Pantry input and food chips: compact, wrapping touch targets. */
.pantry-input-row { display:flex; gap:8px; align-items:stretch; }
.pantry-input-row input { flex:1; min-width:0; width:100%; }
.pantry-chips { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 16px; }
.pantry-chip { min-height:44px; padding:8px 13px; font-size:.95rem; max-width:100%; overflow-wrap:anywhere; }
.pantry-chip[aria-pressed="true"] { background:#f393c3; border-color:#f393c3; color:#25182a; }
.pantry-selection-heading { display:flex; gap:8px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-top:18px; }
.pantry-more { margin:0 0 18px; }
.pantry-more summary { cursor:pointer; padding:10px 0; }
#pantry-message:empty, #pantry-suggestions:empty { display:none; }
.pantry-result { margin-top:14px; overflow-wrap:anywhere; }
.pantry-found { color:#b4e1ce; }
.pantry-section input:focus-visible, .pantry-chip:focus-visible { outline:3px solid #f7d77d; outline-offset:3px; }
@media(max-width:420px) { .pantry-input-row { flex-wrap:wrap; } .pantry-input-row input { flex-basis:100%; } .pantry-input-row .btn { margin-left:auto; } }
.pantry-result { padding:18px; } .pantry-result h2 { margin:0 0 12px; font-size:1.3rem; }
