@keyframes thinking-pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.thinking-dots{display:inline-flex;gap:3px;align-items:center}.thinking-dots span{width:5px;height:5px;border-radius:50%;background:currentColor;animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}:root{--page:#fbfaf8;--card:#ffffff;--line:#e6e3de;--line-strong:#d8d4cd;--ink:#1b1e24;--ink-soft:#6b7280;--ink-faint:#9ba1ac;--agent:#a8532c;--agent-strong:#8a4420;--agent-tint:#fbeee6;--agent-tint-border:#eccbb3;--soft:#f3efe9;--soft-strong:#e9e3da;--settled:#2e9e6b;--settled-tint:#eaf6f0;--waiting:#b7791f;--waiting-tint:#fdf4e3;--decline:#c2564f;--radius:12px;--radius-sm:8px;--gutter:20px;--shadow:0 1px 2px rgba(27,30,36,0.04),0 4px 12px rgba(27,30,36,0.04);--font:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}.frame{width:100%;max-width:420px;margin:0 auto;min-height:100dvh;flex-direction:column;border-left:1px solid var(--line);border-right:1px solid var(--line)}.frame,.topbar{display:flex;background:var(--page)}.topbar{align-items:center;justify-content:space-between;min-height:56px;padding:8px var(--gutter);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar-left{gap:10px;min-width:0}.topbar-left,.topbar-right{display:flex;align-items:center}.topbar-right{gap:6px}.back-btn{display:inline-flex;align-items:center;gap:2px;min-height:40px;margin-left:-8px;padding:0 10px 0 4px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer}.back-btn:focus-visible,.back-btn:hover{background:var(--agent-tint);color:var(--agent-strong)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:none;color:var(--ink-soft);cursor:pointer;text-decoration:none}.icon-btn:focus-visible,.icon-btn:hover{background:var(--agent-tint);color:var(--agent-strong)}.wordmark{font-weight:600;font-size:17px;letter-spacing:-.01em}.main{flex:1 1;padding:var(--gutter);gap:18px}.footer-actions,.main{display:flex;flex-direction:column}.footer-actions{padding:16px var(--gutter) 28px;gap:10px;border-top:1px solid var(--line);background:var(--page);position:-webkit-sticky;position:sticky;bottom:0;box-shadow:0 -4px 12px rgba(27,30,36,.06)}h1{font-size:22px;line-height:1.25;letter-spacing:-.02em}h1,h2{margin:0}h2{font-size:15px;font-weight:600;line-height:1.3}p{margin:0}.sub,p{line-height:1.5}.sub{font-size:14px}.meta,.sub{color:var(--ink-soft)}.meta{font-family:inherit;font-size:12px;line-height:1.4}.meta-mono{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.card.agent{border-left:3px solid var(--agent)}.banner{background:var(--agent-tint);border:1px solid var(--agent-tint-border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.banner .title{font-weight:600;font-size:14px;color:var(--agent-strong)}.pill{display:inline-flex;align-items:center;gap:6px;font-family:inherit;font-size:12px;font-weight:500;padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-soft);background:var(--card)}.pill.waiting{background:var(--waiting-tint);border-color:#f0dcb4;color:var(--waiting)}.pill.settled{background:var(--settled-tint);border-color:#c6e6d6;color:var(--settled)}.pill.agent{background:var(--agent-tint);border-color:var(--agent-tint-border);color:var(--agent-strong)}.row{align-items:center;justify-content:space-between}.row,.row-start{display:flex;gap:12px}.row-start{align-items:flex-start}.chips{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:7px 12px;border-radius:999px}.chip[aria-pressed=true]{border-color:var(--agent)}.btn,.chip[aria-pressed=true]{background:var(--agent);color:#fff}.btn{font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;min-height:48px;padding:12px 18px;border-radius:var(--radius);border:1px solid var(--agent);cursor:pointer;width:100%;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.btn:active:not(:disabled){transform:scale(.985);background:var(--agent-strong);border-color:var(--agent-strong)}.btn:focus-visible,.link-chip:focus-visible{outline:2px solid var(--agent);outline-offset:2px}.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line-strong)}.btn.secondary:active:not(:disabled){background:var(--agent-tint);border-color:var(--agent-tint-border)}.btn.quiet{background:var(--soft);border-color:var(--soft);color:var(--ink);font-size:14px;padding:10px 18px;min-height:44px;width:auto}.btn.quiet:active:not(:disabled){background:var(--soft-strong);border-color:var(--soft-strong)}.btn.small{width:auto;min-height:44px;padding:10px 16px;font-size:14px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.link-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.link-chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);font:inherit;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.link-chip:active,.link-chip:hover{background:var(--agent-tint);border-color:var(--agent-tint-border);color:var(--agent-strong)}.dots{display:inline-flex;gap:5px;align-items:center}.dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--agent)}.dot.filled{background:var(--agent)}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--card)}.seg button{font-family:inherit;font-size:13px;font-weight:500;min-height:38px;padding:6px 14px;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .12s ease}.seg button:not(:last-child){border-right:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.topbar .seg button{padding:6px 11px;min-height:36px}@media (max-width:360px){.topbar-right{gap:2px}.topbar .icon-btn{width:36px;height:36px}.topbar-left:has(.back-btn) .wordmark{display:none}}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip,.chip-group{align-items:center}.chip{display:inline-flex;justify-content:center;gap:6px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--card);color:var(--ink-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .14s ease}.chip:hover:not(:disabled){border-color:var(--ink-soft);color:var(--ink);background:var(--bg)}.chip.active,.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.chip:disabled{opacity:.45;cursor:not-allowed}.timeline{gap:10px}.detail,.timeline{display:flex;flex-direction:column}.detail{gap:0}.detail .line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.detail .line:last-child{border-bottom:none}.detail .label{font-family:inherit;font-size:12px;font-weight:500;color:var(--ink-faint);width:76px;flex:0 0 76px;padding-top:2px}.field{font-family:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);width:100%}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}.check input[type=checkbox]{accent-color:var(--agent)}.note{font-size:12px;color:var(--ink-faint);text-align:center;line-height:1.5}.devbar{font-family:var(--mono);font-size:11px;padding:8px var(--gutter);background:#f2efe9;border-bottom:1px solid var(--line);color:var(--ink-soft);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.devbar a{color:var(--agent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.survey-card{min-width:0;margin:0;position:relative}.survey-question{margin:0 0 8px;font-size:14px;font-weight:500;line-height:1.45}.survey-step{display:flex;flex-direction:column;gap:12px}.survey-progress{height:4px;border-radius:999px;background:var(--soft);overflow:hidden}.survey-progress>span{display:block;height:100%;background:var(--agent);transition:width .24s ease}.survey-slide{display:flex;flex-direction:column;gap:12px;animation:survey-in .22s ease}.survey-step .survey-question{margin:0;font-size:22px;font-weight:700;line-height:1.3;letter-spacing:-.015em;outline:none}.survey-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.survey-skip{flex-shrink:0}.survey-stem{margin:0;font-size:17px;font-weight:700;line-height:1.35}.survey-lead{margin:0;font-size:16px;font-weight:600;line-height:1.4}.survey-note{margin:0;font-size:14px}.survey-tiles{display:grid;grid-gap:6px;gap:6px}.survey-tile{width:100%;min-height:44px;padding:10px 14px;text-align:left;font:inherit;font-size:15px;line-height:1.35;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;transition:background .12s ease,border-color .12s ease}.survey-tile:focus-visible{outline:2px solid var(--agent);outline-offset:2px}.survey-tile.selected{background:var(--agent-tint);border-color:var(--agent);color:var(--agent-strong);font-weight:600}.survey-tile.skip{background:var(--soft);border-color:var(--soft);color:var(--ink-soft);font-size:14px;min-height:44px}.survey-tile.skip.selected{border-color:var(--ink-soft);color:var(--ink)}.survey-tile:disabled{opacity:.6;cursor:not-allowed}.survey-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-top:14px;border-top:1px solid var(--line)}@keyframes survey-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.survey-slide{animation:none}.survey-progress>span{transition:none}}.interview-notes{gap:14px}.interview-note-groups{display:grid;grid-gap:18px;gap:18px}.interview-note-group{min-width:0}.interview-note-group h3{margin:0 0 8px;color:var(--ink-soft);font:600 13px/1.4 var(--font)}.interview-note-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:8px;gap:8px}.interview-note-item{min-width:0;display:flex;align-items:flex-start;gap:10px;padding:12px 8px 12px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--page)}.interview-note-content{flex:1 1;min-width:0}.interview-note-body{color:var(--ink);font:400 14px/1.5 var(--font);overflow-wrap:anywhere}.interview-note-tier.pill{margin-top:8px;font:500 12px/1.3 var(--font);padding:4px 9px}.interview-note-remove{flex:0 0 44px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);font:400 23px/1 var(--font);cursor:pointer;touch-action:manipulation}.interview-note-remove:focus-visible,.interview-note-remove:hover{background:var(--agent-tint);color:var(--agent-strong)}.plan-hero{overflow:hidden;border:1px solid var(--agent-tint-border);border-radius:18px;background:#fffaf6;box-shadow:var(--shadow)}.plan-hero-art{height:136px;background:linear-gradient(135deg,#a8532c,#d78956)}.plan-hero-art svg{display:block;width:100%;height:100%}.plan-hero--museum .plan-hero-art{background:linear-gradient(135deg,#915441,#cd8869)}.plan-hero--outdoors .plan-hero-art{background:linear-gradient(135deg,#578771,#94b998)}.plan-hero--games .plan-hero-art{background:linear-gradient(135deg,#a8532c,#d78956)}.plan-hero--cafe .plan-hero-art{background:linear-gradient(135deg,#a97143,#d9a673)}.plan-hero--group .plan-hero-art{background:linear-gradient(135deg,#8c664f,#b99479)}.plan-hero-content{padding:18px;display:grid;grid-gap:9px;gap:9px}.plan-hero-kicker{display:inline-flex;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;color:var(--agent-strong);font:600 12px/1.3 var(--font)}.plan-hero-kicker span{width:7px;height:7px;border-radius:50%;background:var(--settled)}.plan-hero-kicker--confirmed{background:var(--settled-tint);border:1px solid #b8e2cd;color:var(--settled);padding:3px 10px;border-radius:999px;font-weight:600}.plan-hero-kicker--confirmed span{background:var(--settled)}.plan-hero h1{font:600 clamp(23px,6vw,28px)/1.16 var(--font);letter-spacing:-.035em;overflow-wrap:anywhere}.plan-hero-source{color:var(--ink-soft);font:400 13px/1.45 var(--font)}.plan-hero-facts{display:grid;grid-gap:9px;gap:9px;padding-top:9px;margin-top:2px;border-top:1px solid var(--line)}.plan-hero-facts p{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font:500 14px/1.4 var(--font);overflow-wrap:anywhere}.plan-hero-facts svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px;color:var(--agent)}.agent-widget{position:fixed;z-index:40;display:flex;flex-direction:column;pointer-events:none;transition:bottom .2s ease}.agent-widget.panel-open{left:50%;transform:translateX(-50%);width:min(390px,calc(100vw - 32px));max-width:390px;max-height:calc(100dvh - 32px);align-items:center}.agent-widget.panel-closed{right:max(16px,calc((100vw - 420px) / 2 + 16px));left:auto;transform:none;width:auto;flex-direction:row-reverse;align-items:center;gap:8px}.agent-widget>*{pointer-events:auto}.agent-panel{max-height:calc(100dvh - 48px);overflow:hidden;padding:18px 20px;border-radius:18px;border:1px solid var(--line);box-shadow:0 12px 36px rgba(27,30,36,.16),0 2px 8px rgba(27,30,36,.06)}.agent-panel,.agent-panel-header{width:100%;background:var(--card)}.agent-panel-header{position:-webkit-sticky;position:sticky;top:-18px;z-index:2;padding:4px 0 12px;margin-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.agent-control-btn{min-width:36px;min-height:36px;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm,10px);background:var(--soft,#f3efe9);border:1px solid var(--line,#e6e3de);color:var(--ink);font-size:16px;font-weight:500;cursor:pointer;transition:all .12s ease;line-height:1}.agent-control-btn:hover{background:var(--soft-strong,#e9e3da)}.agent-transcript{max-height:120px;overflow-y:auto;font-size:13px;line-height:1.45}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.live-voice-compact{display:flex;flex-direction:column;gap:10px;width:100%}.live-voice-row{display:flex;align-items:center;gap:12px}.agent-sheet{position:fixed;left:0;right:0;z-index:60;display:flex;flex-direction:column;background:var(--page);max-width:420px;margin:0 auto}.agent-sheet-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card)}.agent-sheet-body{flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.agent-sheet-composer{padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:8px}.agent-minimized{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:28px;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 24px rgba(27,30,36,.14)}.agent-minimized-pulse{width:10px;height:10px;border-radius:50%;background:var(--agent,#a8532c);box-shadow:0 0 0 0 rgba(168,83,44,.4);animation:agent-pulse 1.8s infinite}@keyframes agent-pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(168,83,44,.6)}70%{transform:scale(1);box-shadow:0 0 0 8px rgba(168,83,44,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(168,83,44,0)}}.survey-grid{display:grid;grid-gap:14px;gap:14px}.seg.seg-fill{display:flex;width:100%;max-width:100%}.seg.seg-fill button{flex:1 1;min-width:0;padding:6px 0}.survey-scale{display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink-soft)}.survey-row{display:grid;grid-gap:6px;gap:6px}.survey-row-label{margin:0;font-size:16px;font-weight:700}.survey-chips{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.survey-chip{min-height:44px;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;font-weight:700;cursor:pointer}.survey-chip:focus-visible{outline:2px solid var(--agent);outline-offset:2px}.survey-chip.selected{background:var(--agent-tint);border-color:var(--agent);color:var(--agent-strong)}.survey-chip:disabled{opacity:.6;cursor:not-allowed}.consent-summary{list-style:none;margin:0 0 4px;padding:14px 16px;display:grid;grid-gap:10px;gap:10px;background:var(--agent-tint);border:1px solid var(--agent-tint-border);border-radius:var(--radius)}.consent-summary li{display:flex;gap:10px;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink)}.consent-agree{padding:14px;border:2px solid var(--line-strong);border-radius:var(--radius);font-size:15px;transition:border-color .2s,background .2s}.consent-agree input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}.consent-agree.checked,.consent-agree.nudge{border-color:var(--agent);background:var(--agent-tint)}.consent-agree.nudge{animation:consent-nudge .4s ease 2}@keyframes consent-nudge{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.board-empty{display:grid;justify-items:center;grid-gap:12px;gap:12px;text-align:center;padding:28px 20px}.board-empty .btn{width:100%}.form-label{display:block;font-size:14px;font-weight:600;margin:4px 0 -4px;color:var(--ink)}.idea-chips{display:flex;flex-wrap:wrap;gap:8px}.idea-chips .chip{font-size:14px;padding:8px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer}.idea-chips .chip.selected{border-color:var(--agent);background:var(--agent-tint)}.accept-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}.accept-strip .pill{font-size:14px;padding:6px 12px}.voice-tiles{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.voice-tile{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:2px solid var(--line,#ddd);border-radius:var(--radius);background:var(--card,#fff);color:var(--ink);font:600 16px/1.2 var(--font);text-align:left;cursor:pointer}.voice-tile.selected{border-color:var(--agent-strong,#a8532c);background:var(--agent-tint)}.voice-tile .voice-check{margin-left:auto;font-weight:700}.intro-actions{display:grid;grid-gap:8px;gap:8px}.intro-actions .btn{width:100%;text-align:center}.intro-footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px}.intro-footer-row .btn.quiet{background:transparent;border-color:transparent;padding:8px 4px;min-height:40px}