@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@100;200;300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 40px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--touch-target-min: 44px;--btn-bg: #ffffff;--btn-text: #111827;--btn-border: #dcdcdc;--btn-radius: 999px;--btn-hover-bg: #111827;--btn-hover-text: #ffffff;--btn-hover-border: #111827;--btn-padding-y: 10px;--btn-padding-x: 18px}:root,:root[data-theme=light],.light{--bg-primary: #000000;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-hover: #f5f5f5;--bg-active: #e5e5e5;--card-icon-bg: #f8f9fa;--text-primary: #000000;--text-secondary: #666666;--text-tertiary: #999999;--text-inverse: #ffffff;--border-primary: #e5e5e5;--border-secondary: #dcdcdc;--border-hover: #000000;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15)}:root[data-theme=dark],.dark{--bg-primary: #ffffff;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-hover: #333333;--bg-active: #404040;--card-icon-bg: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #808080;--text-inverse: #000000;--border-primary: #404040;--border-secondary: #333333;--border-hover: #ffffff;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5)}:root[data-theme=dark] select,.dark select{background-color:#fff!important;color:#000!important}:root[data-theme=dark] select option,.dark select option{background-color:#fff!important;color:#000!important}:root[data-theme=dark] select option:hover,.dark select option:hover,:root[data-theme=dark] select option:checked,.dark select option:checked,:root[data-theme=dark] select option:focus,.dark select option:focus{background-color:#f5f5f5!important;color:#000!important}body{font-family:IBM Plex Sans KR,sans-serif;font-weight:300;font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-tertiary);min-height:100vh;padding:0;color:var(--text-primary);line-height:var(--line-height-normal);transition:background-color .3s ease,color .3s ease}.ibm-plex-sans-kr-thin{font-family:IBM Plex Sans KR,sans-serif;font-weight:100;font-style:normal}.ibm-plex-sans-kr-extralight{font-family:IBM Plex Sans KR,sans-serif;font-weight:200;font-style:normal}.ibm-plex-sans-kr-light{font-family:IBM Plex Sans KR,sans-serif;font-weight:300;font-style:normal}.ibm-plex-sans-kr-regular{font-family:IBM Plex Sans KR,sans-serif;font-weight:400;font-style:normal}.ibm-plex-sans-kr-medium{font-family:IBM Plex Sans KR,sans-serif;font-weight:500;font-style:normal}.ibm-plex-sans-kr-semibold{font-family:IBM Plex Sans KR,sans-serif;font-weight:600;font-style:normal}.ibm-plex-sans-kr-bold{font-family:IBM Plex Sans KR,sans-serif;font-weight:700;font-style:normal}#root{max-width:1200px;margin:0 auto;min-height:100vh;padding:var(--spacing-xl) var(--spacing-lg)}@media(max-width:768px){:root{--spacing-xs: 4px;--spacing-sm: 6px;--spacing-md: 10px;--spacing-lg: 14px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-base: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 1.75rem}body{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}#root{padding:var(--spacing-lg) var(--spacing-md)}}@media(max-width:480px){:root{--spacing-xs: 3px;--spacing-sm: 5px;--spacing-md: 8px;--spacing-lg: 12px;--spacing-xl: 16px;--spacing-2xl: 20px;--spacing-3xl: 24px}#root{padding:var(--spacing-md) var(--spacing-sm)}}@media(max-width:375px){#root{padding:var(--spacing-md) var(--spacing-sm)}}@media(max-width:320px){#root{padding:var(--spacing-sm)}}*:focus-visible{outline:2px solid #000000;outline-offset:2px;border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #000000;outline-offset:2px;z-index:1}button{padding:var(--btn-padding-y) var(--btn-padding-x);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--btn-radius);font-weight:500;font-size:var(--font-size-sm);font-family:IBM Plex Sans KR,sans-serif;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);min-width:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;text-transform:none;letter-spacing:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover)}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--bg-primary);color:var(--text-inverse);border-color:var(--bg-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--bg-hover);color:var(--text-primary);opacity:.9}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}button,a,input[type=button],input[type=submit],select,label{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}label{color:var(--text-primary);transition:color .3s ease}img{max-width:100%;height:auto;display:block}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}button.small,a.small{min-height:auto;min-width:auto;padding:var(--spacing-sm) var(--spacing-md)}@media(max-width:768px){body{padding:0}#root{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.prompt-generator,.result-card,.structured-card,.wizard-section,.experiment-modal,.visit-graph-modal{will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}@media(max-width:768px){*{-webkit-overflow-scrolling:touch}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-lg)}.spinner{position:relative;border:2px solid var(--text-primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);transition:border-color .3s ease}.spinner-small{width:24px;height:24px;border-width:2px}.spinner-medium{width:40px;height:40px;border-width:3px}.spinner-large{width:60px;height:60px;border-width:4px}.spinner-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:50%;border:2px solid var(--text-primary);border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite reverse;transition:border-color .3s ease}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--text-primary)}.spinner-inner{animation:none}}.loading-message{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:none;letter-spacing:0;line-height:var(--line-height-normal);text-align:center;transition:color .3s ease}@media(max-width:768px){.loading-container{padding:var(--spacing-2xl);gap:var(--spacing-md)}.loading-message{font-size:var(--font-size-xs)}}@media(max-width:480px){.loading-container{padding:var(--spacing-xl)}}.language-toggle{position:relative;display:inline-block}.language-toggle-button{width:36px;height:36px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:50%;color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.language-toggle-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover);transform:scale(1.05)}.language-toggle-icon{display:flex;align-items:center;justify-content:center;line-height:1}.language-toggle-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-md);padding:4px;min-width:140px;z-index:1000;animation:fadeInDown .2s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.language-toggle-option{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:6px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:400;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-sm);text-align:left;min-height:var(--touch-target-min)}.language-toggle-option:hover:not(:disabled){background:var(--bg-hover)}.language-toggle-option.active{background:var(--bg-primary);color:var(--text-inverse)}.language-option-flag{font-size:16px;line-height:1;flex-shrink:0}.language-option-label{flex:1;white-space:nowrap}@media(max-width:768px){.language-toggle-button{width:32px;height:32px;min-width:32px;min-height:32px;font-size:16px}.language-toggle-dropdown{right:0;min-width:120px}}.onboarding-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.onboarding-container{background:var(--bg-secondary);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);position:relative}.onboarding-header{padding:24px;text-align:center;border-bottom:1px solid var(--border-primary);position:relative}.onboarding-header h2{margin:0 0 8px;font-size:24px;font-weight:600}.onboarding-header p{margin:0;color:var(--text-secondary);font-size:14px}.skip-button{position:absolute;top:24px;right:24px;padding:6px 12px;border:1px solid var(--border-primary);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.skip-button:hover{background:var(--bg-hover);color:var(--text-primary)}.onboarding-progress{padding:16px 24px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-primary)}.progress-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#000;transition:width .3s ease}.progress-text{font-size:12px;color:var(--text-secondary);white-space:nowrap}.onboarding-content{padding:32px 24px;min-height:300px}.onboarding-step h3{margin:0 0 8px;font-size:20px;font-weight:600;text-align:center}.step-description{text-align:center;color:var(--text-secondary);font-size:14px;margin-bottom:24px}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:24px}.option-card{padding:20px;border:2px solid var(--border-primary);background:var(--bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:var(--touch-target-min)}.option-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}.option-card.selected{border-color:#000;background:#000;color:#fff}.option-icon{font-size:32px}.option-label{font-size:14px;font-weight:500}.feature-highlights{display:flex;flex-direction:column;gap:16px;margin-top:24px}.feature-item{display:flex;gap:16px;padding:16px;background:var(--bg-tertiary);border-radius:8px}.feature-icon{font-size:24px;flex-shrink:0}.feature-item h4{margin:0 0 4px;font-size:16px;font-weight:600}.feature-item p{margin:0;font-size:14px;color:var(--text-secondary)}.onboarding-footer{padding:20px 24px;border-top:1px solid var(--border-primary);display:flex;justify-content:space-between;gap:12px}.nav-button{padding:12px 24px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;min-height:var(--touch-target-min)}.nav-button:hover:not(:disabled){background:var(--bg-hover)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.next-button{background:#000;color:#fff;border-color:#000;margin-left:auto}.next-button:hover:not(:disabled){background:#333;border-color:#333}@media(max-width:768px){.onboarding-overlay{padding:0}.onboarding-container{max-width:100%;max-height:100vh;border-radius:0}.option-grid{grid-template-columns:repeat(2,1fr)}}.app{width:100%}.app-header{color:var(--text-primary);margin-bottom:var(--spacing-2xl);padding:var(--spacing-2xl) var(--spacing-lg);background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);transition:background-color .3s ease,color .3s ease}.app-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);width:100%}.app-header-text{flex:1;min-width:0}.app-header h1{font-size:var(--font-size-4xl);margin:0 0 var(--spacing-sm) 0;font-weight:400;letter-spacing:-.02em;line-height:var(--line-height-tight)}.app-header p{font-size:var(--font-size-base);font-weight:300;color:var(--text-secondary);margin:0;line-height:var(--line-height-normal)}.tabs{display:flex;gap:0;background:var(--bg-secondary);border-radius:12px;padding:var(--spacing-xs);margin-bottom:var(--spacing-2xl);max-width:1200px;margin-left:auto;margin-right:auto;box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;position:relative;transition:background-color .3s ease}.tabs::-webkit-scrollbar{display:none}.tabs:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,rgba(255,255,255,.8));pointer-events:none;opacity:0;transition:opacity .3s ease}@media(max-width:768px){.tabs{position:fixed;bottom:0;left:0;right:0;z-index:1000;border-radius:0;border-top:1px solid var(--border-primary);margin-bottom:0;padding:8px;background:var(--bg-secondary);box-shadow:var(--shadow-md);padding-bottom:max(8px,env(safe-area-inset-bottom))}.tabs.scrollable:after{opacity:1}.tab-content{padding-bottom:calc(80px + env(safe-area-inset-bottom));touch-action:pan-y;-webkit-overflow-scrolling:touch}.app:before{content:"";position:fixed;top:50%;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--border-primary),transparent);opacity:0;transition:opacity .3s;pointer-events:none;z-index:999}.app.swipe-hint:before{opacity:.3;animation:swipeHint 2s ease-in-out infinite}@keyframes swipeHint{0%,to{transform:translate(-20px) translateY(-50%);opacity:.3}50%{transform:translate(20px) translateY(-50%);opacity:.6}}}.tab-button{padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400;text-transform:none;letter-spacing:0;cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap;flex:1;min-width:fit-content;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tab-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.tab-button.active{background:var(--bg-primary);color:var(--text-inverse);font-weight:500}.tab-button:disabled{opacity:.4;cursor:not-allowed}.tab-content{min-height:400px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.app-header{padding:var(--spacing-lg) var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:8px}.app-header-content{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.app-header-text{order:1}.app-header h1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.app-header p{font-size:var(--font-size-xs);line-height:var(--line-height-normal);margin:0}.header-actions{order:2;align-self:flex-end;width:100%;justify-content:flex-end}.tabs{margin-bottom:var(--spacing-xl);border-radius:8px;padding:var(--spacing-xs)}.tab-button{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0;min-height:var(--touch-target-min)}.tab-content{min-height:300px}}@media(max-width:480px){.app-header{padding:var(--spacing-md) var(--spacing-sm);margin-bottom:var(--spacing-md)}.app-header-content{gap:var(--spacing-sm)}.app-header-text{order:1}.app-header h1{font-size:var(--font-size-xl);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.app-header p{font-size:var(--font-size-xs);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.header-actions{order:2;align-self:flex-end;width:100%;justify-content:flex-end}.admin-toggle-button{align-self:flex-end}.tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);min-height:var(--touch-target-min)}}@media(max-width:375px){.app-header{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.app-header h1{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.app-header p{font-size:10px;line-height:1.3;-webkit-line-clamp:2;line-clamp:2}.header-actions{gap:var(--spacing-xs)}.tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}}.app-footer{margin-top:var(--spacing-3xl);padding:var(--spacing-2xl) var(--spacing-lg);text-align:left;border-top:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-sm);transition:background-color .3s ease,border-color .3s ease}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap}.footer-content p{flex:1;margin:0;text-align:left}.footer-github-link{margin-left:auto;color:#c2c2c2;border-color:#e8e8e8;background:#fdfdfd}.app-footer p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.footer-link{color:var(--text-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.footer-link:hover{color:var(--text-secondary);text-decoration:underline}.footer-link:focus{outline:2px solid #000000;outline-offset:2px;border-radius:2px}.footer-links{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.footer-social-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);cursor:pointer}.footer-social-link:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.footer-social-link:focus{outline:2px solid #000000;outline-offset:2px;border-radius:2px}.footer-social-link.linkedin-link:hover{background:#0077b5;color:#fff;border-color:#0077b5}.footer-social-link.portfolio-link:hover{background:var(--bg-primary);color:var(--text-inverse);border-color:var(--bg-primary)}.footer-icon{flex-shrink:0;width:18px;height:18px}.footer-social-link span{line-height:1}.footer-about-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;font-family:IBM Plex Sans KR,sans-serif;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.footer-about-button:hover{background:var(--bg-primary);color:var(--text-inverse);border-color:var(--bg-primary)}.footer-about-button:focus{outline:2px solid #000000;outline-offset:2px;border-radius:2px}@media(max-width:768px){.app-footer{margin-top:var(--spacing-3xl);margin-bottom:80px;padding:var(--spacing-xl) var(--spacing-lg);border-radius:8px;text-align:center;position:relative;z-index:1}.footer-content{flex-direction:column;text-align:center}.footer-content p{text-align:center}.footer-links{justify-content:center;width:100%;margin-top:var(--spacing-md)}.app-footer p{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.footer-about-button{width:100%;margin-top:var(--spacing-md)}}@media(max-width:480px){.app-footer{margin-top:var(--spacing-2xl);margin-bottom:80px;padding:var(--spacing-lg) var(--spacing-md);border-radius:8px;text-align:center;position:relative;z-index:1}.footer-content{gap:var(--spacing-md)}.footer-links{justify-content:center;width:100%;margin-top:var(--spacing-md);gap:var(--spacing-sm)}.footer-social-link{flex:1;justify-content:center;min-width:0;font-size:var(--font-size-xs);padding:var(--spacing-sm) var(--spacing-md)}.footer-icon{width:16px;height:16px}.app-footer p{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.footer-about-button{width:100%;margin-top:var(--spacing-md);font-size:var(--font-size-xs)}}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.header-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.header-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.header-button:hover{background:var(--bg-primary);color:var(--text-inverse);border-color:var(--bg-primary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-secondary);border-radius:12px;max-width:90vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--bg-hover);color:var(--text-primary);border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s}.modal-close:hover{background:#000;color:#fff}@media(max-width:768px){.header-controls,.header-actions{gap:var(--spacing-xs)}.header-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.modal-content{max-width:100vw;max-height:100vh;border-radius:0}}.admin-toggle-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:var(--touch-target-min);display:flex;align-items:center;justify-content:center}.admin-toggle-button:hover{background:var(--bg-primary);color:var(--text-inverse);border-color:var(--bg-primary)}.github-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;background:#f5f5f5;color:#666;border:1px solid #e5e5e5;border-radius:6px;text-decoration:none;transition:all .2s ease;cursor:pointer}.github-link:hover{background:#000;color:#fff;border-color:#000}.github-link:focus{outline:2px solid #000000;outline-offset:2px}.github-icon{width:20px;height:20px;display:block}@media(max-width:768px){.header-actions{align-self:stretch;justify-content:flex-end;width:100%}.github-link{width:var(--touch-target-min);height:var(--touch-target-min);padding:var(--spacing-sm);min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.github-icon{width:18px;height:18px}}.footer-github-link .github-icon{color:inherit;stroke:currentColor}.footer-github-link:hover{background:#ededed;color:#7a7a7a;border-color:#7a7a7a}@media(max-width:480px){.header-actions{gap:var(--spacing-sm)}.admin-toggle-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);min-height:var(--touch-target-min)}.github-link{width:var(--touch-target-min);height:var(--touch-target-min);padding:var(--spacing-sm);min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.github-icon{width:18px;height:18px}}
