:root{--paper:#f7f4ed;--ink:#1f1e1c;--muted:#6b675f;--line:#d3d1c7;--line-strong:#c9c4ba;--red:#d85a30;--red-dark:#c34a24;--blue:#185fa5;--hl:#faeeda;--amber:#ef9f27;--amber-ink:#854f0b;--teal:#0f6e56;--serif:Georgia,"Times New Roman","Noto Serif SC",serif;--mono:"Courier New",ui-monospace,"SFMono-Regular",monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Microsoft YaHei","Noto Sans",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(42,38%,95%,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1.5px dashed var(--line-strong)}.nav-inner{max-width:960px;margin:0 auto;padding:10px 18px;gap:16px}.nav-brand,.nav-inner{display:flex;align-items:center}.nav-brand{font-family:var(--mono);font-weight:700;letter-spacing:3px;color:var(--red);font-size:13px;gap:8px}.nav-logo{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);object-fit:cover}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-link{font-size:14px;padding:6px 12px;border-radius:8px;color:var(--muted)}.nav-link:hover{color:var(--ink);background:#efece3}.nav-link.active{color:var(--ink);font-weight:600}.wrap{max-width:960px;margin:0 auto;padding:24px 18px 80px}.hero{text-align:center;padding:36px 0 8px}.brand-kicker{font-family:var(--mono);font-weight:700;letter-spacing:5px;color:var(--red);font-size:13px;margin-bottom:8px}.hero h1{font-family:var(--serif);font-size:clamp(26px,6vw,40px);font-weight:700;line-height:1.2;margin-bottom:10px}.hero .tagline{font-size:15px;color:var(--muted);max-width:520px;margin:0 auto 22px}.hero-nudge{font-size:12px;color:var(--muted);margin-top:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}section.card-block{background:#fff;border:1.5px dashed var(--line-strong);border-radius:12px;padding:22px;margin-bottom:18px}section.card-block h1,section.card-block h2{font-family:var(--serif);font-size:17px;font-weight:700;margin-bottom:4px}.sub{font-size:13px;color:var(--muted);margin-bottom:16px}.card-block.landing h1{font-size:clamp(22px,5vw,30px);margin-bottom:6px}.card-block.landing .sub{font-size:14px;max-width:640px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;border:1.5px solid transparent;transition:all .15s;font-family:var(--sans)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff;transition:all .2s ease}.btn-primary:hover{background:var(--red-dark);box-shadow:0 0 24px rgba(216,90,48,.42);transform:translateY(-1px)}.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--red);color:var(--red)}.btn-block{width:100%}.btn-sm{padding:7px 14px;font-size:13px;border-radius:8px}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000;box-shadow:0 4px 16px rgba(31,30,28,.3)}.auth-chip{gap:7px;cursor:pointer;padding:3px 10px 3px 4px;border-radius:999px;border:1.5px dashed var(--line);background:#fff;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-chip,.auth-chip .avatar{display:flex;align-items:center}.auth-chip .avatar{width:26px;height:26px;border-radius:50%;color:#fff;font-weight:700;justify-content:center;font-size:13px;flex:0 0 auto}.auth-name{font-size:13px;font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-menu{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1.5px dashed var(--line-strong);border-radius:10px;padding:6px;min-width:150px;box-shadow:0 6px 18px rgba(0,0,0,.1);z-index:60}.auth-synced{font-size:11.5px;color:var(--muted);padding:5px 8px;border-bottom:1px dashed var(--line);margin-bottom:4px}.modal-backdrop{position:fixed;inset:0;background:rgba(31,30,28,.42);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--paper);border:1.5px dashed var(--line-strong);border-radius:14px;padding:22px;width:100%;max-width:360px;box-shadow:0 12px 40px rgba(0,0,0,.22);animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.modal-title{font-family:var(--serif);font-size:20px;font-weight:700;margin-bottom:6px}.hint-note{font-size:12px;color:var(--muted);margin-top:12px}.auth-modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.auth-modal-head .modal-title{margin-bottom:0;font-size:24px;letter-spacing:.5px}.modal-x{border:none;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px;border-radius:6px;transition:color .12s}.auth-label,.modal-x:hover{color:var(--ink)}.auth-label{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:7px}.auth-modal input[type=email]{border-style:solid;padding:13px 14px;border-radius:10px}.auth-send{margin-top:14px}.auth-note{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:12px}.auth-privacy{font-size:12px;color:var(--muted);margin-top:10px}.auth-privacy a{color:var(--muted);text-decoration:underline}.auth-privacy a:hover{color:var(--red)}.auth-err{font-size:12.5px;color:#b3261e;background:#fbedec;border:1px solid #efc5c2;border-radius:8px;padding:8px 11px;margin-top:10px}.auth-sent{font-size:40px;text-align:center;margin-top:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px;letter-spacing:.3px}input,select{width:100%;padding:11px 12px;font-size:16px;border:1.5px dashed var(--line);border-radius:9px;background:#fff;color:var(--ink);font-family:var(--sans)}input:focus,select:focus{outline:none;border-color:var(--red);border-style:solid}.field{margin-bottom:14px}.mono input,.mono select{font-family:var(--mono);font-weight:700;color:var(--red)}.drop{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;cursor:pointer;transition:border-color .15s;background:#fcfbf7}.drop.drag,.drop:hover{border-color:var(--red)}.drop .big{font-size:15px;font-weight:600;margin-bottom:4px}.drop .hint{font-size:12px;color:var(--muted)}.preview-img{max-width:100%;max-height:280px;border-radius:9px;margin-top:12px;border:1px solid var(--line);display:none}.preview-img.show{display:block}.ratio-box{background:var(--hl);border:1px solid var(--amber);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--amber-ink);margin-top:6px;display:none}.ratio-box.show{display:block}.notice{background:#e6f1fb;border:1px solid #b5d4f4;border-radius:10px;padding:11px 14px;color:#0c447c}.login-nudge,.notice{font-size:13px;margin:8px 0}.login-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#faeeda;border:1.5px dashed #ba7517;border-radius:10px;padding:12px 14px;color:#633806}.login-nudge .btn-sm{flex:0 0 auto;white-space:nowrap}#cardPreview{margin-top:16px;text-align:center}#cardPreview svg{width:100%;max-width:420px;height:auto;border:1px solid var(--line);border-radius:10px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.card-item{background:#fff;border:1.5px dashed var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.card-item .thumb{width:100%;aspect-ratio:4/3;object-fit:cover;background:#efece3;display:block}.card-item .ci-body{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.card-item .ci-item{font-size:14px;font-weight:600}.card-item .ci-price{font-family:var(--mono);font-weight:700;color:var(--red);font-size:18px}.card-item .ci-city{font-size:12px;color:var(--muted)}.card-item .ci-city:hover{color:var(--red);text-decoration:underline}.grid-empty{font-size:13px;color:var(--muted);text-align:center;padding:20px 0}.lang-switch{position:relative;display:inline-block}.lang-btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;padding:7px 13px;border:1.5px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;color:var(--ink);transition:all .16s ease}.lang-btn:hover{transform:translateY(-1px);box-shadow:0 2px 10px rgba(216,90,48,.14)}.lang-btn.open,.lang-btn:hover{border-color:var(--red);color:var(--red)}.lang-chev{font-size:9px;color:var(--muted);transition:transform .18s ease}.lang-btn.open .lang-chev{transform:rotate(180deg)}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;background:#fff;border:1.5px solid var(--line-strong);border-radius:12px;padding:6px;min-width:196px;box-shadow:0 12px 30px rgba(31,30,28,.14);opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.lang-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.lang-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 11px;font-size:13.5px;border:none;background:none;cursor:pointer;border-radius:8px;color:var(--ink);transition:background .12s ease}.lang-opt:hover{background:#f3f0e8}.lang-opt.active{background:var(--hl);font-weight:600;color:var(--amber-ink)}.lang-opt .check{width:14px;flex:0 0 auto;color:inherit}.lang-opt .code{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--muted);background:#f1eee6;border-radius:5px;padding:2px 6px}.lang-opt.active .code{background:hsla(0,0%,100%,.65)}.lang-auto-hint{font-size:11px;color:var(--muted);padding:7px 11px 4px;border-top:1px dashed var(--line);margin-top:5px}.legal{font-size:14px;color:var(--ink)}.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}.legal h3{font-family:var(--serif);font-size:15px;margin:20px 0 8px}.legal li,.legal p{font-size:13.5px;color:var(--muted);line-height:1.8}.legal ul{padding-left:20px;margin:6px 0}.foot{margin-top:24px;text-align:center;font-size:12px;color:#b4b2a9;font-family:var(--mono);letter-spacing:2px}@media (max-width:640px){.grid2{grid-template-columns:1fr}.wrap{padding:16px 12px 70px}section.card-block{padding:16px 14px}.btn-block{width:100%}.nav-inner{flex-wrap:wrap;gap:8px 10px}.nav-brand{letter-spacing:2px;font-size:12px;flex:1 1;min-width:0}.nav-links{order:3;width:100%;margin-left:0;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;flex:0 0 auto;padding:7px 12px}.hero{padding:24px 0 4px}.hero h1{font-size:clamp(22px,7vw,30px)}.hero .tagline{font-size:14px}.drop{padding:20px 12px}.cards-grid{grid-template-columns:1fr 1fr;gap:10px}#cardPreview svg{max-width:100%}}.card-item{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.card-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(31,30,28,.12);border-color:var(--amber)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.modal-head .modal-title{margin-bottom:0}.card-modal{max-width:460px}.card-modal-body{text-align:center}.card-modal-body svg{width:100%;max-width:420px;height:auto;border-radius:10px}.card-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.card-modal-actions .btn{flex:1 1;min-width:90px}.report-modal{max-width:380px}.report-body{display:flex;flex-direction:column;gap:8px}.report-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px dashed var(--line);border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--ink);transition:border-color .12s,background .12s}.report-opt:hover{border-color:var(--amber)}.report-opt input{accent-color:var(--red)}.report-body textarea{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;margin-top:4px;box-sizing:border-box}.report-body textarea:focus{outline:none;border-color:var(--red)}.report-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.report-thanks{font-size:14px;color:var(--muted);line-height:1.7;padding:14px 0 6px;text-align:center}.trust-box{margin:10px 0;padding:11px 14px;border:1.5px dashed var(--line);border-radius:10px;background:#fff;font-size:13px}.trust-score{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:600;color:var(--ink)}.trust-num{font-family:var(--mono);font-weight:700;font-size:16px;color:var(--ink);background:var(--hl);border-radius:6px;padding:1px 8px}.trust-good{color:#0f6e56}.trust-bad{color:#993c1d}