.appdemo{--bg-base: #000000;--bg-canvas: #0a0a0f;--bg-elevated: #1c1c1e;--bg-secondary: #2c2c2e;--bg-tertiary: #3a3a3c;--bg-input: #1c1c1e;--separator: rgba(84, 84, 88, .5);--separator-opaque: #38383a;--label: #ffffff;--label-2: rgba(235, 235, 245, .65);--label-3: rgba(235, 235, 245, .45);--label-4: rgba(235, 235, 245, .28);--blue: #0a84ff;--blue-dim: rgba(10, 132, 255, .16);--green: #30d158;--green-dim: rgba(48, 209, 88, .16);--red: #ff453a;--red-dim: rgba(255, 69, 58, .16);--accent: #10b981;--accent-2: #06b6d4;--accent-dim: rgba(16, 185, 129, .16);--danger: var(--red);--danger-dim: var(--red-dim);--font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans Thai", "Helvetica Neue", system-ui, sans-serif;--font-text: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans Thai", "Helvetica Neue", system-ui, sans-serif;--font-thai: "Noto Sans Thai", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Inter", sans-serif;position:relative;overflow:hidden;margin:14px 0 2px;background:var(--bg-canvas);border:1px solid var(--separator);border-radius:18px;color:var(--label);font-family:var(--font-display);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}.appdemo *,.appdemo *:before,.appdemo *:after{box-sizing:border-box}.appdemo input,.appdemo button,.appdemo textarea,.appdemo select{font-family:inherit}.appdemo .num{font-family:var(--font-display)}.appdemo.adp-open{min-height:430px}.appdemo.adp-open-datetime{min-height:600px}.appdemo-cap{display:flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--font-text);font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--label-3);background:#ffffff05;border-bottom:1px solid var(--separator)}.appdemo-body{padding:15px 14px 17px;display:flex;flex-direction:column;gap:16px}.appdemo-field{display:flex;flex-direction:column;gap:6px}.appdemo-field>label{font-family:var(--font-display);font-size:12px;color:var(--label-2);font-weight:600;padding-left:4px}.appdemo .ces-input{background:var(--bg-elevated);border:1.5px solid transparent;border-radius:12px;padding:12px 14px;font-size:16px;color:var(--label);outline:none;width:100%;font-family:var(--font-text);transition:border-color .15s}.appdemo .ces-input.num{font-family:var(--font-display);font-weight:600}.appdemo .ces-input:focus{border-color:var(--accent)}.appdemo .ces-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.appdemo .ces-dtbtn{width:100%;background:var(--bg-elevated);border:1.5px solid transparent;border-radius:12px;padding:11px 14px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--label-3);cursor:pointer;text-align:left;transition:border-color .15s,color .15s,background .15s}.appdemo .ces-dtbtn:hover{border-color:var(--separator)}.appdemo .ces-dtbtn.num{text-align:center}.appdemo .ces-dtbtn.has-value{color:var(--accent)}.appdemo .ces-dt-grid{display:flex;flex-direction:column;gap:8px}.appdemo .ces-dt{display:flex;align-items:center;gap:9px}.appdemo .ces-dt-cap{flex-shrink:0;width:34px;font-family:var(--font-display);font-size:12px;font-weight:500;color:var(--label-2)}.appdemo .ces-dt .ces-dtbtn{flex:1;min-width:0}.appdemo .ces-dt-x,.appdemo .ces-hour-x{flex-shrink:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--separator);background:var(--bg-secondary);color:var(--label-2);cursor:pointer;padding:0;font-family:var(--font-display);transition:color .12s,border-color .12s}.appdemo .ces-dt-x:hover,.appdemo .ces-hour-x:hover{color:var(--danger);border-color:#ff453a66}.appdemo .ces-hours{display:flex;flex-direction:column;gap:8px}.appdemo .ces-hour-row{display:flex;align-items:center;gap:8px}.appdemo .ces-hour-row .ces-dtbtn{flex:1;min-width:0}.appdemo .ces-hour-dash{color:var(--label-3);flex-shrink:0;font-family:var(--font-display)}.appdemo .ces-types{display:flex;flex-wrap:wrap;gap:6px}.appdemo .ces-type{display:inline-flex;align-items:center;padding:7px 12px;background:var(--bg-elevated);color:var(--label-3);border:1px solid transparent;border-radius:10px;font-size:11px;font-weight:700;letter-spacing:.3px;font-family:var(--font-display);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .1s}.appdemo .ces-type:active{transform:scale(.94)}.appdemo .ces-type-label{display:block;flex-basis:100%;font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--label-3);text-transform:uppercase;letter-spacing:.5px;margin:4px 0 -2px}.appdemo .ces-type.selected{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.appdemo .ces-slots{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.appdemo .ces-slot{display:inline-flex;align-items:center;gap:6px;padding:5px 4px 5px 10px;background:var(--accent-dim);color:var(--accent);border-radius:10px;font-family:var(--font-display);font-size:12px;font-weight:700;border:1px solid var(--accent);cursor:pointer;transition:transform .1s,background .15s}.appdemo .ces-slot:active{transform:scale(.96);background:var(--accent);color:#fff}.appdemo .ces-slot-x{width:18px;height:18px;border-radius:6px;font-family:var(--font-display);background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:transform .1s}.appdemo .ces-slot-x:active{transform:scale(.85)}.appdemo .ces-slot-add{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:var(--bg-elevated);color:var(--accent);border:1.5px dashed var(--accent);border-radius:12px;font-size:13px;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:transform .1s,background .15s;align-self:flex-start}.appdemo .ces-slot-add:active{transform:scale(.97);background:var(--accent-dim)}.appdemo .adp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:20;display:flex;align-items:flex-end;justify-content:center;animation:adp-fade .22s ease}@keyframes adp-fade{0%{opacity:0}to{opacity:1}}.appdemo .adp-sheet{width:100%;max-height:100%;overflow-y:auto;background:var(--bg-canvas);border-top:1px solid var(--separator);border-radius:20px 20px 0 0;padding-bottom:14px;animation:adp-slide .34s cubic-bezier(.32,.72,0,1)}@keyframes adp-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.appdemo .adp-handle{width:36px;height:4px;background:var(--bg-tertiary);border-radius:2px;margin:8px auto 4px}.appdemo .adp-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px}.appdemo .adp-cancel,.appdemo .adp-save{padding:6px 10px;font-size:15px;font-weight:500;background:transparent;border:none;cursor:pointer;font-family:var(--font-display)}.appdemo .adp-cancel{color:var(--label-2)}.appdemo .adp-save{color:var(--accent);font-weight:700}.appdemo .adp-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--label)}.appdemo .tsp-preview{display:flex;align-items:center;gap:12px;padding:4px 16px 16px}.appdemo .tsp-seg{flex:1;padding:12px 14px;background:var(--bg-elevated);border:2px solid transparent;border-radius:14px;cursor:pointer;text-align:left;font-family:var(--font-display);transition:border-color .15s,background .15s,transform .12s}.appdemo .tsp-seg:active{transform:scale(.97)}.appdemo .tsp-seg.active{background:var(--accent-dim);border-color:var(--accent)}.appdemo .tsp-seg-label{font-family:var(--font-display);font-size:11px;color:var(--label-2);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:4px}.appdemo .tsp-seg.active .tsp-seg-label{color:var(--accent)}.appdemo .tsp-seg-time{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--label)}.appdemo .tsp-arrow{color:var(--label-3);flex-shrink:0}.appdemo .tsp-wheels{background:var(--bg-elevated);border-radius:16px;margin:0 16px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px}.appdemo .tsp-colon{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--label-2);letter-spacing:-.5px}.appdemo .dt-chips{display:flex;gap:6px;overflow-x:auto;padding:0 16px 16px;scrollbar-width:none}.appdemo .dt-chips::-webkit-scrollbar{display:none}.appdemo .dt-chip{flex-shrink:0;padding:8px 14px;background:var(--bg-elevated);border:none;border-radius:999px;font-size:13px;font-weight:600;color:var(--label);font-family:var(--font-display);cursor:pointer;transition:background .15s,transform .1s}.appdemo .dt-chip:active{transform:scale(.96);background:var(--bg-tertiary)}.appdemo .dt-chip-danger{color:var(--danger);background:var(--danger-dim)}.appdemo .cal{background:var(--bg-elevated);margin:0 16px;border-radius:16px;padding:16px}.appdemo .cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.appdemo .cal-nav{width:32px;height:32px;border-radius:8px;background:var(--bg-secondary);color:var(--label);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:var(--font-display);transition:background .15s}.appdemo .cal-nav:active{background:var(--bg-tertiary)}.appdemo .cal-title{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--label)}.appdemo .cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.appdemo .cal-weekdays span{text-align:center;font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--label-3);padding:4px 0;text-transform:uppercase}.appdemo .cal-weekdays .weekend{color:var(--accent)}.appdemo .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.appdemo .cal-blank{aspect-ratio:1}.appdemo .cal-day{aspect-ratio:1;background:transparent;border:none;border-radius:10px;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--label);cursor:pointer;transition:background .15s,color .15s,transform .1s}.appdemo .cal-day.weekend{color:var(--label-2)}.appdemo .cal-day.today{color:var(--accent);font-weight:800}.appdemo .cal-day.selected{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 4px 14px var(--accent-dim)}.appdemo .cal-day:not(.selected):active{background:var(--bg-secondary);transform:scale(.92)}.appdemo .dt-time-section{padding:20px 16px 8px}.appdemo .dt-time-label{font-family:var(--font-display);font-size:11px;color:var(--label-2);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:8px}.appdemo .dt-wheels{background:var(--bg-elevated);border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative}.appdemo .dt-colon{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--label-2);letter-spacing:-.5px}.appdemo .wheel{position:relative;width:80px;height:200px;overflow:hidden}.appdemo .wheel-band{position:absolute;top:50%;left:0;right:0;height:40px;transform:translateY(-50%);background:var(--bg-secondary);border-radius:10px;pointer-events:none;z-index:1;animation:wheel-band-pulse .18s cubic-bezier(.34,1.4,.64,1)}@keyframes wheel-band-pulse{0%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.04);background:var(--accent-dim)}to{transform:translateY(-50%) scale(1)}}.appdemo .wheel-inner{position:relative;z-index:2;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.appdemo .wheel-inner::-webkit-scrollbar{display:none}.appdemo .wheel-item{height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--label-3);scroll-snap-align:center;transition:color .15s,font-weight .15s,font-size .15s}.appdemo .wheel-item.selected{color:var(--label);font-weight:800;font-size:26px}.appdemo .wheel-fade{position:absolute;left:0;right:0;height:80px;pointer-events:none;z-index:3}.appdemo .wheel-fade-top{top:0;background:linear-gradient(180deg,var(--bg-elevated) 10%,transparent 100%)}.appdemo .wheel-fade-bottom{bottom:0;background:linear-gradient(0deg,var(--bg-elevated) 10%,transparent 100%)}@media (prefers-reduced-motion: reduce){.appdemo .adp-overlay,.appdemo .adp-sheet,.appdemo .wheel-band{animation:none!important}}.appdemo .adp-result{display:flex;align-items:baseline;gap:10px;margin-top:12px;padding:9px 12px;border-radius:10px;background:#10b98117;border:1px solid rgba(16,185,129,.28);font-family:var(--font-text);font-size:13px;line-height:1.55;color:var(--label)}.appdemo .adp-result-cap{flex-shrink:0;font-family:var(--font-text);font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#34d399;text-transform:uppercase}.appdemo .adp-result-tx{font-family:var(--font-text)}.appdemo .adp-result-tx b{font-family:var(--font-display);color:#34d399;font-weight:600}.appdemo .adp-result.warn{background:#ff9f0a1a;border-color:#ff9f0a59}.appdemo .adp-result.warn .adp-result-cap,.appdemo .adp-result.warn .adp-result-tx b{color:#ffb340}.appdemo .aif{display:flex;flex-direction:column;gap:16px}.appdemo .aif-sec{display:flex;flex-direction:column;gap:10px}.appdemo .aif-sec-title{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding-left:2px}.appdemo .aif-sec-icon{width:22px;height:22px;border-radius:6px;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #0000004d}.appdemo .aif-sec-text{text-transform:none;letter-spacing:-.1px;font-size:14px}.appdemo .aif-buf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appdemo .aif-buf{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-elevated);border-radius:10px;cursor:text}.appdemo .aif-buf-label{font-size:12px;font-weight:700;color:var(--label-2);letter-spacing:.1px;line-height:1.3}.appdemo .aif-buf-input{background:transparent;border:none;color:var(--accent);font-family:var(--font-display);font-size:20px;font-weight:700;outline:none;padding:0;width:100%}.appdemo .rbp{display:flex;flex-direction:column;gap:10px}.appdemo .rbp-hint{font-size:12px;color:var(--label-3);line-height:1.5;padding:0 2px}.appdemo .rbp-chips{display:flex;flex-wrap:wrap;gap:6px}.appdemo .rbp-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg-elevated);color:var(--label-2);border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:600;font-family:var(--font-text);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s}.appdemo .rbp-chip:active{transform:scale(.96)}.appdemo .rbp-chip.on{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.appdemo .rbp-dot{width:6px;height:6px;border-radius:50%;background:var(--label-3);flex-shrink:0}.appdemo .rbp-dot.on{background:#34c759}.appdemo .rbp-chip.on .rbp-dot{background:var(--accent)}.appdemo .rbp-tr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--bg-elevated);border-radius:12px}.appdemo .rbp-tr-label{font-size:14px;color:var(--label);font-weight:500}.appdemo .rbp-tr-input{display:flex;align-items:baseline;gap:4px}.appdemo .rbp-tr-input input{width:70px;background:transparent;border:none;color:var(--accent);font-family:var(--font-display);font-size:16px;font-weight:700;text-align:right;outline:none;padding:0}.appdemo .rbp-tr-unit{font-size:12px;color:var(--label-3);font-weight:600}.appdemo{--grab: #00b14f;--grab-dim: rgba(0, 177, 79, .18);--bolt: #34d186;--bolt-dim: rgba(52, 209, 134, .18)}.appdemo .section-header{display:flex;align-items:flex-end;justify-content:space-between;padding:4px 4px 8px}.appdemo .section-title{font-size:13px;font-weight:400;color:var(--label-2);text-transform:uppercase;letter-spacing:.5px}.appdemo .list-group{background:var(--bg-elevated);border-radius:16px;overflow:hidden}.appdemo .list-row{display:flex;align-items:center;gap:12px;padding:14px 16px;position:relative;min-height:56px}.appdemo .list-row+.list-row:before,.appdemo .dtf+.dtf:before,.appdemo .dtf+.list-row:before{content:"";position:absolute;top:0;left:60px;right:0;height:.5px;background:var(--separator)}.appdemo .list-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-display)}.appdemo .list-icon svg{width:18px;height:18px}.appdemo .list-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.appdemo .list-title{font-size:15px;font-weight:500;letter-spacing:-.2px;color:var(--label)}.appdemo .list-sub{font-size:13px;color:var(--label-2)}.appdemo .toggle{--toggle-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v10'%2F%3E%3Cpath d='M18.4 6.55a9 9 0 1 1-12.77.04'%2F%3E%3C%2Fsvg%3E");width:34px;height:34px;border-radius:50%;background:var(--bg-tertiary);color:var(--label-3);border:2px solid var(--separator);cursor:pointer;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,color .25s,border-color .25s,transform .1s}.appdemo .toggle:before{content:"";display:block;width:16px;height:16px;background:currentColor;-webkit-mask:var(--toggle-icon) no-repeat center / contain;mask:var(--toggle-icon) no-repeat center / contain;transition:background .25s}.appdemo .toggle.on{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.appdemo .toggle:active{transform:scale(.92)}.appdemo .bts-input{flex-shrink:0}.appdemo .bts-input input{width:64px;background:var(--bg-tertiary);border:none;color:var(--accent);font-family:var(--font-display);font-size:17px;font-weight:700;text-align:right;padding:6px 10px;border-radius:8px;outline:none}.appdemo .dtf{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);min-height:60px;width:100%;border:none;text-align:left;cursor:pointer;font-family:var(--font-text)}.appdemo .dtf-icon{width:32px;height:32px;border-radius:9px;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.appdemo .dtf-label{flex-shrink:0;font-size:15px;font-weight:500;letter-spacing:-.2px;color:var(--label)}.appdemo .dtf-value{flex:1;text-align:right;font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--accent);letter-spacing:-.3px;white-space:nowrap}.appdemo .dtf-value.empty{color:var(--label-3);font-weight:400;font-family:var(--font-text)}.appdemo .dtf-chev{color:var(--label-3);flex-shrink:0}.appdemo .dtf-clear{width:22px;height:22px;border-radius:50%;background:var(--bg-tertiary);color:var(--label-2);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0;flex-shrink:0}.appdemo .zme{position:relative;display:flex;flex-direction:column;background:var(--bg-canvas);color:var(--label);border:1px solid var(--separator);border-radius:14px;overflow:hidden}.appdemo .zme-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px;background:var(--bg-canvas);border-bottom:.5px solid var(--separator);flex-shrink:0}.appdemo .zme-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;background:var(--bg-elevated);color:var(--label-2);border:1.5px solid transparent;border-radius:10px;font-family:var(--font-display);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.appdemo .zme-tab.origin.on{background:#30d15826;border-color:#30d158;color:#30d158}.appdemo .zme-tab.dest.on{background:#0a84ff26;border-color:#0a84ff;color:#0a84ff}.appdemo .zme-tab-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.appdemo .zme-map{position:relative;height:320px;flex-shrink:0;background:#1a1d23}@media (min-width: 768px){.appdemo .zme-map{height:400px}}.appdemo .zme-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--label-3);font-size:13px}.appdemo .zme-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.45));z-index:2}.appdemo .zme-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.appdemo .zme-fit{position:absolute;top:12px;right:12px;width:38px;height:38px;background:#000000a6;color:#fff;border:.5px solid rgba(255,255,255,.15);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s,background .15s}.appdemo .zme-fit:active{transform:scale(.92);background:#000000d9}.appdemo .zme-panel{background:var(--bg-canvas);border-top:.5px solid var(--separator);padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.appdemo .zme-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-elevated);border-radius:10px}.appdemo .zme-row-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--label-2);flex-shrink:0}.appdemo .zme-row-value{flex:1;text-align:right;color:var(--label);font-size:13px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appdemo .zme-row-value.num{font-family:var(--font-display)}.appdemo .zme-row-value .muted{color:var(--label-3);font-weight:400;font-style:italic}.appdemo .zme-clear{width:26px;height:26px;border-radius:50%;background:var(--bg-tertiary);color:var(--label-2);display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;flex-shrink:0}.appdemo .zme-clear:active{transform:scale(.9);background:var(--danger-dim);color:var(--danger)}.appdemo .zme-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border:none;border-radius:12px;color:#fff;font-size:14.5px;font-weight:700;font-family:var(--font-display);cursor:pointer;transition:transform .1s,filter .15s;box-shadow:0 4px 14px #00000059}.appdemo .zme-cta:active{transform:scale(.97);filter:brightness(.92)}.appdemo .zme-row-slider{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.appdemo .zme-row-slider input[type=range]{flex:1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;margin:0}.appdemo .zme-row-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--bg-tertiary)}.appdemo .zme-row-slider input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--bg-tertiary)}.appdemo .zme-row-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);margin-top:-7px;cursor:pointer;box-shadow:0 1px 4px #0006}.appdemo .zme-row-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:none;background:var(--accent);cursor:pointer}.appdemo .zme-row-num{display:inline-flex;align-items:baseline;gap:3px;background:var(--bg-tertiary);padding:4px 8px;border-radius:6px;flex-shrink:0}.appdemo .zme-row-num input{width:44px;background:transparent;border:none;color:var(--accent);font-family:var(--font-display);font-size:14px;font-weight:700;text-align:right;outline:none;padding:0}.appdemo .zme-row-unit{font-size:11px;color:var(--label-3);font-weight:600}.appdemo .zme-zone-add{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appdemo .zme-zone-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 10px;background:transparent;border:1.5px dashed currentColor;border-radius:12px;font-family:var(--font-display);font-size:12.5px;font-weight:700;cursor:pointer;transition:transform .1s,background .15s}.appdemo .zme-zone-btn:active{transform:scale(.97)}.appdemo .zme-zonelist{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 0;border-top:.5px solid var(--separator)}.appdemo .zme-zchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-elevated);color:var(--label);border:1px solid var(--separator);border-radius:999px;font-family:var(--font-display);font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s}.appdemo .zme-zchip:active{transform:scale(.96);background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.appdemo .zme-zchip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.appdemo .zme-draw-ctrl{display:flex;flex-direction:column;gap:4px}.appdemo .zme-draw-title{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--label);padding-bottom:4px}.appdemo .zme-draw-actions{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.appdemo .zme-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:11px 8px;border-radius:10px;font-family:var(--font-display);font-size:12.5px;font-weight:700;cursor:pointer;transition:transform .1s,filter .12s;border:1px solid transparent}.appdemo .zme-action:active:not(:disabled){transform:scale(.97)}.appdemo .zme-action:disabled{opacity:.4;cursor:not-allowed}.appdemo .zme-action.ghost{background:var(--bg-elevated);color:var(--label)}.appdemo .zme-action.ghost.danger{color:var(--danger)}.appdemo .zme-action.primary{border:none;color:#fff}.appdemo .zme-panel{scrollbar-width:thin;scrollbar-color:rgba(120,120,128,.45) transparent}.appdemo .zme-panel::-webkit-scrollbar{width:9px;height:9px}.appdemo .zme-panel::-webkit-scrollbar-track{background:transparent}.appdemo .zme-panel::-webkit-scrollbar-thumb{background:#78788073;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.appdemo .zme-panel:hover::-webkit-scrollbar-thumb{background:#8c8c9499;background-clip:padding-box}.appdemo .zme-panel::-webkit-scrollbar-thumb:active{background:#96969ebf;background-clip:padding-box}.appdemo .zmd-fallback{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg-canvas);border:1px solid var(--separator);border-radius:14px}.appdemo .zmd-fallback-head{display:flex;flex-direction:column;gap:3px}.appdemo .zmd-fallback-title{font-size:14px;font-weight:700;color:var(--label)}.appdemo .zmd-fallback-note{font-family:var(--font-text);font-size:12px;line-height:1.5;color:var(--label-3)}.appdemo .zmd-fallback svg{display:block;width:100%;height:auto;border-radius:12px}.appdemo .zmd-lazy{display:flex;align-items:center;justify-content:center;min-height:620px;padding:14px;background:var(--bg-canvas);border:1px dashed var(--separator);border-radius:14px;font-family:var(--font-text);font-size:13px;color:var(--label-3)}@media (min-width: 768px){.appdemo .zmd-lazy{min-height:710px}}@media (prefers-reduced-motion: reduce){.appdemo .zme-fit,.appdemo .zme-cta,.appdemo .zme-action,.appdemo .zme-zone-btn,.appdemo .zme-zchip{transition:none!important}}.appdemo .btl{display:flex;flex-direction:column;gap:10px}.appdemo .btl-stage{background:var(--bg-elevated);border-radius:12px;padding:10px 26px 4px}.appdemo .btl-track{position:relative;touch-action:pan-y;cursor:pointer}.appdemo .btl-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.appdemo .btl-gridline{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:#ffffff0f}.appdemo .btl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-family:var(--font-text);font-size:11px;line-height:1.5;color:var(--label-2);padding:6px 0 2px}.appdemo .btl-head b{color:var(--label);font-weight:700}.appdemo .btl-hdot{width:8px;height:8px;border-radius:50%;background:#30d158;flex-shrink:0}.appdemo .btl-hdot.cand{background:#0a84ff}.appdemo .btl-hname{font-weight:700;color:var(--label)}.appdemo .btl-hsep{color:var(--label-4)}.appdemo .btl-humb{color:var(--label-3)}.appdemo .btl-row{position:relative;height:46px}.appdemo .btl-base{position:absolute;left:0;right:0;top:31px;height:2px;border-radius:2px;background:#ffffff1a}.appdemo .btl-band{position:absolute;top:22px;height:20px;border-radius:6px;background:#f7b32b33;border:1px solid rgba(247,179,43,.45);transition:background .12s,border-color .12s}.appdemo .btl-band.cand{background:#0a84ff33;border-color:#0a84ff80}.appdemo .btl-band.bad{background:#ff453a38;border-color:#ff453a99}.appdemo .btl-overlap{position:absolute;top:22px;height:20px;border-radius:6px;pointer-events:none;border:1px solid rgba(255,69,58,.7);background:repeating-linear-gradient(135deg,#ff453a6b 0,#ff453a6b 5px,#ff453a24 5px,#ff453a24 10px)}.appdemo .btl-pin{position:absolute;top:0;width:52px;height:46px;margin-left:-26px;display:flex;flex-direction:column;align-items:center;padding:0;border:none;background:transparent;color:inherit}.appdemo .btl-pin .btl-chip{font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:-.2px;line-height:1;padding:5px 7px;border-radius:999px;background:#30d158;color:#05270f;white-space:nowrap;flex-shrink:0}.appdemo .btl-pin .btl-stem{width:2px;flex:1;border-radius:1px;background:#30d158}.appdemo .btl-pin.cand{cursor:grab;touch-action:none;z-index:3}.appdemo .btl-pin.cand:active,.appdemo .btl-pin.cand.dragging{cursor:grabbing}.appdemo .btl-pin.cand .btl-chip{background:#0a84ff;color:#fff}.appdemo .btl-pin.cand .btl-stem{background:#0a84ff}.appdemo .btl-pin.cand.dragging .btl-chip{box-shadow:0 0 0 3px #0a84ff47}.appdemo .btl-pin.bad .btl-chip{background:#ff453a;color:#fff}.appdemo .btl-pin.bad .btl-stem{background:#ff453a}.appdemo .btl-pin.cand:focus-visible{outline:none}.appdemo .btl-pin.cand:focus-visible .btl-chip{box-shadow:0 0 0 3px #ffffff8c}.appdemo .btl-ruler{position:relative;height:20px;margin-top:2px}.appdemo .btl-tick{position:absolute;top:3px;transform:translate(-50%);font-size:10px;font-weight:600;color:var(--label-3);white-space:nowrap}.appdemo .btl-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--font-text);font-size:11px;line-height:1.5;color:var(--label-2)}.appdemo .btl-legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.appdemo .btl-legend .sw.booked{background:#30d158}.appdemo .btl-legend .sw.cand{background:#0a84ff}.appdemo .btl-legend .sw.umb{background:#f7b32b47;border:1px solid rgba(247,179,43,.6)}.appdemo .btl-legend .sw.umbc{background:#0a84ff47;border:1px solid rgba(10,132,255,.6)}.appdemo .btl-legend .sw.bad{background:#ff453a73;border:1px solid rgba(255,69,58,.75)}.appdemo .btl-checks{display:flex;flex-direction:column;gap:8px}.appdemo .btl-checkgrp{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-elevated);border-radius:10px}.appdemo .btl-check{display:flex;align-items:flex-start;gap:8px}.appdemo .btl-check-ic{flex-shrink:0;width:16px;text-align:center;font-family:var(--font-display);font-size:12px;font-weight:800;color:#30d158;line-height:1.55}.appdemo .btl-check.bad .btl-check-ic{color:#ff453a}.appdemo .btl-check-tx{font-family:var(--font-text);font-size:11.5px;line-height:1.55;color:var(--label-2)}.appdemo .btl-check-tx b{color:var(--label);font-weight:700}.appdemo .btl-check.bad .btl-check-tx{color:#ff9f9a}.appdemo .btl-check.bad .btl-check-tx b{color:#ffb3ae}@media (min-width: 768px){.appdemo .btl-stage{padding:12px 30px 6px}.appdemo .btl-head{font-size:11.5px}.appdemo .btl-check-tx{font-size:12px}}@media (prefers-reduced-motion: reduce){.appdemo .btl-band{transition:none!important}}.appdemo .wtl{display:flex;flex-direction:column;gap:10px}.appdemo .wtl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-family:var(--font-text);font-size:11px;line-height:1.5;color:var(--label-2)}.appdemo .wtl-hdot{width:8px;height:8px;border-radius:50%;background:#30d158;flex-shrink:0}.appdemo .wtl-hname{font-weight:700;color:var(--label)}.appdemo .wtl-hsep{color:var(--label-4)}.appdemo .wtl-stage{background:var(--bg-elevated);border-radius:12px;padding:10px 26px 4px}.appdemo .wtl-track{position:relative;touch-action:pan-y;cursor:pointer}.appdemo .wtl-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.appdemo .wtl-gridline{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:#ffffff0f}.appdemo .wtl-top{position:relative;height:22px}.appdemo .wtl-nowchip{position:absolute;top:1px;transform:translate(-50%);font-size:10px;font-weight:800;line-height:1;padding:5px 9px;border-radius:999px;border:0;background:#ffffffeb;color:#0b0d12;white-space:nowrap;cursor:grab;touch-action:none}.appdemo .wtl-nowchip:before{content:"";position:absolute;top:-12px;right:-10px;bottom:-12px;left:-10px}.appdemo .wtl-nowchip.dragging{cursor:grabbing}.appdemo .wtl-nowchip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appdemo .wtl-lane{position:relative;height:46px}.appdemo .wtl-base{position:absolute;left:0;right:0;top:43px;height:2px;border-radius:2px;background:#ffffff1a}.appdemo .wtl-zone{position:absolute;top:20px;height:24px;border-radius:6px;pointer-events:none;transition:left .12s,width .12s}.appdemo .wtl-zone.near{background:#ff9f0a2e;border:1px solid rgba(255,159,10,.5)}.appdemo .wtl-zone.past,.appdemo .wtl-zone.far{background:#ff453a2e;border:1px solid rgba(255,69,58,.55)}.appdemo .wtl-zone.win{background:#30d15833;border:1px solid rgba(48,209,88,.6)}.appdemo .wtl-open{position:absolute;right:3px;top:26px;font-size:9.5px;font-weight:800;line-height:1;color:#30d158;pointer-events:none;padding:3px 4px;border-radius:5px;background:#1c1c1eb8}.appdemo .wtl-nowline{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed rgba(255,255,255,.75);pointer-events:none;z-index:2}.appdemo .wtl-pin{position:absolute;top:0;width:52px;height:46px;margin-left:-26px;display:flex;flex-direction:column;align-items:center;padding:0;border:none;background:transparent;color:inherit;cursor:grab;touch-action:none;z-index:3}.appdemo .wtl-pin:active,.appdemo .wtl-pin.dragging{cursor:grabbing}.appdemo .wtl-pin .wtl-chip{font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:-.2px;line-height:1;padding:5px 7px;border-radius:999px;background:#0a84ff;color:#fff;white-space:nowrap;flex-shrink:0}.appdemo .wtl-pin .wtl-stem{width:2px;flex:1;border-radius:1px;background:#0a84ff}.appdemo .wtl-pin.dragging .wtl-chip{box-shadow:0 0 0 3px #0a84ff47}.appdemo .wtl-pin.bad .wtl-chip{background:#ff453a;color:#fff}.appdemo .wtl-pin.bad .wtl-stem{background:#ff453a}.appdemo .wtl-pin:focus-visible{outline:none}.appdemo .wtl-pin:focus-visible .wtl-chip{box-shadow:0 0 0 3px #ffffff8c}.appdemo .wtl-edges{position:relative;height:17px}.appdemo .wtl-edge{position:absolute;top:1px;transform:translate(-50%);font-size:10px;font-weight:800;color:#30d158;white-space:nowrap}.appdemo .wtl-ruler{position:relative;height:20px;margin-top:2px}.appdemo .wtl-tick{position:absolute;top:3px;transform:translate(-50%);font-size:10px;font-weight:600;color:var(--label-3);white-space:nowrap}.appdemo .wtl-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--font-text);font-size:11px;line-height:1.5;color:var(--label-2)}.appdemo .wtl-legend b{color:var(--label);font-weight:700}.appdemo .wtl-legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.appdemo .wtl-legend .sw.now{background:#ffffffeb}.appdemo .wtl-legend .sw.cand{background:#0a84ff}.appdemo .wtl-legend .sw.near{background:#ff9f0a47;border:1px solid rgba(255,159,10,.6)}.appdemo .wtl-legend .sw.past,.appdemo .wtl-legend .sw.far{background:#ff453a47;border:1px solid rgba(255,69,58,.7)}.appdemo .wtl-legend .sw.win{background:#30d15847;border:1px solid rgba(48,209,88,.7)}.appdemo .wtl-note{font-family:var(--font-text);font-size:11px;line-height:1.55;color:var(--label-3)}.appdemo .wtl-note b{color:var(--label-2);font-weight:700}@media (min-width: 768px){.appdemo .wtl-stage{padding:12px 30px 6px}.appdemo .wtl-head,.appdemo .wtl-note{font-size:11.5px}}@media (prefers-reduced-motion: reduce){.appdemo .wtl-zone{transition:none!important}}:root{--font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans Thai", "Helvetica Neue", system-ui, sans-serif;--font-text: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans Thai", "Helvetica Neue", system-ui, sans-serif;--font-thai: "Noto Sans Thai", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Inter", sans-serif;--bg:#0e0f13;--surface:#181a20;--surface2:#20232c;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.055);--ink:#f3f4f7;--ink2:#a7aeb8;--ink3:#71767f;--green:#2fd36b;--greenH:#4be089;--on-green:#05270f;--greenD:rgba(47,211,107,.14);--greenB:rgba(47,211,107,.3);--blue:#4a9bff;--blueH:#74b3ff;--on-blue:#04121f;--blueD:rgba(74,155,255,.14);--blueB:rgba(74,155,255,.35);--amber:#f7b32b;--amberBar:#f7b32b;--amberD:rgba(247,179,43,.13);--amberB:rgba(247,179,43,.34);--red:#ff5b52;--on-red:#2a0705;--redD:rgba(255,91,82,.13);--redB:rgba(255,91,82,.32);--fig-bg:#15171d;--fig-line:rgba(255,255,255,.08);--fig-ink:#eef0f3;--fig-ink3:#98a0ab;--card-shadow:none;--navbar-bg:rgba(14,15,19,.92)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px;color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:var(--font-text)}button,input,select,textarea{font-family:inherit}.cg2 h1,.cg2 h2,.cg2 h3,.cg2 h4,.brand .b1,.tb-title{font-family:var(--font-display)}a{color:var(--blue);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--blueH)}::selection{background:var(--greenD);color:var(--ink)}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:11px;height:56px;padding:0 12px;background:var(--navbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.menu-btn{width:40px;height:40px;border-radius:9px;border:1px solid var(--line);background:var(--surface2);color:var(--ink2);font-size:17px;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.menu-btn:hover{background:var(--line2);color:var(--ink)}.tb-title{font-size:15.5px;font-weight:700;letter-spacing:-.01em}.tb-title .dim{color:var(--ink3);font-weight:500}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:40;width:272px;padding:18px 14px 24px;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;transform:translate(-105%);transition:transform .22s ease}.sidebar>*{flex-shrink:0}.sidebar.open{transform:none;box-shadow:0 12px 40px #00000047}.brand{position:relative;padding:6px 10px 16px;margin-bottom:6px;border-bottom:1px solid var(--line2)}.brand .b1{font-size:17px;font-weight:700;letter-spacing:-.015em}.brand .b2{font-size:12px;color:var(--ink3);margin-top:3px;font-weight:400;line-height:1.45}.nav-sec{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);margin:16px 10px 8px}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:8px;margin-top:2px;color:var(--ink2);text-decoration:none;font-size:14px;font-weight:500;border:1px solid transparent;transition:background-color .14s ease,color .14s ease}.nav-item .no{width:22px;height:22px;border-radius:6px;background:var(--surface2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--ink3);flex-shrink:0;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.nav-item:hover{background:var(--surface2);color:var(--ink)}.nav-item.active{background:var(--greenD);color:var(--greenH);font-weight:600;box-shadow:inset 2.5px 0 0 var(--green)}.nav-item.active .no{background:var(--green);border-color:var(--green);color:var(--on-green)}.sb-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line2)}.sb-logout{display:flex;align-items:center;gap:10px;width:100%;padding:8px 11px;border-radius:8px;background:none;border:1px solid transparent;color:var(--ink3);font-family:inherit;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left;transition:background-color .14s ease,color .14s ease}.sb-logout svg{flex-shrink:0}.sb-logout:hover{background:var(--redD);color:var(--red)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#06080e80;opacity:0;pointer-events:none;transition:opacity .2s}.overlay.show{opacity:1;pointer-events:auto}.content{padding:74px 0 44px}.pager{max-width:520px;margin:30px auto 0;padding:0 14px;display:flex;gap:12px}.pager a{flex:1;display:block;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;text-decoration:none;font-size:13px;line-height:1.45;box-shadow:var(--card-shadow);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.pager a .pl{display:block;font-size:11px;color:var(--ink3);font-weight:600;letter-spacing:.03em;margin-bottom:3px}.pager a .pt{color:var(--ink);font-weight:700}.pager a.next{text-align:right}.pager a:hover{border-color:var(--green);color:var(--green)}.pager a:hover .pt{color:var(--green)}@media (min-width:960px){.topbar{display:none}.sidebar{transform:none}.overlay{display:none}.content{margin-left:272px;padding-top:34px}.pager{max-width:700px}}.cg2 .tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-top:16px;box-shadow:var(--card-shadow)}.cg2 table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:480px}.cg2 .tbl th{background:var(--surface2);color:var(--ink2);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.cg2 .tbl td{padding:11px 14px;border-bottom:1px solid var(--line2);color:var(--ink2);vertical-align:top;line-height:1.58}.cg2 .tbl tbody tr:nth-child(2n){background:var(--surface2)}.cg2 .tbl tr:last-child td{border-bottom:0}.cg2 .tbl td b,.cg2 .tbl td .lb2{color:var(--ink);font-weight:700}.cg2{color:var(--ink);line-height:1.7}.cg2 .wrap{max-width:520px;margin:0 auto;padding:6px 16px 46px}@media (min-width:768px){.cg2 .wrap{max-width:700px;padding:12px 26px 68px}}.cg2 .kick{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin:0 0 9px}.cg2 h1{font-size:29px;line-height:1.32;font-weight:700;margin:0 0 13px;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}.cg2 .lead{font-size:16.5px;color:var(--ink2);margin:0;line-height:1.62}.cg2 .lead b{color:var(--ink);font-weight:600}.cg2 h2{font-size:22px;font-weight:700;margin:0 0 5px;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}.cg2 h2 a{color:inherit;text-decoration:none}.cg2 .sec{margin-top:46px}.cg2 .sec-lead{color:var(--ink2);margin:0 0 18px;font-size:15px}.cg2 .analogy{margin-top:20px;background:var(--greenD);border:1px solid var(--greenB);border-left:4px solid var(--green);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--ink);line-height:1.6}.cg2 .analogy .q{color:var(--greenH);font-weight:700}.cg2 .hero-mini{display:flex;gap:12px;margin-top:24px}.cg2 .hcard{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 14px;position:relative;overflow:hidden;box-shadow:var(--card-shadow)}.cg2 .hcard .rt{font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:6px;line-height:1.4}.cg2 .hcard .rt b{color:var(--ink)}.cg2 .stamp{position:absolute;top:10px;right:11px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.02em}.cg2 .stamp.ok{background:var(--green);color:var(--on-green)}.cg2 .stamp.no{background:var(--red);color:var(--on-red)}.cg2 .hcard.ok{border-color:var(--greenB)}.cg2 .hcard.no{opacity:.7}.cg2 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cg2 .lever{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 15px;box-shadow:var(--card-shadow)}.cg2 .lever .ic{width:36px;height:36px;margin-bottom:11px}.cg2 .lever h3{font-size:15.5px;font-weight:700;margin:0 0 4px;color:var(--ink);letter-spacing:-.01em}.cg2 .lever p{font-size:13.5px;color:var(--ink2);margin:0;line-height:1.5}.cg2 .lever.wide{grid-column:1 / -1;display:flex;align-items:center;gap:15px}.cg2 .lever.wide .ic{margin-bottom:0;flex-shrink:0}.cg2 .qchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.cg2 .qchip{display:inline-flex;align-items:center;gap:7px;background:var(--surface2);border:1px solid var(--line);border-radius:999px;padding:5px 13px 5px 6px;font-size:12.5px;color:var(--ink2);font-weight:600;transition:border-color .14s ease,color .14s ease}a.qchip:hover{border-color:var(--green);color:var(--green)}.cg2 .qchip b{width:19px;height:19px;border-radius:50%;background:var(--green);color:var(--on-green);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.cg2 .pstep{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 17px;margin-top:14px;box-shadow:var(--card-shadow)}.cg2 .pstep-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.cg2 .pstep-n{width:30px;height:30px;border-radius:9px;background:var(--green);color:var(--on-green);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cg2 .pstep-q{font-size:16.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.cg2 .pstep-opts{display:flex;flex-direction:column;gap:8px}.cg2 .popt{display:flex;align-items:baseline;gap:8px;font-size:13.5px;background:var(--surface2);border:1px solid var(--line2);border-radius:9px;padding:9px 12px;flex-wrap:wrap;line-height:1.5;color:var(--ink2)}.cg2 .popt .cond{font-weight:700;flex-shrink:0;color:var(--ink2)}.cg2 .popt .cond.tag-g{color:var(--greenH)}.cg2 .popt .cond.tag-b{color:var(--blueH)}.cg2 .popt .arrow{color:var(--ink3);flex-shrink:0}.cg2 .popt .act{color:var(--ink2)}.cg2 .pviz{background:var(--fig-bg);border:1px solid var(--fig-line);border-radius:12px;padding:12px;margin-top:13px}.cg2 .pviz svg{display:block;width:100%;max-width:280px;height:auto;margin:0 auto}.cg2 .fig{background:var(--fig-bg);border:1px solid var(--fig-line);border-radius:16px;padding:14px}.cg2 .fig svg{display:block;width:100%;height:auto;border-radius:10px}.cg2 svg text{font-family:var(--font-display)}.cg2 .combos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.cg2 .combo{background:var(--fig-bg);border:1px solid var(--fig-line);border-radius:14px;padding:12px;text-align:center}.cg2 .combo svg{width:100%;height:auto;border-radius:8px;display:block}.cg2 .combo .lab{margin-top:10px;font-size:13px;font-weight:600;line-height:1.4;color:var(--fig-ink)}.cg2 .combo .sub{font-size:12px;color:var(--fig-ink3);margin-top:2px}.cg2 .combo .tag-g{color:#41d47f}.cg2 .combo .tag-b{color:#63a9ff}.cg2 .pstep-note{margin-top:12px;font-size:12.5px;color:var(--ink3);line-height:1.58;text-align:left}.cg2 .pstep-note b{color:var(--ink2)}.cg2 .tag-g{color:var(--green);font-weight:600}.cg2 .tag-b{color:var(--blue);font-weight:600}.cg2 .jobs{display:flex;flex-direction:column;gap:12px}.cg2 .job{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--card-shadow)}.cg2 .job-top{padding:14px 16px 12px;display:flex;align-items:flex-start;gap:10px}.cg2 .job-rt{flex:1;min-width:0}.cg2 .route{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:700;flex-wrap:wrap;color:var(--ink);letter-spacing:-.01em}.cg2 .route .arr{color:var(--ink3)}.cg2 .job-meta{font-size:13px;color:var(--ink2);margin-top:4px;font-variant-numeric:tabular-nums}.cg2 .fare{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.cg2 .verdict{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:500;line-height:1.4}.cg2 .verdict .b{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;font-size:14px}.cg2 .v-ok{background:var(--greenD);color:var(--greenH);border-top:1px solid var(--greenB)}.cg2 .v-ok .b{background:var(--green);color:var(--on-green)}.cg2 .v-no{background:var(--redD);color:var(--red);border-top:1px solid var(--redB)}.cg2 .v-no .b{background:var(--red);color:var(--on-red)}.cg2 .verdict b{color:var(--ink);font-weight:700}.cg2 .step{display:flex;gap:14px;padding-bottom:15px;position:relative}.cg2 .step:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line)}.cg2 .step .n{width:26px;height:26px;border-radius:50%;background:var(--surface2);border:1px solid var(--line);color:var(--green);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.cg2 .step .tx{font-size:14.5px;color:var(--ink);padding-top:2px;line-height:1.52}.cg2 .step .tx .muted{color:var(--ink2)}.cg2 .ex{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:17px;margin-top:16px;box-shadow:var(--card-shadow)}.cg2 .ex-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cg2 .ex-n{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--green);background:var(--greenD);border:1px solid var(--greenB);border-radius:999px;padding:3px 11px}.cg2 .ex h3{font-size:16.5px;font-weight:700;margin:0;color:var(--ink);letter-spacing:-.01em}.cg2 .ex .want{margin:9px 0 14px}.cg2 .want{font-size:13px;color:var(--ink3);margin:0 0 14px}.cg2 .ui{display:inline-block;background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap}.cg2 .mock{background:var(--surface2);border:1px solid var(--line);border-radius:11px;padding:12px;margin:13px 0}.cg2 .mock-cap{font-size:10.5px;font-weight:700;letter-spacing:.07em;color:var(--ink3);text-transform:uppercase;margin:0 0 8px}.cg2 .mock-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 12px;margin-top:7px;font-size:13.5px}.cg2 .mock-row .lb{color:var(--ink2);min-width:0}.cg2 .mock-row .vl{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0}.cg2 .mock-row .vl.on{color:var(--green)}.cg2 .mock-row .vl.dim{color:var(--ink3);font-weight:500}.cg2 .mock-btn{display:inline-flex;align-items:center;gap:6px;background:var(--blueD);border:1px solid var(--blueB);color:var(--blue);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700;margin-top:8px}.cg2 .mock-slot{display:inline-flex;align-items:center;gap:8px;background:var(--amberD);border:1px solid var(--amberB);color:var(--amber);border-radius:999px;padding:5px 13px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.cg2 .ex-result{display:flex;gap:10px;align-items:flex-start;background:var(--greenD);border:1px solid var(--greenB);border-left:4px solid var(--green);border-radius:9px;padding:11px 14px;font-size:13.5px;color:var(--ink);margin-top:13px;line-height:1.55}.cg2 .ex-result .tick{color:var(--greenH);font-weight:800;flex-shrink:0}.cg2 .ex-warn{display:flex;gap:10px;align-items:flex-start;background:var(--amberD);border:1px solid var(--amberB);border-left:4px solid var(--amberBar);border-radius:9px;padding:11px 14px;font-size:13px;color:var(--ink2);margin-top:9px;line-height:1.55}.cg2 .ex-warn .b{color:var(--amber);font-weight:800;flex-shrink:0}.cg2 .rem{display:flex;gap:12px;background:var(--amberD);border:1px solid var(--amberB);border-left:4px solid var(--amberBar);border-radius:10px;padding:13px 15px;margin-top:13px}.cg2 .rem .ic{width:24px;height:24px;flex-shrink:0;margin-top:1px}.cg2 .rem h4{font-size:15px;font-weight:700;margin:0 0 2px;color:var(--ink)}.cg2 .rem p{font-size:13.5px;color:var(--ink2);margin:0;line-height:1.5}.cg2 .foot{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink3);text-align:center;line-height:1.6}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.doc-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:41;pointer-events:none;background:transparent}.doc-progress-bar{height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform;background:linear-gradient(90deg,var(--green),var(--blue));transition:transform .08s linear}@media (min-width:960px){.doc-progress{left:272px}}.doc-toc-rail{position:fixed;top:48px;z-index:25;max-height:calc(100vh - 80px);overflow-y:auto;padding:2px 0 10px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.doc-toc-rail::-webkit-scrollbar{width:7px}.doc-toc-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.doc-toc-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:0 0 9px 15px}.doc-toc-rail .doc-toc-list{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.doc-toc-rail .doc-toc-link{display:block;margin-left:-1px;padding:5px 13px;font-size:12.5px;line-height:1.45;color:var(--ink3);text-decoration:none;border-left:2px solid transparent;transition:color .14s ease,border-color .14s ease}.doc-toc-rail .doc-toc-link:hover{color:var(--ink)}.doc-toc-rail .doc-toc-link.current{color:var(--green);border-left-color:var(--green);font-weight:600}.doc-toc-rail .doc-toc-link:focus-visible{outline-offset:-2px}@media (min-width:1200px){.content.has-toc-rail{padding-right:212px}}.doc-toc-box{margin:22px 0 4px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--card-shadow);overflow:hidden}.doc-toc-box>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;font-size:14px;font-weight:700;color:var(--ink);-webkit-user-select:none;user-select:none;transition:background-color .14s ease}.doc-toc-box>summary::-webkit-details-marker{display:none}.doc-toc-box>summary:hover{background:var(--surface2)}.doc-toc-box>summary:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.doc-toc-box .doc-toc-chevron{flex-shrink:0;width:9px;height:9px;margin-right:2px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);transition:transform .18s ease}.doc-toc-box[open] .doc-toc-chevron{transform:rotate(-135deg)}.doc-toc-box[open]>summary{border-bottom:1px solid var(--line2)}.doc-toc-box .doc-toc-list{list-style:none;margin:0;padding:6px}.doc-toc-box .doc-toc-link{display:block;padding:8px 12px;border-radius:8px;font-size:13.5px;line-height:1.5;color:var(--ink2);text-decoration:none;border-left:2px solid transparent;transition:background-color .14s ease,color .14s ease}.doc-toc-box .doc-toc-link:hover{background:var(--surface2);color:var(--ink)}.doc-toc-box .doc-toc-link.current{color:var(--greenH);background:var(--greenD);border-left-color:var(--green);font-weight:600}@media (prefers-reduced-motion:reduce){.doc-progress-bar,.doc-toc-box .doc-toc-chevron{transition:none}}.cg2 .grp{margin-top:22px}.cg2 .grp-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:0 2px 2px}.cg2 .grp-badge{flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:3px 10px;background:var(--amberD);color:var(--amber);border:1px solid var(--amberB)}.cg2 .grp-badge.alt{background:var(--greenD);color:var(--green);border-color:var(--greenB)}.cg2 .grp-title{font-size:12.5px;color:var(--ink3);line-height:1.5}.cg2 .grp-title b{color:var(--ink2)}.cg2 .grp-global{position:relative;margin-top:14px;padding:12px 12px 14px;border:1px solid var(--amberB);border-radius:14px;background:#f7b32b0b}.cg2 .grp-global .pstep{margin-top:12px;border-color:#f7b32b38}.cg2 .grp-global .pstep:first-of-type{margin-top:0}.cg2 .grp-global .pstep-n{background:var(--amber);color:#2a1c00}.cg2 .scope{display:inline-block;font-size:.94em;font-weight:700;line-height:1.5;border-radius:6px;padding:0 6px;white-space:nowrap;background:var(--greenD);color:var(--green);border:1px solid var(--greenB)}.cg2 .scope.bot{background:var(--amberD);color:var(--amber);border-color:var(--amberB)}
