.demo-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:-24px -18px 18px;padding:9px 16px calc(9px + env(safe-area-inset-top));padding-top:max(9px,env(safe-area-inset-top));background:var(--seal);color:#fff}.demo-tag,.demo-exit{color:#fff;border:0;font-size:12.5px;font-weight:650;letter-spacing:.08em}.demo-switch{display:flex;gap:5px;flex-wrap:wrap}.demo-switch button{padding:4px 9px;font-family:inherit;font-size:12.5px;font-weight:600;color:#fff;background:#ffffff29;border:1px solid rgba(255,255,255,.28);border-radius:999px;cursor:pointer;transition:background .12s ease,transform 90ms ease}.demo-switch button:hover{background:#ffffff4d}.demo-switch button:active{transform:scale(.96)}@media(max-width:400px){.demo-bar{margin-left:-14px;margin-right:-14px}}.fade-enter-active,.fade-leave-active{transition:opacity .16s ease}.fade-enter-from,.fade-leave-to{opacity:0}:root{--paper: #f7f6f3;--paper-raised: #ffffff;--paper-sunk: #efedE8;--ink: #16181c;--ink-60: #5c6169;--ink-40: #8b9098;--rule: #e2dfd8;--rule-strong: #c9c5bc;--pine: #0e5c46;--pine-hover: #0a4a38;--pine-tint: #e8f2ee;--seal: #c2410c;--seal-tint: #fdf0e9;--warn: #a16207;--warn-tint: #fdf6e3;--danger: #b42318;--danger-tint: #fdf0ef;--r-sm: 8px;--r: 12px;--r-lg: 16px;--lift: 0 1px 2px rgba(22, 24, 28, .04), 0 2px 8px rgba(22, 24, 28, .04);--lift-lg: 0 2px 4px rgba(22, 24, 28, .05), 0 8px 24px rgba(22, 24, 28, .07);--maxw: 560px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, sans-serif;--font-num: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}#app{max-width:var(--maxw);margin:0 auto;padding:24px 18px calc(64px + env(safe-area-inset-bottom))}h1,h2,h3{margin:0 0 8px;font-weight:650}h1{font-size:clamp(22px,6.4vw,27px);line-height:1.2;letter-spacing:-.02em}h2{font-size:18px;line-height:1.35;letter-spacing:-.01em}h3{font-size:15px;line-height:1.4}p{margin:0 0 10px}a{color:var(--pine);text-decoration:none;border-bottom:1px solid rgba(14,92,70,.28)}a:hover{border-bottom-color:var(--pine)}.muted{color:var(--ink-60)}.faint{color:var(--ink-40);font-size:13.5px;letter-spacing:.01em}.center{text-align:center}.num,.mono{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.02em;word-break:break-all}.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-40);margin-bottom:6px}.card{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--lift);padding:20px;margin-bottom:14px}.card-tight{padding:14px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:13px 20px;border:1px solid transparent;border-radius:var(--r);font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.01em;color:#fff;background:var(--pine);cursor:pointer;transition:background .12s ease,transform 90ms ease,box-shadow .12s ease;box-shadow:var(--lift);text-decoration:none}.btn:hover{background:var(--pine-hover)}.btn:active{transform:scale(.975);box-shadow:none}.btn:disabled{background:var(--rule-strong);color:#fff;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.btn-ghost{background:var(--paper-raised);color:var(--ink);border-color:var(--rule-strong);box-shadow:none}.btn-ghost:hover{background:var(--paper-sunk)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#8f1c13}.btn-sm{width:auto;min-height:38px;padding:8px 14px;font-size:14px;border-radius:var(--r-sm)}.btn-row{display:flex;gap:10px}.btn-row>*{flex:1}label.field{display:block;margin-bottom:16px}label.field>span{display:block;font-size:14px;font-weight:550;color:var(--ink);margin-bottom:7px}input[type=text],input[type=password],textarea,select{width:100%;padding:13px 14px;font-family:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r);transition:border-color .12s ease,background .12s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{outline:none;background:var(--paper-raised);border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-tint)}input::placeholder,textarea::placeholder{color:var(--ink-40)}textarea{min-height:128px;resize:vertical;font-family:var(--font-num);font-size:13.5px}.checkline{display:flex;align-items:flex-start;gap:11px;padding:14px;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14.5px;line-height:1.5}.checkline input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--pine)}.alert{padding:12px 14px;border-radius:var(--r);border:1px solid;font-size:14.5px;line-height:1.55;margin-bottom:12px}.alert-ok{background:var(--pine-tint);border-color:#0e5c4638;color:#0b4635}.alert-warn{background:var(--warn-tint);border-color:#a162073d;color:#7c4a06}.alert-err{background:var(--danger-tint);border-color:#b4231838;color:#8f1c13}.alert-info{background:var(--paper-sunk);border-color:var(--rule);color:var(--ink-60)}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule);font-size:14.5px}.kv:last-child{border-bottom:0}.kv>span:first-child{color:var(--ink-60);flex:none}.kv>span:last-child{text-align:right;word-break:break-all}.steps{display:flex;align-items:center;gap:8px;margin-bottom:20px}.steps>div{flex:1;height:3px;border-radius:2px;background:var(--rule);transition:background .24s ease}.steps>div.on{background:var(--pine)}.breathe{animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.62;transform:scale(.965)}}.dots:after{content:"";animation:dots 1.6s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"·"}50%{content:"··"}75%{content:"···"}}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}table.grid{width:100%;border-collapse:collapse;font-size:13.5px}table.grid th,table.grid td{text-align:left;padding:10px;border-bottom:1px solid var(--rule);white-space:nowrap}table.grid th{font-weight:600;color:var(--ink-60);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.back{display:inline-block;margin-bottom:16px;color:var(--ink-60);font-size:14px;border:0}.back:hover{color:var(--ink)}@media(prefers-color-scheme:dark){:root{--paper: #15161a;--paper-raised: #1e2026;--paper-sunk: #101116;--ink: #eceef2;--ink-60: #a4a9b4;--ink-40: #767b87;--rule: #2b2d35;--rule-strong: #3d4049;--pine: #2e9c76;--pine-hover: #37b184;--pine-tint: rgba(46, 156, 118, .16);--seal: #f0734a;--seal-tint: rgba(240, 115, 74, .13);--warn: #d99b2a;--warn-tint: rgba(217, 155, 42, .12);--danger: #e5675c;--danger-tint: rgba(229, 103, 92, .12);--lift: 0 1px 2px rgba(0, 0, 0, .4);--lift-lg: 0 4px 20px rgba(0, 0, 0, .45)}.btn{color:#08120e;font-weight:650}.btn-ghost{color:var(--ink)}.btn-danger,.btn-danger:hover{color:#fff}.alert-ok{color:#8fe0c1}.alert-warn{color:#f0c874}.alert-err{color:#f5a49c}input,textarea,select{color-scheme:dark}}@media(prefers-contrast:more){:root{--rule: var(--rule-strong)}.card,.alert{border-width:1.5px}}@media(max-width:400px){#app{padding-left:14px;padding-right:14px}.card{padding:17px 16px;border-radius:14px}.card-tight{padding:13px 14px}.kv{font-size:14px;gap:12px}}@media(max-width:340px){body{font-size:15px}#app{padding-left:12px;padding-right:12px}.btn{font-size:15px;min-height:46px}}@supports (padding: env(safe-area-inset-left)){#app{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
