:root{--bg: #fdf8f3;--bg-glow: #fff1e6;--card: #fffdfa;--card-muted: #faf4ee;--ink: #332b26;--ink-2: #786a5f;--ink-3: #97887b;--line: #f0e5da;--line-strong: #e4d5c6;--brand: #cf5223;--brand-deep: #b1430f;--brand-bright: #f2763f;--brand-soft: #ffe9dc;--brand-softer: #fff4ec;--buy: #1f8a56;--buy-soft: #e2f5ea;--wait: #a8720a;--wait-soft: #fdf1d6;--cool: #3468c4;--cool-soft: #e5edfb;--no: #cc3d55;--no-soft: #fde7ea;--insufficient: #857a70;--insufficient-soft: #f1ebe3;--warn: #a8720a;--warn-soft: #fdf1d6;--danger: #cc3d55;--danger-soft: #fde7ea;--radius: 20px;--radius-sm: 14px;--shadow: 0 2px 10px rgba(84, 56, 38, .05);--shadow-lift: 0 6px 18px rgba(84, 56, 38, .09);--shadow-brand: 0 8px 18px rgba(207, 82, 35, .22);--ring: 0 0 0 3px rgba(242, 118, 63, .18);--ease: cubic-bezier(.22, .8, .36, 1);--font-body: system-ui, -apple-system, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "OPPO Sans", "vivo Sans", "Microsoft YaHei", sans-serif;--font-display: ui-rounded, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "OPPO Sans", "vivo Sans", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0 0 auto 0;height:340px;background:radial-gradient(90% 100% at 50% 0%,var(--bg-glow) 0%,rgba(255,241,230,0) 72%);pointer-events:none;z-index:-1}.app-main{position:relative;min-height:100vh;max-width:560px;margin:0 auto;padding:18px 16px calc(88px + env(safe-area-inset-bottom,0px))}.page{display:flex;flex-direction:column;gap:14px}.page-header{padding:12px 2px 0}.page-header.row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.page-header h1{margin:0;font-size:24px;font-weight:800;letter-spacing:.2px;font-family:var(--font-display)}.page-sub{margin:6px 0 0;color:var(--ink-2);font-size:13.5px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;gap:6px;max-width:560px;margin:0 auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:#fffdfaf0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab-item{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:78px;padding:7px 12px;border-radius:16px;color:var(--ink-3);text-decoration:none;font-size:12px;font-weight:700;font-family:var(--font-display);transition:background .18s var(--ease),color .18s var(--ease),transform .15s var(--ease)}.tab-item:active{transform:scale(.94)}.tab-item.on{color:var(--brand-deep);background:var(--brand-soft)}.tab-icon{font-size:20px;line-height:1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s var(--ease)}@media (hover: hover){.card:hover{box-shadow:var(--shadow-lift);border-color:var(--line-strong)}}.card-muted{background:var(--card-muted)}.card-title{margin:0;font-size:15.5px;font-weight:700;font-family:var(--font-display)}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:14px;font-weight:700;color:var(--ink)}.field-label .req{font-style:normal;color:var(--brand);margin-left:4px;font-size:12px;font-weight:600}input[type=text],input[type=password],textarea,select{width:100%;padding:12px 14px;font-size:16px;font-family:inherit;color:var(--ink);background:#fffdfb;border:1.5px solid var(--line);border-radius:var(--radius-sm);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:focus,textarea:focus,select:focus{border-color:var(--brand-bright);box-shadow:var(--ring)}textarea{resize:vertical;min-height:104px}select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.field-hint{color:var(--ink-3);font-size:12.5px}.field-hint.center{text-align:center}.field-counter{align-self:flex-end;color:var(--ink-3);font-size:11.5px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--card-muted);border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease)}.check-row:has(input:checked){background:var(--brand-softer);border-color:#f3c4a9}.check-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--brand);flex:none}.check-row span{font-size:14px}.check-row small{display:block;color:var(--ink-3);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:11px 20px;font-size:15.5px;font-family:var(--font-display);font-weight:700;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.btn:not(:disabled):active{transform:scale(.97)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-sm{min-height:38px;padding:7px 16px;font-size:13.5px}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-brand);background-image:linear-gradient(180deg,#ffffff24,#00000008)}.btn-primary:not(:disabled):hover{background-color:var(--brand-deep)}.btn-primary:not(:disabled):active{box-shadow:0 4px 10px #cf522333}.btn-ghost{background:transparent;color:var(--brand-deep);border-color:var(--line-strong)}.btn-ghost:not(:disabled):hover{background:var(--brand-softer);border-color:#eecdb6}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 6px 14px #cc3d5533}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:#f6ccd3}.btn-danger-ghost:not(:disabled):hover{background:var(--danger-soft)}.btn-ghost-light{background:transparent;color:#fff;border-color:#fff9}.action-row{display:flex;gap:10px}.action-row .btn{flex:1}.link{color:var(--brand-deep);font-weight:600;background:none;border:none;padding:0;font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.suggestion-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-size:13.5px;font-weight:700;letter-spacing:.5px;font-family:var(--font-display)}.suggestion-lg{font-size:19px;padding:9px 20px}.tone-buy{background:var(--buy-soft);color:var(--buy)}.tone-wait{background:var(--wait-soft);color:var(--wait)}.tone-cool{background:var(--cool-soft);color:var(--cool)}.tone-no{background:var(--no-soft);color:var(--no)}.tone-insufficient{background:var(--insufficient-soft);color:var(--insufficient)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-sample{background:var(--warn-soft);color:var(--warn);border:1.5px dashed #eccf96}.chip-btn{min-height:36px;padding:5px 16px;border-radius:999px;border:1.5px solid var(--line-strong);background:#fffdfb;color:var(--ink-2);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .15s var(--ease)}.chip-btn:not(:disabled):active{transform:scale(.95)}.chip-btn.on{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 4px 10px #cf52232e}.chip-btn:disabled{opacity:.55;cursor:not-allowed}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-btn{min-height:44px;padding:8px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:#fffdfb;color:var(--ink);font-size:14px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .15s var(--ease)}.option-btn:not(:disabled):hover{background:var(--brand-softer);border-color:#eecdb6}.option-btn:not(:disabled):active{transform:scale(.96)}.option-btn:disabled{opacity:.55;cursor:not-allowed}.banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:var(--radius-sm);font-size:13.5px}.banner-neutral{background:var(--insufficient-soft);color:var(--ink-2)}.banner-warn{background:var(--warn-soft);color:var(--warn);font-weight:600}.banner-error{background:var(--no-soft);color:var(--no);font-weight:600}.report-head{border-color:#f3e3d5}.report-head-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.report-version-tag{color:var(--ink-3);font-size:13px}.report-hint{margin:2px 0 0;color:var(--ink-2);font-size:13.5px}.cool-recommend{margin:0;color:var(--cool);font-size:13.5px;font-weight:700}.report-meta{list-style:none;margin:0;padding:10px 0 0;border-top:1.5px dashed var(--line);color:var(--ink-3);font-size:12.5px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}.version-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.version-label{color:var(--ink-3);font-size:13px}.snapshot-desc{margin:0;font-size:14.5px}.kv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.kv-list li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.kv-list li span{color:var(--ink-3);flex:none}.kv-list li b{font-weight:600;text-align:right}.reason-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:reason}.reason{display:flex;flex-direction:column;gap:7px}.reason-head{display:flex;align-items:center;gap:8px}.reason-idx{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:700;flex:none}.reason-type{font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}.type-rule{background:var(--insufficient-soft);color:var(--insufficient)}.type-evidence{background:var(--cool-soft);color:var(--cool)}.reason-primary{font-size:12px;color:var(--warn);font-weight:700}.reason-text{margin:0;font-size:14.5px}.sample-note{margin:0;padding:9px 12px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:13px;font-weight:700;text-align:center;letter-spacing:1px}.evidence-refs{display:flex;flex-direction:column;gap:8px;padding-left:31px}.evidence-ref,.evidence-item{background:var(--card-muted);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px}.evidence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ref-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px}.ref-source{color:var(--ink-2);font-weight:600}.ref-time{color:var(--ink-3)}.ref-statement{margin:6px 0 0;font-size:13px;color:var(--ink-2)}.saved-row{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:var(--radius-sm);background:var(--buy-soft);color:var(--buy);font-weight:600}.wishlist-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.status-tag{font-size:12.5px;color:var(--ink-2);background:var(--insufficient-soft);border-radius:999px;padding:2px 11px}.cool-box{border-radius:var(--radius-sm);padding:11px 13px;font-size:13.5px}.cool-box p{margin:0 0 6px}.cool-active{background:var(--cool-soft);color:var(--cool)}.cool-expired{background:var(--insufficient-soft);color:var(--ink-2)}.adjust-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px}.decision-box{display:flex;flex-direction:column;gap:8px}.current-decision{margin:0;font-size:14px}.decision-actions{display:flex;gap:8px}.decision-actions .btn{flex:1}.cycles{border-top:1.5px dashed var(--line);padding-top:9px;font-size:13px}.cycles summary{cursor:pointer;color:var(--ink-2);font-weight:600}.cycle-item{margin-top:8px;padding:9px 11px;background:var(--card-muted);border:1px solid var(--line);border-radius:var(--radius-sm)}.cycle-line{margin:0 0 2px;color:var(--ink-2)}.claim-token-box{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.claim-token-box p{margin:0}.claim-token{align-self:stretch;word-break:break-all;background:var(--card-muted);border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);padding:11px;font-size:12.5px;color:var(--ink-2)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#332b266b;animation:fade-in .16s ease-out}.modal-card{width:100%;max-width:360px;background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:0 16px 44px #332b2638;animation:pop-in .22s var(--ease)}.modal-title{font-size:16.5px;font-weight:700;margin-bottom:8px;font-family:var(--font-display)}.modal-body{font-size:14px;color:var(--ink-2)}.modal-body p{margin:0 0 8px}.modal-actions{display:flex;gap:10px;margin-top:14px}.modal-actions .btn{flex:1}.toast-host{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:0;right:0;z-index:80;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 16px}.toast{max-width:100%;padding:11px 18px;border-radius:999px;background:#332b26ed;color:#fff;font-size:13.5px;box-shadow:0 6px 18px #332b2638;animation:toast-in .26s var(--ease)}.toast-error{background:#cc3d55f2}.toast-success{background:#1f8a56f2}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 0;color:var(--ink-2);font-size:14px}.spinner{width:19px;height:19px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:44px 16px;text-align:center}.empty-emoji{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--brand-softer);font-size:30px;margin-bottom:8px}.empty-title{margin:0;font-size:16.5px;font-weight:700;font-family:var(--font-display)}.empty-hint{margin:0;color:var(--ink-3);font-size:13px}.boot{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px}.boot-logo{font-size:30px;font-weight:800;letter-spacing:8px;font-family:var(--font-display);background:linear-gradient(120deg,var(--brand-bright),#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.muted{color:var(--ink-2)}.muted.small,.small{font-size:12.5px}.onboard-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(120% 80% at 50% 0%,#fff1e6e6,#fff1e600 70%),#332b2673;animation:fade-in .18s ease-out}.onboard-card{position:relative;width:100%;max-width:360px;min-height:352px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 20px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 44px #332b2638;text-align:center;animation:pop-in .24s var(--ease)}.onboard-skip{position:absolute;top:12px;right:12px;min-width:44px;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink-3);font-size:13.5px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),transform .15s var(--ease)}.onboard-skip:active{transform:scale(.95)}.onboard-emoji{display:inline-flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:50%;background:var(--brand-softer);font-size:46px;line-height:1;margin-top:10px;animation:pop-in .3s var(--ease)}.onboard-title{margin:0;font-size:20px;font-weight:800;font-family:var(--font-display)}.onboard-desc{margin:0;color:var(--ink-2);font-size:14.5px}.onboard-dots{margin-top:auto;display:flex;justify-content:center;gap:2px;padding:4px 0}.onboard-dot-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer}.onboard-dot{display:block;width:8px;height:8px;border-radius:999px;background:var(--line-strong);transition:width .2s var(--ease),background .2s var(--ease)}.onboard-dot.on{width:22px;background:var(--brand)}.onboard-actions{display:flex;gap:10px;width:100%}.onboard-actions .btn,.onboard-actions-ph{flex:1}.onboard-help-link{font-size:13.5px}.help-flow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.help-flow li{display:flex;align-items:flex-start;gap:12px}.help-step-idx{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;margin-top:2px;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font-size:14px;font-weight:800;font-family:var(--font-display)}.help-flow b{font-size:14.5px}.help-flow p{margin:2px 0 0;color:var(--ink-2);font-size:13.5px}.help-sug-list{display:flex;flex-direction:column;gap:9px}.help-sug-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 13px;background:var(--card-muted);border:1px solid var(--line);border-radius:var(--radius-sm)}.help-sug-row p{margin:0;color:var(--ink-2);font-size:13.5px}.help-plain-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.help-plain-list li{position:relative;padding-left:22px;color:var(--ink-2);font-size:14px}.help-plain-list li:before{content:"";position:absolute;left:6px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--brand-bright)}.help-back{min-height:44px}
