:root{--ink:#0b1710;--green:#003b1d;--muted:#626760;--line:#d4d6d0;--sage:#e8ede4;--surface:#fffefa;--ease:cubic-bezier(.2,.8,.2,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#f1f2ec}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #83a692;outline-offset:4px}button{border:0;background:none}a{color:inherit}svg{width:24px;height:24px;display:block;flex:none}button svg{pointer-events:none}h1,h2,h3,p{margin:0}button,input,textarea{touch-action:manipulation}
.review-layout{min-height:100dvh;max-width:1240px;margin:auto;padding:32px 48px;display:grid;grid-template-columns:1fr 430px;gap:100px;align-items:center}.review-note{max-width:480px}.back-link{font-size:13px;text-decoration:none;color:#657065;display:inline-block;margin-bottom:54px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:650;color:#6c7c6d;margin-bottom:23px}.review-note h1{font-size:clamp(34px,3.5vw,52px);line-height:1.08;letter-spacing:-2px;font-weight:500}.lead{max-width:360px;font-size:16px;line-height:1.6;color:#6c726b;margin-top:22px}.journey{padding:0;margin:34px 0 30px;list-style:none;display:grid;gap:20px}.journey li{display:flex;gap:16px;align-items:baseline;font-size:13px;color:#6b756b;transition:color .3s}.journey li>span{font-size:10px;font-variant-numeric:tabular-nums;opacity:.6}.journey li.is-active{color:#123c23}.journey small{display:block;font-size:11px;color:#7a8078;margin-top:5px;line-height:1.4}.review-foot{border-top:1px solid #dce1d6;padding-top:20px;max-width:350px}.local-badge{font-size:11px;color:#576a57;display:flex;gap:7px;align-items:center}.local-badge i{width:5px;height:5px;border-radius:50%;background:#6b8d70}.review-foot p{font-size:11px;color:#7c837b;line-height:1.5;margin:10px 0}.text-button{padding:5px 0;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#536c56}.device-wrap{min-width:0}.device{height:min(860px,calc(100dvh - 64px));min-height:560px;width:100%;border-radius:42px;background:radial-gradient(ellipse at 17% 100%,#dfeadb 0,transparent 65%),radial-gradient(ellipse at 90% 30%,#fffbed 0,transparent 72%),#fcfdfa;box-shadow:0 25px 65px -25px #18321f35,0 0 0 1px #c7cec4;overflow:hidden;position:relative;display:flex;flex-direction:column;isolation:isolate}.status-bar{height:51px;flex:none;padding:19px 30px 0;display:flex;justify-content:space-between;align-items:start;position:relative;font-size:15px}.status-bar b{font-weight:650}.island{position:absolute;left:50%;top:11px;transform:translateX(-50%);width:112px;height:30px;border-radius:20px;background:#020603}.status-signals{font-size:9px;letter-spacing:-1px;display:flex;gap:2px;align-items:center}.battery{display:inline-block;width:23px;height:11px;border:1px solid #202b22;padding:1px;border-radius:4px;margin-left:6px}.battery:after{content:"";display:block;background:#0a150d;width:17px;height:7px;border-radius:2px}.app-header{display:flex;align-items:center;gap:11px;padding:13px 18px 16px;min-height:86px;flex:none;position:relative;z-index:3;background:#fffefa86;backdrop-filter:blur(18px)}.header-copy{min-width:0;flex:1}.header-copy h2{font-size:18px;font-weight:550;line-height:1.3;letter-spacing:-.3px}.header-copy p{font-size:12px;line-height:1.4;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.circle-button{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:#ffffffed;box-shadow:0 2px 3px #16251a12;flex:none;transition:transform .18s var(--ease),background .2s}.circle-button:hover{background:#f4f7f1}.circle-button:active{transform:scale(.94)}.circle-button.small{width:36px;height:36px}.circle-button.small svg{width:20px;height:20px}.circle-button.green{background:var(--green);color:white;border-color:var(--green)}.header-report{color:var(--green)}.app-content{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:12px 20px 16px;scrollbar-width:thin;scrollbar-color:#bcc9b8 transparent}.home-indicator{height:18px;flex:none;display:flex;align-items:center;justify-content:center}.home-indicator:after{content:"";width:126px;height:4px;border-radius:5px;background:#09160d}.composer{margin:0 17px 4px;padding:13px 15px 11px;background:#fffffff2;border:1px solid #ced3ca;border-radius:23px;box-shadow:0 2px 3px #182b1b13}.composer textarea{border:0;outline:0!important;background:transparent;resize:none;width:100%;height:43px;max-height:110px;line-height:1.45;font-size:16px;padding:2px 0;color:var(--ink)}.composer textarea::placeholder{color:#686d66;opacity:1}.composer-controls{display:flex;gap:13px;align-items:center}.composer-controls .spacer{flex:1}.icon-button{width:30px;height:35px;padding:3px;display:grid;place-items:center;border-radius:9px;color:#10291a}.icon-button:hover{background:#e9eee5}.send-button{width:40px;height:40px;box-shadow:none}.draft-hint{font-size:10px;color:#7a8378;margin:6px 0 0;min-height:12px}.empty-state{min-height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;text-align:center;padding:22px 0 26px}.mascot{width:116px;height:108px;background-image:url('assets/welcome-reference.png');background-size:375px 812px;background-position:-132px -397.5px;flex:none;border-radius:44px}.empty-state h3{font-size:25px;letter-spacing:-.6px;margin:25px 0 14px;font-weight:650}.empty-state p{font-size:15px;line-height:1.48;color:#676e64;max-width:330px}.sample-prompt{margin-top:22px;padding:10px 15px;border:1px solid #c6d0c1;border-radius:18px;color:#25482a;background:#fffffff0;font-size:12px;line-height:1.4;transition:background .2s}.sample-prompt:hover{background:#eff5e9}.messages{display:flex;flex-direction:column;gap:24px;padding:4px 0 8px}.message.is-new{animation:arrive .42s var(--ease) both}.message{max-width:100%;font-size:16px;line-height:1.46;overflow-wrap:anywhere}.message.user{margin-left:54px;padding:11px 13px;background:#e5e9df;border-radius:16px}.message.user.receipt{width:fit-content;margin-left:auto;padding:8px 13px;border:1px solid #064322;background:#e8eedf;border-radius:13px;display:flex;gap:8px;align-items:center}.message.user.receipt svg{width:20px;height:20px}.assistant-name{display:flex;gap:9px;align-items:center;color:#646b60;font-size:14px;font-weight:600;margin-bottom:12px}.assistant-name img{width:26px;height:28px;object-fit:contain}.message h3{font-size:21px;line-height:1.28;font-weight:650;letter-spacing:-.35px;margin-bottom:14px}.message p+p{margin-top:15px}.unit-card{border:1px solid #cbd0c7;border-radius:14px;background:#fff;padding:11px;display:flex;width:100%;gap:11px;align-items:start;text-align:left;font-size:15px;line-height:1.4;margin:16px 0;box-shadow:0 2px 2px #263c2410}.unit-card>img{width:43px;height:43px;object-fit:contain;border:1px solid #e0e3dc;border-radius:11px;flex:none}.unit-card>span{flex:1}.unit-card small{display:block;color:#6c716a;font-size:13px;margin-top:5px}.unit-card>svg{width:17px;height:17px;color:#747b70;margin-top:3px}.message-actions{display:flex;gap:10px;margin-top:15px;color:#727b6c}.message-actions button{padding:3px}.message-actions svg{width:19px;height:19px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pill{border:1px solid #ced3c8;border-radius:25px;background:#fff;padding:10px 16px;font-size:14px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 3px #21321e0d;line-height:1.2;min-height:42px}.pill svg{width:18px;height:18px}.pill.primary{background:var(--green);color:white;border-color:var(--green)}.pill:hover{filter:brightness(.97)}.pill:active{transform:translateY(1px)}.stage-divider{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8c9786;display:flex;align-items:center;gap:10px;padding-top:5px}.stage-divider:after{content:"";height:1px;background:#d7dfd1;flex:1}.typing{color:#88937f;display:flex;gap:5px;align-items:center}.typing i{width:5px;height:5px;border-radius:50%;background:#71816a;animation:breathe 1.1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.12s}.typing i:nth-child(3){animation-delay:.24s}.typing span{margin-left:5px;font-size:14px}.nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.nav-tab{border:1px solid #ced3cb;background:#fff;border-radius:17px;min-height:70px;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 3px #17271610}.nav-tab.active{border:2px solid var(--green);background:#eaf0e7;color:var(--green)}.search{border:1px solid #cdd3c9;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:12px;margin-bottom:23px}.search svg{width:21px;height:21px;color:#6b7765}.search input{border:0;outline:0;width:100%;min-width:0;font-size:16px;background:transparent}.list-label{font-size:13px;color:#6d7767;margin:23px 9px 10px}.conversation-link{width:100%;text-align:left;padding:15px 12px;font-size:15px;line-height:1.4;border-radius:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-link.active{background:#e7ede3}.conversation-link small{display:block;font-size:11px;color:#788471;margin-top:4px}.menu-profile{display:flex;align-items:center;gap:12px;border-top:1px solid #d5ddcf;margin-top:25px;padding:20px 0;font-size:15px}.profile-avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-weight:650}.menu-profile small{display:block;margin-top:4px;font-size:12px;color:#74816d}.library-card{background:#fff;border:1px solid #d2d7cd;border-radius:16px;margin-bottom:13px;padding:15px;width:100%;text-align:left;display:flex;gap:13px;align-items:start}.library-card svg{color:#799270;width:24px;height:28px}.library-card h3{font-size:15px;font-weight:550;line-height:1.4}.library-card p{font-size:12px;color:#788471;margin-top:7px;line-height:1.5}.empty-list{text-align:center;padding:45px 12px;font-size:14px;line-height:1.5;color:#75816e}.field-label{display:block;font-size:12px;color:#69775f;margin:20px 0 8px}.field-input{border:1px solid #c4cec0;background:white;border-radius:13px;width:100%;padding:13px;font-size:17px}.helper{font-size:12px;line-height:1.5;color:#7e8977;margin:12px 0}.error-text{font-size:13px;color:#9c3828;line-height:1.5;margin:12px 0}.page-title{font-size:26px;letter-spacing:-.7px;font-weight:600;margin:18px 0 13px}.page-description{font-size:15px;color:#68745f;line-height:1.55;margin-bottom:22px}.details-list{display:grid;gap:0;margin:20px 0}.details-list div{padding:14px 0;border-bottom:1px solid #d8e1d0;display:flex;justify-content:space-between;gap:12px;font-size:14px}.details-list dt{color:#75836b}.details-list dd{margin:0;text-align:right}.report-note{width:100%;min-height:105px;resize:vertical;background:#fff;border:1px solid #cdd7c4;border-radius:14px;padding:12px;font-size:15px;line-height:1.5}.badge{display:inline-block;padding:6px 10px;background:#e3ecdc;border-radius:10px;font-size:11px;color:#4d6843;margin:3px 0 8px}.report-step{border-left:2px solid #b7caaa;padding:2px 0 2px 14px;margin:16px 0;font-size:14px;line-height:1.5}.report-step small{display:block;color:#7b886f;font-size:12px;margin-top:3px}.scan-view{position:absolute;inset:0;z-index:6;overflow:hidden;border-radius:inherit;background:#162019}.scan-view{display:flex;align-items:center;justify-content:center}.scan-canvas{position:relative;flex:none}.scan-canvas>img{width:100%;height:100%;position:absolute;inset:0}.scan-hotspot{position:absolute;border-radius:20px;background:transparent;color:transparent;min-height:44px}.scan-close{left:4%;top:8.2%;width:12%;height:5.5%;border-radius:50%}.scan-library{left:18%;right:18%;top:78%;height:6%}.scan-manual{left:51%;right:17%;top:90.7%;height:4.2%}.scan-flash{right:4%;top:8.2%;width:12%;height:5.5%;border-radius:50%}.scan-sample{position:absolute;left:50%;top:58%;transform:translateX(-50%);background:#ffffffed;border:1px solid #fff9;color:#183823;border-radius:24px;padding:11px 17px;white-space:nowrap;font-size:13px;box-shadow:0 6px 24px #0004}.scan-caption{position:absolute;bottom:9%;left:12px;right:12px;color:#fff9;text-align:center;font-size:10px;letter-spacing:.02em;pointer-events:none}.voice-view{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:16px 0 8px}.voice-mode{font-size:12px;color:#829076;margin-bottom:6px}.voice-orb{position:relative;width:230px;height:230px;display:grid;place-items:center;margin:auto 0}.voice-orb:before,.voice-orb:after{content:"";position:absolute;inset:5px;border-radius:44% 56% 59% 41% / 42% 53% 47% 58%;background:radial-gradient(ellipse at 40% 35%,#f5ce79 8%,#eed69f 36%,#d0dfad 70%,#e4edcf);opacity:.66;animation:orb 7s ease-in-out infinite}.voice-orb:after{inset:0;transform:rotate(55deg);opacity:.4;animation-direction:reverse;animation-duration:9s}.voice-orb .mascot{position:relative;z-index:1;mix-blend-mode:multiply}.voice-prompt{text-align:center;line-height:1.6;font-size:14px;color:#7b876f;max-width:290px;margin-bottom:20px}.voice-actions{display:flex;gap:17px;margin:13px 0}.voice-actions .circle-button{width:48px;height:48px}.voice-end{color:#7c1c11}.voice-example{max-width:300px;border-radius:17px;border:1px solid #cdd8c4;padding:12px 15px;background:#fff9;font-size:13px;line-height:1.45;margin:10px 0}.voice-example strong{display:block;color:#7e8b72;font-size:10px;font-weight:500;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}.transcript-time{font-size:10px;color:#8d9882;margin-bottom:5px}.mobile-note{display:none}.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}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);z-index:50;padding:12px 20px;background:#12371deb;color:#fff;border-radius:15px;font-size:13px;opacity:0;pointer-events:none;transition:.25s var(--ease);max-width:min(90vw,420px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(420px,calc(100vw - 32px));max-height:82dvh;overflow:auto;border:1px solid #d3ddcc;border-radius:24px;padding:25px;background:#fcfef9;color:var(--ink);box-shadow:0 35px 100px #07170c35}dialog::backdrop{background:#15261745;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:start;gap:16px;justify-content:space-between;margin-bottom:18px}.dialog-heading h2{font-size:22px;letter-spacing:-.5px;font-weight:600;line-height:1.3}.dialog-body{font-size:15px;line-height:1.55;color:#67755d}.dialog-body p+p{margin-top:15px}.dialog-actions{display:flex;gap:8px;justify-content:end;margin-top:24px;flex-wrap:wrap}.detail-hero{display:flex;gap:18px;align-items:center;margin:15px 0 22px}.detail-hero img{width:70px;height:70px;object-fit:contain}.detail-hero h3{font-size:18px;line-height:1.3;font-weight:550}.detail-hero p{margin-top:7px;font-size:13px;color:#75836b}@keyframes arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes breathe{0%,80%,100%{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes orb{0%,100%{transform:rotate(0) scale(.97)}50%{transform:rotate(20deg) scale(1.04)}}
@media(max-height:760px) and (min-width:761px){.review-layout{gap:65px;padding:20px 48px;grid-template-columns:1fr 390px}.device{height:calc(100dvh - 40px);min-height:540px}.review-note h1{font-size:38px}.back-link{margin-bottom:28px}.lead{font-size:14px;margin-top:16px}.journey{gap:13px;margin:24px 0}.review-foot{padding-top:14px}.empty-state{padding-bottom:16px}.empty-state h3{font-size:23px;margin-top:15px}.empty-state p{font-size:14px}.sample-prompt{margin-top:14px}.app-header{min-height:75px;padding-top:8px;padding-bottom:12px}.status-bar{height:47px}.composer textarea{height:35px}}
@media(max-width:980px) and (min-width:761px){.review-layout{gap:32px;padding:24px;grid-template-columns:1fr 390px}.review-note h1{font-size:35px}.review-note .lead{font-size:14px}.journey small{max-width:180px}}
@media(max-width:760px){body{background:#fcfdfa}.review-layout{display:block;padding:0;min-height:100dvh}.review-note{display:none}.device-wrap{width:100%;max-width:470px;margin:auto}.device{width:100%;height:100dvh;min-height:460px;border-radius:0;box-shadow:none}.status-bar{display:none}.app-header{padding:calc(15px + env(safe-area-inset-top)) 16px 15px;min-height:79px}.app-content{padding-inline:18px}.home-indicator{height:max(16px,env(safe-area-inset-bottom))}.home-indicator:after{display:none}.composer{margin-inline:14px}.scan-view{border-radius:0}.scan-canvas>img{object-fit:contain}.scan-caption{bottom:8.5%}.mobile-note{display:none}.voice-orb{width:240px;height:240px}.message{font-size:16px}.header-copy p{font-size:12px}.empty-state{justify-content:center;padding-top:40px;padding-bottom:35px}.empty-state p{max-width:325px}.status-signals{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.scan-sample{display:flex;align-items:center;gap:8px}.scan-sample svg{width:17px;height:17px}.scan-hotspot:focus-visible{outline:3px solid #fff;outline-offset:2px}
.voice-prompt{max-height:118px;overflow:auto;flex:none}.voice-orb{flex:0 1 230px;min-height:130px}.voice-actions,.voice-example{flex:none}
@media(max-width:760px){.device{height:calc(100dvh - 28px)}.mobile-note{display:block;margin:0;height:28px;padding:7px 8px;background:#edf2e7;color:#72816a;font-size:10px;line-height:14px;letter-spacing:.02em}}
