*{box-sizing:border-box}:root{color:#171717;background:#f5f5f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100%;margin:0}body{color:#171717;background:linear-gradient(#fafafa 0%,#f1f1f1 100%)}button,textarea{font:inherit}.app-shell{min-height:100vh}.container{max-width:1240px;margin:0 auto;padding:24px}.hero,.panel{background:#fff;border:1px solid #e5e5e5;border-radius:28px;box-shadow:0 8px 28px #0000000a}.hero{padding:32px}.hero-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.eyebrow,.label{letter-spacing:.18em;text-transform:uppercase;color:#737373;margin:0 0 8px;font-size:12px;font-weight:700}.hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.hero-copy{color:#525252;max-width:700px;margin:12px 0 0;font-size:1.05rem}.stats-grid,.mini-stats-grid,.cards-grid,.main-grid{display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:320px}.stat-card,.mini-stat,.challenge-box,.mode-card{border-radius:22px}.stat-card,.mini-stat{background:#fafafa;padding:18px}.stat-card p,.mini-stat p,.panel-subtitle,.hint,.saved-message,.mode-card p{color:#525252}.stat-card p,.mini-stat p,.panel-subtitle,.hint,.saved-message{margin:0;font-size:.95rem}.stat-card strong{margin-top:8px;font-size:2rem;display:block}.main-grid{grid-template-columns:1.35fr .85fr;gap:24px;margin-top:24px}.column{flex-direction:column;gap:24px;display:flex}.panel{padding:24px}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel h2,.challenge-box h3,.mode-card h3{margin:0}.panel h2{font-size:1.35rem}.challenge-box{background:#fafafa;padding:20px}.chip-row,.button-row{flex-wrap:wrap;gap:10px;display:flex}.chip-row{margin-bottom:18px}.chip{color:#404040;cursor:pointer;background:#fff;border:1px solid #d4d4d4;border-radius:999px;padding:10px 14px;transition:all .2s}.chip:hover,.button:hover,.mode-card:hover{transform:translateY(-1px)}.chip-active{color:#fff;background:#171717;border-color:#171717}.challenge-box h3{font-size:1.8rem;line-height:1.2}.hint{margin-top:10px}textarea{resize:vertical;background:#fff;border:1px solid #d4d4d4;border-radius:20px;outline:none;width:100%;min-height:160px;margin-top:18px;padding:16px}textarea:focus{border-color:#737373}.button-row{margin-top:14px}.button{cursor:pointer;border:1px solid #d4d4d4;border-radius:18px;padding:12px 16px;transition:all .2s}.button-primary{color:#fff;background:#171717;border-color:#171717}.button-secondary{color:#171717;background:#fff}.sample-box{color:#404040;background:#fff;border:1px dashed #cfcfcf;border-radius:20px;margin-top:16px;padding:14px 16px}.sample-box span{font-weight:700}.saved-message{margin-top:14px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mode-card{text-align:left;cursor:pointer;background:#fafafa;border:1px solid #e5e5e5;padding:18px;transition:all .2s}.mode-card p{margin:10px 0 0}.mode-card span{margin-top:14px;font-weight:600;display:inline-block}.mode-card-active{color:#fff;background:#171717;border-color:#171717}.mode-card-active p{color:#d4d4d4}.map-box{background:#fafafa;border-radius:24px;height:260px;position:relative;overflow:hidden}.map-line{color:#cfcfcf;width:100%;height:100%;position:absolute;inset:0}.map-node{background:#fff;border:1px solid #e5e5e5;border-radius:999px;padding:10px 14px;font-size:.95rem;font-weight:600;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #0000000f}.progress-track{background:#e5e5e5;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{background:#171717;border-radius:999px;height:100%;transition:width .4s}.mini-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.mini-stat strong{margin-top:4px;font-size:1.4rem;display:block}.mt-16{margin-top:16px}@media (width<=1024px){.main-grid{grid-template-columns:1fr}.hero-row{flex-direction:column;align-items:flex-start}.stats-grid{width:100%;min-width:0}}@media (width<=720px){.container{padding:16px}.hero,.panel{border-radius:24px;padding:18px}.cards-grid,.stats-grid,.mini-stats-grid{grid-template-columns:1fr}.challenge-box h3{font-size:1.45rem}.button,.chip{text-align:center;width:100%}.panel-header{flex-direction:column}}
