/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}}:root{--forest:#153f34;--forest-2:#205b49;--lime:#c9ee73;--cream:#f2f0e7;--paper:#fffefa;--ink:#15342d;--muted:#687870;--line:#dce3d9;--danger:#a74439}*{box-sizing:border-box}html{background:var(--cream)}body{background:radial-gradient(circle at 80% 0, #e6ead9 0, transparent 32%), var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.loading-screen{min-height:100vh;color:var(--forest);place-items:center;font-weight:700;display:grid}.file-input{display:none}.auth-page{grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr);min-height:100vh;display:grid}.auth-story{background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:46px clamp(34px,6vw,88px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";border:1px solid #c9ee7347;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-210px;right:-210px;box-shadow:0 0 0 70px #c9ee7309,0 0 0 140px #c9ee7306}.brand-lockup{z-index:1;align-items:center;gap:13px;font-family:Georgia,serif;font-size:19px;display:flex;position:relative}.brand-lockup .brand-mark{background:var(--lime);color:var(--forest)}.auth-copy{z-index:1;max-width:680px;position:relative}.light-eyebrow{color:var(--lime);letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:800}.auth-copy h1{letter-spacing:-.035em;max-width:650px;margin:0;font:700 clamp(46px,6vw,78px)/.98 Georgia,serif}.auth-copy>p:last-child{color:#d6e3dd;max-width:550px;margin:25px 0 0;font-size:18px;line-height:1.6}.auth-stats{z-index:1;gap:clamp(24px,5vw,64px);display:flex;position:relative}.auth-stats span{color:#b9cbc3;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.auth-stats strong{color:#fff;font:700 30px Georgia,serif;display:block}.auth-panel{background:var(--paper);place-items:center;padding:40px;display:grid}.auth-box{width:min(100%,430px)}.auth-box h2,.workspace h2{letter-spacing:-.02em;margin:7px 0 8px;font:700 clamp(30px,4vw,42px) Georgia,serif}.auth-note{color:var(--muted);margin:0 0 25px;font-size:13px;line-height:1.5}.auth-tabs{background:#ecefe7;border-radius:13px;margin-bottom:24px;padding:4px;display:flex}.auth-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:10px;font-size:13px;font-weight:800}.auth-tabs .active{color:var(--forest);background:#fff;box-shadow:0 3px 10px #153f3414}form label{color:#40544d;margin:0 0 17px;font-size:12px;font-weight:800;display:block}form input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;margin-top:7px;padding:14px 15px;font-weight:500}form input:focus{border-color:var(--forest-2);box-shadow:0 0 0 3px #205b491a}.form-error{color:var(--danger);margin:-5px 0 14px;font-size:12px;line-height:1.45}.solid-button,.outline-button,.demo-button{cursor:pointer;border-radius:12px;min-height:46px;padding:0 18px;font-weight:800}.solid-button{border:1px solid var(--forest);background:var(--forest);color:#fff}.solid-button:hover{background:#0d3329}.auth-box .solid-button{width:100%;margin-top:3px}.outline-button{color:var(--forest);background:0 0;border:1px solid #aebdb5}.demo-button{border:1px solid var(--line);width:100%;color:var(--forest);background:#f8f8f3;justify-content:space-between;align-items:center;display:flex}.divider{color:#89948e;align-items:center;gap:12px;margin:20px 0;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.app-shell{width:min(100%,1180px);min-height:100vh;margin:0 auto;padding:26px 28px 116px}.topbar{align-items:center;gap:14px;margin-bottom:34px;display:flex}.brand-mark{background:var(--forest);width:46px;height:46px;color:var(--lime);border:0;border-radius:15px;flex:none;place-items:center;font:800 25px Georgia,serif;display:grid}.brand-button{cursor:pointer}.topbar h1{margin:2px 0 0;font:700 clamp(20px,3vw,27px) Georgia,serif}.eyebrow{color:#718078;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.avatar{width:42px;height:42px;color:var(--forest);cursor:pointer;background:#fff;border:1px solid #cbd4c9;border-radius:50%;margin-left:auto;font-size:12px;font-weight:800}.welcome-card{background:var(--forest);color:#fff;border-radius:28px;min-height:220px;padding:38px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #163f3529}.welcome-card>div:first-child{z-index:1;max-width:610px;position:relative}.welcome-kicker{color:var(--lime);font-weight:800}.welcome-card h2{max-width:540px;margin:8px 0 12px;font:700 clamp(30px,5vw,52px)/1.02 Georgia,serif}.welcome-card p:last-child{color:#d6e2db;max-width:480px;line-height:1.55}.leaf-orbit{border:1px solid #c9ee7347;border-radius:50%;width:310px;height:310px;position:absolute;top:-85px;right:-35px}.leaf-orbit:before,.leaf-orbit:after{content:"";border:1px solid #c9ee7333;border-radius:50%;position:absolute;inset:34px}.leaf-orbit:after{background:#c9ee7314;inset:72px}.leaf-orbit span{z-index:1;color:var(--lime);font-size:32px;position:absolute;bottom:45px;left:48px}.identify-panel,.recent-section{margin-top:30px}.panel-heading,.section-title,.workspace-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.panel-heading h2,.section-title h2{margin:5px 0 0;font:700 25px Georgia,serif}.demo-badge{color:#42602c;white-space:nowrap;background:#e1e9ce;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.action-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.capture-card{border:1px solid var(--line);min-height:154px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffffc7;border-radius:22px;padding:24px;transition:transform .2s,box-shadow .2s}.capture-card:hover,.record-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #163f351a}.capture-card strong,.capture-card small{display:block}.capture-card strong{margin:16px 0 6px;font-size:17px}.capture-card small{color:var(--muted);line-height:1.4}.primary-card{border-color:var(--forest-2);background:var(--forest-2);color:#fff}.primary-card small{color:#d8e6de}.action-icon{font-size:29px}.section-title button,.text-button,.back-button{color:var(--forest-2);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.empty-state{color:var(--muted);border:1px dashed #bdc9bd;border-radius:18px;align-items:center;gap:18px;padding:25px;display:flex}.empty-state>span{color:#92a491;font-size:34px}.empty-state strong{color:var(--ink)}.empty-state p{margin:4px 0 0;font-size:13px}.workspace{padding-top:8px}.back-button{margin-bottom:24px;padding:0}.workspace-heading{align-items:center;margin-bottom:28px}.drop-zone{text-align:center;background:#ffffffa1;border:1px dashed #aebead;border-radius:26px;flex-direction:column;align-items:center;padding:70px 24px;display:flex}.drop-icon{width:72px;height:72px;color:var(--forest);background:#e1e9ce;border-radius:22px;place-items:center;font-size:36px;display:grid}.drop-zone h3{margin:22px 0 7px;font:700 26px Georgia,serif}.drop-zone p{max-width:460px;color:var(--muted);margin:0;line-height:1.55}.inline-actions{gap:10px;margin-top:25px;display:flex}.analysis-layout{border:1px solid var(--line);background:var(--paper);border-radius:28px;grid-template-columns:1.12fr .88fr;min-height:570px;display:grid;overflow:hidden;box-shadow:0 18px 50px #163f3514}.photo-panel{background:#e6e6dc;flex-direction:column;min-width:0;padding:22px;display:flex}.photo-panel img{object-fit:cover;background:#cfd5cc;border-radius:19px;flex:1;width:100%;min-height:390px}.photo-meta{color:#67766f;justify-content:space-between;gap:12px;margin-top:13px;font-size:11px;font-weight:700;display:flex}.location-ok{color:#26734c}.photo-panel .text-button{align-self:flex-start;padding:15px 0 0}.result-panel{flex-direction:column;justify-content:center;padding:clamp(30px,5vw,54px);display:flex}.result-panel>h3{margin:8px 0 12px;font:700 clamp(25px,4vw,37px)/1.1 Georgia,serif}.result-panel>p:not(.eyebrow):not(.latin-name){color:var(--muted);line-height:1.6}.result-panel .model-error{color:var(--danger);background:#f7e2df;border-radius:12px;margin:16px 0 0;padding:12px 14px;font-size:12px;font-weight:700;line-height:1.5}.full{width:100%}.result-panel .solid-button{margin-top:24px}.analyzing{text-align:center}.scan-ring{border:2px solid var(--lime);border-top-color:var(--forest);width:92px;height:92px;color:var(--forest);border-radius:50%;place-items:center;margin:0 auto 22px;font-size:35px;animation:1.1s linear infinite spin;display:grid}.analyzing h3{margin:0;font:700 28px Georgia,serif}.analyzing p{color:var(--muted);font-size:13px}.progress{background:#e7eadf;border-radius:999px;height:6px;margin-top:24px;overflow:hidden}.progress span{background:var(--forest);width:58%;height:100%;animation:1.1s ease-in-out infinite alternate scan;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{0%{transform:translate(-85%)}to{transform:translate(135%)}}.result-label{color:#745a17;letter-spacing:.05em;text-transform:uppercase;background:#fff0c8;border-radius:999px;align-self:flex-start;padding:7px 10px;font-size:10px;font-weight:900}.latin-name{color:var(--forest-2);margin:24px 0 5px;font:italic 18px Georgia,serif}.common-name{margin:0 0 20px!important;font-size:40px!important}.confidence{align-items:baseline;gap:9px;display:flex}.confidence strong{font:700 38px Georgia,serif}.confidence span{color:var(--muted);font-size:12px}.confidence-bar{background:#e8eadf;border-radius:999px;height:8px;margin:7px 0 24px;overflow:hidden}.confidence-bar span{border-radius:inherit;background:var(--lime);height:100%;display:block}.species-facts{background:linear-gradient(145deg,#f3f6e9,#edf2e1);border:1px solid #d6dfca;border-radius:18px;margin:2px 0 22px;padding:18px}.species-facts-heading{align-items:center;gap:10px;margin-bottom:15px;display:flex}.species-facts-heading>span{background:var(--forest);width:32px;height:32px;color:var(--lime);border-radius:10px;place-items:center;display:grid}.species-facts-heading p{color:#6c786b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:9px;font-weight:900}.species-facts-heading strong{color:var(--forest);font:700 17px Georgia,serif}.species-fact{border-top:1px solid #415b3a21;grid-template-columns:24px 1fr;gap:9px;padding:11px 0;display:grid}.species-fact>span{color:#648046;font-size:14px;font-weight:900}.species-fact strong{color:var(--forest);font-size:11px}.species-fact p{color:#536059;margin:4px 0 0;font-size:11px;line-height:1.55}.taxonomy-note{color:#657066;background:#ffffffa6;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:10px;line-height:1.45}.alternatives{border-top:1px solid var(--line);padding-top:14px}.alternatives p{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;font-size:10px;font-weight:800}.alternatives div{justify-content:space-between;padding:6px 0;font-size:12px;display:flex}.centered{align-self:center;margin-top:12px}.record-row,.history-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.record-card{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:19px;padding:0;transition:transform .2s,box-shadow .2s;overflow:hidden}.record-image{background:#dfe4db;height:145px;position:relative}.record-image img{object-fit:cover;width:100%;height:100%}.record-image span{color:#fff;background:#153f34e6;border-radius:999px;padding:6px 8px;font-size:10px;font-weight:900;position:absolute;top:10px;right:10px}.record-content{padding:15px}.record-content p{color:var(--forest-2);margin:0 0 3px;font:italic 12px Georgia,serif}.record-content strong,.record-content small{display:block}.record-content small{color:var(--muted);margin-top:9px;font-size:10px}.history-grid{grid-template-columns:repeat(4,1fr)}.compact{min-height:40px}.large-empty{text-align:center;background:#ffffff80;border:1px dashed #bdc9bd;border-radius:24px;padding:80px 30px}.large-empty>span{color:#90a48e;font-size:52px}.large-empty h3{margin:14px 0 5px;font:700 27px Georgia,serif}.large-empty p{color:var(--muted)}.large-empty button{margin-top:10px}.profile-page{max-width:720px;margin:0 auto}.profile-card{border:1px solid var(--line);background:#fff;border-radius:22px;align-items:center;gap:20px;margin-top:27px;padding:25px;display:flex}.profile-avatar{background:var(--forest);width:68px;height:68px;color:var(--lime);border-radius:50%;place-items:center;font:700 21px Georgia,serif;display:grid}.profile-card h3{margin:0 0 5px;font:700 24px Georgia,serif}.profile-card p{color:var(--muted);margin:0}.profile-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0;display:grid}.profile-stats div{border:1px solid var(--line);background:#ffffffa6;border-radius:17px;padding:20px}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{font:700 28px Georgia,serif}.profile-stats span{color:var(--muted);margin-top:4px;font-size:11px}.notice-card{background:#e2ead0;border-radius:16px;gap:14px;margin:15px 0 25px;padding:18px;display:flex}.notice-card>span{background:var(--forest);color:#fff;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font:italic 700 14px Georgia,serif;display:grid}.notice-card p{color:#546447;margin:5px 0 0;font-size:12px;line-height:1.5}.danger{color:var(--danger);border-color:#d6aaa5}.bottom-nav{z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border:1px solid #163f351f;border-radius:20px;gap:4px;width:min(620px,100% - 28px);padding:7px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #163f352e}.bottom-nav button{color:#718078;cursor:pointer;background:0 0;border:0;border-radius:14px;flex:1;padding:9px 4px;font-size:11px;font-weight:700}.bottom-nav span{margin-bottom:3px;font-size:19px;display:block}.bottom-nav .nav-active{background:var(--forest);color:#fff}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081d189e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.detail-modal{background:var(--paper);border-radius:25px;width:min(100%,500px);max-height:92vh;padding:20px;position:relative;overflow:auto;box-shadow:0 30px 80px #00000040}.detail-modal>img{object-fit:cover;border-radius:17px;width:100%;height:250px;margin-bottom:20px}.detail-modal h2{margin:4px 0 20px;font:700 34px Georgia,serif}.detail-modal .species-facts{margin-top:2px}.modal-close{z-index:1;width:36px;height:36px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:50%;font-size:25px;position:absolute;top:29px;right:29px}.detail-modal dl{border-top:1px solid var(--line);margin:20px 0}.detail-modal dl div{border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;padding:12px 0;font-size:12px;display:grid}.detail-modal dt{color:var(--muted)}.detail-modal dd{margin:0;font-weight:700}.toast{z-index:30;color:#fff;background:#102f27;border-radius:12px;padding:13px 18px;font-size:12px;font-weight:800;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #00000038}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:350px;padding:30px}.auth-copy h1{font-size:clamp(40px,9vw,60px)}.auth-copy>p:last-child,.auth-stats{display:none}.auth-panel{padding:35px 22px}.analysis-layout{grid-template-columns:1fr}.photo-panel img{min-height:320px;max-height:480px}.history-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.app-shell{padding:20px 16px 105px}.topbar{margin-bottom:22px}.topbar .eyebrow{display:none}.welcome-card{min-height:255px;padding:28px 24px}.leaf-orbit{top:45px;right:-160px}.action-grid,.record-row{grid-template-columns:1fr}.panel-heading,.workspace-heading{flex-direction:column;align-items:flex-start}.workspace-heading .compact{width:100%}.analysis-layout{border-radius:20px}.photo-panel{padding:14px}.photo-panel img{min-height:260px}.photo-meta{flex-direction:column;align-items:flex-start}.result-panel{padding:28px 22px}.inline-actions{flex-direction:column;width:100%}.history-grid,.profile-stats{grid-template-columns:1fr}.bottom-nav{bottom:9px}.auth-story{min-height:300px}.auth-copy h1{font-size:39px}.auth-panel{align-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
