body,html{height:100%}.app{height:calc(100vh - 40px)}.app,.main{min-height:0}.main{overflow:hidden}.sc-scroll{flex:1 1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-right:2px}.sc-head{display:flex;align-items:flex-end;gap:20px;padding:2px 4px 18px;flex-wrap:wrap}.sc-head>div:first-child{flex:none}.sc-head h1{font-family:var(--font-display);font-weight:800;font-size:38px;text-transform:none;letter-spacing:-.03em;color:var(--ink);line-height:1;margin:0;white-space:nowrap}.sc-head .sub{color:var(--ink-2);font-size:13px;font-weight:500;margin:8px 0 0}.sc-controls{margin-left:auto;display:flex;align-items:center;gap:12px}.seg{background:var(--white);border:var(--line) solid var(--ink);border-radius:999px;padding:4px;gap:2px;box-shadow:var(--shadow-sm)}.seg,.seg button{display:inline-flex}.seg button{border:none;background:transparent;color:var(--ink-2);font-family:var(--font-body);font-weight:600;font-size:13px;padding:9px 18px;border-radius:999px;cursor:pointer;align-items:center;gap:8px}.seg button svg{width:15px;height:15px}.seg button.active{background:var(--ink);color:var(--cream)}.seg button:not(.active):hover{color:var(--ink)}.sc-sheet{flex:1 1;min-height:0;overflow:auto;padding:4px}.sc-sheet::-webkit-scrollbar{width:10px;height:10px}.sc-sheet::-webkit-scrollbar-thumb{background:rgba(25,25,25,.2);border-radius:10px}.own{display:inline-flex;align-items:center;gap:8px}.own .av{width:26px;height:26px;border-radius:50%;background:var(--white);border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--font-mono);font-size:10px;color:var(--ink);flex:none}.own .nm{font-size:12.5px;font-weight:500;color:var(--ink-2)}.sc-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(186px,auto);grid-auto-flow:row dense;grid-gap:16px;gap:16px;padding:2px}.mcard{border-radius:20px;padding:22px;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);border:var(--line) solid var(--ink);box-shadow:var(--shadow)}.mcard.wide{grid-column:span 2}.mcard .top{display:flex;align-items:flex-start;gap:8px;min-height:38px}.mcard .mname{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ink)}.mcard .sword{margin-left:auto;font-family:var(--font-mono);font-size:11px;font-weight:500;white-space:nowrap;color:var(--ink-2)}.mcard .big{display:flex;align-items:flex-end;gap:8px;margin-top:14px;flex-wrap:nowrap}.mcard .num{font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-.035em;line-height:1;white-space:nowrap;color:var(--ink)}.mcard.wide .num{font-size:46px}.mcard .of{font-family:var(--font-mono);font-size:12.5px;white-space:nowrap;color:var(--ink-2)}.mcard .spark{margin-left:auto}.mcard .gap{height:10px;border-radius:999px;margin-top:16px;overflow:hidden;background:var(--white);border:2px solid var(--ink)}.mcard .gap>span{display:block;height:100%;background:var(--ink)}.mcard .note{font-size:13px;line-height:1.45;margin-top:14px;color:var(--ink-2)}.mcard .foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:16px}.mcard .src{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3)}.g-ever{background:var(--p-yellow)}.g-north{background:var(--p-blue)}.g-acct{background:var(--p-mint)}.g-mkt{background:var(--p-lilac)}.g-sales{background:var(--p-pink)}.tl-panel{background:var(--white);border:var(--line) solid var(--ink);border-radius:20px;box-shadow:var(--shadow);padding:8px 0 14px;min-width:780px}.tl-head,.tl-row{display:grid;grid-template-columns:1.7fr repeat(5,1fr) 1.15fr 1fr;align-items:center;grid-gap:8px;gap:8px;padding:0 22px}.tl-head{height:46px}.tl-head span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:center}.tl-head span.l{text-align:left}.tl-group{padding:16px 22px 6px;font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.tl-row{height:50px;border-top:2px solid rgba(25,25,25,.08)}.tl-row:hover{background:rgba(25,25,25,.03)}.tl-name{font-weight:600;font-size:14px;color:var(--ink)}.tl-wk{font-family:var(--font-mono);font-size:12px;text-align:center;padding:7px 0;border-radius:9px;color:var(--ink-2)}.tl-wk.cur{font-weight:600;color:var(--ink);border:2px solid var(--ink)}.tl-now{color:var(--ink);font-weight:500}.tl-now,.tl-tgt{font-family:var(--font-mono);font-size:13px;text-align:right}.tl-tgt{color:var(--ink-3)}.sc-cols{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:16px;gap:16px;align-items:start;padding:2px}.sc-col{background:var(--white);border:var(--line) solid var(--ink);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.sc-col-h{display:flex;align-items:center;gap:9px;padding:16px 18px;font-family:var(--font-display);font-weight:800;font-size:15px;text-transform:none;letter-spacing:-.01em;color:var(--ink);border-bottom:var(--line) solid var(--ink)}.sc-col-h .cdot{width:11px;height:11px;border-radius:50%}.sc-col-h .ct{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--ink)}.sc-col-body{padding:14px;display:flex;flex-direction:column;gap:12px;min-height:50px}.scard{background:var(--cream);border:2px solid var(--ink);border-radius:14px;padding:14px}.scard .sc-m{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink)}.scard .sc-meta{margin-top:8px}.scard .sc-val{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);white-space:nowrap}.scard .sc-bot{margin-top:11px}.scard .av{background:var(--white)}.scard .nm{color:var(--ink-2)}@media (max-width:1240px){.sc-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:1100px){.sc-cols{grid-template-columns:1fr}}@media (max-width:720px){.sc-cards{grid-template-columns:1fr}.mcard.wide{grid-column:span 1}}.mcard .num,.pc-num,.sc-head h1{font-weight:var(--head-weight,800);-webkit-text-stroke:var(--head-stroke,0) currentColor}.mcard{cursor:pointer}.trace{position:fixed;top:0;right:0;bottom:0;width:380px;background:var(--white);border-left:var(--line) solid var(--ink);box-shadow:-8px 0 0 rgba(25,25,25,.06);padding:24px;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.3,1);z-index:60;overflow-y:auto}.trace.open{transform:translateX(0)}.trace .tx{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);background:var(--white);cursor:pointer;font-size:15px;color:var(--ink)}.trace h2{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--ink);margin:0}.trace .big{font-family:var(--font-mono);font-size:14px;color:var(--ink-2);margin-top:8px}.tstep{display:flex;gap:12px;margin-top:18px}.tstep .ic{width:34px;height:34px;border-radius:9px;border:2px solid var(--ink);display:grid;place-items:center;flex:none;background:var(--cream)}.tstep .ic svg{width:17px;height:17px}.tstep .k{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.tstep .v{font-size:14px;color:var(--ink);font-weight:600;margin-top:3px}.tstep .v .sub{display:block;font-weight:400;color:var(--ink-2);font-size:12.5px;margin-top:3px}.tconnect{width:2px;height:14px;margin:4px 0 4px 16px}.tconnect,.tcta{background:var(--ink)}.tcta{display:block;width:100%;margin-top:22px;border:2px solid var(--ink);color:var(--cream);border-radius:10px;padding:12px;font-family:var(--font-body);font-weight:700;font-size:13.5px;text-align:center;text-decoration:none;cursor:pointer}.mcard .num-edit{font:inherit;font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-.035em;line-height:1;color:var(--ink);background:transparent;border:none;border-bottom:2px solid var(--ink);padding:0;margin:0;width:4.5ch;max-width:100%;outline:none}.mcard.wide .num-edit{font-size:46px}.mcard .num.editable{cursor:text}.mcard .num.editable:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:4px}.mcard .sword.cyclable{cursor:pointer}.mcard .sword.cyclable:hover,.sc-addbtn{color:var(--ink)}.sc-addbtn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 14px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;border:var(--line) solid var(--ink);background:var(--white)}.sc-addbtn svg{width:15px;height:15px;opacity:.85}.sc-addbtn:hover{background:var(--cream)}.sc-composer{margin:0 2px 18px;padding:16px 18px;background:var(--white);border:var(--line) solid var(--ink);border-radius:20px;box-shadow:var(--shadow)}.sc-composer .scf{display:flex;flex-direction:column;gap:6px}.sc-composer .scf span{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.sc-composer .scf input{background:var(--cream);border:var(--line) solid var(--ink);border-radius:var(--r-inner);padding:10px 12px;font-family:var(--font-body);font-size:14px;color:var(--ink)}.sc-composer .scf input:focus{background:var(--white);box-shadow:var(--shadow-sm);outline:none}.sc-quick{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.sc-quick .scf.f-name{flex:1 1 auto;min-width:240px}.sc-quick .scf.f-name input{width:100%;font-size:15px;padding:12px 14px}.sc-details-toggle{margin-top:12px;display:inline-flex;align-items:center;gap:8px;background:var(--cream);border:2px solid var(--ink);border-radius:999px;padding:8px 14px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s ease}.sc-details-toggle:hover{background:var(--p-yellow)}.sc-details-toggle .sc-dt-chev{transition:transform .15s ease;flex:none}.sc-details-toggle.open .sc-dt-chev{transform:rotate(90deg)}.sc-details-toggle .sc-dt-hint{font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);border-left:2px solid var(--ink-3);padding-left:8px;margin-left:2px}.sc-details{margin-top:12px;padding-top:16px;border-top:var(--line) solid color-mix(in srgb,var(--ink) 18%,transparent);display:flex;flex-direction:column;gap:18px}.scf-row{display:grid;grid-template-columns:110px auto;align-items:center;grid-gap:8px 14px;gap:8px 14px}.scf-label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.scf-help{grid-column:2;margin:0;font-size:12.5px;line-height:1.4;color:var(--ink-3)}.scf-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scf-input{background:var(--cream);border:var(--line) solid var(--ink);border-radius:var(--r-inner);padding:9px 12px;font-family:var(--font-body);font-size:14px;color:var(--ink)}.scf-input:focus{background:var(--white);box-shadow:var(--shadow-sm);outline:none}.scf-input.w-target{width:120px}.scf-input.w-unit{width:130px}.scf-input.w-period{width:200px}.scf-input.w-grp{width:240px}.unit-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}.unit-select:focus{background-color:var(--white);box-shadow:var(--shadow-sm);outline:none}.unit-custom{display:inline-flex;align-items:center;gap:6px}.unit-back{flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border:var(--line) solid var(--ink);border-radius:var(--r-inner);background:var(--white);color:var(--ink);font-size:15px;line-height:1;cursor:pointer}.unit-back:hover{background:var(--p-yellow)}.sc-seg{display:inline-flex;border:var(--line) solid var(--ink);border-radius:999px;overflow:hidden;background:var(--cream)}.sc-seg button{border:none;background:transparent;padding:8px 14px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.sc-seg button+button{border-left:var(--line) solid var(--ink)}.sc-seg button.active{background:var(--ink);color:var(--cream)}.sc-switch{position:relative;width:42px;height:24px;border:var(--line) solid var(--ink);border-radius:999px;background:var(--cream);cursor:pointer;padding:0;flex:none}.sc-switch .knob{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background:var(--ink);transition:transform .12s ease}.sc-switch.on{background:var(--p-mint)}.sc-switch.on .knob{transform:translateX(18px)}.sc-switch-label{font-family:var(--font-body);font-size:14px;color:var(--ink)}.sc-composer .sc-save{border:var(--line) solid var(--ink);background:var(--ink);color:var(--cream);border-radius:var(--r-inner);padding:11px 18px;font-family:var(--font-body);font-weight:700;font-size:13.5px;cursor:pointer}.sc-composer .sc-save[disabled]{opacity:.5;cursor:default}.sc-composer .sc-cancel{border:var(--line) solid var(--ink);background:var(--white);color:var(--ink);border-radius:var(--r-inner);padding:11px 16px;font-family:var(--font-body);font-weight:600;font-size:13.5px;cursor:pointer}.mcard .mbadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.mcard .mbadge{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:3px 8px;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--ink) 30%,transparent);background:color-mix(in srgb,var(--white) 55%,transparent)}.mcard .mbadge-until{border-style:dashed}.mcard.is-north{border-width:3px;box-shadow:var(--shadow),0 0 0 4px color-mix(in srgb,var(--ink) 8%,transparent)}.mcard .ns-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--cream);background:var(--ink);padding:4px 10px;border-radius:999px}