:root{--bone:#f2e8d8;--bone-deep:#e9dbc2;--ink:#2a2016;--ink-soft:#5c4f3f;--maroon:#7b2a2c;--maroon-deep:#5c1e20;--indigo:#2c4258;--gold:#b8862f;--gold-soft:#ddbd7c;--white:#fffdf8;--green:#3f5c3a;--red:#a33;--line:#2a201624}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bone-deep);color:var(--ink);font-family:Work Sans,sans-serif}.display{font-family:Fraunces,serif}.mono{letter-spacing:.04em;font-family:IBM Plex Mono,monospace}::placeholder{color:#a99b85}a{color:inherit}.app-shell{background:var(--bone);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 40px #2a20161f}.bead-row{flex-shrink:0;width:100%;height:8px;display:flex}.bead-row span{flex:1}.topbar{padding:max(16px, env(safe-area-inset-top)) 20px 10px 20px;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.brandmark{align-items:center;gap:8px;display:flex}.brandmark .dot{background:var(--maroon);border-radius:50%;width:9px;height:9px}.brandname{letter-spacing:.02em;font-size:13px;font-weight:600}.langtoggle{border:1px solid var(--line);border-radius:20px;font-size:11px;display:flex;overflow:hidden}.langtoggle button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:5px 11px;font-family:IBM Plex Mono,monospace}.langtoggle button.active{background:var(--ink);color:var(--white)}.screen{flex:1;padding:8px 22px 100px;position:relative;overflow-y:auto}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}h1.title{margin-bottom:10px;font-size:28px;font-weight:600;line-height:1.15}h2.subtitle{margin-bottom:6px;font-size:19px;font-weight:600}p.lead{color:var(--ink-soft);margin-bottom:18px;font-size:14.5px;line-height:1.55}.field{margin-bottom:16px}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:10px;padding:13px;font-family:Work Sans,sans-serif;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--maroon);outline:none}.field textarea{resize:none;min-height:70px}.field-hint{color:var(--ink-soft);margin-top:5px;font-size:11.5px}.btn{text-align:center;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-family:Work Sans,sans-serif;font-size:14.5px;font-weight:600;transition:transform .1s,opacity .15s;display:block}.btn:active{transform:scale(.98)}.btn-primary{background:var(--maroon);color:var(--white)}.btn-primary:hover{background:var(--maroon-deep)}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);background:0 0}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-danger-text{color:var(--red);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.choice-card{border:1.5px solid var(--line);cursor:pointer;background:var(--white);border-radius:14px;margin-bottom:12px;padding:16px;transition:border-color .15s,background .15s}.choice-card.compact{margin-bottom:8px;padding:12px}.choice-card:hover{border-color:var(--gold-soft)}.choice-card.selected{border-color:var(--maroon);background:#fbf2ee}.choice-card .ct{margin-bottom:3px;font-size:15px;font-weight:600}.choice-card .cd{color:var(--ink-soft);font-size:12.5px;line-height:1.4}.stepper{gap:5px;margin-bottom:22px;display:flex}.stepper span{background:var(--line);border-radius:3px;flex:1;height:4px}.stepper span.done{background:var(--maroon)}.photo-upload{aspect-ratio:1;border:2px dashed var(--gold-soft);background:var(--white);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:180px;margin:0 auto 18px;display:flex;position:relative;overflow:hidden}.photo-upload img{object-fit:cover;width:100%;height:100%}.photo-upload .ph{text-align:center;color:var(--ink-soft);padding:10px;font-size:12px}.bottomnav{height:calc(70px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:40;flex-shrink:0;justify-content:space-around;align-items:center;display:flex;position:sticky;bottom:0;left:0;right:0}.navitem{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;font-family:inherit;display:flex}.navitem.active{color:var(--maroon)}.navitem .ic{font-size:20px;line-height:1}.navitem span{font-size:10px;font-weight:600}.matchcard{background:var(--white);border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 14px #2a20160f}.matchcard .photo{background-position:50%;background-size:cover;align-items:flex-end;width:100%;height:200px;display:flex;position:relative}.matchcard .photo .name-overlay{color:#fff;background:linear-gradient(#0000,#0000008c);width:100%;padding:14px}.matchcard .photo .name-overlay .nm{font-family:Fraunces,serif;font-size:20px;font-weight:600}.matchcard .photo .name-overlay .loc{opacity:.9;font-size:11.5px}.badge-row{flex-wrap:wrap;gap:6px;padding:12px 14px 0;display:flex}.badge{letter-spacing:.03em;background:var(--bone-deep);color:var(--ink-soft);border-radius:20px;align-items:center;gap:4px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:9.5px;display:flex}.matchcard .body{padding:12px 14px 16px}.matchcard .tag-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.matchcard .tag{background:var(--bone-deep);color:var(--ink-soft);border-radius:20px;padding:4px 9px;font-size:11px}.matchcard .actions{gap:8px;padding:4px 14px 16px;display:flex}.matchcard .actions .btn{padding:10px;font-size:13px}.profiledetail .hero{background-position:50%;background-size:cover;border-radius:18px;align-items:flex-end;width:100%;height:240px;margin-bottom:16px;display:flex;position:relative}.profiledetail .hero .ov{color:#fff;background:linear-gradient(#0000,#0000008c);border-radius:0 0 18px 18px;width:100%;padding:16px}.profiledetail .hero .ov .nm{font-family:Fraunces,serif;font-size:24px;font-weight:600}.section-block{margin-bottom:18px}.section-block .sh{text-transform:uppercase;letter-spacing:.06em;color:var(--maroon);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.info-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;font-size:13.5px;display:flex}.info-row .k{color:var(--ink-soft)}.info-row .v{text-align:right;max-width:60%;font-weight:600}.chat-header{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;display:flex}.chat-avatar{background-position:50%;background-size:cover;background-color:var(--bone-deep);border-radius:50%;flex-shrink:0;width:40px;height:40px}.bubble{border-radius:16px;max-width:78%;margin-bottom:10px;padding:10px 14px;font-size:13.5px;line-height:1.4}.bubble.them{background:var(--white);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.me{background:var(--maroon);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.chat-input-row{padding:12px 22px calc(12px + env(safe-area-inset-bottom)) 22px;background:var(--bone);border-top:1px solid var(--line);gap:8px;display:flex;position:sticky;bottom:0;left:0;right:0}.chat-input-row input{border:1.5px solid var(--line);background:var(--white);border-radius:20px;flex:1;padding:10px 15px;font-size:16px}.chat-input-row button{background:var(--maroon);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:38px;height:38px}.backbtn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;width:fit-content;margin-bottom:14px;font-family:inherit;font-size:12.5px;display:flex}.empty-note{color:var(--ink-soft);background:var(--bone-deep);border-radius:10px;margin-top:10px;padding:12px 14px;font-size:12px;line-height:1.5}.error-note{color:var(--red);background:#fbeaea;border:1px solid #e9c6c6;border-radius:10px;margin-bottom:14px;padding:10px 13px;font-size:12.5px}.success-note{color:var(--green);background:#e9f0e6;border:1px solid #c9dcc3;border-radius:10px;margin-bottom:14px;padding:10px 13px;font-size:12.5px}.center-loading{height:100%;color:var(--ink-soft);justify-content:center;align-items:center;padding-top:60px;font-size:13px;display:flex}.coin-badge{background:var(--bone-deep);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:20px;align-items:center;gap:5px;padding:5px 11px 5px 8px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;display:flex}.coin-dot{background:var(--gold);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.coin-option{border:1.5px solid var(--line);cursor:pointer;background:var(--white);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;display:flex}.coin-option.selected{border-color:var(--maroon);background:#fbf2ee}.coin-option .qty{font-family:Fraunces,serif;font-size:20px;font-weight:600}.coin-option .price{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:13px}.blur-placeholder{background:repeating-linear-gradient(45deg, var(--bone-deep), var(--bone-deep) 8px, var(--bone) 8px, var(--bone) 16px);width:100%;height:100%;color:var(--ink-soft);justify-content:center;align-items:center;font-size:22px;display:flex}.balance-strip{background:var(--bone-deep);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 15px;font-size:13px;display:flex}.balance-strip .bs-label{color:var(--ink-soft)}.balance-strip .bs-value{font-family:IBM Plex Mono,monospace;font-weight:600}
