@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg: #fafafa;--bg-white: #ffffff;--text: #1a1a1a;--text-secondary: #555555;--muted: #888888;--brand: #F1FFD2;--brand-mid: #d8f0a0;--brand-deep: #b5d96b;--brand-darker: #8bb83d;--surface: #ffffff;--line: #e8e8e8;--line-light: #f0f0f0;--radius: 20px;--radius-sm: 12px;--radius-xs: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 20px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--transition: .25s cubic-bezier(.4, 0, .2, 1);--success: #2f8f46;--success-bg: #e8f8ec;--error: #c63737;--error-bg: #fdecec}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.site-shell{width:min(1100px,calc(100% - 2rem));margin:0 auto}.site-nav{position:sticky;top:.75rem;z-index:100;margin-top:.75rem;padding:.6rem .6rem .6rem 1.2rem;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:.95rem;letter-spacing:-.01em}.brand img{width:30px;height:30px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:.25rem;font-size:.88rem}.nav-links a{color:var(--text-secondary);padding:.45rem .9rem;border-radius:999px;transition:all var(--transition);font-weight:500}.nav-links a:hover{color:var(--text);background:var(--brand)}.nav-links a[aria-current=page]{color:var(--text);background:var(--brand);font-weight:600}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.4rem;border-radius:8px;color:var(--text);transition:background var(--transition)}.nav-toggle:hover{background:var(--brand)}.nav-toggle svg{display:block;width:22px;height:22px}main{padding:2.5rem 0 4rem;animation:fadeIn .4s ease}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;padding:3rem 1rem 3.5rem;animation:fadeInUp .5s ease}.hero-logo{width:80px;height:80px;object-fit:contain;margin-bottom:.5rem}.eyebrow{display:inline-block;color:var(--text-secondary);font-family:IBM Plex Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;background:var(--brand);padding:.3rem .85rem;border-radius:999px;font-weight:500}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;max-width:18ch}h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:700}.lead{color:var(--text-secondary);max-width:52ch;line-height:1.65;font-size:1.05rem}.hero-banner{background:var(--brand);border-radius:var(--radius);padding:2.5rem 2rem;display:flex;align-items:center;gap:2rem;margin-top:1rem;animation:fadeInUp .6s ease .1s both}.hero-banner img{width:100px;height:100px;object-fit:contain;flex-shrink:0}.hero-banner-text{display:flex;flex-direction:column;gap:.5rem}.hero-banner-text h2{font-size:1.35rem}.hero-banner-text p{margin:0;color:var(--text-secondary);line-height:1.55;font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:1.5rem}.card{grid-column:span 12;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;transition:all var(--transition);box-shadow:var(--shadow-sm);animation:fadeInUp .5s ease both;position:relative}.card:nth-child(1){animation-delay:.05s}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.2s}.card:nth-child(5){animation-delay:.25s}.card:nth-child(6){animation-delay:.3s}.card:nth-child(7){animation-delay:.35s}.card:nth-child(8){animation-delay:.4s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-mid);transform:translateY(-3px)}.card h3{font-size:1.05rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}.card p{margin:0;color:var(--text-secondary);line-height:1.6;font-size:.92rem}.card-meta{margin:0 0 .5rem;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace}.card-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--brand);display:grid;place-items:center;margin-bottom:.75rem;font-size:1.2rem}.card.featured{background:var(--brand);border-color:var(--brand-mid)}.card.featured:hover{background:var(--brand-mid)}.card-image{width:100%;height:180px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-mid) 100%);display:flex;align-items:center;justify-content:center;position:relative}.card-image img{width:100%;height:100%;object-fit:cover}.card-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--brand-darker);font-size:.8rem;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.card-image-placeholder .placeholder-icon{font-size:2rem;line-height:1}.category-badge{display:inline-block;padding:.22rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;margin-bottom:.65rem;background:var(--brand);color:var(--brand-darker);border:1px solid var(--brand-mid)}.kicker{margin-top:1rem!important;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:500;color:var(--text)!important;text-transform:uppercase;letter-spacing:.06em}.kicker a{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:var(--brand);border-radius:999px;transition:all var(--transition)}.kicker a:hover{background:var(--brand-mid);transform:translate(2px)}.chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none}.chip-list li{border:1px solid var(--line);border-radius:999px;padding:.26rem .65rem;font-size:.76rem;color:var(--text-secondary);background:#fff;transition:all var(--transition)}.card:hover .chip-list li{border-color:var(--brand-mid)}.project-grid{align-items:start}.project-list{margin:0;padding-left:1rem;display:grid;gap:.55rem}.project-list li{color:var(--text-secondary);line-height:1.5}.context-path{font-family:IBM Plex Mono,monospace;font-size:.83rem!important;color:var(--text)!important}.back-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:500;color:var(--text-secondary);padding:.4rem .85rem;border-radius:999px;transition:all var(--transition);margin-bottom:.5rem}.back-link:hover{color:var(--text);background:var(--brand)}.live-link{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:var(--brand);border:1px solid var(--brand-mid);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--text);transition:all var(--transition);font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.live-link:hover{background:var(--brand-mid);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.project-hero-image{width:100%;max-height:400px;border-radius:var(--radius);overflow:hidden;margin-top:1.5rem;border:1px solid var(--line);box-shadow:var(--shadow-md);animation:fadeInUp .6s ease .15s both}.project-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.project-sidebar .card-meta{margin-top:1rem}.project-sidebar .card-meta:first-child{margin-top:0}.section-header{margin-top:3rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.75rem;animation:fadeInUp .5s ease .2s both}.section-header h2{font-size:1.2rem;white-space:nowrap}.section-header .line{flex:1;height:1px;background:var(--line)}.route-shell{border:1px dashed var(--line);border-radius:var(--radius);min-height:42vh;padding:1.5rem;background:var(--bg-white)}.route-shell.empty{display:grid;place-items:center}.empty-note{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.9rem}footer{padding:2.5rem 0 2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}footer .footer-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text);font-size:.88rem}footer .footer-brand img{width:22px;height:22px;object-fit:contain}footer .footer-text{color:var(--muted);font-size:.82rem;line-height:1.5}.simulator{display:grid;gap:1rem}.sim-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);display:grid;gap:.75rem;animation:fadeInUp .5s ease both;transition:border-color var(--transition)}.sim-panel:nth-child(1){animation-delay:.05s}.sim-panel:nth-child(2){animation-delay:.1s}.sim-panel:nth-child(3){animation-delay:.15s}.sim-panel:nth-child(4){animation-delay:.2s}.sim-panel h2{font-size:1.1rem;display:flex;align-items:center;gap:.6rem}.step-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand);font-size:.78rem;font-weight:700;color:var(--text);flex-shrink:0;border:2px solid var(--brand-mid)}.sim-note{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.5}.sim-panel label{font-size:.87rem;color:var(--text-secondary);font-weight:500}.sim-panel input,.sim-panel select,.sim-panel textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.72rem .85rem;background:#fff;color:var(--text);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.sim-panel input:focus,.sim-panel select:focus,.sim-panel textarea:focus{outline:none;border-color:var(--brand-deep);box-shadow:0 0 0 3px #b5d96b40}.sim-panel input[type=file]{padding:.55rem .85rem;cursor:pointer;background:var(--bg);border-style:dashed}.sim-panel input[type=file]:hover{border-color:var(--brand-deep);background:var(--brand)}.sim-panel textarea{resize:vertical;min-height:80px}.sim-panel button:not(.option-button):not(.btn-secondary),.btn-primary{border:0;border-radius:999px;background:var(--text);color:#fff;padding:.7rem 1.3rem;font-weight:600;cursor:pointer;font-size:.88rem;transition:all var(--transition);letter-spacing:.01em}.sim-panel button:not(.option-button):not(.btn-secondary):hover,.btn-primary:hover{background:#333;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.sim-panel button:not(.option-button):not(.btn-secondary):disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.sim-panel button:not(.option-button):not(.btn-secondary):active:not(:disabled){transform:translateY(0)}.option-list{display:grid;gap:.6rem}.option-button{text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:.75rem .95rem;color:var(--text);cursor:pointer;transition:all var(--transition);font-size:.92rem;line-height:1.5}.option-button:hover:not(:disabled){border-color:var(--brand-deep);background:#f1ffd24d;transform:translate(4px)}.option-button.selected{border-color:var(--brand-darker);background:var(--brand-mid);font-weight:600;box-shadow:var(--shadow-sm);border-left:3px solid var(--brand-darker)}.option-button.correct{border-color:var(--success);background:var(--success-bg)}.option-button.wrong{border-color:var(--error);background:var(--error-bg)}.option-button:disabled{cursor:default}.debrief-output{display:grid;gap:.5rem}.debrief-output p{margin:0;color:var(--text-secondary);line-height:1.55}.debrief-item{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line-light)}.debrief-item strong{color:var(--text);display:block;margin-bottom:.25rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;font-family:IBM Plex Mono,monospace}.debrief-score{text-align:center;padding:1.2rem;border-radius:var(--radius);background:var(--brand);border:1px solid var(--brand-mid)}.debrief-score .score-value{font-size:2.2rem;font-weight:700;color:var(--text);line-height:1}.debrief-score .score-label{font-size:.82rem;color:var(--text-secondary);font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem}.quiz-question{font-size:1rem;font-weight:600;color:var(--text);margin:0;line-height:1.5}.quiz-feedback{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1rem;color:var(--text-secondary);line-height:1.5;animation:slideDown .3s ease}.quiz-feedback.correct{border-color:var(--success);background:var(--success-bg);color:#1b5b2e}.quiz-feedback.wrong{border-color:var(--error);background:var(--error-bg);color:#8c2626}.quiz-score{font-size:1.05rem;font-weight:600;color:var(--text)}.quiz-progress-bar{width:100%;height:6px;background:var(--line-light);border-radius:999px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--brand-deep);border-radius:999px;transition:width .4s ease}.quiz-results{text-align:center;padding:1.5rem}.quiz-results .score-circle{width:120px;height:120px;border-radius:50%;background:var(--brand);border:3px solid var(--brand-deep);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1rem}.quiz-results .score-circle .score-number{font-size:2rem;font-weight:700;color:var(--text);line-height:1}.quiz-results .score-circle .score-of{font-size:.78rem;color:var(--text-secondary);font-family:IBM Plex Mono,monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.coach-chat-panel{gap:.9rem}.chat-log{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);min-height:360px;max-height:60vh;overflow:auto;padding:1rem;display:grid;gap:.75rem;align-content:start}.chat-message{display:flex;animation:fadeInUp .3s ease}.chat-message-content{margin:0;padding:.7rem .9rem;border-radius:16px;line-height:1.55;font-size:.92rem;max-width:min(85%,62ch)}.chat-message-content p{margin:0}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3{margin:.2rem 0 .55rem;line-height:1.25;letter-spacing:-.01em;max-width:none}.chat-message-content h1{font-size:1.1rem}.chat-message-content h2{font-size:1rem}.chat-message-content h3{font-size:.95rem}.chat-message-content ul,.chat-message-content ol{margin:.35rem 0 .6rem;padding-left:1.15rem}.chat-message-content li{margin:.2rem 0}.chat-message-content pre{margin:.6rem 0;padding:.6rem;border-radius:8px;background:#0000000f;overflow-x:auto}.chat-message-content code{font-family:IBM Plex Mono,monospace;font-size:.84em}.chat-message-content table{border-collapse:collapse;width:100%;margin:.55rem 0}.chat-message-content th,.chat-message-content td{border:1px solid rgba(0,0,0,.12);padding:.35rem .45rem;text-align:left}.chat-message.user{justify-content:flex-end}.chat-message.user .chat-message-content{background:var(--text);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant{justify-content:flex-start}.chat-message.assistant .chat-message-content{background:var(--surface);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-form{display:flex;gap:.65rem;align-items:flex-end}.chat-form textarea{flex:1;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.72rem .85rem;background:#fff;color:var(--text);font:inherit;resize:vertical;min-height:48px;transition:border-color var(--transition),box-shadow var(--transition)}.chat-form textarea:focus{outline:none;border-color:var(--brand-deep);box-shadow:0 0 0 3px #b5d96b40}.chat-form button{border:0;border-radius:999px;background:var(--text);color:#fff;padding:.65rem 1.2rem;font-weight:600;cursor:pointer;font-size:.88rem;transition:all var(--transition);white-space:nowrap;flex-shrink:0}.chat-form button:hover:not(:disabled){background:#333;transform:translateY(-1px)}.chat-form button:disabled{opacity:.5;cursor:not-allowed}.typing-indicator{display:flex;gap:4px;padding:.7rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 4px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:var(--muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.wizard-progress{display:flex;align-items:flex-start;justify-content:center;padding:.5rem 0 1.25rem;animation:fadeIn .4s ease}.wizard-progress-step{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:none;border:none;padding:0;cursor:default;min-width:52px}.wizard-progress-dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--muted);transition:all .3s ease;flex-shrink:0}.wizard-progress-step.active .wizard-progress-dot{border-color:var(--brand-deep);background:var(--brand);color:var(--text);box-shadow:0 0 0 4px #b5d96b40}.wizard-progress-step.done .wizard-progress-dot{border-color:var(--success);background:var(--success-bg);color:var(--success)}.wizard-progress-label{font-size:.68rem;color:var(--muted);font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;transition:color .3s ease}.wizard-progress-step.active .wizard-progress-label{color:var(--text);font-weight:600}.wizard-progress-step.done .wizard-progress-label{color:var(--success)}.wizard-progress-line{width:36px;height:2px;background:var(--line);margin-top:15px;flex-shrink:0;transition:background .3s ease}.wizard-progress-line.done{background:var(--success)}.wizard-step{display:none}.wizard-step.active{display:block;animation:fadeInUp .35s ease}.wizard-step .sim-panel{animation:none}.wizard-nav{display:flex;gap:.65rem;margin-top:.25rem;flex-wrap:wrap}.btn-secondary{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text-secondary);padding:.7rem 1.3rem;font-weight:500;cursor:pointer;font-size:.88rem;transition:all var(--transition)}.btn-secondary:hover{border-color:var(--brand-deep);background:var(--brand);color:var(--text)}.btn-skip{margin-left:auto}.drop-zone{border:2px dashed var(--line);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all var(--transition);background:var(--bg);position:relative}.drop-zone:hover{border-color:var(--brand-deep);background:#f1ffd24d}.drop-zone.drag-over{border-color:var(--brand-darker);background:var(--brand);transform:scale(1.01);box-shadow:0 0 0 4px #b5d96b33}.drop-zone.has-file{border-color:var(--success);border-style:solid;background:var(--success-bg)}.drop-zone-icon{font-size:2.5rem;margin-bottom:.5rem;display:block;line-height:1;pointer-events:none}.drop-zone-label{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 .25rem;pointer-events:none}.drop-zone-hint{font-size:.84rem;color:var(--muted);margin:0;pointer-events:none}.drop-zone-filename{font-size:.86rem;color:var(--success);font-weight:600;margin:.5rem 0 0;font-family:IBM Plex Mono,monospace;pointer-events:none}.drop-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}@media(min-width:720px){.card.span-6{grid-column:span 6}.card.span-4{grid-column:span 4}.card.span-8{grid-column:span 8}.hero{padding:4.5rem 1rem 4rem}.hero-logo{width:96px;height:96px}.simulator{gap:1.25rem}.chat-form{flex-direction:row}}@media(max-width:719px){.card.span-6,.card.span-4,.card.span-8{grid-column:span 12}.chat-form{flex-direction:column}.chat-form button{width:100%}}@media(max-width:600px){.site-shell{width:min(1100px,calc(100% - 1rem))}.site-nav{border-radius:18px;padding:.7rem .9rem;top:.5rem}.nav-toggle{display:flex}.nav-links{display:none;width:100%;flex-direction:column;gap:.25rem;padding-top:.5rem;border-top:1px solid var(--line);margin-top:.5rem}.nav-links.open{display:flex;animation:slideDown .2s ease}.nav-links a{padding:.55rem .85rem;font-size:.88rem;width:100%;text-align:center;border-radius:var(--radius-sm)}.brand{flex:1}main{padding-top:1.5rem}.hero{padding:2rem .5rem 2.5rem;gap:1rem}.hero-banner{flex-direction:column;text-align:center;padding:2rem 1.5rem}.grid{gap:.8rem}.card{padding:1.2rem;border-radius:16px}.kicker a{width:100%;justify-content:center}footer{flex-direction:column;text-align:center;gap:.5rem}.card-image{height:140px}.sim-panel{padding:1.2rem}.debrief-score .score-value{font-size:1.8rem}.drop-zone{padding:1.5rem 1rem}.wizard-progress-label{display:none}.wizard-progress-line{width:20px}.wizard-nav{flex-direction:column}.wizard-nav button{width:100%}.btn-skip{margin-left:0}}
