:root{--bg:#f5f5ed;--ink:#173e36;--green:#155443;--gold:#b68c4d;--muted:#7d8c7f;--line:#dce1d5;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#e7ece7;color:var(--ink);font:16px/1.55 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b68c4d;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.app{max-width:440px;margin:0 auto;background:var(--bg);min-height:100svh;box-shadow:0 0 90px #173e3612}#top{height:76px;padding:20px 22px 14px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;background:#f5f5edf2;backdrop-filter:blur(12px)}.wordmark{font-size:20px;font-weight:750;letter-spacing:2px}.top-title{font-size:17px;font-weight:650}.capsule{border:1px solid #ccd3c6;border-radius:30px;padding:5px 10px;font-size:12px;color:#8b9b8c}.back{border:0;background:none;padding:7px 0;color:var(--green);font-size:14px}#view{padding:8px 22px 110px;min-height:calc(100svh - 76px)}#bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:440px;display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:11px 7px max(14px,env(safe-area-inset-bottom));background:#f5f5edf7;backdrop-filter:blur(10px);z-index:5}#bottom button{width:25%;border:0;background:none;color:#8b978b;font-size:12px;padding:3px}#bottom button.active{color:var(--green);font-weight:700}.icon{display:block;width:22px;height:22px;margin:0 auto 4px;fill:none;stroke:currentColor;stroke-width:1.7}.greeting{font-size:14px;color:#819084;margin:3px 0 17px}.hero{background:var(--green);border-radius:25px;color:#f0f2df;padding:26px 25px;position:relative;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:2.8px;opacity:.7}.hero h1{font-family:'Songti SC',Georgia,serif;font-weight:500;font-size:32px;letter-spacing:1px;line-height:1.35;margin:13px 0 9px}.hero p{font-size:13px;opacity:.65;margin:0}.hero-specimen{margin:26px 0 2px;padding:15px 10px 9px;background:#edf0dd;border-radius:15px;transform:rotate(-3deg);box-shadow:0 12px 25px #042f2533}.hero-specimen img{width:100%;height:94px;object-fit:contain;mix-blend-mode:multiply}.hero-specimen span{display:flex;justify-content:space-between;font-size:10px;color:#557165;letter-spacing:2px;border-top:1px solid #55716530;margin-top:9px;padding-top:9px}.primary,.secondary,.soft{width:100%;border:0;border-radius:14px;padding:16px 15px;font-weight:650;font-size:15px;display:block;text-align:center}.primary{background:var(--green);color:#fff}.home-primary{margin:19px 0 0}.secondary{border:1px solid #bdcbbd;background:transparent;color:var(--green)}.soft{background:#e5ebdf;color:var(--green)}.stack{display:grid;gap:12px}.section-title{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:650;margin:25px 0 15px}.section-title button{border:0;background:none;color:#80907f;font-size:12px;padding:6px 0}.collection-progress{display:flex;justify-content:space-between;align-items:center;margin:24px 0 9px;font-size:14px}.collection-progress strong{font-size:25px;font-weight:500}.collection-progress small{font-size:12px;color:#8b978b}.progress-line{height:4px;background:#dde4d5;border-radius:5px;overflow:hidden}.progress-line i{display:block;height:100%;background:var(--green)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.mini-card{width:100%;border:1px solid #dce1d4;border-radius:15px;padding:13px;background:#fffefa;text-align:left;color:var(--ink)}.mini-card img{width:100%;height:90px;object-fit:contain;border-radius:8px;mix-blend-mode:multiply}.mini-card h3{font-size:15px;margin:12px 0 5px;font-weight:650;display:flex;justify-content:space-between}.mini-card h3 span{font-size:11px;color:var(--tier);font-weight:500}.mini-card p{font-size:12px;color:#8b9585;margin:0}.micro{font-size:12px;color:#7f8d7e;line-height:1.75}.notice{background:#e8edde;border:1px solid #d9e2cd;border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.8;color:#64775f;margin:20px 0}.notice.warn{background:#f6eddf;border-color:#e6d8be;color:#897047}.notice strong{font-weight:650}.page-title{font-family:'Songti SC',Georgia,serif;font-size:29px;font-weight:500;margin:8px 0 10px;line-height:1.4;letter-spacing:1px}.lead{font-size:14px;color:#80917f;margin:0 0 23px;line-height:1.8}.photo-box{position:relative;display:flex;justify-content:center;align-items:center;height:310px;background:#e7ecdf;border:1px solid #d3ddc9;border-radius:21px;margin:17px 0;overflow:hidden}.photo-box img{width:100%;height:100%;object-fit:contain}.photo-box.empty{border:1px dashed #a6b59d;flex-direction:column;gap:20px}.photo-box.empty .icon{width:52px;height:52px;color:#839c7a}.photo-box.empty p{font-size:14px;color:#71846a}.source-tag{position:absolute;left:13px;top:13px;background:#f5f5eddd;border-radius:20px;padding:5px 11px;font-size:11px;color:#506d52}.source-tag.dark{background:#173e36db;color:#fff}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:15px 0}.demo-control{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.demo-control summary{font-size:12px;color:#80907e;cursor:pointer}.demo-control p{font-size:12px;color:#80907e}.field{display:block;margin:17px 0}.field>span,.field legend{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.field small{display:block;color:#82917f;font-size:12px;margin-top:8px}.field input,.field select,select.filter{width:100%;padding:14px;background:#fffef9;border:1px solid #ced9c6;border-radius:10px;color:var(--ink);font-size:16px;min-height:49px}.field input:disabled,.field select:disabled{background:#e9ede1}.weight-input{position:relative}.weight-input input{padding-right:48px;font-size:24px;font-weight:500}.weight-input i{position:absolute;right:15px;top:18px;font-style:normal;font-size:13px;color:#88977e}.check-label{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#6b7b64;margin:18px 0}.check-label input{width:17px;height:17px;accent-color:var(--green);flex:none}.loading-ring{width:46px;height:46px;border:2px solid #cbd9c2;border-top-color:var(--green);border-radius:50%;animation:spin 1.3s linear infinite;margin:38px auto 22px}.center{text-align:center}.candidate{display:flex;align-items:center;justify-content:space-between;width:100%;padding:17px;background:#fffef9;border:1px solid #d7dfce;border-radius:14px;margin:11px 0;color:var(--ink);text-align:left}.candidate strong{font-size:17px}.candidate small{font-size:12px;color:#829276}.candidate b{font-size:13px;font-weight:500;color:#567a4c}.candidate .confidence{display:flex;align-items:center;gap:14px}.card{position:relative;border:1px solid #b7985b;border-radius:22px;padding:19px;background:linear-gradient(140deg,#fcf9e6,#e8eedb 55%,#f5f2dd);overflow:hidden;margin:18px 0;color:#254b3d;box-shadow:0 12px 30px #2244320b}.card:before{content:'';position:absolute;inset:7px;border:1px solid #b8ae7040;border-radius:17px;pointer-events:none}.card-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:1px;color:#6f7855}.card-head b{font-weight:650;color:var(--tier)}.card-photo{position:relative;margin:12px -5px 9px;height:205px;display:flex;align-items:center;justify-content:center}.card-photo img{width:100%;height:100%;object-fit:contain;border-radius:10px}.card-photo.sample img{mix-blend-mode:multiply}.no-photo{padding:20px;text-align:center;font-size:13px;color:#778469;line-height:1.8;background:#e3e9d9;border-radius:12px}.latin{font-family:Georgia,serif;font-style:italic;font-size:13px;color:#829071}.card h2{font-family:'Songti SC',Georgia,serif;font-size:34px;letter-spacing:4px;font-weight:500;line-height:1.25;margin:10px 0 15px}.card-stats{display:flex;justify-content:space-between;gap:15px;padding:15px 0;margin:10px 0 16px;border-top:1px solid #acb08140;border-bottom:1px solid #acb08140}.card-stats strong{display:block;font-size:26px;font-weight:500}.card-stats small{font-size:12px;color:#899074}.card-meta{display:flex;justify-content:space-between;font-size:12px;color:#839073}.card-uuid{font-family:monospace;font-size:11px;overflow-wrap:anywhere;line-height:1.7;margin-top:14px;color:#82906e}.tier-strip{display:flex;gap:7px;font-size:10px;color:#829078;margin:21px 0}.tier-strip span{flex:1;border-top:3px solid var(--tier);padding-top:6px;text-align:center}.tabs{display:flex;gap:10px;margin:18px 0}.tabs button{background:none;border:1px solid #cbd7c2;border-radius:20px;color:#78916c;padding:8px 16px;font-size:13px}.tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.list-row{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);gap:12px}.list-row button{background:none;border:0;color:var(--green);font-size:13px}.list-row strong{font-size:15px;font-weight:600}.list-row small{display:block;font-size:12px;color:#8a9780}.atlas-item{padding:20px;background:#fffef8;border:1px solid var(--line);border-radius:16px;min-height:130px}.atlas-item strong{font-family:'Songti SC',Georgia,serif;font-size:23px;font-weight:500}.atlas-item.locked{background:#e9eddf;color:#99a592}.atlas-item p{font-size:12px;color:#85977c;margin:12px 0 0}.atlas-item button{padding:0;background:none;border:0;color:#597b4d;font-size:12px}.rank-hero{padding:27px;background:var(--green);color:#edf1dc;border-radius:23px}.rank-hero h2{font-family:'Songti SC',Georgia,serif;font-size:32px;font-weight:500;margin:10px 0}.rank-hero p{font-size:12px;opacity:.65}.rank-stats{display:flex;justify-content:space-between;margin-top:24px}.rank-stats strong{display:block;font-size:29px;font-weight:500}.rank-stats span{font-size:12px;opacity:.6}.rank-row{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid var(--line)}.rank-row .number{width:26px;font:23px Georgia,serif;color:#a09b75}.rank-row .person{flex:1;font-size:15px}.rank-row small{display:block;font-size:11px;color:#8a977f}.rank-row b{font-size:17px;font-weight:500}.rank-row.me{background:#e6eddc;border-radius:12px;border:0;padding:18px 13px;margin-top:7px}.poster-preview{margin:20px 0;background:#dce5d6;border-radius:18px;padding:14px}.poster-preview img{width:100%;display:block;border-radius:5px;box-shadow:0 10px 25px #153f2d16}.poster-loading{text-align:center;padding:45px 15px;font-size:14px;color:#75876c}.share-link{font-size:12px;color:#83917b;overflow-wrap:anywhere;margin:14px 0}.empty-state{text-align:center;padding:60px 15px;color:#829176}.empty-state p{font-size:14px}.toast{position:fixed;z-index:30;bottom:100px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:#173e36ed;color:#fff;padding:12px 17px;border-radius:12px;font-size:13px}.reveal-modal{padding:0;border:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#061323;color:#dce8eb;overflow:hidden}.reveal-modal::backdrop{background:#061323}.reveal-modal iframe,#reveal-frame-host{display:block;width:100%;height:100%;border:0}.reveal-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;background:#061323;padding:30px;text-align:center}.reveal-loading p{font-size:14px;color:#9dbac6}.reveal-loading button{border:1px solid #718896;background:transparent;color:#dce8eb;border-radius:20px;padding:10px 25px}.desktop-brand{position:fixed;left:max(35px,calc(50% - 510px));top:65px;font-family:'Songti SC',Georgia,serif;font-size:28px;color:#54775e;letter-spacing:3px}.desktop-brand span{display:block;font-family:system-ui;font-size:12px;letter-spacing:2px;margin-top:15px;color:#899f85}.desktop-brand small{display:block;font-size:14px;letter-spacing:1px;margin-top:45px;color:#859680}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.desktop-brand{display:none}}@media(max-width:340px){#view{padding-left:16px;padding-right:16px}#top{padding-left:16px;padding-right:16px}.hero{padding:23px 20px}.hero h1{font-size:28px}.card{padding:16px}.card-photo{height:170px}.card-stats strong{font-size:23px}}@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}*{scroll-behavior:auto!important}}
/* Comfortable touch targets without changing the card visual system. */
.back,.section-title button,.tabs button,.list-row button,.atlas-item button{min-height:44px;min-width:44px}.check-label{min-height:44px;align-items:center}.demo-control summary{min-height:44px;display:list-item;padding:10px 0}.field #weight-error{color:#9c422b;font-weight:600}.field input[aria-invalid=true]{border-color:#b45339}.mini-card{min-width:0}.mini-card h3{overflow-wrap:anywhere;gap:6px}.mini-card h3 span{flex-shrink:0}.empty-state .soft{margin-top:12px}
