.kp-root{--board:#1c2621;--board-2:#24312b;--board-3:#2f3f38;--board-4:#3d5048;--chalk:#eef0ea;--chalk-2:#c3cbc5;--paper:#efefec;--paper-2:#e3e3de;--paper-3:#d2d2cb;--ink:#1a1614;--ink-2:#47413b;--accent:#ff5b22;--accent-ink:#1a1614;--accent-deep:#a83a0f;--d-philosophy:#9cc3d5;--d-math:#e6d27a;--d-pm:#eba79c;--d-it:#a6cf96;--d-sk:#dca6cc;--d-lang:#b4aae6;--s-es:#1c2621;--s-jh:#2f4a3e;--s-sh:#527565;--s-uni:#a9c4b6;--font:var(--font-geist-sans),"PingFang TC","Microsoft JhengHei","Noto Sans TC","Noto Sans CJK TC",system-ui,sans-serif;--step-small:.875rem;--step-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);--step-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);--step-head:clamp(1.75rem,1.2rem + 2.6vw,3.75rem);--step-display:clamp(2.75rem,1.2rem + 5.4vw,6rem);--m:clamp(16px,2.6vw,40px);--gap-section:clamp(88px,10vw,176px);--ease:cubic-bezier(.2,.7,.2,1)}.kp-root .kp-box{box-sizing:border-box}.kp-root{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-family:var(--font);font-size:var(--step-body);color:var(--chalk);background:var(--board);font-kerning:normal;text-rendering:optimizeLegibility;line-height:1.7}.kp-root img,.kp-root svg{max-width:100%;display:block}.kp-root a{color:inherit}.kp-root :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.kp-root ::selection{background:var(--accent);color:var(--accent-ink)}.kp-root .paper{background:var(--paper);color:var(--ink)}.kp-root .paper-2{background:var(--paper-2);color:var(--ink)}.kp-root .board{background:var(--board);color:var(--chalk)}.kp-root .board-2{background:var(--board-2);color:var(--chalk)}.kp-root .wrap{padding-inline:var(--m)}.kp-root .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kp-root .skip{background:var(--accent);color:var(--accent-ink);z-index:10;padding:8px 16px;position:absolute;top:8px;left:-999px}.kp-root .skip:focus{left:8px}.kp-root h1,.kp-root h2,.kp-root h3{letter-spacing:-.02em;text-wrap:balance;font-weight:900;line-height:1.12}.kp-root .display{font-size:var(--step-display)}.kp-root .head{font-size:var(--step-head)}.kp-root .lead{font-size:var(--step-lead);font-weight:500;line-height:1.55}.kp-root .small{font-size:var(--step-small);line-height:1.6}.kp-root h3{font-size:var(--step-lead);line-height:1.35}.kp-root p{max-width:38em}.kp-root .num{font-variant-numeric:tabular-nums}.kp-root .muted-on-paper{color:var(--ink-2)}.kp-root .muted-on-board{color:var(--chalk-2)}.kp-root .topbar{border-top:6px solid var(--accent);background:var(--board);color:var(--chalk)}.kp-root .topbar .in{align-items:center;gap:32px;min-height:68px;display:flex}.kp-root .wordmark{font-weight:900;font-size:var(--step-lead);letter-spacing:-.01em;align-items:center;gap:10px;text-decoration:none;display:flex}.kp-root .wordmark svg{width:30px;height:30px}.kp-root .nav{font-size:var(--step-small);gap:24px;margin-left:auto;display:flex}.kp-root .nav a{padding:12px 2px;font-weight:500;text-decoration:none}.kp-root .nav a[aria-current],.kp-root .nav a:hover{color:var(--accent)}.kp-root .menu-btn{display:none}@media (max-width:860px){.kp-root .nav{display:none}.kp-root .menu-btn{margin-left:auto;display:inline-flex}}.kp-root .btn{min-height:52px;font:inherit;font-weight:700;font-size:var(--step-body);cursor:pointer;transition:transform .18s var(--ease),background-color .18s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 28px;text-decoration:none;display:inline-flex}.kp-root .btn-accent{background:var(--accent);color:var(--accent-ink)}.kp-root .btn-accent:hover{background:#ff7445;transform:translateY(-2px)}.kp-root .btn-accent:active{transform:translateY(0)scale(.98)}.kp-root .btn-ink{background:var(--ink);color:var(--paper)}.kp-root .btn-ink:hover{background:#3a332e;transform:translateY(-2px)}.kp-root .btn-chalk{background:var(--chalk);color:var(--ink)}.kp-root .btn-chalk:hover{background:#fff;transform:translateY(-2px)}.kp-root .btn-quiet{background:var(--board-3);color:var(--chalk)}.kp-root .btn-quiet:hover{background:var(--board-4)}.kp-root .btn-sm{min-height:44px;font-size:var(--step-small);padding:0 18px}.kp-root .ring-dot{border:4px solid;border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.kp-root .textlinks{font-size:var(--step-small);flex-wrap:wrap;gap:8px 24px;font-weight:500;display:flex}.kp-root .textlinks a{text-underline-offset:4px;padding:10px 0}.kp-root .textlinks a:hover{color:var(--accent-deep)}.kp-root .views{background:var(--board-3);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.kp-root .views a,.kp-root .views button{min-height:44px;font:inherit;font-size:var(--step-small);color:var(--chalk);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;transition:background-color .18s;display:inline-flex}.kp-root .views a:hover{background:var(--board-4)}.kp-root .views [aria-current=page],.kp-root .views [aria-pressed=true]{background:var(--chalk);color:var(--ink)}.kp-root .paper .views{background:var(--paper-3)}.kp-root .paper .views a{color:var(--ink)}.kp-root .paper .views a:hover{background:var(--paper-2)}.kp-root .paper .views [aria-current=page]{background:var(--ink);color:var(--paper)}.kp-root .chips{flex-wrap:wrap;gap:8px;display:flex}.kp-root .chip{background:var(--paper-2);min-height:44px;color:var(--ink);font:inherit;font-size:var(--step-small);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:700;text-decoration:none;transition:background-color .18s;display:inline-flex}.kp-root .chip:hover{background:var(--paper-3)}.kp-root .chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.kp-root .board .chip,.kp-root .board-2 .chip{background:var(--board-3);color:var(--chalk)}.kp-root .board .chip:hover{background:var(--board-4)}.kp-root .board .chip[aria-pressed=true]{background:var(--chalk);color:var(--ink)}.kp-root .sw{border-radius:50%;flex:none;width:14px;height:14px}.kp-root .sample{font-size:var(--step-small);background:var(--chalk);color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-weight:700;display:inline-flex}.kp-root .paper .sample{background:var(--ink);color:var(--paper)}.kp-root .mk{font-size:var(--step-small);align-items:center;gap:6px;font-weight:700;display:inline-flex}.kp-root .mk-child:before{content:"";background:var(--accent);border-radius:50%;width:14px;height:14px}.kp-root .mk-adult:before{content:"";border:4px solid;border-radius:50%;width:14px;height:14px}.kp-root .sg{flex:none;width:36px;height:36px}.kp-root .sg-lg{width:72px;height:72px}.kp-root.js .rv{opacity:0;transform:translateY(24px)}.kp-root.js .rv.in{opacity:1;transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s);transform:none}@media (prefers-reduced-motion:reduce){.kp-root.js .rv{opacity:1;transform:none}.kp-root,.kp-root *{transition-duration:0s!important;animation:none!important}}.kp-root .hero{padding:12px var(--m)0;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:12px;display:grid}.kp-root .card{background:var(--paper);color:var(--ink);flex-direction:column;min-height:calc(100svh - 86px);display:flex}.kp-root .card-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:56px clamp(24px,4vw,64px) 40px;display:flex}.kp-root .card-body h1{max-width:7.2em;font-size:clamp(2.75rem,1rem + 4.6vw,5.5rem)}.kp-root .card-body p{font-size:var(--step-body);max-width:24em}.kp-root .card-foot{justify-content:center;padding:0 24px 28px;display:flex}.kp-root .citypanel{background:var(--board-2);flex-direction:column;align-self:start;min-height:calc(100svh - 86px);display:flex;position:sticky;top:12px}.kp-root .citybar{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px;display:flex}.kp-root .zoom{gap:6px;display:flex}.kp-root .zoom button{background:var(--board-3);width:44px;height:44px;color:var(--chalk);font:inherit;font-weight:700;font-size:var(--step-body);cursor:pointer;border:0;border-radius:50%}.kp-root .zoom button:hover{background:var(--board-4)}.kp-root .zoom .z-all{width:auto;font-size:var(--step-small);border-radius:999px;padding:0 16px}.kp-root .crumbs{font-size:var(--step-small);color:var(--chalk-2);flex-wrap:wrap;gap:6px;padding:0 16px;display:flex}.kp-root .crumbs b{color:var(--chalk)}.kp-root .mapbox{flex:1;justify-content:center;align-items:center;padding:4px 16px;display:flex}.kp-root .mapbox svg{width:100%;height:auto;max-height:calc(100svh - 300px)}.kp-root .legend{font-size:var(--step-small);color:var(--chalk);flex-wrap:wrap;gap:10px 22px;padding:14px 16px 18px;display:flex}.kp-root .legend .it{align-items:center;gap:8px;display:inline-flex}.kp-root .bld-open,.kp-root .bld-draft{width:12px;height:18px;display:inline-block}.kp-root .bld-open{background:var(--chalk)}.kp-root .bld-draft{background:var(--board-4)}.kp-root .bcard{background:var(--chalk);color:var(--ink);grid-template-columns:auto 1fr auto;align-items:start;gap:6px 18px;margin:0 16px 16px;padding:20px 22px;display:grid}.kp-root .bcard h2{font-size:var(--step-lead);line-height:1.3}.kp-root .bcard p{font-size:var(--step-small);color:var(--ink-2);max-width:none;line-height:1.6}.kp-root .bcard .meta{font-size:var(--step-small);color:var(--ink-2)}.kp-root .bcard .go{align-self:center}.kp-root .city text{font-family:var(--font)}.kp-root .city .bld{cursor:pointer;transition:transform .25s var(--ease)}.kp-root .city .bld:hover,.kp-root .city .bld:focus-visible{transform:translateY(-4px)}.kp-root .city .bld:focus-visible{outline:none}.kp-root .city .bld:focus-visible rect.body{stroke:var(--accent);stroke-width:4px}.kp-root .city .ring-hi{transition:opacity .4s}.kp-root .intro2{grid-template-columns:repeat(12,1fr);align-items:end;gap:24px;margin-bottom:64px;display:grid}.kp-root .intro2 h2{grid-column:1/6}.kp-root .intro2 p{font-size:var(--step-body);grid-column:7/12}.kp-root .tabs{flex-wrap:wrap;gap:4px 24px;display:flex}.kp-root .tabs button{font:inherit;font-size:var(--step-body);color:var(--chalk-2);cursor:pointer;background:0 0;border:0;min-height:44px;padding:10px 0;font-weight:700;position:relative}.kp-root .tabs button[aria-selected=true]{color:var(--chalk)}.kp-root .tabs button[aria-selected=true]:after{content:"";background:var(--accent);border-radius:2px;height:4px;position:absolute;bottom:0;left:0;right:0}.kp-root .tabs button:hover{color:var(--chalk)}.kp-root .cells{grid-template-columns:1fr 1fr;gap:0;display:grid}.kp-root .cells a{justify-content:center;align-items:center;min-height:72px;font-weight:700;text-decoration:none;transition:filter .18s;display:flex}.kp-root .cells a:hover{filter:brightness(1.08)}.kp-root .cells a:first-child{background:var(--accent);color:var(--accent-ink)}.kp-root .cells a:last-child{background:var(--board-3);color:var(--chalk)}.kp-root .menu-cat{justify-content:space-between;align-items:baseline;gap:16px;margin:96px 0 40px;display:flex}.kp-root .menu-cat:first-of-type{margin-top:0}.kp-root .menu-cat a{font-size:var(--step-small);padding:10px 0;font-weight:700}.kp-root .menu{grid-template-columns:1fr 1fr;gap:36px 64px;list-style:none;display:grid}.kp-root .menu li{grid-template-columns:64px 1fr;align-items:start;gap:20px;display:grid}.kp-root .menu .bul{width:64px;height:64px}.kp-root .menu .nm{font-weight:700;font-size:var(--step-body);justify-content:space-between;gap:12px;line-height:1.5;display:flex}.kp-root .menu .nm a{text-decoration:none}.kp-root .menu .nm a:hover{text-underline-offset:4px;text-decoration:underline}.kp-root .menu .nm span{font-weight:500;font-size:var(--step-small);white-space:nowrap;color:var(--ink-2)}.kp-root .menu .ds{color:var(--ink-2);max-width:38ch;font-size:1rem;line-height:1.6}.kp-root .foot{padding:var(--gap-section)var(--m)32px}.kp-root .fcols{grid-template-columns:repeat(12,1fr);gap:24px;margin-top:56px;font-size:1rem;display:grid}.kp-root .fcols div{grid-column:span 2}.kp-root .fcols .contact{grid-column:9/13}.kp-root .fcols h2{letter-spacing:0;margin-bottom:8px;font-size:1rem;font-weight:700}.kp-root .fcols ul{list-style:none}.kp-root .fcols a:not(.btn){padding:6px 0;text-decoration:none;display:inline-block}.kp-root .fcols a:not(.btn):hover{color:var(--accent)}.kp-root .flast{font-size:var(--step-small);justify-content:space-between;align-items:center;gap:16px;margin-top:56px;display:flex}.kp-root .credits{color:var(--chalk-2);max-width:36em;margin-top:24px;font-size:1rem}.kp-root .credits a{color:var(--chalk)}.kp-root .phead{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:40px;padding-block:56px 64px;display:grid}.kp-root .phead h1{font-size:var(--step-display)}.kp-root .phead .sub{font-size:var(--step-lead);max-width:24em;margin-top:28px;font-weight:500;line-height:1.55}.kp-root .ctrls{flex-wrap:wrap;align-items:center;gap:12px 20px;padding-block:20px;display:flex}.kp-root .mx{grid-template-columns:168px repeat(4,minmax(0,1fr)) 220px;gap:6px;display:grid}.kp-root .mx .hd{font-weight:900;font-size:var(--step-body);align-items:center;gap:10px;padding:14px 16px;display:flex}.kp-root .mx .hd.stage{background:var(--paper-3)}.kp-root .mx .ly{background:var(--ink);color:var(--paper);flex-direction:column;gap:8px;padding:20px 16px;display:flex}.kp-root .mx .ly b{font-size:var(--step-lead);font-weight:900;line-height:1.2}.kp-root .mx .ly span{font-size:var(--step-small);color:var(--paper-3)}.kp-root .mx .cell{background:var(--paper-2);flex-direction:column;gap:12px;min-height:150px;padding:14px;display:flex}.kp-root .mx .cell.empty{background:var(--paper);color:var(--ink-2);font-size:var(--step-small);justify-content:center}.kp-root .mx .lots{background:var(--paper);font-size:var(--step-small);flex-direction:column;gap:8px;padding:14px;display:flex}.kp-root .grp{flex-direction:column;gap:8px;display:flex}.kp-root .grp .dn{font-size:var(--step-small);align-items:center;gap:8px;font-weight:700;display:flex}.kp-root .kpc{background:var(--paper);transition:background-color .18s,transform .18s var(--ease);grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:10px 12px;font-size:1rem;font-weight:700;line-height:1.45;text-decoration:none;display:grid}.kp-root .kpc:hover{background:#fff;transform:translateY(-2px)}.kp-root .kpc .sg{width:28px;height:28px}.kp-root .kpc small{font-weight:500;font-size:var(--step-small);color:var(--ink-2);margin-top:4px;display:block}.kp-root .blocks{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.kp-root .blocks i{background:var(--paper-3);width:10px;height:16px;display:block}.kp-root .blocks em{font-style:normal;font-size:var(--step-small);color:var(--ink-2);margin-left:6px}.kp-root .lot{justify-content:space-between;gap:8px;padding:6px 0;display:flex}.kp-root .lot b{font-weight:700}.kp-root .lot .nx{font-size:var(--step-small);color:var(--accent-deep);font-weight:700}.kp-root .lv{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.kp-root .lv h2{margin:72px 0 8px;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.75rem)}.kp-root .lv h2:first-child{margin-top:0}.kp-root .lv .dmeta{font-size:var(--step-small);color:var(--ink-2);margin-bottom:24px}.kp-root .srow{grid-template-columns:120px 1fr;gap:24px;padding:20px 0;display:grid}.kp-root .srow+.srow{margin-top:6px}.kp-root .srow h3{font-size:var(--step-body);align-items:center;gap:10px;display:flex}.kp-root .lrow{background:var(--paper-2);transition:background-color .18s,transform .18s var(--ease);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 18px;text-decoration:none;display:grid}.kp-root .lrow:hover{background:#fff;transform:translate(4px)}.kp-root .lrow .t{font-weight:700;font-size:var(--step-body);line-height:1.4}.kp-root .lrow .i{color:var(--ink-2);margin-top:4px;font-size:1rem;line-height:1.6}.kp-root .lrow .marks{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.kp-root .dimrow{background:var(--paper);color:var(--ink-2);align-items:center;gap:14px;padding:12px 18px;font-size:1rem;display:flex}.kp-root .aside{background:var(--board);color:var(--chalk);padding:32px;position:sticky;top:24px}.kp-root .aside h2{font-size:var(--step-head);margin:12px 0 16px}.kp-root .kphero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:48px;padding-block:40px 96px;display:grid}.kp-root .crumb{font-size:var(--step-small);flex-wrap:wrap;gap:8px;padding-top:28px;display:flex}.kp-root .crumb a{text-underline-offset:4px}.kp-root .kpmeta{align-items:center;gap:16px;margin:32px 0 20px;font-weight:700;display:flex}.kp-root .kphero .idea{max-width:22em;margin-top:32px;font-size:clamp(1.25rem,1rem + .9vw,1.75rem);font-weight:500;line-height:1.6}.kp-root .est{background:var(--board);color:var(--chalk);padding:32px}.kp-root .est h2{margin-bottom:8px;font-size:1.5rem}.kp-root .est .row{grid-template-columns:1fr 1fr 1fr;gap:12px;margin:24px 0;display:grid}.kp-root .est label{font-size:var(--step-small);flex-direction:column;gap:8px;font-weight:700;display:flex}.kp-root .est input{font:inherit;background:var(--board-2);width:100%;min-height:56px;color:var(--chalk);border:2px solid var(--board-4);border-radius:0;padding:0 12px;font-size:1.5rem;font-weight:900}.kp-root .est input:focus{border-color:var(--accent);outline:none}.kp-root .est .out{background:var(--chalk);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:12px;padding:20px 22px;display:flex}.kp-root .est .out b{letter-spacing:-.02em;font-size:clamp(2.5rem,1.6rem + 2.4vw,3.5rem);font-weight:900;line-height:1}.kp-root .est .rng{height:28px;margin-top:20px;position:relative}.kp-root .est .rng .bar{background:var(--board-4);height:8px;position:absolute;top:10px;left:0;right:0}.kp-root .est .rng .span{background:var(--chalk-2);height:8px;position:absolute;top:10px}.kp-root .est .rng .e{background:var(--accent);width:24px;height:24px;transition:left .3s var(--ease);border-radius:50%;margin-left:-12px;position:absolute;top:2px}.kp-root .q{padding-block:var(--gap-section)}.kp-root .q blockquote{letter-spacing:-.01em;max-width:13em;font-size:clamp(2rem,1.2rem + 3vw,4.25rem);font-weight:900;line-height:1.3}.kp-root .split2{grid-template-columns:1fr 1fr;gap:0;display:grid}.kp-root .split2>div{padding:56px clamp(24px,4vw,64px)}.kp-root .split2 h2{font-size:var(--step-head);margin-bottom:24px}.kp-root .split2 ul{flex-direction:column;gap:12px;list-style:none;display:flex}.kp-root .split2 li{font-size:var(--step-lead);grid-template-columns:20px 1fr;align-items:baseline;gap:14px;font-weight:500;line-height:1.5;display:grid}.kp-root .split2 li:before{content:"";background:currentColor;border-radius:50%;width:14px;height:14px;transform:translateY(-2px)}.kp-root .road{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:40px;display:grid}.kp-root .road a,.kp-root .road div{min-height:220px;transition:transform .2s var(--ease);flex-direction:column;justify-content:space-between;gap:24px;padding:24px 20px;text-decoration:none;display:flex}.kp-root .road a:hover{transform:translateY(-4px)}.kp-root .road .s1{background:var(--s-es);color:var(--chalk)}.kp-root .road .s2{background:var(--s-jh);color:var(--chalk)}.kp-root .road .s3{background:var(--accent);color:var(--ink)}.kp-root .road .s4{background:var(--s-uni);color:var(--ink)}.kp-root .road .t{font-size:var(--step-lead);font-weight:900;line-height:1.35}.kp-root .road .r{font-size:var(--step-small);font-weight:700}.kp-root .kv{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.kp-root .kv h2{font-size:var(--step-head);grid-column:1/5}.kp-root .kv .body{grid-column:6/13}.kp-root .kv dl{font-size:var(--step-body);grid-template-columns:auto 1fr;gap:12px 24px;display:grid}.kp-root .kv dt{font-weight:700}.kp-root .empty-slides{background:var(--paper-2);grid-template-columns:auto 1fr;align-items:center;gap:28px;padding:32px;display:grid}.kp-root .colearn{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:48px;display:grid}.kp-root .colearn h2{font-size:var(--step-head)}.kp-root .colearn .text{font-size:var(--step-lead);max-width:24em;margin-top:28px;font-weight:500;line-height:1.6}.kp-root .colearn .who{grid-template-columns:1fr 1fr;gap:6px;display:grid}.kp-root .colearn .who div{background:var(--board-3);flex-direction:column;gap:12px;padding:24px;display:flex}.kp-root .colearn .who .c{background:var(--accent);color:var(--ink)}.kp-root .colearn .who b{font-size:var(--step-lead);line-height:1.35}.kp-root .lic{font-size:var(--step-small);color:var(--ink-2);flex-wrap:wrap;gap:8px 28px;padding-block:40px;display:flex}@media (max-width:1100px){.kp-root .hero{grid-template-columns:1fr}.kp-root .card{min-height:auto}.kp-root .citypanel{min-height:auto;position:relative;top:0}.kp-root .mapbox svg{max-height:none}.kp-root .mx{grid-template-columns:120px repeat(4,minmax(0,1fr))}.kp-root .mx .lots,.kp-root .mx .hd.lotshd{grid-column:2/-1}.kp-root .mx .hd.lotshd{display:none}.kp-root .lv{grid-template-columns:1fr}.kp-root .aside{position:relative;top:0}.kp-root .kphero,.kp-root .colearn,.kp-root .phead{grid-template-columns:1fr}}@media (max-width:900px){.kp-root .intro2{grid-template-columns:1fr}.kp-root .intro2 h2,.kp-root .intro2 p{grid-column:auto}.kp-root .menu{grid-template-columns:1fr}.kp-root .fcols div{grid-column:span 6}.kp-root .fcols .contact{grid-column:1/-1}.kp-root .split2{grid-template-columns:1fr}.kp-root .road{grid-template-columns:1fr 1fr}.kp-root .kv h2,.kp-root .kv .body{grid-column:1/-1}}@media (max-width:767px){.kp-root .hero{gap:10px;padding:10px 10px 0}.kp-root .card-body{gap:22px;padding:36px 20px 28px}.kp-root .card-body h1{font-size:clamp(2.5rem,11vw,3.25rem)}.kp-root .citybar{padding:12px}.kp-root .views a,.kp-root .views button{padding:0 12px}.kp-root .mapbox{padding:0 6px}.kp-root .city .lbl,.kp-root .city .ringlbl{display:none}.kp-root .bcard{grid-template-columns:auto 1fr;margin:0 10px 10px}.kp-root .bcard .go{grid-column:1/-1}.kp-root .mx{grid-template-columns:1fr;gap:6px}.kp-root .mx .hd.stage,.kp-root .mx .corner{display:none}.kp-root .mx .lots,.kp-root .mx .ly{grid-column:auto}.kp-root .mx .cell:before{content:attr(data-stage);font-size:1rem;font-weight:900}.kp-root .mx .cell{min-height:auto}.kp-root .srow{grid-template-columns:1fr;gap:12px}.kp-root .fcols div{grid-column:span 6}.kp-root .flast{flex-direction:column;align-items:flex-start}.kp-root .est .row{grid-template-columns:1fr 1fr 1fr;gap:8px}.kp-root .est{padding:24px 18px}.kp-root .est input{font-size:var(--step-lead);padding:0 8px}.kp-root .road{grid-template-columns:1fr}.kp-root .road a,.kp-root .road div{min-height:auto}.kp-root .colearn .who,.kp-root .empty-slides{grid-template-columns:1fr}.kp-root .lrow{grid-template-columns:auto 1fr}.kp-root .lrow .marks{flex-direction:row;grid-column:2;align-items:flex-start}.kp-root .kpc{font-size:1rem}}.kp-root .paper,.kp-root .paper-2{--sg-a:#c4c4bc;--sg-b:#e3e3de}.kp-root .board,.kp-root .board-2,.kp-root .est,.kp-root .aside{--sg-a:#4a5f56;--sg-b:#2c3a34}.kp-root .sg .a{fill:var(--sg-a,#c4c4bc)}.kp-root .sg .b{fill:var(--sg-b,#e3e3de)}.kp-root .sg .x{fill:var(--accent)}.kp-root .menu .bul .a{fill:var(--paper-3)}.kp-root .menu .bul .b{fill:var(--paper-2)}.kp-root .split2>div h2{font-size:var(--step-head)}.kp-root .topbar .menu-btn{display:none}.kp-root .btn,.kp-root .wordmark{white-space:nowrap}@media (max-width:860px){.kp-root .topbar .menu-btn{margin-left:auto;display:inline-flex}.kp-root .topbar .in{gap:12px}}@media (max-width:767px){.kp-root .topbar .btn-quiet:not(.menu-btn),.kp-root .topbar .btn-accent{display:none}}.kp-root .kphero .kpmeta{margin:28px 0 0}.kp-root .phead h1{letter-spacing:-.01em;font-size:clamp(1.75rem,1rem + 1.6vw,2.5rem)}.kp-root .kphero h1{font-size:var(--step-head)}.kp-root .est .out b{font-size:clamp(2rem,1.6rem + 1vw,2.5rem)}.kp-root .phead.big h1{font-size:var(--step-display);letter-spacing:-.02em}@media (max-width:900px){.kp-root .mx{grid-template-columns:1fr;gap:6px}.kp-root .mx .hd.stage,.kp-root .mx .corner{display:none}.kp-root .mx .lots,.kp-root .mx .ly{grid-column:auto}.kp-root .mx .cell:before{content:attr(data-stage);font-size:1rem;font-weight:900}.kp-root .mx .cell{min-height:auto}.kp-root .mx .cell .grp{grid-template-columns:1fr;gap:8px;display:grid}}@media (min-width:600px) and (max-width:900px){.kp-root .mx{grid-template-columns:1fr 1fr}.kp-root .mx .ly,.kp-root .mx .lots{grid-column:1/-1}}@media (max-width:860px){.kp-root .topbar .btn-quiet:not(.menu-btn){margin-left:auto}.kp-root .topbar .menu-btn{margin-left:0}}@media (max-width:767px){.kp-root .topbar .menu-btn{margin-left:auto}}.kp-root,.kp-root *{box-sizing:border-box}@media (max-width:767px){.kp-root .lbl,.kp-root .city .person-tag{display:none}.kp-root .card-body{text-align:left;align-items:flex-start;padding:32px 20px 24px}.kp-root .card-body p{max-width:16em}}.kp-root .kpc,.kp-root .lrow,.kp-root h2,.kp-root h3,.kp-root .nm{word-break:keep-all}.kp-root .kp-controls{background:var(--paper);color:var(--ink);padding:16px}:is(.kp-root .hero:has([data-testid=city-layers]),.kp-root .hero:has([data-testid=city-list])){grid-template-columns:1fr}.kp-root .hero:has([data-testid=city-list]) .card{display:none}.kp-root .matrix-cards{display:none}.kp-root .matrix-table{display:block}@media (max-width:900px){.kp-root .matrix-table{display:none}.kp-root .matrix-cards{display:block}}.kp-root .paper .views button{color:var(--ink)}.kp-root .paper .views button:hover{background:var(--paper-2)}.kp-root .paper .views [aria-pressed=true]{background:var(--ink);color:var(--paper)}.kp-root .progress-note{color:var(--ink-2)}.kp-root .board-2 .progress-note{color:var(--chalk-2)}.kp-root .city-stack{flex-direction:column;display:flex}.kp-root .city-stack .map-block{order:2}.kp-root .city-stack .controls-block{order:3}.kp-root .mapbox svg{max-height:none}.kp-root .city-card{background:var(--chalk);color:var(--ink);margin:0 16px 16px;padding:20px 22px}.kp-root .city-card h2{font-size:var(--step-lead);line-height:1.3}@media (max-width:860px){.kp-root .nav-drawer{margin-left:auto;display:block;position:relative}.kp-root .nav-drawer .nav{z-index:30;background:var(--board-2);flex-direction:column;gap:0;min-width:220px;padding:12px;display:none;position:absolute;top:52px;right:0}.kp-root .nav-drawer[open] .nav{display:flex}}.kp-root .sec{padding-block:40px 32px}.kp-root .hero{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start}.kp-root .hero .card{min-height:0}.kp-root .hero .card-body{text-align:left;justify-content:flex-start;align-items:flex-start;gap:16px;padding:28px 24px 12px}.kp-root .hero .card-body h1{text-align:left;max-width:8em;font-size:clamp(1.75rem,1.1rem + 1.4vw,2.5rem)}.kp-root .hero .card-body p{text-align:left;max-width:22em}@media (max-width:1100px){.kp-root .hero{grid-template-columns:1fr}}.kp-root .how-lead{max-width:36em;margin-top:12px}.kp-root .how-grid{margin-top:20px}.kp-root .how-grid article{border-top:1px solid var(--paper-3);padding:16px 0}.kp-root .how-grid h3{margin-bottom:6px;font-size:1.125rem}.kp-root .how-row{display:block}.kp-root .explain-fig{width:168px;margin:12px 0 0}.kp-root .explain-fig img{width:168px;height:auto}.kp-root .explain-fig figcaption{color:var(--ink-2);margin-top:8px;font-size:.8rem;line-height:1.45}.kp-root .explain-fig a{text-underline-offset:2px;text-decoration:underline}.kp-root .how-more{margin-top:20px}@media (max-width:700px){.kp-root .explain-fig,.kp-root .explain-fig img{width:148px}}.kp-root .path-lead{max-width:40em;color:var(--chalk-2);margin:12px 0 8px}.kp-root .stops{margin-top:8px;list-style:none}.kp-root .stop{border-top:1px solid var(--board-4);grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:22px 0;display:grid}.kp-root .stop h3{margin:2px 0 8px;font-size:1.35rem}.kp-root .stop .meta{color:var(--chalk-2);font-size:.85rem;font-weight:700}.kp-root .stop .ask{margin-top:10px}.kp-root .stop .ask span{font-size:.85rem;font-weight:700;display:block}.kp-root .stop .rel{color:var(--chalk-2);margin-top:8px}.kp-root .stop .rel a{color:var(--chalk);text-underline-offset:3px;text-decoration:underline}.kp-root .stop-actions{margin-top:14px}.kp-root .stop-tool{margin-top:16px}.kp-root .stop-tool h4{margin-bottom:8px}.kp-root .path-more{margin-top:28px}.kp-root .path-colearn{color:var(--ink);margin-top:28px}.kp-root .path-colearn a{color:var(--ink)}.kp-root .credits a{text-underline-offset:2px;text-decoration:underline}.kp-root .lrow.is-link,.kp-root .lrow.is-path{box-shadow:inset 4px 0 0 var(--accent)}.kp-root .lrow .stop-n{background:var(--accent);color:#1a1614;vertical-align:middle;border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;margin-right:.4rem;padding:0 .3rem;font-size:.75rem;font-weight:700;display:inline-grid}.kp-root .flast .wordmark{color:var(--chalk)}.kp-root .about-copy{flex-direction:column;gap:16px;max-width:42em;display:flex}.kp-root .about-copy p{max-width:40em}.kp-root .menu li{grid-template-columns:minmax(0,1fr);gap:4px}.kp-root .menu{gap:20px 32px}.kp-root .menu-cat{margin:32px 0 16px}.kp-root .menu-cat h3{font-size:var(--step-lead)}.kp-root .fcols{margin-top:0}.kp-root .credits{max-width:70em}.kp-root .city-legend{color:var(--ink);padding:10px 16px 0}.kp-root .city-legend+.city-legend{padding-bottom:18px}.kp-root .city-lots{font-size:var(--step-small);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px 16px 4px}.kp-root .city-lots-h{color:var(--ink-2);margin-right:4px;font-weight:700}.kp-root .city-lot{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:2px dashed #6f8279;padding:0 16px;font-weight:700}.kp-root .city-lot:hover,.kp-root .city-lot[aria-pressed=true]{background:var(--paper-2);border-color:var(--ink)}.kp-root .city-lot:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.kp-root .city path[role=button]:focus-visible{stroke:var(--accent);stroke-width:4px;stroke-opacity:1;outline:none}
