/* Crew-inspired surface contrast. Original Colour + Paper typography and controls. */
.phone.reference-design{--paper:var(--balu-paper);--surface:var(--balu-surface);background:var(--balu-paper)}
.phone .conversation-screen,.phone .home-dashboard,.phone .chat-content,.phone .composer-wrap{background:var(--balu-paper)}
.phone .header-atmosphere{opacity:.32}
.phone .chat-content{padding:18px 16px 12px}
.phone .conversation-header{flex-shrink:0}
.phone .conversation-shortcuts{display:flex;justify-content:space-between;gap:8px;padding:4px 16px 10px;flex-shrink:0}
.phone .shortcut{display:flex;align-items:center;gap:6px;background:rgba(255,253,248,.7);border:0;border-radius:20px;color:var(--balu-primary);font:500 12px var(--balu-font-ui,Lexend);min-height:38px;padding:8px 12px}
.phone .shortcut .icon{width:15px;height:15px}
.phone .reply-card{border:0;background:var(--balu-surface);box-shadow:0 3px 10px #40332106}
.phone .user-message{margin-bottom:5px;max-width:86%;gap:0;align-self:flex-end}
.phone .user-message .bubble{background:var(--balu-surface);color:var(--balu-ink);border:0;border-radius:22px 22px 4px 22px;padding:12px 16px;box-shadow:0 3px 12px #44342507;transition:border-radius .2s ease}
.phone .user-message.group-end .bubble{border-radius:22px 8px 22px 22px}
.phone .user-message.group-end{margin-bottom:17px}
.message-time{font-size:11px;color:var(--balu-muted);display:block;text-align:right;padding:5px 3px 0}
.details-title{display:block;font-size:15px;color:var(--balu-primary);margin-bottom:16px;font-weight:500}
.details-list{margin:0;display:grid;gap:15px;text-align:left}
.details-list>div{min-width:0}.details-list dt{font-size:12px;line-height:1.5;color:var(--balu-muted);margin-bottom:4px}.details-list dd{font-size:15px;line-height:1.5;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.phone .question-deck{background:var(--balu-surface);border-radius:24px;padding:12px 18px 18px;width:100%;min-width:0;box-shadow:0 6px 22px #463c3010}
.phone .assistant-message:has(.question-deck){width:100%;max-width:100%}
.question-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--balu-muted)}
.question-top .round{width:40px;height:40px;min-height:40px;background:transparent;border:0;font-size:24px}
.question-deck h3{font:500 16px/1.5 var(--balu-font-ui,Lexend);margin:14px 0}
.question-deck button{font-family:inherit}.question-option{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #e8e5dc;border-radius:0;color:var(--balu-ink);min-height:46px;font-size:14px;padding:10px 0}
.option-indicator{flex:0 0 18px;width:18px;height:18px;border:1px solid var(--balu-control-border);border-radius:50%;display:grid;place-items:center;font-size:12px}
.question-option[aria-pressed=true] .option-indicator{background:var(--balu-primary);border-color:var(--balu-primary);color:white}
.question-free-label{display:block;font-size:12px;color:var(--balu-muted);margin:16px 0 8px}.question-free{font-size:14px!important;min-height:44px!important;padding:10px 12px!important;background:#f5f1e9!important}
.question-bottom{display:flex;align-items:center;gap:10px;margin-top:14px}.question-bottom small{font-size:11px;line-height:1.5;color:var(--balu-muted);flex:1}.question-bottom .round{flex:0 0 44px;width:44px;height:44px;border-radius:50%;padding:0;min-height:44px}.question-deck>.primary{width:100%;margin-top:20px;font-size:14px;min-height:46px}
.phone.reference-design .sheet:not(.login-sheet){background:var(--balu-paper)}.phone .runtime-card,.phone .saved-output,.phone .thread-excerpt{background:var(--balu-surface);border:0}
.active-stack{position:relative;margin:16px 4px 28px;padding-top:10px}.active-stack:before,.active-stack:after{content:'';position:absolute;top:0;left:14px;right:14px;height:36px;background:#fffdf8a8;border-radius:24px;z-index:0}.active-stack:after{top:5px;left:7px;right:7px;background:#fffdf8cf}
.thread-tile{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;width:100%;min-height:88px;padding:18px 20px;border:0;border-radius:24px;background:var(--balu-surface);text-align:left;color:var(--balu-ink);font-family:inherit;box-shadow:0 5px 20px #453b2a08;margin-bottom:12px}.thread-tile strong{font-size:16px;font-weight:500;line-height:1.4}.thread-tile small{font-size:12px;line-height:1.5;color:var(--balu-muted)}
.update-badge{align-self:flex-start;background:var(--balu-primary);color:var(--balu-on-primary);padding:4px 8px;border-radius:7px;font-size:11px;font-weight:500}.thread-state{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--balu-muted)}
.stack-all{position:relative;z-index:2;display:block;margin:-22px auto 0;border-radius:24px;border:1px solid #ece8df;background:var(--balu-surface);padding:10px 20px;font-family:inherit;font-size:12px;color:var(--balu-primary);min-height:42px;box-shadow:0 4px 10px #463c3009}
.journeys-sheet{max-height:92dvh;overflow:auto}.journeys-sheet .sheet-head h2{font-size:20px}.section-label{font-size:13px;color:var(--balu-muted);margin:22px 0 12px}.thread-excerpt{padding:14px;border-radius:18px;margin:12px 0}.thread-excerpt.from-user{margin-left:24px;background:#f8f5ec}.thread-excerpt p{font-size:14px;line-height:1.5;margin:6px 0;white-space:pre-wrap}.thread-excerpt small{font-size:11px}.thread-excerpt .text-button{font-size:12px;min-height:40px}.journeys-sheet>.primary{width:100%;font-size:14px}
.home-content{padding:4px 16px 24px;flex:1;min-height:0;overflow:auto}.home-dashboard{display:flex;flex-direction:column;height:100%}.resume-conversation{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--balu-surface);border:0;border-radius:20px;padding:16px;color:var(--balu-primary);font:500 14px var(--balu-font-ui,Lexend);margin:8px 0 20px;min-height:50px}
.discovery-heading{display:flex;align-items:baseline;justify-content:space-between;margin:14px 2px}.discovery-heading h2{font-size:16px;font-weight:500;margin:0}.discovery-heading>span{font-size:10px;color:var(--balu-muted)}
.discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.discovery-tile{border:1px solid #ffffff99;border-radius:23px;overflow:hidden;background:var(--balu-surface);min-width:0;text-align:left;padding:0 0 15px;font-family:inherit;color:var(--balu-ink);box-shadow:0 5px 18px #4739270a}
.discovery-tile strong,.discovery-tile>span{display:block;padding:0 13px}.discovery-tile strong{font-size:16px;line-height:1.35;font-weight:500}.discovery-tile>span{font-size:11px;color:var(--balu-muted);margin-top:8px;display:flex;align-items:center;gap:5px}.discovery-tile>span .icon{width:13px;height:13px}.discovery-art{height:144px;background:linear-gradient(155deg,#ebd6a9,var(--balu-surface));display:grid;place-items:center;overflow:hidden}.discovery-art img{width:100%;height:100%;object-fit:contain;transform:none!important;position:static!important}.discovery-creator .discovery-art{height:116px;background:linear-gradient(155deg,#efd1c5,var(--balu-surface))}.discovery-household .discovery-art{height:118px;background:linear-gradient(155deg,#dce5cc,var(--balu-surface))}.discovery-more{margin-top:-27px}.discovery-more .discovery-art{height:146px;background:linear-gradient(145deg,#d7e4e9,#eee2d2,var(--balu-surface));grid-template-columns:repeat(3,1fr);padding:20px}.more-art .icon{width:35px;height:35px;color:var(--balu-primary)}.more-art .icon:nth-child(2){transform:translateY(-25px);color:#856029}.more-art .icon:nth-child(3){transform:translateY(10px)}
.capabilities-sheet{max-height:92dvh;overflow:auto}.capabilities-sheet>p{font-size:14px;color:var(--balu-muted);margin:0 0 24px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capability-tile{border:0;background:var(--balu-surface);border-radius:22px;overflow:hidden;text-align:center;padding:0 0 15px;color:var(--balu-ink);font-family:inherit;min-width:0;box-shadow:0 5px 14px #43332108}.capability-symbol{height:110px;display:grid;place-items:center;background:linear-gradient(160deg,var(--tile-tone,#e3ead9),var(--balu-surface));margin-bottom:8px}.capability-symbol>.icon{width:54px;height:54px;stroke-width:1.3}.capability-symbol>img{width:95%;height:105px;object-fit:contain}.capability-tile strong{display:block;padding:0 8px;font-size:14px;font-weight:500;line-height:1.4}.capability-tile small{display:block;font-size:10px;color:var(--balu-muted);margin-top:7px}.tone-blue{--tile-tone:#d9e7ec}.tone-peach{--tile-tone:#efd7cc}.tone-lilac{--tile-tone:#e9dff0}.tone-honey{--tile-tone:#efdfbb}
.phone .feature-sheet{padding:32px 24px 24px;text-align:center;max-height:94dvh;overflow:auto}.phone .feature-emblem{position:relative;width:155px;height:150px;background:none;border:0;box-shadow:none;margin:10px auto 12px;display:grid;place-items:center}.feature-emblem>img{width:145px;height:145px;object-fit:contain}.feature-icon{position:absolute;bottom:0;right:0;display:grid;place-items:center;border-radius:50%;width:48px;height:48px;background:var(--balu-surface);color:var(--balu-primary);box-shadow:0 5px 12px #453b2a15}.phone .feature-sheet h2{font-size:24px;line-height:1.3}.phone .feature-sheet>p{font-size:14px;line-height:1.6}.phone .feature-sheet .field{font-size:13px;display:block;text-align:left;margin:18px 0 8px}.phone .feature-sheet textarea{background:var(--balu-surface);font-size:15px;width:100%;box-sizing:border-box}.phone .feature-sheet>.primary{width:100%;margin-top:18px;font-size:15px}.phone .feature-sheet .feature-note{font-size:11px}.phone .feature-sheet .intro-voice{background:var(--balu-surface);border:0;border-radius:20px}.phone .feature-sheet .intro-audio-row>span:last-child:not(.wave){display:none}.phone .composer{background:var(--balu-surface)}
@media(max-width:350px){.discovery-heading{align-items:flex-start;gap:8px}.discovery-heading>span{max-width:90px}.discovery-tile strong{font-size:15px}.phone .shortcut{font-size:11px;padding:7px 9px}.question-deck{padding:10px 14px!important}}
@media(prefers-reduced-motion:reduce){.phone .user-message .bubble{transition:none}}

.topic-intro-sheet .field{display:block;font-size:13px;text-align:left;margin:16px 0 8px}.topic-intro-sheet textarea{width:100%;box-sizing:border-box;background:var(--balu-surface);font-size:15px}.topic-intro-sheet>.primary{margin-top:16px}

/* Native checkbox/radio semantics follow each question's actual choice mode. */
.question-options{border:0;margin:0;padding:0;min-width:0}
.question-selection-hint{font-size:12px;color:var(--balu-muted);margin:0 0 10px;line-height:1.5}
.question-option input{flex:0 0 19px;width:19px;height:19px;margin:0;accent-color:var(--balu-primary);cursor:pointer}
.question-option input:focus-visible{outline:2px solid var(--balu-focus);outline-offset:3px}
.phone .question-option{font-family:var(--balu-font);cursor:pointer}
.phone .question-option:has(input:checked){background:var(--balu-sage);border-color:var(--balu-primary)}
.question-deck[aria-busy=true]{opacity:.8}
