:root{--blue:#2563eb;--green:#0e9f6e;--orange:#d9822b;--navy:#14233b;--bg:#f4f7fc;--card:#fff;--border:#dce3ee;--muted:#64748b;--info-bg:#eaf1fe;--error:#dc2626;--radius:12px;--tab-bar-height:64px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--navy);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}a{color:inherit;text-decoration:none}.app-shell{background:var(--bg);flex-direction:column;max-width:430px;min-height:100dvh;margin:0 auto;display:flex}.brand-header{border-bottom:1px solid var(--border);background:var(--card);padding:20px 20px 12px}.brand{letter-spacing:-.03em;color:var(--navy);align-items:center;gap:10px;margin:0;font-size:26px;font-weight:700;display:flex}.brand-dot{color:var(--green)}.tagline{color:var(--muted);margin:2px 0 0;font-size:13px}.screen{flex:1;padding:20px}.with-tabs{padding-bottom:calc(var(--tab-bar-height) + 20px)}.screen-title{letter-spacing:-.01em;margin:0 0 16px;font-size:20px;font-weight:700}.muted{color:var(--muted)}.action-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.action-card{--tone:var(--blue);--tint:#eaf1fe;background:var(--card);border:1px solid var(--border);border-radius:20px;align-items:center;gap:16px;min-height:92px;padding:16px 14px 16px 20px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;box-shadow:0 1px 2px #14233b0d}.action-card:hover,.action-card:focus-visible{border-color:var(--tone);box-shadow:0 6px 18px #14233b1a}.action-card:active{background:var(--tint);transform:scale(.985)}.action-buy{--tone:var(--blue);--tint:#eaf1fe}.action-sell{--tone:var(--green);--tint:#e3f6ee}.action-need{--tone:#c2410c;--tint:#fcefe3}.action-offer{--tone:var(--navy);--tint:#e8ecf2}.action-badge{background:var(--tone);color:#fff;width:52px;height:52px;box-shadow:0 0 0 7px var(--tint);border-radius:50%;flex:none;place-items:center;display:grid}.action-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.action-title{letter-spacing:-.01em;font-size:17px;font-weight:700}.action-text{color:var(--muted);font-size:13px}.action-arrow{color:var(--tone);flex:none;font-size:26px;line-height:1}@media (prefers-reduced-motion:reduce){.action-card{transition:none}}.tone-buy{border-left-color:var(--blue)}.tone-sell{border-left-color:var(--green)}.tone-need{border-left-color:var(--orange)}.tone-offer{border-left-color:var(--navy)}.button-primary{border-radius:var(--radius);background:var(--blue);color:#fff;justify-content:center;align-items:center;min-height:48px;margin-top:20px;padding:0 20px;font-weight:600;display:flex}.tab-bar{width:100%;max-width:430px;height:var(--tab-bar-height);background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:48px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);margin:0;font-size:13px;font-weight:600}input[type=text],input[type=tel]{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;min-height:48px;color:var(--navy);font:inherit;padding:0 14px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}input[aria-invalid=true]{border-color:var(--error)}.phone-input{align-items:stretch;gap:8px;display:flex}.phone-prefix{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--muted);align-items:center;padding:0 12px;display:flex}.code-input{text-align:center;letter-spacing:.4em;font-weight:600;min-height:60px!important;font-size:28px!important}.hint{color:var(--muted);margin:0;font-size:13px}.error{color:var(--error);margin:0;font-size:13px}.notice{border-radius:var(--radius);background:var(--info-bg);padding:12px 14px;font-size:13px}.form-footer{margin-top:auto;padding-top:12px}button{font:inherit;cursor:pointer}button.button-primary{border:0;width:100%}.form-footer .button-primary{margin-top:0}.button-primary:disabled{opacity:.45;cursor:not-allowed}.button-secondary{border:1px solid var(--blue);border-radius:var(--radius);background:var(--card);width:100%;min-height:48px;color:var(--blue);padding:0 20px;font-weight:600}.link-button{min-height:48px;color:var(--blue);text-align:left;background:0 0;border:0;align-items:center;padding:0;font-weight:600;display:inline-flex}.link-button:disabled{color:var(--muted);cursor:default}.inline-link{color:var(--blue);font-weight:600;text-decoration:underline}.back-link{align-items:center;width:48px;height:48px;font-size:24px;display:inline-flex}.checkbox{align-items:flex-start;gap:12px;min-height:48px;padding-top:8px;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--blue);flex:none;margin:0}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.segment{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-height:48px;color:var(--muted)}.segment-active{border-color:var(--blue);background:var(--info-bg);color:var(--blue);font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card p{margin:0 0 4px}.card-title{font-size:18px;font-weight:600}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:13px;font-weight:600}.link-list{flex-direction:column;margin-top:20px;display:flex}.screen-header{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 12px;display:flex}.screen-header-title{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:600;overflow:hidden}select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;min-height:48px;color:var(--navy);font:inherit;padding:12px 14px}textarea{resize:vertical}.money-input{align-items:stretch;gap:8px;display:flex}.tone-bg-green{background:var(--green)}.photo-row{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb,.photo-add{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:72px;height:72px;padding:0;position:relative;overflow:hidden}.photo-add{border-style:dashed;border-color:var(--blue);color:var(--blue);font-size:28px}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-remove{color:#fff;background:#14233bbf;border-radius:50%;width:22px;height:22px;font-size:16px;line-height:22px;position:absolute;top:2px;right:2px}.photo-large{object-fit:cover;border:1px solid var(--border);border-radius:var(--radius);width:120px;height:120px}.plain{background:0 0;border:0;padding:0}.small{text-align:left;min-height:32px;font-size:13px}.centered{text-align:center;justify-content:center;width:100%;font-size:13px}.danger{color:var(--error)}.start{justify-content:flex-start;gap:24px}.stack{gap:8px;display:grid}.plain-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);border-left-width:6px;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 14px 12px 18px;display:flex}.list-title{font-weight:600}.list-status{color:var(--muted);text-align:right;flex:none;font-size:13px}.interest-list{gap:4px;display:grid}.interest-row{grid-template-columns:1fr auto auto;align-items:center;gap:8px;min-height:56px;display:grid}.interest-child{padding-left:16px}.interest-name{font-weight:600}.chip{border:1px solid var(--border);background:var(--card);min-width:76px;min-height:40px;color:var(--muted);border-radius:20px;padding:0 12px}.chip-on{color:#fff;font-weight:600}.chip-buyer{background:var(--blue);border-color:var(--blue)}.chip-seller{background:var(--green);border-color:var(--green)}.banner{border-radius:var(--radius);background:var(--green);color:#fff;flex-direction:column;gap:2px;margin-bottom:16px;padding:14px 16px;display:flex}.banner-title{font-weight:700}.centered-screen{text-align:center;align-items:stretch}.pulse{background:var(--blue);border-radius:50%;width:44px;height:44px;margin:24px auto 8px;animation:1.6s infinite pulse;box-shadow:0 0 #2563eb80}@keyframes pulse{70%{box-shadow:0 0 0 18px #2563eb00}to{box-shadow:0 0 #2563eb00}}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.opportunity-kicker{color:var(--blue);margin:0;font-weight:600}.countdown{text-align:center;color:var(--blue);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:40px;font-weight:700}.centered-text{text-align:center}.two-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tone-bg-navy{background:var(--navy)}a.button-primary{margin-top:0}.banner-global{margin:12px 20px 0}.chat-heading{flex:1;min-width:0}.chat-heading p{margin:0}.chat-reputation{color:var(--muted);font-size:13px;font-weight:400}.menu{background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;padding:4px 20px;display:flex}.chat-body{flex-direction:column;flex:1;gap:8px;padding:16px 20px;display:flex;overflow-y:auto}.bubble{background:var(--info-bg);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px;align-self:flex-start;max-width:80%;padding:10px 14px}.bubble-mine{background:#e3f6ee;align-self:flex-end}.bubble-image{border-radius:8px;max-width:100%;max-height:260px;display:block}.chat-footer{padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.chat-footer .notice,.chat-footer .notice p{margin:0}.chat-input{align-items:center;gap:8px;display:flex}.small-add{flex:none;width:48px;height:48px;font-size:22px}.send-button{border-radius:var(--radius);background:var(--blue);color:#fff;border:0;flex:none;width:48px;height:48px;font-size:24px}.send-button:disabled{opacity:.45}.muted-button{border-color:var(--border);color:var(--navy)}.stars{justify-content:center;gap:4px;display:flex}.star{width:52px;height:52px;color:var(--border);background:0 0;border:0;padding:0;font-size:36px}.star-on{color:var(--orange)}.dot{background:var(--blue);border-radius:50%;flex:none;width:12px;height:12px}.sheet-backdrop{z-index:10;background:#14233b80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:430px;max-height:90dvh;padding:20px 20px calc(20px + env(safe-area-inset-bottom));background:var(--card);border-radius:16px 16px 0 0;overflow-y:auto}.card .row{margin:0 0 6px}.notice-link{color:var(--blue);margin-bottom:16px;font-weight:600;display:block}.app-shell:has(.admin){max-width:1280px}.admin{flex-direction:column;flex:1;display:flex}.admin-header{background:var(--card);border-bottom:1px solid var(--border);padding:16px 24px 0}.admin-nav{flex-wrap:wrap;gap:4px 20px;margin-top:8px;display:flex}.admin-nav a{min-height:44px;color:var(--blue);align-items:center;font-weight:600;display:inline-flex}.admin-main{padding:24px;overflow-x:auto}.admin-title{margin:0 0 16px;font-size:24px;font-weight:700}.admin-subtitle{margin:32px 0 8px;font-size:18px;font-weight:700}.admin-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.admin-filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.admin-filters select,.admin-filters input{min-width:180px}.admin-filters .button-secondary,.admin-inline .button-secondary,.admin-table .button-secondary,.admin-overrides .button-secondary{width:auto;min-height:44px;padding:0 14px}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.admin-figure{color:var(--blue);font-size:28px;font-weight:700}.admin-table{border-collapse:collapse;background:var(--card);border:1px solid var(--border);width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.admin-table th{background:var(--bg);color:var(--muted);font-size:13px}.admin-table input[type=text],.admin-table select{min-width:120px;min-height:44px}.admin-inline{align-items:center;gap:8px;display:flex}.admin-add{max-width:720px;margin-bottom:12px}.admin-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.admin-chip{border:1px solid var(--border);background:var(--info-bg);min-height:32px;color:var(--navy);border-radius:16px;padding:0 10px;font-size:13px}.admin-overrides{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.admin-overrides label{color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.admin-overrides input[type=text]{width:110px;min-width:0}.admin-alert{color:var(--error);font-weight:600}.admin-off{opacity:.55}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px}.legal{line-height:1.6}.legal h2{color:var(--navy);margin:1.4rem 0 .4rem;font-size:1.05rem}.legal p,.legal li{font-size:.95rem}.legal ul{margin:.4rem 0 .8rem;padding-left:1.2rem}.legal li{margin-bottom:.35rem}.legal-updated{color:#6b7280;margin-top:-.4rem;font-size:.85rem}:root{--radius:14px;--radius-lg:20px;--shadow:0 1px 2px #14233b0d;--shadow-hover:0 6px 18px #14233b1a}.screen-header{z-index:5;gap:10px;padding:10px 14px;position:sticky;top:0}.back-link{background:var(--info-bg);width:40px;height:40px;color:var(--blue);border-radius:50%;justify-content:center;font-size:20px}.back-link:active{transform:scale(.94)}.screen-header-title{color:var(--navy);letter-spacing:-.01em;font-weight:700}.screen-title{letter-spacing:-.02em;font-size:22px}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px}.notice{border-radius:var(--radius)}.notice-link{border:1px solid #cddcfb}.section-label{letter-spacing:.06em;font-size:12px}.list-card{--tone:var(--blue);--tint:#eaf1fe;border-radius:var(--radius-lg);min-height:68px;box-shadow:var(--shadow);border-left-width:1px;justify-content:flex-start;gap:14px;padding:12px 14px;transition:border-color .12s,box-shadow .12s,transform .12s}.list-card:before{content:"";background:var(--tone);width:14px;height:14px;box-shadow:0 0 0 6px var(--tint);border-radius:50%;flex:none;margin:0 4px 0 6px}.list-card>:first-child{flex:1;min-width:0}.list-card:hover,.list-card:focus-visible{border-color:var(--tone);box-shadow:var(--shadow-hover)}.list-card:active{background:var(--tint);transform:scale(.985)}.list-status{background:var(--tint);color:var(--tone);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.tone-buy{--tone:var(--blue);--tint:#eaf1fe}.tone-sell{--tone:var(--green);--tint:#e3f6ee}.tone-need{--tone:#c2410c;--tint:#fcefe3}.tone-offer{--tone:var(--navy);--tint:#e8ecf2}.button-primary{border-radius:999px;min-height:52px;transition:transform .1s,box-shadow .12s;box-shadow:0 4px 12px #2563eb38}.button-primary:active{transform:scale(.98)}.button-primary:disabled{box-shadow:none}.button-secondary{border-radius:999px;min-height:52px}.tone-bg-green{background:var(--green);box-shadow:0 4px 12px #0e9f6e40}.tone-bg-navy{background:var(--navy);box-shadow:0 4px 12px #14233b33}.tone-bg-blue{background:var(--blue)}.tone-bg-orange,.tone-bg-need{background:#c2410c;box-shadow:0 4px 12px #c2410c38}.tone-bg-buy{background:var(--blue)}.tone-bg-sell{background:var(--green)}.tone-bg-offer{background:var(--navy)}.send-button{border-radius:50%}.chip,.segment{border-radius:999px}input[type=tel],input[type=text],input[type=number],input[type=search],select,textarea{border-radius:var(--radius);transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--info-bg);outline:none}.photo-add,.photo-thumb img{border-radius:var(--radius)}.banner{border-radius:var(--radius-lg);padding:14px 16px 14px 52px;position:relative;box-shadow:0 6px 18px #0e9f6e4d}.banner:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;left:18px;box-shadow:0 0 0 6px #ffffff4d}.pulse{width:56px;height:56px;box-shadow:0 0 0 10px var(--info-bg);margin:28px auto 14px;animation:1.8s infinite pulse-ring}@keyframes pulse-ring{0%{box-shadow:0 0 0 10px var(--info-bg), 0 0 0 10px #2563eb59}80%{box-shadow:0 0 0 10px var(--info-bg), 0 0 0 30px #2563eb00}to{box-shadow:0 0 0 10px var(--info-bg), 0 0 0 30px #2563eb00}}.countdown{background:var(--card);border:6px solid var(--blue);width:140px;height:140px;box-shadow:0 0 0 10px var(--info-bg);border-radius:50%;place-items:center;margin:16px auto 8px;font-size:34px;display:grid}.bubble{box-shadow:var(--shadow);border-radius:18px 18px 18px 6px}.bubble-mine{border-radius:18px 18px 6px}.chat-body{background:var(--bg)}.sheet{border-radius:24px 24px 0 0}.tab-bar{box-shadow:0 -2px 12px #14233b0d}.tab{flex-direction:column;gap:2px;font-size:11px;font-weight:500}.tab-icon{border-radius:999px;place-items:center;width:44px;height:28px;transition:background .12s;display:grid}.tab-active{color:var(--blue);font-weight:700}.tab-active .tab-icon{background:var(--info-bg)}@media (prefers-reduced-motion:reduce){.list-card,.button-primary,.tab-icon{transition:none}.pulse{animation:none}}
