.kb{--k-ink:#10161d;--k-snow:#f6f4ef;--k-ash:#e4e0d6;--k-stone:#5b6470;--k-earth:#9a4a1f;--k-gold:#c08a0e;--k-pine:#2f5d46;--k-ice:#2b6aa8;background:var(--k-snow);color:var(--k-ink);min-height:100vh;font-family:Archivo,system-ui,sans-serif;font-size:16px;line-height:1.5}.kb *{box-sizing:border-box}.kb-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.kb-hero{color:#fff;background:linear-gradient(170deg,#1b2733 0%,#2c3e4e 55%,#6b4a38 100%);position:relative;overflow:hidden}.kb-hero-img{object-fit:cover;object-position:center 12%;width:100%;height:100%;position:absolute;inset:0}.kb-hero-shade{background:linear-gradient(#0a101680,#0a1016d1);position:absolute;inset:0}.kb-hero-in{padding-top:clamp(2rem,6vw,3.5rem);padding-bottom:clamp(2rem,5vw,3rem);position:relative}.kb-brand{letter-spacing:.2em;align-items:center;gap:.7rem;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.kb-brand img{background:#fff;border-radius:50%;padding:2px}.kb h1{font-variation-settings:"wdth" 80, "wght" 850;text-transform:uppercase;letter-spacing:-.01em;margin:1.2rem 0 .8rem;font-family:Archivo,sans-serif;font-size:clamp(2.4rem,7vw,4.6rem);line-height:.98}.kb-hero p{color:#e9e6df;max-width:52ch;margin:0 0 1.4rem;font-size:1.1rem}.kb-meter{max-width:520px}.kb-meter-row{letter-spacing:.08em;justify-content:space-between;margin-bottom:.45rem;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.kb-bar{background:#ffffff38;border-radius:99px;height:8px;overflow:hidden}.kb-bar i{background:linear-gradient(90deg, var(--k-gold), #f3d27a);height:100%;transition:width .4s;display:block}.kb-top{color:#f3d27a;margin-top:.7rem;display:block}.kb-credit{opacity:.7;margin-top:1rem;font-size:11px;display:block}.kb-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 0 1rem;display:flex}.kb-tabs{background:var(--k-ash);border-radius:10px;padding:4px;display:inline-flex}.kb-tabs button{font:inherit;cursor:pointer;color:var(--k-stone);background:0 0;border:0;border-radius:7px;padding:.5rem 1.1rem;font-weight:600}.kb-tabs button.on{background:var(--k-ink);color:#fff}.kb-add{flex:1;gap:.5rem;min-width:240px;max-width:420px;display:flex}.kb-add input{border:1px solid var(--k-ash);font:inherit;background:#fff;border-radius:8px;flex:1;padding:.6rem .8rem}.kb-add button{background:var(--k-pine);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:0 1.1rem;font-weight:600}.kb-phase-photos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.kb-phase-photos:empty{display:none}.kb-pic{aspect-ratio:16/9;background:var(--k-ash);border-radius:12px;margin:0 0 1rem;position:relative;overflow:hidden}.kb-pic img{object-fit:cover;width:100%;height:100%;display:block}.kb-pic figcaption{color:#fff;background:linear-gradient(#0000,#0009);padding:.3rem .6rem;font-size:10px;position:absolute;bottom:0;left:0;right:0}.kb-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.kb-col{border-top:5px solid var(--k-stone);background:#ebe7dd;border-radius:14px;min-height:260px;padding:1rem;transition:background .15s,box-shadow .15s}.kb-col.kb-todo{border-top-color:var(--k-earth)}.kb-col.kb-doing{border-top-color:var(--k-gold)}.kb-col.kb-done{border-top-color:var(--k-pine)}.kb-col.over{box-shadow:inset 0 0 0 2px var(--k-ink);background:#e1dccd}.kb-col-head{justify-content:space-between;align-items:center;display:flex}.kb-col h2{font-variation-settings:"wdth" 85, "wght" 800;text-transform:uppercase;letter-spacing:.04em;margin:0;font-family:Archivo,sans-serif;font-size:1.15rem}.kb-col-head span{background:var(--k-ink);color:#fff;text-align:center;border-radius:99px;min-width:24px;padding:1px 7px;font-size:12px}.kb-hint{color:var(--k-stone);margin:.1rem 0 .8rem;font-size:.85rem}.kb-col ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.kb-card{cursor:grab;border-left:4px solid var(--k-stone);background:#fff;border-radius:10px;gap:.25rem;padding:.8rem .9rem .6rem;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:0 1px 2px #10161d14}.kb-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px -8px #10161d59}.kb-card.drag{opacity:.4}.kb-card.ph-before{border-left-color:var(--k-ice)}.kb-card.ph-during{border-left-color:var(--k-earth)}.kb-card.ph-after{border-left-color:var(--k-pine)}.kb-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--k-stone);font-family:JetBrains Mono,monospace;font-size:10px}.kb-card b{font-weight:650;line-height:1.3}.kb-card small{color:var(--k-stone);font-size:.84rem;line-height:1.4}.kb-done .kb-card b{color:var(--k-stone);-webkit-text-decoration:line-through #10161d59;text-decoration:line-through #10161d59}.kb-actions{justify-content:flex-end;gap:.3rem;margin-top:.2rem;display:flex}.kb-actions button{border:1px solid var(--k-ash);cursor:pointer;width:28px;height:26px;color:var(--k-ink);background:#fff;border-radius:6px;font-size:14px;line-height:1}.kb-actions button:hover:not(:disabled){background:var(--k-ink);color:#fff}.kb-actions button:disabled{opacity:.3;cursor:default}.kb-empty{text-align:center;color:var(--k-stone);border:2px dashed #c9c3b3;border-radius:10px;padding:1.2rem;font-size:.9rem}.kb-foot-note{color:var(--k-stone);padding:1.2rem 0 2.4rem;font-size:.88rem}.kb-link{color:var(--k-ice);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.kb-cta{background:var(--k-ink);color:#fff;padding:clamp(2.4rem,6vw,4rem) 0}.kb-cta-in{grid-template-columns:1.2fr 1fr;align-items:center;gap:2rem;display:grid}.kb-cta h2{font-variation-settings:"wdth" 80, "wght" 800;text-transform:uppercase;margin:0 0 .8rem;font-family:Archivo,sans-serif;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.05}.kb-cta p{color:#cfd3d8;max-width:48ch;margin:0 0 1.4rem}.kb-btn{background:var(--k-gold);color:#111;border-radius:10px;padding:.9rem 1.5rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-block}.kb-btn:hover{color:#111;background:#e0a826;transform:translateY(-1px)}.kb-shop img{background:#fff;border-radius:16px;width:100%;height:auto;display:block}.kb-footer{color:var(--k-stone);padding-top:1.6rem;padding-bottom:2rem;font-size:.9rem}.kb-footer a,.kb-cta a:not(.kb-btn){color:inherit}@media (width<=860px){.kb-board,.kb-cta-in{grid-template-columns:1fr}.kb-col{min-height:0}}
