*{margin:0;padding:0;box-sizing:border-box}:root{--black: #000000;--white: #ffffff;--gray-light: #f5f5f5;--gray-border: #e0e0e0;--blue-highlight: #e8f4fc;--font-mono: "IBM Plex Mono", monospace}html,body{font-family:var(--font-mono);font-size:14px;line-height:1.6;color:var(--black);background:var(--white);min-height:100vh}#root{min-height:100vh}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;min-width:260px;border-right:1.5px solid var(--black);padding:24px;display:flex;flex-direction:column;background:var(--white);position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-logo{font-size:18px;font-weight:700;margin-bottom:32px;letter-spacing:-.5px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.sidebar-section{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;color:var(--black)}.progress-container{margin-bottom:16px}.progress-bar-wrapper{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.progress-bar{flex:1;height:4px;background:#e0e0e0;border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--black);transition:width .3s ease}.progress-text{font-size:12px;color:#666}.sidebar-footer{padding-top:32px}.nav-item{padding:8px 12px;cursor:pointer;font-size:13px;border:1.5px solid transparent;transition:all .15s ease;background:transparent;text-align:left;font-family:var(--font-mono);display:block;width:100%}.nav-item:hover{background:var(--gray-light)}.nav-item.active{border-color:var(--black);background:var(--white);font-weight:600}.nav-item.completed{color:#666}.nav-item.completed:before{content:"[x] "}.nav-item:not(.completed):before{content:"[ ] "}.nav-item.intro:before,.nav-item.conclusion:before{content:""}.mobile-header,.sidebar-overlay,.sidebar-close-area{display:none}.main-content{flex:1;padding:48px 64px;overflow-y:auto;min-height:100vh;position:relative}.saved-indicator{position:fixed;top:24px;right:24px;padding:8px 16px;background:var(--white);border:1.5px solid var(--black);font-size:13px;font-weight:500;z-index:1000;animation:fadeInOut 2s ease}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.intro-screen{display:flex;flex-direction:column;justify-content:center;min-height:60vh}.intro-title{font-size:48px;font-weight:700;letter-spacing:-2px;margin-bottom:16px}.intro-subtitle{font-size:16px;color:#666;margin-bottom:48px}.intro-cta{font-size:14px;color:var(--black);cursor:pointer;text-decoration:underline;background:none;border:none;font-family:var(--font-mono);text-align:left;padding:0}.intro-cta:hover{color:#333}.step-container{max-width:640px}.step-header{margin-bottom:24px}.step-number{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;color:#666}.step-title{font-size:24px;font-weight:700;letter-spacing:-.5px}.step-description{font-size:14px;line-height:1.7;margin-bottom:24px;color:#333}.step-tips{margin-bottom:32px;background:var(--gray-light);border:1.5px solid var(--gray-border)}.step-tips-toggle{width:100%;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;background:transparent;border:none;cursor:pointer;font-family:var(--font-mono)}.step-tips-toggle:hover{background:#00000008}.step-tips-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.step-tips-icon{font-size:16px;font-weight:500;color:var(--black)}.step-tips ul{list-style:none;padding:0 16px 16px;margin:0}.step-tips li{font-size:13px;line-height:1.6;margin-bottom:6px;padding-left:16px;position:relative}.step-tips li:last-child{margin-bottom:0}.step-tips li:before{content:"•";position:absolute;left:0}.input-group{margin-bottom:24px}.input-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;background:var(--blue-highlight);padding:12px 16px;border:1.5px solid var(--black)}textarea{width:100%;min-height:120px;padding:16px;font-family:var(--font-mono);font-size:14px;line-height:1.6;border:1.5px solid var(--black);border-top:none;resize:vertical;background:var(--white)}textarea.textarea-small{min-height:100px}textarea.textarea-medium{min-height:150px}textarea.textarea-large{min-height:200px}textarea:focus{outline:none;background:var(--gray-light)}.example-text{font-size:12px;color:#666;font-style:italic;margin-top:8px}.example-section{margin-top:8px}.example-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;font-family:var(--font-mono);font-size:12px;color:#666;background:transparent;border:1px solid var(--gray-border);cursor:pointer;transition:all .15s ease}.example-toggle:hover{background:var(--gray-light);border-color:#ccc}.example-toggle-icon{font-size:14px;font-weight:500}.example-section .example-text{margin-top:0;padding:12px;background:var(--gray-light);border:1px solid var(--gray-border);border-top:none}.dropdown-group{margin-bottom:16px}select{width:200px;padding:12px 16px;font-family:var(--font-mono);font-size:14px;border:1.5px solid var(--black);background:var(--white);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}select:focus{outline:none;background-color:var(--gray-light)}.resource-list{margin-bottom:24px}.resource-item{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.resource-item input{flex:1;padding:12px 16px;font-family:var(--font-mono);font-size:14px;border:1.5px solid var(--black);background:var(--white)}.resource-item input:focus{outline:none;background:var(--gray-light)}.resource-item button{padding:12px 16px;font-family:var(--font-mono);font-size:14px;border:1.5px solid var(--black);background:var(--white);cursor:pointer}.resource-item button:hover{background:var(--gray-light)}.add-resource-btn{padding:12px 24px;font-family:var(--font-mono);font-size:14px;border:1.5px solid var(--black);background:var(--white);cursor:pointer}.add-resource-btn:hover{background:var(--gray-light)}.step-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;border-top:1.5px solid var(--gray-border)}.nav-btn{padding:12px 24px;font-family:var(--font-mono);font-size:14px;border:1.5px solid var(--black);background:var(--white);cursor:pointer;transition:all .15s ease}.nav-btn:hover,.nav-btn.primary{background:var(--black);color:var(--white)}.nav-btn.primary:hover{background:#333}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn:disabled:hover{background:var(--white);color:var(--black)}.conclusion-screen{max-width:640px}.conclusion-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:24px}.conclusion-text{font-size:14px;line-height:1.7;margin-bottom:24px;color:#333}.download-section{margin-top:48px;padding:24px;background:var(--gray-light);border:1.5px solid var(--black)}.download-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.download-title{font-size:14px;font-weight:600;margin:0}.copy-btn{padding:10px 16px;font-family:var(--font-mono);font-size:13px;font-weight:500;border:1.5px solid var(--black);background:var(--black);color:var(--white);cursor:pointer;transition:all .15s ease;white-space:nowrap}.copy-btn:hover{background:#333}.download-description{font-size:13px;margin-bottom:12px;color:#666;line-height:1.5}.document-output{width:100%;min-height:400px;padding:16px;font-family:var(--font-mono);font-size:13px;line-height:1.6;border:1.5px solid var(--black);border-top:1.5px solid var(--black);background:var(--white);resize:vertical}.download-btn{padding:16px 32px;font-family:var(--font-mono);font-size:14px;font-weight:600;border:1.5px solid var(--black);background:var(--black);color:var(--white);cursor:pointer;transition:all .15s ease}.download-btn:hover{background:#333}.next-steps{margin-top:48px}.next-steps-title{font-size:16px;font-weight:600;margin-bottom:16px}.next-steps ul{list-style:none;padding-left:0}.next-steps li{font-size:14px;line-height:1.7;margin-bottom:8px;padding-left:20px;position:relative}.next-steps li:before{content:"→";position:absolute;left:0}.intro-content{max-width:640px}.intro-content h2{font-size:20px;font-weight:600;margin-top:32px;margin-bottom:12px}.intro-content p{font-size:14px;line-height:1.7;margin-bottom:16px;color:#333}@media (max-width: 768px){.app-container{flex-direction:column}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1.5px solid var(--black);background:var(--white);position:sticky;top:0;z-index:100}.mobile-logo{font-size:16px;font-weight:700;letter-spacing:-.5px;background:none;border:none;cursor:pointer;font-family:var(--font-mono);padding:0}.mobile-header-right{display:flex;align-items:center;gap:16px}.mobile-progress{font-size:12px;color:#666;font-family:var(--font-mono)}.hamburger-btn{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:1.5px solid var(--black);cursor:pointer;padding:0;transition:background .15s ease}.hamburger-btn:hover{background:var(--gray-light)}.hamburger-btn span{display:block;width:20px;height:2px;background:var(--black);transition:all .3s ease;transform-origin:center}.hamburger-btn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.open{opacity:1;visibility:visible}.sidebar{position:fixed;top:0;left:0;width:85%;max-width:320px;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease;border-right:1.5px solid var(--black);padding:16px 20px 24px}.sidebar.open{transform:translate(0)}.sidebar-close-area{display:flex;justify-content:flex-end;margin-bottom:8px}.close-sidebar-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid var(--black);font-size:28px;font-weight:300;cursor:pointer;font-family:var(--font-mono);line-height:1;padding-bottom:2px;transition:background .15s ease}.close-sidebar-btn:hover{background:var(--gray-light)}.sidebar-logo{margin-bottom:24px}.sidebar-footer{padding-top:24px}.nav-item{padding:14px;font-size:14px;min-height:48px;display:flex;align-items:center}.main-content{padding:24px 20px 40px;min-height:calc(100vh - 69px)}.saved-indicator{top:80px;right:20px;padding:6px 12px;font-size:12px}.intro-screen{min-height:50vh;padding-top:20px}.intro-title{font-size:36px;letter-spacing:-1.5px}.intro-subtitle{font-size:14px;margin-bottom:32px}.step-container{max-width:100%}.step-title{font-size:20px}.step-description{font-size:14px}.step-tips{margin-bottom:24px}.step-tips li{font-size:12px;line-height:1.5}.input-label{font-size:12px;padding:10px 14px}textarea{padding:14px;font-size:16px;min-height:100px}textarea.textarea-small{min-height:80px}textarea.textarea-medium{min-height:120px}textarea.textarea-large{min-height:160px}.example-text{font-size:11px;line-height:1.5}.resource-item{flex-direction:column;gap:8px}.resource-item input{width:100%;padding:12px 14px;font-size:16px}.resource-item button{align-self:flex-end;padding:10px 16px;min-height:44px}.add-resource-btn{width:100%;min-height:48px}.step-navigation{margin-top:32px;padding-top:20px;gap:12px}.nav-btn{padding:14px 20px;font-size:14px;min-height:48px;flex:1;text-align:center}.conclusion-title{font-size:22px}.conclusion-text{font-size:14px}.download-section{padding:16px;margin-top:32px}.download-header{flex-direction:column;align-items:stretch;gap:12px}.download-title{font-size:14px}.copy-btn{width:100%;padding:14px 16px;font-size:14px;min-height:48px;text-align:center}.download-description{font-size:12px}.document-output{min-height:300px;font-size:11px;padding:14px}.intro-content h2{font-size:18px;margin-top:24px}.intro-content p{font-size:14px}select{width:100%;font-size:16px}}@media (max-width: 375px){.mobile-header{padding:12px 16px}.main-content{padding:20px 16px 32px}.intro-title{font-size:32px}.step-title{font-size:18px}.nav-btn{padding:12px 16px;font-size:13px}.sidebar{width:90%;padding:16px}.conclusion-title{font-size:20px}.download-section textarea{font-size:10px}}@media (min-width: 769px) and (max-width: 1024px){.main-content{padding:40px 48px}.sidebar{width:240px;min-width:240px;padding:20px}}
