:root{--ink:oklch(24% .034 258);--ink-soft:oklch(32% .03 258);--paper:oklch(98.6% .004 250);--canvas:oklch(95.2% .012 252);--line:oklch(88% .014 250);--line-strong:oklch(80% .02 252);--text:oklch(27% .025 258);--muted:oklch(46% .02 256);--faint:oklch(62% .02 256);--copper:oklch(72% .13 72);--copper-deep:oklch(46% .11 52);--win:oklch(52% .17 27);--draw:oklch(58% .12 72);--lose:oklch(46% .11 158);--danger:oklch(55% .17 27);--ok:oklch(48% .11 152);--ease:cubic-bezier(.16, 1, .3, 1);--font:"Figtree", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--num:"Oswald", "Figtree", "PingFang SC", sans-serif;--display:"Noto Serif SC", "Songti SC", serif}.wealth,.wealth-login,.wealth-standalone{color:var(--text);font-family:var(--font);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:.9375rem;line-height:1.5}.wealth *{box-sizing:border-box}.wealth button,.wealth input,.wealth select,.wealth textarea{font:inherit;letter-spacing:0}.wealth :focus-visible,.wealth-login :focus-visible,.wealth-standalone :focus-visible{outline:2px solid var(--copper-deep);outline-offset:2px}.wealth-login{background:var(--ink);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--paper);border-top:3px solid var(--copper);border-radius:2px;width:min(400px,100vw - 32px);padding:36px 36px 28px;box-shadow:0 24px 60px oklch(12% .03 258/.45)}.login-card h2{text-align:left;color:var(--ink);font-family:var(--display);letter-spacing:.06em;margin:0 0 28px;font-size:1.6rem;font-weight:700}.login-card label{color:var(--muted);margin-bottom:18px;font-size:.8125rem;font-weight:600;display:block}.login-card input{border:1px solid var(--line-strong);width:100%;height:42px;color:var(--text);background:oklch(99% .003 250);border-radius:2px;margin-top:6px;padding:10px 12px}.login-card input:focus,.w-form input:focus,.w-form select:focus,.w-form textarea:focus,.w-filters input:focus,.w-filters select:focus{border-color:var(--copper-deep);outline:none}.login-card button[type=submit]{background:var(--ink);color:oklch(96% .01 80);letter-spacing:.12em;cursor:pointer;width:100%;height:44px;box-shadow:inset 0 -2px 0 var(--copper);border:0;border-radius:2px;margin-top:8px;padding:10px;font-weight:700}.login-card button[type=submit]:hover{background:var(--ink-soft)}.login-card button:disabled{cursor:not-allowed;background:oklch(70% .02 256)}.login-error{color:var(--danger);text-align:left;min-height:22px;margin:14px 0 0;font-size:.875rem}.wealth{background:var(--canvas);height:100vh;display:flex;overflow:hidden}.w-side{background:var(--ink);color:oklch(90% .015 250);width:232px;transition:width .22s var(--ease);flex-direction:column;flex:none;display:flex;position:relative}.wealth.is-collapsed .w-side{width:68px}.w-logo{height:72px;font-family:var(--display);letter-spacing:.2em;white-space:nowrap;color:oklch(93% .07 86);background:linear-gradient(oklch(98% .03 98) 0%,oklch(84% .11 82) 46%,oklch(68% .12 68) 100%);filter:drop-shadow(0 1px oklch(38% .07 52));-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:10px;padding:0 12px;font-size:1.28rem;font-weight:900;display:flex}.w-logo:before{content:"";background:var(--copper);flex:none;width:7px;height:7px;transform:rotate(45deg)}.w-side nav{flex:1;padding:8px 10px 24px;overflow:auto}.w-side nav::-webkit-scrollbar{width:8px}.w-side nav::-webkit-scrollbar-thumb{background:oklch(40% .02 258)}.w-nav-item,.w-group{color:oklch(86% .015 250);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:2px;align-items:center;width:100%;margin-bottom:2px;padding:10px 12px;font-size:.9375rem;line-height:1.4;text-decoration:none;display:flex}.w-nav-item:hover,.w-group:hover{color:oklch(97% .01 80);background:oklch(32% .03 258)}.w-nav-item.active{color:oklch(98% .01 80);box-shadow:inset 2px 0 0 var(--copper);background:oklch(34% .04 258);font-weight:650}.menu-icon{text-align:center;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-right:10px;font-size:15px;line-height:1;display:inline-flex}.w-nav-item>.menu-icon,.w-group>.menu-icon{color:var(--copper)}.w-nav-item:hover>.menu-icon,.w-group:hover>.menu-icon,.w-nav-item.active>.menu-icon{color:oklch(96% .05 92)}.w-group .caret{color:oklch(72% .02 250);margin-left:auto;font-size:10px}.w-sub{margin:0 0 8px;padding:0}.w-sub a{color:oklch(80% .015 250);white-space:nowrap;border-radius:2px;align-items:center;padding:8px 10px 8px 34px;font-size:.875rem;line-height:1.45;text-decoration:none;display:flex}.w-sub .menu-icon{color:oklch(78% .08 78);width:16px;height:16px;margin-right:8px}.w-sub .menu-icon svg{width:16px;height:16px}.w-sub a:hover .menu-icon{color:oklch(96% .05 92)}.w-sub a.active .menu-icon{color:var(--ink)}.w-sub a:hover{color:oklch(97% .01 80);background:oklch(30% .03 258)}.w-sub a.active{color:var(--ink);background:var(--copper);font-weight:700}.wealth.is-collapsed .w-label,.wealth.is-collapsed .caret,.wealth.is-collapsed .w-logo{letter-spacing:0;font-size:0}.wealth.is-collapsed .w-logo{filter:none;background:0 0;-webkit-background-clip:border-box;background-clip:border-box;height:72px}.wealth.is-collapsed .w-logo:before{margin:0}.wealth.is-collapsed .menu-icon{margin-right:0}.wealth.is-collapsed .w-nav-item,.wealth.is-collapsed .w-group{justify-content:center;padding:12px 0}.w-collapse{z-index:10;background:var(--copper);width:36px;height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:2px;flex:none;justify-content:center;align-self:center;align-items:center;margin:4px 0 16px;font-size:14px;font-weight:700;display:flex;position:static}.w-collapse:hover{background:oklch(78% .12 78)}.w-right{background:var(--canvas);flex-direction:column;flex:1;min-width:0;display:flex}.w-top{background:var(--paper);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.w-crumb{color:var(--faint);align-items:center;font-size:.875rem;line-height:1;display:flex}.w-crumb a{color:var(--copper-deep);font-weight:600;text-decoration:none}.w-crumb a:hover{color:var(--ink)}.w-crumb .sep{color:var(--line-strong);margin:0 8px}.w-crumb .current{color:var(--text);font-weight:650}.w-top-right{align-items:center;gap:18px;display:flex}.wealth .product-switcher{border:1px solid var(--line);background:var(--paper);min-width:132px;height:32px;color:var(--muted);border-radius:2px;padding:0 10px;font-size:.875rem}.w-user{color:var(--text);align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:flex}.w-avatar{background:var(--ink);width:28px;height:28px;color:var(--copper);border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.w-logout{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.875rem;font-weight:600}.w-logout:hover{color:var(--ink)}.w-main{background:var(--canvas);flex:1;min-width:0;padding:20px 24px 28px;overflow:auto}.w-page{background:0 0;min-height:0;padding:0}.w-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.w-head h2,.w-page h2,.back-bar h2{font-family:var(--display);letter-spacing:.04em;color:var(--ink);margin:0;font-size:1.35rem;font-weight:700;line-height:1.3}.w-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.w-btn{border:1px solid var(--line-strong);background:var(--paper);height:36px;color:var(--text);cursor:pointer;border-radius:4px;padding:0 14px;font-size:.875rem;font-weight:650;line-height:1}.w-btn:hover{border-color:var(--ink);color:var(--ink)}.w-btn:disabled{opacity:.55;cursor:default}.w-btn.primary{background:var(--ink);border-color:var(--ink);color:oklch(97% .02 90);box-shadow:inset 0 -2px 0 var(--copper)}.w-btn.primary:hover{background:var(--ink-soft);border-color:var(--ink-soft);color:oklch(98% .02 90)}.w-btn.plain{border-color:var(--line-strong);color:var(--text);background:0 0}.w-btn.plain:hover{border-color:var(--ink);background:var(--paper)}.w-btn.danger{color:var(--danger);background:0 0;border-color:oklch(78% .08 27)}.w-btn.danger:hover{color:var(--danger);background:oklch(96% .02 27)}.w-btn.warn{color:var(--copper-deep);background:0 0;border-color:oklch(78% .08 75)}.w-btn.warn:hover{color:var(--copper-deep);background:oklch(96% .03 80)}.w-btn.success{color:var(--ok);background:0 0;border-color:oklch(74% .08 152)}.w-btn.success:hover{color:var(--ok);background:oklch(96% .03 152)}.w-btn.info{border-color:var(--line-strong);color:var(--muted);background:0 0}.w-btn.info:hover{color:var(--text);background:oklch(96% .006 256)}.w-btn.sm{height:28px;padding:0 10px;font-size:.8125rem}.w-btn.link,.w-link{color:var(--copper-deep);cursor:pointer;background:0 0;border:0;padding:0;font-size:1.05rem;font-weight:700}.w-btn.link:hover,.w-link:hover{color:var(--ink)}.w-btn.text{color:var(--copper-deep);cursor:pointer;background:0 0;border:0}.bonus-block{margin-bottom:22px}.bonus-block h3{color:var(--ink);align-items:center;gap:8px;margin:0 0 10px;font-size:1.2rem;font-weight:700;display:flex}.bonus-block h3 i{background:#e23b3b;width:4px;height:16px;display:block}.bonus-sheet{border:1px solid var(--line);background:var(--paper);grid-template-columns:96px minmax(0,1fr);display:grid}.bonus-result{border-right:1px solid var(--line);color:var(--ink);background:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;font-size:1rem;font-weight:700;display:flex}.bonus-result b{color:#fff;text-align:center;background:#e23b3b;border-radius:2px;min-width:36px;padding:2px 6px;font-weight:700}.bonus-scroll{overflow:auto}.bonus-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:980px;font-size:1rem}.bonus-table th,.bonus-table td{border:1px solid var(--line);text-align:center;white-space:nowrap;background:var(--paper);color:var(--ink);padding:10px 8px;font-weight:650}.bonus-table .label{background:var(--ink);color:oklch(96% .01 80);font-weight:700}.bonus-table .when{color:var(--ink);width:120px;font-weight:650;line-height:1.45}.bonus-up,.bonus-down{margin-left:2px;font-size:.65rem;font-style:normal}.bonus-up{color:#e23b3b}.bonus-down{color:#2f79d0}.w-table-wrap{border:1px solid var(--line);background:var(--paper);max-width:100%;overflow:auto}table.w-table{border-collapse:collapse;background:var(--paper);width:100%;min-width:720px}.w-table th,.w-table td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;color:var(--ink);border-left:0;border-right:0;padding:14px 16px;font-size:1.05rem;font-weight:650;line-height:1.4}.w-table th{z-index:1;background:var(--ink);color:oklch(96% .01 80);letter-spacing:0;border-bottom-color:var(--ink);font-size:1.05rem;font-weight:700;position:sticky;top:0}.w-table tr.odd td{background:oklch(97.4% .006 252)}.w-table tr.special td{background:oklch(96% .03 85)}.w-table tr.hit td{background:oklch(96.5% .025 75)}.w-table tbody tr:hover td{background:oklch(95% .03 75)}.w-table .left{text-align:left}.w-table td.wrap{white-space:normal;min-width:240px;max-width:480px}.w-tag{border:1px solid;border-radius:2px;height:22px;padding:0 8px;font-size:.75rem;font-weight:650;line-height:20px;display:inline-block}.w-tag.success{color:var(--ok);background:oklch(96% .03 152);border-color:oklch(86% .05 152)}.w-tag.info{color:var(--muted);border-color:var(--line);background:oklch(96% .006 256)}.w-tag.warn{color:var(--copper-deep);background:oklch(96% .03 75);border-color:oklch(86% .06 75)}.w-tag.skip{color:var(--faint);border-color:var(--line);background:oklch(96% .006 256);text-decoration:line-through}.w-switch-row{white-space:nowrap;align-items:center;gap:8px;font-size:1.05rem;font-weight:650;line-height:22px;display:inline-flex}.w-switch-row .off{color:var(--faint)}.w-switch-row .on-text{color:var(--copper-deep);font-weight:650}.w-switch{cursor:pointer;background:0 0;border:0;padding:0}.w-switch i{background:oklch(82% .015 256);border-radius:11px;width:40px;height:22px;display:block;position:relative}.w-switch i:after{content:"";background:var(--paper);width:16px;height:16px;transition:left .16s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.w-switch.on i{background:var(--ink)}.w-switch.on i:after{background:var(--copper);left:21px}.w-pager{color:var(--ink);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;font-size:1rem;font-weight:650;line-height:36px;display:flex}.w-pager button,.w-pager select,.w-pager input{border:1px solid var(--line);background:var(--paper);height:36px;color:var(--ink);border-radius:2px;font-size:1rem;font-weight:650}.w-pager select{min-width:110px;padding:0 8px}.w-pager button{cursor:pointer;background:0 0;border-color:#0000;min-width:32px;padding:0 6px;font-weight:600}.w-pager button.on{color:var(--ink);background:var(--copper);border-color:var(--copper)}.w-pager button:disabled{color:var(--faint);cursor:not-allowed}.w-pager input{text-align:center;width:56px;margin-left:8px}.w-pager-total{margin-right:8px}.w-filters{border:0;border-bottom:1px solid var(--line);background:0 0;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;margin-bottom:18px;padding:0 0 14px;display:flex}.w-filters .w-btn{height:40px;font-size:1.05rem}.range-shortcuts{align-items:center;gap:8px;display:flex}.range-shortcuts button{border:1px solid var(--line-strong);background:var(--paper);height:40px;color:var(--ink);cursor:pointer;border-radius:2px;padding:0 14px;font-size:1.05rem;font-weight:700}.range-shortcuts button.on{background:var(--ink);border-color:var(--ink);color:oklch(97% .01 80)}.w-filters label{flex-direction:row;align-items:center;gap:8px}.w-filters label,.w-form label{color:var(--ink);letter-spacing:0;flex-direction:column;gap:8px;font-size:1rem;font-weight:700;display:flex}.w-filters input,.w-filters select,.w-form input,.w-form select,.w-form textarea{border:1px solid var(--line-strong);background:var(--paper);min-width:168px;height:40px;color:var(--ink);border-radius:2px;padding:0 12px;font-size:1.05rem;font-weight:650}.w-form textarea{height:auto;padding:8px}.w-form .row{align-items:center;gap:12px;margin-bottom:14px;display:flex}.w-form .row>span.lab{text-align:right;width:112px;color:var(--ink);flex:none;font-size:1rem;font-weight:700}.w-form .row>span.lab em{color:var(--danger);margin-right:4px;font-style:normal}.w-hint{color:var(--ink-soft);font-size:1rem;font-weight:650}.w-filters input.yield-amt{width:96px;min-width:96px}.yield-ranges{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.yield-ranges button{border:1px solid var(--line-strong);background:var(--paper);height:36px;color:var(--ink);cursor:pointer;border-radius:2px;padding:0 14px;font-weight:700}.yield-ranges button.on{background:var(--ink);border-color:var(--ink);color:oklch(97% .01 80)}.yield-lead,.yield-rules{color:var(--ink-soft);margin:0 0 10px;font-size:1rem;font-weight:650;line-height:1.6}.yield-rules{margin:0 0 16px;padding-left:1.2em}.yield-facts{color:var(--ink);flex-wrap:wrap;gap:8px 22px;margin:0 0 14px;font-size:1rem;font-weight:700;display:flex}.yield-facts b{font-family:var(--num);font-size:1.15rem;font-weight:500}.yield-block{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.plan-configs{gap:14px;margin:0 0 18px;display:grid}.plan-config{border:1px solid var(--line);border-top:3px solid var(--ink);background:var(--paper);padding:8px 16px 4px}.plan-config .section-title{margin-top:8px}.plan-line{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 14px;display:flex}.plan-line>.lab{min-width:7.5em;font-weight:700}.plan-dirs{flex-wrap:wrap;gap:12px 18px;display:flex}.plan-dirs label{flex-direction:row;align-items:center;gap:8px;font-weight:700;display:flex}.plan-dirs input[type=checkbox]{width:16px;min-width:16px;height:16px;accent-color:var(--copper-deep);padding:0}.plan-picks{flex-wrap:wrap;gap:8px;display:flex}.plan-picks button,.score-option>button{border:1px solid var(--line-strong);background:var(--paper);height:36px;color:var(--ink);cursor:pointer;border-radius:2px;padding:0 12px;font-weight:700}.plan-picks button.on,.score-option>button.on{background:var(--ink);border-color:var(--ink);color:oklch(97% .01 80)}.handicap-plan{margin:0 0 12px}.handicap-plan h4{margin:0 0 8px;font-size:1.05rem}.score-option{grid-template-columns:132px minmax(0,1fr);align-items:start;gap:8px 12px;margin-bottom:8px;display:grid}.score-chips{flex-wrap:wrap;gap:6px;display:flex}@media (width<=720px){.score-option{grid-template-columns:1fr}}.w-table tr.yield-total td{background:oklch(96% .012 80);font-weight:750}.profit-up{color:var(--ok)}.profit-down{color:var(--danger)}.w-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.w-inline h2{font-size:1.35rem}.w-inline select{border:1px solid var(--line-strong);background:var(--paper);height:34px;color:var(--text);border-radius:2px;padding:0 8px}.cond-head,.cond-row{grid-template-columns:110px 90px 110px 70px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.cond-head{color:var(--ink);letter-spacing:0;font-size:1rem;font-weight:700}.w-circle{width:28px;height:28px;color:var(--paper);cursor:pointer;border:0;border-radius:2px;font-weight:700}.w-circle.primary{background:var(--ink)}.w-circle.danger{background:var(--danger)}.w-mask{z-index:50;background:oklch(18% .03 258/.62);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.w-dialog{background:var(--paper);border-top:3px solid var(--copper);border-radius:2px;flex-direction:column;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;box-shadow:0 24px 48px oklch(18% .03 258/.28)}.w-dialog header,.w-dialog footer{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.w-dialog header{border-bottom:1px solid var(--line);font-family:var(--font);letter-spacing:0;font-size:1.15rem;font-weight:700}.w-dialog footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.w-dialog footer .w-btn{height:40px;font-size:1.05rem}.w-dialog-body{padding:18px;overflow:auto}.w-x{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:20px}.w-toasts{z-index:80;flex-direction:column;gap:8px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.w-toast{background:var(--paper);border-top:2px solid var(--ink);border-radius:2px;min-width:220px;padding:12px 16px;box-shadow:0 10px 28px oklch(20% .03 258/.16)}.w-toast.success{border-color:var(--ok)}.w-toast.warning{border-color:var(--copper)}.w-toast.error{border-color:var(--danger)}.w-toast.info{border-color:var(--ink)}.w-pop{display:inline-block;position:relative}.w-pop-panel{background:var(--paper);border:1px solid var(--line);text-align:left;z-index:5;width:320px;max-height:360px;padding:12px 14px;display:none;position:absolute;top:26px;right:0;overflow:auto;box-shadow:0 16px 32px oklch(20% .03 258/.14)}.w-pop:hover .w-pop-panel,.w-pop:focus-within .w-pop-panel{display:block}.w-pop-panel h4{font-family:var(--display);margin:0 0 8px}.w-pop-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;font-size:1rem;font-weight:650;display:flex}.w-pop-item span:first-child{color:var(--muted);flex:none}.w-pop-item span:last-child{color:var(--text);text-align:right;word-break:break-all}.home-page{background:var(--ink);min-height:calc(100vh - 60px);font-family:var(--font);background-image:linear-gradient(oklch(32% .028 258) 1px,#0000 1px),linear-gradient(90deg,oklch(32% .028 258) 1px,#0000 1px);background-size:48px 48px;justify-content:center;align-items:center;margin:-22px -28px -32px;display:flex;position:relative;overflow:hidden}.bg-decor .circle{background:0 0;border:1px solid oklch(40% .04 72);border-radius:50%;position:absolute}.circle-1{width:280px;height:280px;top:-90px;right:-40px}.circle-2{width:180px;height:180px;bottom:-50px;left:-30px}.circle-3{background:var(--copper);opacity:.85;border:0;width:90px;height:90px;top:18%;left:12%}.home-container{z-index:1;text-align:left;max-width:980px;padding:48px 28px;position:relative}.home-header{margin-bottom:36px}.home-page .title{color:oklch(96% .012 80);font-family:var(--display);letter-spacing:.04em;margin:0 0 14px;font-size:clamp(2rem,4vw,3.25rem);font-weight:900;line-height:1.15}.home-page .emoji{letter-spacing:0;margin:0 10px;font-size:.72em}.home-page .subtitle{color:oklch(86% .02 250);letter-spacing:.08em;border-left:3px solid var(--copper);margin:0;padding:4px 0 4px 14px;font-size:1rem;font-weight:500;line-height:1.5;display:inline-block}.features{flex-wrap:wrap;gap:16px;margin-bottom:36px;display:flex}.feature-card{border-top:2px solid var(--copper);background:oklch(28% .03 258);border-radius:2px;flex:220px;max-width:280px;padding:20px 18px 22px}.card-icon{margin-bottom:12px;font-size:1.5rem;line-height:1}.card-title{color:oklch(96% .012 80);font-size:1.125rem;font-weight:700;line-height:1.35;font-family:var(--display);margin-bottom:8px}.card-desc{color:oklch(80% .015 250);font-size:.875rem;line-height:1.6}.footer-decor{letter-spacing:.6em;color:var(--copper);margin-top:8px;font-size:1.25rem;line-height:1}.w-toolbar{border:0;border-bottom:1px solid var(--line);background:0 0;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-bottom:16px;padding:0 0 12px;display:flex}.hit-texts{color:var(--text);align-items:center;gap:4px;display:inline-flex}.hit-texts>span{color:var(--muted);margin-right:8px;font-size:.8125rem;font-weight:650}.hit-texts button{min-height:32px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:2px;padding:0 14px;font-weight:650}.hit-texts button:hover{color:var(--ink)}.hit-texts button.on{color:var(--ink);background:var(--copper);border-color:var(--copper)}.q-val{font-family:var(--num);letter-spacing:.02em;color:var(--ink);font-size:1.15rem;font-weight:500;line-height:1}.w-stats{color:var(--ink);letter-spacing:.01em;margin-left:auto;font-size:1rem;font-weight:700}.w-stats b{font-family:var(--num);color:var(--copper-deep);margin:0 2px;font-size:1.45rem;font-weight:600;line-height:1}.match{border:1px solid var(--line);background:var(--paper);animation:rise .42s var(--ease) both;border-radius:2px;margin-bottom:18px;overflow:hidden}.match-q{background:var(--paper);gap:0;padding:0 0 12px;display:grid}.match-board{background:var(--ink);display:grid}.board-top,.board-mid,.board-sum{align-items:center;gap:8px 16px;padding:12px 16px;display:grid}.board-top{grid-template-columns:.9fr 1.8fr 1.4fr .8fr .9fr}.board-mid{grid-template-columns:auto minmax(240px,1.4fr) minmax(280px,1.6fr)}.board-sum{border-top:1px solid var(--line);background:oklch(97.5% .008 252);grid-template-columns:auto 1.3fr 1.5fr 1.4fr}.precision+.precision{border-top:3px solid var(--ink)}.fold{border-top:1px solid var(--line);background:var(--paper)}.fold-toggle{cursor:pointer;text-align:left;background:oklch(96.4% .012 80);border:0;align-items:center;gap:10px;width:100%;padding:10px 16px;display:flex}.fold-toggle:hover{background:oklch(94.5% .02 78)}.fold-mark{border:1.5px solid var(--copper-deep);background:var(--paper);width:28px;height:28px;color:var(--copper-deep);flex:none;justify-content:center;align-items:center;display:inline-flex}.fold-toggle.is-open .fold-mark{background:var(--ink);border-color:var(--ink);color:var(--copper);box-shadow:inset 0 -2px 0 var(--copper)}.fold-toggle.is-open .fold-mark svg{transform:rotate(180deg)}.fold-title{color:var(--ink);font-size:.95rem;font-weight:700}.fold-state{border:1.5px solid var(--copper-deep);background:var(--paper);min-width:64px;height:28px;color:var(--copper-deep);letter-spacing:.12em;flex:none;justify-content:center;align-items:center;padding:0 12px;font-size:.875rem;font-weight:700;display:inline-flex}.fold-toggle.is-open .fold-state{background:var(--ink);border-color:var(--ink);color:oklch(97% .02 90);box-shadow:inset 0 -2px 0 var(--copper)}.fold-body{padding:0 16px 14px}.fold-body .placeholder{margin-bottom:0}.fold-match{border-top:3px solid var(--ink);box-shadow:inset 4px 0 0 var(--copper);background:oklch(92% .02 250);margin-top:12px}.fold-match .fold-toggle{background:oklch(88% .028 252)}.fold-match .fold-toggle:hover{background:oklch(85% .032 252)}.fold-match .fold-mark{background:var(--ink);border-color:var(--ink);color:var(--copper)}.fold-match .fold-state{background:var(--paper);border-color:var(--ink);color:var(--ink)}.fold-match .fold-body{background:oklch(95.5% .016 250)}.board-field,.odds-group{align-items:baseline;gap:8px;min-width:0;display:flex}.odds-group{flex-wrap:nowrap}.board-field .lab,.odds-group .lab{color:var(--muted);flex:none}.match-board,.match-board .lab,.match-board .strong,.match-board .q-val,.match-board .code,.match-board b,.match-board .odds .tag,.match .board-sum,.match .board-sum .lab,.match .board-sum .code,.match .board-sum b,.match .board-sum span{font-size:1.05rem}.board-field .strong{color:var(--ink);font-weight:700}.board-top .lab{color:oklch(74% .02 250)}.board-top .board-field,.board-top .strong{color:oklch(96% .01 80)}.board-mid .lab,.board-mid .odds .tag,.board-mid .q-val{color:oklch(98% .004 90);font-weight:700}.board-mid .q-val{font-family:var(--font);letter-spacing:0;line-height:1.2}.board-mid .board-field,.board-mid .q-val{white-space:nowrap}.board-mid .odds .tag{background:0 0;border-radius:0;min-width:0;height:auto;padding:0;font-size:1.05rem;line-height:1.2}.q-line{flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 16px;display:flex}.q-line .lab{color:var(--muted);letter-spacing:.02em;font-size:.75rem}.q-line .strong{color:var(--ink);font-weight:700}.match .q-line:first-child{background:var(--ink);gap:8px 20px;padding:14px 16px}.match .q-line:first-child .lab{color:oklch(74% .02 250)}.match .q-line:first-child .strong,.match .q-line:first-child span:not(.lab):not(.single){color:oklch(96% .01 80)}.match .q-line:first-child .strong{font-size:1.05rem}.single{color:var(--ink);background:var(--copper);padding:2px 6px;font-size:.75rem;font-weight:800}.match input[type=text],.match select,.match input[type=datetime-local]{border:1px solid var(--line-strong);background:var(--paper);border-radius:2px;width:88px;height:32px;padding:0 8px}.match input[type=datetime-local]{width:190px}.odds{background:0 0;border:0;align-items:baseline;gap:6px;min-width:84px;padding:0;display:flex}.odds .tag{min-width:28px;color:var(--muted);font-size:.75rem;display:inline-block}.result{border-top:1px solid var(--line);background:oklch(97.5% .008 252);padding:0 0 12px}.result>.section-title,.result>.w-table-wrap{margin-left:16px;margin-right:16px}.result-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.code{font-family:var(--num);color:var(--copper-deep);letter-spacing:.04em;margin-left:8px;font-size:1.35rem;font-weight:500}.stat-line,.rate-line{flex-wrap:wrap;gap:16px 22px;margin:8px 0;display:flex}.win{color:var(--win);font-weight:700}.draw{color:var(--draw);font-weight:700}.lose{color:var(--lose);font-weight:700}.section-title{letter-spacing:0;color:var(--ink);margin:14px 0 8px;font-size:1.05rem;font-weight:700}.score-pie{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:8px 20px;margin:0 0 18px;display:grid}.score-pie svg{width:180px;height:180px;display:block}.score-pie path,.score-pie circle{stroke:var(--paper);stroke-width:1.5px}.score-legend{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px 14px;margin:0;padding:0;list-style:none;display:grid}.score-legend li{color:var(--ink);grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;gap:6px;font-size:.95rem;display:grid}.score-legend i{width:12px;height:12px}.score-legend b,.score-legend em{font-style:normal;font-family:var(--num);font-weight:500}.score-legend em{color:var(--copper-deep)}.handicap-pies h4{color:var(--ink);margin:10px 0 6px;font-size:1rem;font-weight:700}@media (width<=720px){.score-pie{grid-template-columns:1fr;justify-items:center}}.placeholder{color:var(--muted);background:oklch(96.5% .008 252);padding:16px}.yellow{background:oklch(94% .06 95);font-weight:700}.tabs{border-bottom:1px solid var(--line);background:var(--paper);gap:0;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;height:44px;color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 18px;font-size:1.05rem;font-weight:700}.tabs button.on{color:var(--ink);border-bottom-color:var(--copper)}.detail-grid{grid-template-columns:140px 1fr;gap:12px 16px;max-width:760px;font-size:1.05rem;display:grid}.detail-grid .lab{color:var(--ink);text-align:right;font-weight:700}.cond-tag{border:1px solid var(--line);background:oklch(95% .01 252);border-radius:2px;margin-right:6px;padding:2px 8px;display:inline-block}.w-table tr.strategy-advice td{text-align:left;white-space:normal;background:oklch(98.2% .008 80);font-weight:500}.w-table tr.strategy-advice:hover td{background:oklch(98.2% .008 80)}.advice-line{flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:4px 0;display:flex}.advice-line .lab{color:var(--ink);font-weight:700}.advice-chip{border:1px solid var(--line);background:var(--paper);align-items:baseline;gap:6px;padding:1px 8px;display:inline-flex}.advice-chip em{font-style:normal;font-family:var(--num);color:var(--copper-deep);font-weight:500}.w-empty,.w-loading{text-align:center;color:var(--muted);padding:36px 16px}.w-loading i{border:2px solid var(--line);border-top-color:var(--copper-deep);vertical-align:-2px;border-radius:50%;width:14px;height:14px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.back-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.wealth-standalone{background:var(--canvas);min-height:100vh;padding:20px}.wealth-standalone .w-page{min-height:calc(100vh - 40px)}.checks{grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px 16px;display:grid}.checks label{letter-spacing:0;min-height:32px;color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:1.05rem;font-weight:650;display:flex}.checks input{width:16px;min-width:16px;height:16px;accent-color:var(--copper-deep);padding:0}.sporttery-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.sporttery-bar .tabs{background:0 0;border-bottom:0;flex:1;margin-bottom:0}.sporttery-bar .w-btn{height:40px;margin-bottom:8px;font-size:1.05rem}.w-form input[type=file]{height:auto;min-height:40px;padding:8px 0}.op-col{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.op-col .w-actions{flex-wrap:nowrap}.w-table .w-btn.sm{height:32px;padding:0 10px;font-size:1rem}.w-table td.ops .w-link+.w-link{margin-left:14px}.w-link.danger{color:var(--danger)}.w-link.danger:hover{color:var(--ink)}.strategy-bar{justify-content:flex-start;gap:18px;margin-bottom:16px}.strategy-bar h2{font-family:var(--font);letter-spacing:0;font-size:1.45rem}.strategy-form{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ink);max-width:980px;padding:6px 28px 22px}.strategy-form .section-title{margin-top:20px}.strategy-grid{grid-template-columns:1fr 1fr;column-gap:32px;display:grid}.strategy-form .field{grid-template-columns:108px minmax(0,1fr);align-items:center;gap:8px 12px;margin:0 0 16px;display:grid}.strategy-form .field.wide{grid-column:1/-1}.strategy-form .field.top{align-items:start}.strategy-form .field.top>.lab{padding-top:8px}.strategy-form .lab{color:var(--ink);text-align:right;font-size:1rem;font-weight:700}.strategy-form .lab em{color:var(--danger);margin-right:4px;font-style:normal}.strategy-form input,.strategy-form select{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-width:0;height:40px;color:var(--ink);border-radius:2px;padding:0 12px;font-size:1.05rem;font-weight:650}.strategy-form input:focus,.strategy-form select:focus{border-color:var(--copper-deep);outline:none}.field-line{align-items:center;gap:10px;display:flex}.field-line>input{flex:1}.field-line>input[type=number]{flex:none;width:108px}.choices{align-items:center;gap:22px;min-height:40px;display:flex}.choices label{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:1.05rem;font-weight:650;display:flex}.choices input{width:16px;min-width:16px;height:16px;accent-color:var(--copper-deep);padding:0}.cond-board .cond-head,.cond-board .cond-row{grid-template-columns:minmax(110px,150px) minmax(120px,160px) minmax(110px,150px) 64px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.cond-board .cond-head{color:var(--ink);font-size:1rem;font-weight:700}.strategy-actions{gap:10px;margin-top:6px;padding-left:120px;display:flex}.strategy-actions .w-btn{height:40px;font-size:1.05rem}.strategy-list .w-tag{height:28px;padding:0 10px;font-size:1rem;line-height:26px}.strategy-list .w-filters label{flex-direction:row;align-items:center}@media (width<=900px){.strategy-grid{grid-template-columns:1fr}}.pwd-wrap{display:flex;position:relative}.pwd-wrap input{width:100%;padding-right:36px}.pwd-wrap button{height:auto;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-size:1rem;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}@media (width<=900px){.features{flex-direction:column}.home-page .title{font-size:2rem}.w-side{z-index:1;width:188px;height:100%;position:relative}.wealth.is-collapsed .w-side{width:64px}.board-top,.board-mid,.board-sum{grid-template-columns:1fr 1fr}.w-main{padding:16px}.home-page{margin:-16px}}@media (prefers-reduced-motion:reduce){.match,.w-side,.w-switch i:after{transition:none;animation:none}}:root{--navy:#213c7f;--navy-2:#3052a5;--primary:#1677ff;--primary-hover:#0958d9;--text:#1d2129;--muted:#5e6f8d;--hint:#86909c;--line:#e5eaf0;--line-2:#eef2f6;--page:#f5f7fa;--sidebar:#f7f8fa;--chip:#f3f5f8;--warn:#d97706;--danger:#e5484d;--ok:#00a870;--radius:8px;--header-h:56px;--sidebar-w:220px;--ease:cubic-bezier(.22, 1, .36, 1);color:var(--text);font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}code,pre,.mono{font-family:JetBrains Mono,Cascadia Code,Consolas,monospace}.app-shell{flex-direction:column;height:100%;min-height:100%;display:flex}.topbar{height:var(--header-h);color:#fff;z-index:40;background:#213c7f;flex-shrink:0;align-items:center;gap:8px;padding:0 16px 0 12px;display:flex;position:sticky;top:0}.brand{color:#fff;white-space:nowrap;align-items:center;gap:8px;padding:0 8px 0 4px;font-size:15px;font-weight:700;display:flex}.brand-mark{background:linear-gradient(135deg,#5b9dff,#2a6deb);border-radius:5px;place-items:center;width:22px;height:22px;display:grid;box-shadow:0 0 0 3px #2a6deb40}.brand-mark svg{width:14px;height:14px}.football-brand{align-items:baseline;gap:10px}.football-brand-code{letter-spacing:.18em;color:#fff;font-family:Oswald,Noto Serif SC,sans-serif;font-size:22px;font-weight:700;line-height:1}.football-brand-name{letter-spacing:.18em;color:#e8eefc;font-family:Noto Serif SC,Songti SC,serif;font-size:15px;font-weight:900}.top-nav{flex:1;align-items:stretch;height:100%;margin-left:8px;display:flex;overflow-x:auto}.top-nav a,.top-nav>button,.top-menu>button{color:#fff;white-space:nowrap;background:0 0;border:0;border-radius:2px;align-items:center;height:32px;margin:12px 1px;padding:0 12px;font-size:14px;display:flex}.top-nav a:hover,.top-nav>button:hover,.top-menu>button:hover{color:#fff;background:#ffffff14}.top-nav a.active,.top-nav>button.active,.top-menu>button.active{color:#fff;background:#3052a5}.top-menu{align-items:stretch;height:100%;display:flex;position:relative}.top-menu:hover .top-drop{display:block}.top-drop{border:1px solid var(--line);z-index:50;background:#fff;border-radius:0 0 8px 8px;min-width:140px;display:none;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 10px 30px #0f23501f}.top-drop button{text-align:left;width:100%;color:var(--text);background:#fff;border:0;padding:10px 14px;font-size:13px}.top-drop button:hover{color:var(--primary);background:#f5f7fa}.top-right{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex;position:relative}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.product-switcher-wrap{display:flex}.product-switcher{color:#fff;background:#2a6deb;border:1px solid #ffffff47;border-radius:6px;min-width:148px;height:30px;padding:0 8px;font-size:12px;font-weight:600}.product-switcher option{color:var(--text);background:#fff}.ghost-input,.form-input,.form-select{border:1px solid var(--line);height:32px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 10px}.user-chip{color:#fff;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px 4px 4px;display:flex}.avatar{color:#fff;background:#2a6deb;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.user-menu{color:var(--text);border:1px solid var(--line);z-index:50;background:#fff;border-radius:8px;min-width:140px;position:absolute;top:48px;right:12px;overflow:hidden;box-shadow:0 10px 30px #0f23501f}.user-menu button{text-align:left;background:#fff;border:0;width:100%;padding:10px 14px}.user-menu button:hover{background:#f5f7fa}.body{flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar-w);background:#f5f7fa;border-right:1px solid #e6e8eb;flex-direction:column;flex-shrink:0;display:flex}.sidebar.collapsed{width:56px}.side-search{border:1px solid var(--line);background:#fafbfc;border-radius:6px;height:32px;margin:12px 12px 8px;padding:0 10px;font-size:12px}.side-nav{flex:1;padding:4px 8px 16px;overflow:auto}.side-group-btn,.side-link{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.side-group-btn{justify-content:space-between;font-weight:600}.side-group-btn:hover,.side-link:hover{background:#f3f6fb}.side-link.active{color:#1677ff;background:#fff;font-weight:600;box-shadow:inset 3px 0 #1677ff}.side-children{padding:2px 0 6px 8px}.side-sub{font-size:13px;font-weight:500}.side-collapse{border:1px solid var(--line);height:32px;color:var(--muted);background:#fff;border-radius:6px;margin:auto 8px 10px}.main{flex:1;min-width:0;padding:16px 20px 32px;overflow:auto}.crumb{color:var(--hint);margin-bottom:8px;font-size:12px}.page-title{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.page-sub{color:var(--muted);margin:6px 0 0;font-size:13px}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px 18px}.card+.card,.stack>*+*{margin-top:12px}.meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;margin-top:12px;display:grid}.meta-item{min-width:0}.meta-k{color:var(--hint);margin-bottom:4px;font-size:12px}.meta-v{color:var(--text);word-break:break-all;font-size:13px}.level-b{color:var(--warn);font-weight:600}.level-a{color:#c2410c;font-weight:600}.level-c{color:var(--ok);font-weight:600}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill,.tag{color:#2a6deb;background:#eef4ff;border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:12px;display:inline-flex}.tag-purple{color:#7c3aed;background:#f3e8ff}.tag-gray{background:var(--chip);color:var(--muted)}.pill-sec{color:#c2410c;background:#fff1e8}.pill-domain{color:#2a6deb;background:#eef4ff}.pill-biz{color:#7c3aed;background:#f3e8ff}.pill-tag{color:#00a870;background:#e7f8f1}.btn{border:1px solid var(--line);height:32px;color:var(--text);background:#fff;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.btn:hover{border-color:#c9d4e3}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:0 0}.btn-link{color:var(--primary);background:0 0;border:0;height:auto;padding:0 4px}.btn-danger{color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{height:28px;padding:0 10px;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters{align-items:end;gap:10px 16px;display:grid}.filters-5{grid-template-columns:1.6fr repeat(3,140px) 160px auto}.field label{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.field .form-input,.field .form-select{width:100%}.tabs-pill{background:var(--chip);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.tabs-pill button{height:28px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600}.tabs-pill button.active{color:var(--text);background:#fff;box-shadow:0 1px 2px #0f235014}.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f7f9fc;padding:10px 12px;font-weight:600}table.data td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:10px 12px}table.data tr:hover td{background:#fafcff}table.data .ops{white-space:nowrap;gap:8px;display:flex}.pager{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.pager button{border:1px solid var(--line);background:#fff;border-radius:4px;min-width:28px;height:28px}.pager button.active{border-color:var(--primary);color:var(--primary)}.status-online{color:var(--ok)}.status-offline{color:var(--hint)}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.result-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px 16px}.result-card+.result-card{margin-top:10px}.result-head{align-items:flex-start;gap:10px;display:flex}.src-badge{color:#fff;border-radius:4px;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:2px;font-size:12px;display:grid}.badge-green{background:#12b76a}.badge-blue{background:#2a6deb}.badge-cyan{background:#0ea5a4}.result-name{font-size:14px;font-weight:700}.result-name a:hover{color:var(--primary)}.result-cn{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.result-actions{gap:4px;margin-left:auto;display:flex}.icon-btn{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px}.icon-btn:hover{color:var(--primary);background:#f3f6fb}.icon-btn.on{color:#f5a524}.result-meta{color:var(--muted);grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 12px;margin-top:10px;font-size:12px;display:grid}.result-stats{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:8px;font-size:12px;display:flex}.result-desc{color:var(--muted);margin-top:8px;font-size:12px}.result-tags{color:var(--hint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.login-page{background:#1c2430 url(/login-bg.jpg) 50%/cover no-repeat;place-items:center;min-height:100%;display:grid}.login-page .login-card{background:#fff;border-top:0;border-radius:2px;width:360px;padding:28px 28px 22px;position:relative;box-shadow:0 8px 28px #00000047}.login-card h1{text-align:center;color:#1f1f1f;margin:0 0 22px;font-size:16px;font-weight:600}.login-card .login-field{color:#8c8c8c;background:#fff;border:1px solid #d9d9d9;border-radius:2px;align-items:center;gap:8px;height:38px;margin-bottom:16px;padding:0 10px;font-size:14px;font-weight:400;display:flex}.login-card .login-field:focus-within{border-color:#1677ff}.login-card .login-field input{background:0 0;border:0;outline:none;flex:1;width:auto;height:34px;font-size:14px}.login-card .login-remember{color:#595959;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;font-weight:400;display:flex}.login-card .login-remember input{flex:none;width:16px;height:16px;margin:0}.login-ip{color:#8c8c8c;margin:0 0 16px;font-size:13px}.login-error{color:#c45656;margin:0 0 12px;font-size:13px}.login-card button.login-submit{letter-spacing:.35em;color:#fff;background:#1677ff;border:0;border-radius:2px;justify-content:center;width:100%;height:38px;margin-top:0;font-size:14px;font-weight:500}.login-card button.login-submit:hover{background:#0958d9}.wm{pointer-events:none;z-index:30;opacity:.13;grid-template-columns:repeat(3,1fr);gap:72px 24px;padding:40px;display:grid;position:fixed;inset:56px 0 0;overflow:hidden;transform:rotate(-24deg)}.wm span{color:#5c6b80;white-space:nowrap;font-size:14px}.source-page{min-height:100%}.source-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.source-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.source-card{background:#fff;border:1px solid #f0f0f0;border-radius:2px;grid-template-columns:72px 1fr;gap:8px 12px;padding:16px 16px 14px;display:grid;position:relative;box-shadow:0 1px 2px #00000008}.source-logo{color:#1677ff;place-items:center;width:64px;height:48px;font-size:11px;font-weight:700;display:grid}.source-logo.gbase{color:#cf1322}.source-logo.gauss{color:#722ed1}.source-meta{min-width:0}.source-meta strong,.source-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.source-meta strong{font-size:13px;font-weight:500}.source-meta span{color:#8c8c8c;margin-top:4px;font-size:12px}.source-actions{grid-column:1/-1;gap:8px;display:flex}.source-use{color:#52c41a;background:#fff;border-color:#b7eb8f}.source-icons{display:flex;position:absolute;top:8px;right:8px}.experiment{grid-template-columns:240px 1fr;gap:16px;min-height:520px;display:grid}.experiment-side{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.experiment-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.experiment-item{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;width:100%;padding:8px 10px;display:flex}.experiment-item.active{color:#1677ff;background:#e6f4ff}.experiment-item em{color:#8c8c8c;font-size:12px;font-style:normal}.experiment-main{border:1px solid var(--line);background:#fff;border-radius:8px;padding:20px}.experiment-canvas{gap:16px;margin:24px 0;display:flex}.experiment-node{color:#0958d9;background:#f0f7ff;border:1px dashed #91caff;border-radius:8px;place-items:center;width:140px;height:72px;display:grid}.user-chip .btn-link{color:#d7e4ff;margin-left:8px}.modal-backdrop{z-index:80;background:#0f172a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(720px,100%);max-height:82vh;overflow:auto;box-shadow:0 20px 60px #0f23503d}.modal h3{margin:0;font-size:16px}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-body{padding:16px 18px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.ddl-pre{color:#e2e8f0;background:#0f172a;border-radius:8px;padding:14px;font-size:12px;line-height:1.55;overflow:auto}.lineage-toolbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:10px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.legend i{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.lineage-hint{color:var(--hint);margin-bottom:10px;font-size:12px}.lineage-canvas{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;min-height:320px;position:relative;overflow:auto}.lineage-inner{height:240px;position:relative}.lnode{border:1px solid var(--line);background:#fff;border-radius:8px;width:210px;position:absolute;overflow:hidden;box-shadow:0 4px 14px #0f23500f}.lnode.current{outline:2px solid #2a6deb}.lnode-h{color:#fff;justify-content:space-between;padding:4px 8px;font-size:11px;display:flex}.lnode-b{cursor:pointer;padding:8px 10px}.lnode-title{word-break:break-all;font-size:12px;font-weight:700}.lnode-sub{color:var(--hint);margin-top:2px;font-size:11px}.lnode-fields{border-top:1px dashed var(--line);color:var(--muted);padding:6px 8px 8px;font-size:11px}.lnode-search{border:1px solid var(--line);width:100%;height:24px;color:var(--text);background:#fff;border-radius:4px;margin-bottom:4px;padding:0 8px;font-size:11px}.lnode-search:focus{border-color:var(--primary);outline:none}.lnode-fields-list{max-height:110px;overflow:auto}.lnode-fields-empty,.lnode-fields-more{color:var(--hint);padding:4px 6px 0;font-size:10px}.lnode-fields .field-hit{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;padding:3px 6px;font-size:11px;display:flex}.lnode-fields .field-hit:hover{color:var(--primary);background:#e8f1ff}.fline-node{overflow:hidden}.fline-fields{flex-wrap:wrap;gap:4px;padding:0 8px 8px;display:flex}.fline-chip{color:#2a6deb;background:#eef4ff;border-radius:4px;align-items:center;height:22px;padding:0 8px;font-family:JetBrains Mono,Consolas,monospace;font-size:11px;font-weight:700;display:inline-flex}.fline-chip.on{color:#fff;background:#2a6deb}.fline-stub{width:96px;height:108px;color:var(--primary);background:#f4f8ff;border:1px dashed #2a6deb;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;font-size:12px;font-weight:600;line-height:1.3;display:flex;position:absolute}.fline-stub:hover{background:#e8f1ff}.fline-stub-dots{letter-spacing:2px;font-size:18px;line-height:1}.fline-stub-act{color:var(--muted);margin-top:4px;font-size:11px;font-weight:500}.ledge-label{color:var(--primary);cursor:pointer;background:#fff;border:0;padding:0 4px;font-size:11px;position:absolute;transform:translate(-50%,-50%)}.drawer{border-left:1px solid var(--line);background:#fff;width:320px;height:100%;padding:14px;position:absolute;top:0;right:0;overflow:auto;box-shadow:-8px 0 24px #0f235014}.split{grid-template-columns:240px 1fr;gap:12px;min-height:480px;display:grid}.tree-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.tree-item{text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:7px 10px;font-size:13px}.tree-item.active{color:var(--primary);background:#e8f1ff}.tree-group{color:var(--hint);margin:8px 0 4px;padding-left:10px;font-size:12px}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag-x{background:#f3f5f8;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.tag-x button{color:var(--hint);background:0 0;border:0;padding:0}.status-chips{flex-wrap:wrap;gap:8px;display:flex}.status-chips button.active{border-color:var(--primary);color:var(--primary);background:#eef4ff}.toast{z-index:90;color:#fff;background:#1d2129;border-radius:8px;padding:10px 14px;font-size:13px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0003}.placeholder-mod{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:10px;padding:48px}.field{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.form-stack{gap:12px;display:grid}.form-stack .field{flex-direction:column;align-items:stretch}.status-warn{color:var(--warn);font-weight:600}.status-bad{color:var(--danger);font-weight:600}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px 16px}.kpi-k{color:var(--hint);font-size:12px}.kpi-v{letter-spacing:-.03em;margin-top:4px;font-size:22px;font-weight:700}.kpi-s{color:var(--muted);margin-top:4px;font-size:12px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.mini-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px 16px}.mini-card-h{font-size:14px;font-weight:700}.sql-editor{resize:vertical;border:1px solid var(--line);color:#e2e8f0;background:#0f172a;border-radius:8px;width:100%;min-height:180px;padding:12px 14px;font-family:JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.55}.query-split{grid-template-columns:260px 1fr;min-height:640px}.query-workbench .tree-panel{max-height:72vh;overflow:auto}.relation-flow{flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:16px;display:flex}.rel-node{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:180px;padding:12px 14px;position:relative}.rel-arrow{color:var(--primary);font-weight:700;position:absolute;top:50%;right:-14px;transform:translateY(-50%)}.two-col{grid-template-columns:220px 1fr;gap:12px;display:grid}.steps{gap:18px;margin-bottom:16px;font-size:13px;display:flex}.steps .on{color:var(--primary);font-weight:700}.switch{background:#c9d4e3;border:0;border-radius:999px;width:36px;height:20px;position:relative}.switch.on{background:var(--primary)}.switch i{width:16px;height:16px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.on i{transform:translate(16px)}.retain-fields{gap:14px;max-width:560px;display:grid}.retain-row{color:var(--text);justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.retain-input{align-items:center;gap:8px;display:flex}.retain-input .form-input{text-align:right;width:112px}.day-suffix{color:var(--muted);font-size:13px}.section-title{margin:0;font-size:16px;font-weight:700}@media (width<=1100px){.meta-grid,.result-meta,.filters-5{grid-template-columns:1fr 1fr}.split,.two-col,.dash-body{grid-template-columns:1fr}}.dash-page{min-height:calc(100vh - var(--header-h));color:var(--text);background:#eef3f8;flex-direction:column;margin:-16px -20px -32px;display:flex}.dash-tabs{background:#e8eef6;border-bottom:1px solid #d8e1ec;align-items:flex-end;gap:8px;padding:8px 16px 0;display:flex}.dash-tab{color:#5e6f8d;background:0 0;border:1px solid #0000;border-bottom:0;border-radius:6px 6px 0 0;height:32px;padding:0 16px;font-size:13px}.dash-tab.on{color:var(--text);background:#fff;border-color:#d8e1ec;font-weight:600;box-shadow:inset 0 -1px #fff}.dash-home-pill,.dash-off-pill{border-radius:999px;align-items:center;height:22px;margin-bottom:5px;padding:0 8px;font-size:11px;display:inline-flex}.dash-home-pill{color:#2a6deb;background:#e8f1ff}.dash-off-pill{color:#c2410c;background:#fff4e5}.dash-head{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:10px 16px;display:flex}.dash-head h1{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700}.dash-head-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.dash-icon-btn{color:#5e6f8d;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.dash-icon-btn:hover{color:var(--primary);background:#f3f6fb}.dash-icon-btn.on{color:var(--primary);background:#e8f1ff}.dash-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dash-more-wrap{position:relative}.dash-more-mask{z-index:29;z-index:29;inset:0;background:0 0;border:0;padding:0;position:fixed;inset:0}.dash-more-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:176px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0f23501f}.dash-more-menu button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.dash-more-menu button:hover{background:#f3f7ff}.dash-more-menu button.danger{color:var(--danger)}.dash-more-menu button.danger:hover{background:#fff1f1}.dash-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:10px;margin:0 16px;padding:8px 12px;font-size:13px;display:flex}.dash-body{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);gap:12px;min-height:0;padding:12px 16px 16px;display:grid}.dash-panel{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px #0f235008}.dash-panel-h{border-bottom:1px solid var(--line);background:#f7f9fc;align-items:center;gap:10px;height:40px;padding:0 14px;font-size:13px;font-weight:600;display:flex}.dash-panel-meta{color:var(--hint);margin-left:auto;font-size:12px;font-weight:400}.excel-wrap{background:linear-gradient(#f4f6f8 1px,#0000 1px) 0 0/100% 22px,#fff;flex:1;min-height:360px;position:relative;overflow:auto}.excel{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:12px}.excel th,.excel td{white-space:nowrap;border:1px solid #e4e9ef;height:26px;padding:0 8px}.excel thead th{z-index:2;color:#6b7c93;text-align:center;background:#f3f5f8;min-width:118px;font-weight:600;position:sticky;top:0}.excel .excel-corner,.excel tbody th{z-index:3;color:#8aa0b8;text-align:center;background:#f3f5f8;width:36px;min-width:36px;font-weight:600;position:sticky;left:0}.excel thead .excel-corner{z-index:4}.excel-fields td{color:#3d4f6f;background:#eef4ff;font-weight:600}.excel td.num{text-align:right;font-variant-numeric:tabular-nums}.excel td.sel{outline:2px solid var(--primary);outline-offset:-2px;background:#e8f1ff}.excel-chart{z-index:5;pointer-events:none;background:#fff;border:1px solid #d9e4f2;border-radius:8px;width:280px;padding:8px 10px 4px;position:absolute;top:52px;left:42%;box-shadow:0 10px 28px #0f23501a}.excel-chart-h{color:var(--hint);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.excel-chart-h b{color:var(--text);font-size:12px}.excel-chart-svg{width:100%;height:168px;display:block}.excel-bar{border-top:1px solid var(--line);background:#f7f9fc;align-items:center;gap:4px;height:32px;padding:0 8px;display:flex}.sheet-tab{height:24px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px 4px 0 0;padding:0 10px;font-size:12px}.sheet-tab.on{border-color:var(--line);color:var(--primary);background:#fff;font-weight:600}.excel-bar-sp{flex:1}.excel-zoom{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.excel-zoom input{width:88px;accent-color:var(--primary)}.pivot-wrap{flex:1;overflow:auto}.pivot{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.pivot th{color:var(--muted);border:1px solid var(--line);text-align:left;white-space:nowrap;background:#f7f9fc;padding:8px 10px;font-weight:600}.pivot td{white-space:nowrap;border:1px solid #edf1f6;padding:8px 10px}.pivot tr.blue td{background:#d9ebff}.pivot tr.orange td{background:#ffe8d0}.pivot-st{border-radius:999px;height:20px;padding:0 7px;font-size:11px;display:inline-flex}.pivot-st.ok{color:#0f8a5f;background:#e6f7ef}.pivot-st.off{color:#86909c;background:#f3f5f8}.pivot-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.dash-op-ico.mini{color:#4b5e7a;background:#eef3f9;border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.share-list{gap:8px;margin-top:12px;display:grid}.share-row{border:1px solid var(--line);background:#fafbfd;border-radius:8px;grid-template-columns:28px 1fr 110px auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.share-avatar{width:28px;height:28px;color:var(--primary);background:#e8f1ff;border-radius:8px;place-items:center;font-size:12px;font-weight:700;display:grid}.share-name{font-size:13px;font-weight:600}.file-pick{width:100%;min-height:76px;color:var(--text);text-align:left;white-space:normal;background:#f6f8fb;border:1px dashed #c5d0e0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;height:auto;padding:12px 14px;line-height:1.45;display:flex}.file-pick strong{color:var(--text);font-size:13px}.file-pick span{color:var(--muted);font-size:12px}.file-pick:hover{border-color:var(--primary);background:#eef4ff}.search-select{width:100%;position:relative}.search-select.is-disabled{opacity:.55}.search-select-panel{z-index:30;border:1px solid var(--line);background:#fff;border-radius:6px;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 8px 24px #0f23501f}.search-select-opt{text-align:left;background:#fff;border:0;border-radius:0;width:100%;height:auto;padding:8px 10px;font-size:13px}.search-select-opt:hover,.search-select-opt.on{color:var(--primary);background:#eef4ff}.search-select-empty{color:var(--hint);padding:10px;font-size:12px}.query-error{background:#fff6f6;border:1px solid #f3c4c4;border-radius:8px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.7}.query-error p{margin:0 0 8px}.query-error dl{grid-template-columns:72px 1fr;gap:4px 8px;margin:0;display:grid}.query-error dt{color:var(--hint)}.query-error dd{color:var(--danger);word-break:break-all;white-space:pre-wrap;margin:0}.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}.tbl-create{border:1px solid var(--line);border-radius:var(--radius);min-height:calc(100vh - var(--header-h) - 48px);background:#fff;flex-direction:column;display:flex}.tbl-create-head{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.tbl-create-head h1{margin:0;font-size:16px;font-weight:700}.tbl-create-back{width:28px;height:28px;color:var(--text);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.tbl-create-back:hover{color:var(--primary);background:#f3f6fb}.tbl-create-body{flex:1;grid-template-columns:118px 1fr;align-items:start;gap:8px;padding:16px 16px 8px;display:grid}.tbl-create-nav{flex-direction:column;gap:2px;padding-top:4px;display:flex;position:sticky;top:8px}.tbl-create-nav button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:4px;padding:8px 10px;font-size:13px;line-height:1.4}.tbl-create-nav button:hover{background:#f3f6fb}.tbl-create-nav button.active{color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);background:0 0;font-weight:600}.tbl-create-main{min-width:0}.tbl-create-sec+.tbl-create-sec{margin-top:28px}.tbl-create-sec-title{align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:700;display:flex}.tbl-create-sec-title:before{content:"";background:var(--primary);border-radius:1px;width:3px;height:14px}.tbl-create-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px 32px;display:grid}.tbl-create-item{grid-template-columns:118px 1fr;align-items:start;gap:8px;min-width:0;display:grid}.tbl-create-item.wide{grid-column:1/-1}.tbl-create-item>label{text-align:right;color:var(--text);white-space:nowrap;padding-top:6px;font-size:13px;line-height:1.4}.tbl-create-control{min-width:0}.tbl-create-control .form-input,.tbl-create-control .form-select{width:100%}.tbl-req{color:var(--danger);margin-right:4px}.tbl-create-area{resize:vertical;height:76px;padding:8px 10px;line-height:1.5}.tbl-create-stack{gap:16px;display:grid}.tbl-create-tags{gap:8px;display:grid}.tbl-create-radios{height:32px;color:var(--text);align-items:center;gap:18px;font-size:13px;display:flex}.tbl-create-radios label{white-space:nowrap;text-align:left;align-items:center;gap:6px;padding-top:0;display:inline-flex}.tbl-create-cycle{position:relative}.tbl-create-cycle .form-input{padding-right:30px}.tbl-create-cycle svg{pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.tbl-create-mode{color:var(--text);align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.tbl-create-mode-label{color:var(--text)}.tbl-create-tabs{gap:4px;display:flex}.tbl-create-tabs button{height:32px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-size:13px}.tbl-create-tabs button.on{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tbl-create-subtabs{gap:8px;margin-bottom:12px;display:flex}.tbl-create-subtabs button{border:1px solid var(--line);height:28px;color:var(--text);background:#fff;border-radius:4px;padding:0 12px;font-size:12px}.tbl-create-subtabs button.on{background:var(--primary);border-color:var(--primary);color:#fff}.tbl-create-fields{margin-top:4px}.tbl-create-fields table.data{min-width:1720px}.tbl-create-fields .form-input,.tbl-create-fields .form-select{width:100%;min-width:88px;height:28px;font-size:12px}.tbl-create-class-select{min-width:168px}.tbl-create-class-detail-select{min-width:220px}.tbl-create-class-detail-select:disabled{color:#86909c;cursor:not-allowed;background:#f7f8fa}.tbl-create-sql{color:var(--text);background:#fff;border-radius:6px;min-height:220px}.tbl-create-foot{border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#fff;justify-content:flex-end;gap:8px;margin-top:auto;padding:12px 16px;display:flex;position:sticky;bottom:0}@media (width<=1100px){.tbl-create-body{grid-template-columns:1fr}.tbl-create-nav{flex-direction:row;position:static}.tbl-create-nav button{width:auto}.tbl-create-grid{grid-template-columns:1fr}}.flow-hint{color:var(--hint);margin:6px 0 0;font-size:12px;line-height:1.5}.flow-sub-title{margin:22px 0 10px;font-size:13px;font-weight:700}.flow-exempt-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.flow-user-pick{grid-template-columns:220px minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.flow-user-pick .tree-panel,.flow-user-pick .table-wrap{max-height:320px;overflow:auto}.flow-user-pick tr.on td{background:#e8f1ff}.flow-user-pick tbody tr{cursor:pointer}.flow-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.flow-role-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;display:flex}.flow-role-card.on{background:#e8f1ff;border-color:#1d4ed8}.flow-role-card.added{cursor:default;opacity:.7}.flow-role-card input{margin-top:2px}.flow-role-card b{color:var(--text);font-size:13px;font-weight:600;display:block}.flow-role-card em{color:var(--hint);margin-top:2px;font-size:12px;font-style:normal;display:block}.flow-diagram{background:#f4f6f9;border-radius:8px;align-items:center;gap:0;padding:20px 18px;display:flex;overflow-x:auto}.flow-diagram-step{align-items:center;gap:0;display:flex}.flow-end{border:1px solid var(--line);width:46px;height:46px;color:var(--text);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.flow-arrow{text-align:center;color:#9aa8bc;flex-shrink:0;width:28px;font-size:16px}.flow-pipe{border:1px solid var(--line);text-align:left;min-width:148px;height:auto;color:var(--text);background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.flow-pipe strong{font-size:13px}.flow-pipe span{color:var(--muted);font-size:12px}.flow-pipe em{color:var(--hint);font-size:12px;font-style:normal}.flow-pipe.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.flow-node-list{gap:12px;margin-top:14px;display:grid}.flow-node-edit{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px 16px}.flow-node-edit.on{border-color:var(--primary)}.flow-node-edit-h{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.flow-editing{color:var(--primary);font-size:12px;font-weight:600}.flow-node-edit-b{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;display:grid}.approval-shell{min-height:0}.approval-frame{background:#fff;border:0;flex:1;width:100%;min-height:0}.cls-tpl-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.cls-tpl-filters,.cls-tpl-actions{align-items:center;gap:8px;display:flex}.cls-tpl-filters label{color:var(--text);white-space:nowrap;font-size:13px}.cls-tpl-filters .form-input{width:220px}.cls-tpl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.cls-tpl-card{background:#fff;border:1px solid #e6ebf2;border-radius:4px;flex-direction:column;min-height:176px;padding:16px 16px 12px;display:flex}.cls-tpl-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cls-tpl-name{color:#1d2129;margin:0;font-size:15px;font-weight:700}.cls-badge{border-radius:2px;align-items:center;height:20px;padding:0 6px;font-size:12px;line-height:1;display:inline-flex}.cls-badge-builtin{color:#12a150;background:#e8f8ef}.cls-badge-from{color:#2a6deb;background:#e8f3ff}.cls-badge-custom{color:#d97706;background:#fff4e5}.cls-tpl-meta{color:#4e5969;margin-top:10px;font-size:13px;line-height:1.75}.cls-tpl-foot-meta{color:#86909c;margin-top:auto;padding-top:14px;font-size:12px}.cls-tpl-ops{border-top:1px solid #eef2f6;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.cls-tpl-switch{color:#4e5969;background:0 0;border:0;align-items:center;gap:8px;height:auto;padding:0;font-size:13px;display:inline-flex}.cls-tpl-ops-links{align-items:center;gap:14px;display:flex}.cls-tpl-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:8px;padding:48px 16px}.cls-check{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.cls-readonly{color:var(--hint);font-size:12px}.cls-feature-list{gap:8px;margin-top:12px;display:grid}.cls-feature-item{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.cls-feature-item span{gap:2px;min-width:0;display:grid}.cls-feature-item b{font-size:13px;font-weight:600}.cls-feature-item em{color:var(--hint);word-break:break-all;font-size:12px;font-style:normal}.cls-ai-input{resize:vertical;white-space:pre-wrap;width:100%;height:auto;min-height:88px;padding:8px 10px}.cls-ai-preview{border:1px solid var(--line);background:#fafcff;border-radius:8px;padding:12px}@media (width<=1100px){.cls-tpl-bar{flex-direction:column;align-items:flex-start}.cls-tpl-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.cls-tpl-filters{flex-wrap:wrap}.cls-tpl-grid{grid-template-columns:1fr}}.audit-editor{box-sizing:border-box;color:#d4d4d4;caret-color:#d4d4d4;resize:vertical;background:#1e1e1e;border:1px solid #111;border-radius:8px;width:100%;min-height:calc(100vh - 220px);margin:0;padding:16px 18px;font-family:Consolas,Cascadia Code,JetBrains Mono,monospace;font-size:13px;line-height:1.6;display:block}.sm-tool{background:#f3f4f6;gap:12px;display:grid}.sm-line{align-items:center;gap:8px;display:flex}.sm-line>span{text-align:right;width:72px;color:var(--text);flex-shrink:0}.sm-line .form-input{background:#fff;flex:1}.sm-radios{align-items:center;gap:18px;min-height:32px;display:flex}.sm-radios label{color:var(--text);align-items:center;gap:6px;display:inline-flex}.sm-grid{grid-template-columns:1fr 168px 1fr;gap:12px;min-height:360px;display:grid}.sm-pane{flex-direction:column;gap:8px;min-width:0;display:flex}.sm-pane-title{color:var(--text);justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex}.sm-pane-title label{align-items:center;gap:4px;font-size:13px;display:inline-flex}.sm-area{resize:vertical;border:1px solid var(--line);width:100%;min-height:320px;font:inherit;color:var(--text);background:#fff;border-radius:2px;flex:1;padding:8px;font-size:14px}.sm-side{background:#f7f8fa;border-left:1px solid #e6e8eb;border-right:1px solid #e6e8eb;flex-direction:column;align-items:stretch;gap:14px;padding:8px 10px;display:flex}.sm-side label{text-align:center;color:var(--text);gap:6px;font-size:13px;display:grid}.sm-action{background:#fff;justify-content:center;height:64px}.sm-decrypt{color:var(--danger);font-weight:600}
