:root{--color-bg-canvas: #0a0e14;--color-bg-surface: #0d1117;--color-bg-elevated: #161b22;--color-bg-inset: #1c2128;--color-border-subtle: #21262d;--color-border-default: #30363d;--color-border-strong: #484f58;--color-fg-primary: #e6edf3;--color-fg-secondary: #9da7b3;--color-fg-muted: #6e7681;--color-fg-inverse: #0a0e14;--color-accent-green: #7ee787;--color-accent-green-dim: #3fb950;--color-accent-cyan: #79c0ff;--color-accent-amber: #ffa657;--color-accent-pink: #ff7b72;--color-accent-purple: #d2a8ff;--color-syntax-keyword: #ff7b72;--color-syntax-string: #a5d6ff;--color-syntax-number: #79c0ff;--color-syntax-comment: #8b949e;--color-syntax-function: #d2a8ff;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Menlo, Consolas, monospace;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--lh-tight: 1.25;--lh-normal: 1.5;--lh-relaxed: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 14px;--radius-pill: 999px;--shadow-glow: 0 0 24px rgba(126, 231, 135, .12);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-terminal: 0 20px 60px -10px rgba(0, 0, 0, .6), 0 0 0 1px rgba(48, 54, 61, .6);--motion-fast: .12s cubic-bezier(.4, 0, .2, 1);--motion-normal: .22s cubic-bezier(.4, 0, .2, 1);--motion-slow: .4s cubic-bezier(.4, 0, .2, 1);--z-base: 0;--z-sticky: 10;--z-overlay: 100;--z-modal: 1000}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body{margin:0;padding:0;min-height:100%}html{height:100%}body{font-family:var(--font-mono);font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--color-fg-primary);background:var(--color-bg-canvas);background-image:radial-gradient(ellipse at top,rgba(126,231,135,.04),transparent 50%),radial-gradient(ellipse at bottom right,rgba(121,192,255,.04),transparent 50%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga" 1,"calt" 1;overflow-x:hidden;height:100dvh;overflow:hidden}::selection{background:var(--color-accent-green);color:var(--color-fg-inverse)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--fw-bold);line-height:var(--lh-tight)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-cyan);text-decoration:none;border-bottom:1px dashed transparent;transition:border-color var(--motion-fast),color var(--motion-fast)}a:hover,a:focus-visible{color:var(--color-accent-green);border-bottom-color:var(--color-accent-green)}a:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px;border-radius:2px}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}button:focus-visible{outline:2px solid var(--color-accent-green);outline-offset:2px;border-radius:var(--radius-sm)}input{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none;width:100%}input::placeholder{color:var(--color-fg-muted);font-style:italic}kbd{font-family:var(--font-mono);font-size:.85em;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-bottom-width:2px;color:var(--color-fg-secondary);white-space:nowrap}.kbd-inline{font-size:.8em}.dim{color:var(--color-fg-muted)}.accent-green{color:var(--color-accent-green)}.accent-cyan{color:var(--color-accent-cyan)}.accent-amber{color:var(--color-accent-amber)}.accent-pink{color:var(--color-accent-pink)}.accent-purple{color:var(--color-accent-purple)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:var(--z-modal);padding:var(--space-2) var(--space-4);background:var(--color-accent-green);color:var(--color-fg-inverse);border-radius:var(--radius-md);font-weight:var(--fw-bold);transition:top var(--motion-fast)}.skip-link:focus{top:var(--space-4)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.terminal-window{max-width:1100px;margin:var(--space-8) auto;background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-terminal);overflow:hidden;position:relative;min-height:calc(100vh - var(--space-16));display:flex;flex-direction:column}.terminal-layout{display:flex;flex:1;min-height:0}.terminal-scroll{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.terminal-scroll::-webkit-scrollbar{width:10px}.terminal-scroll::-webkit-scrollbar-track{background:transparent}.terminal-scroll::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-pill);border:2px solid var(--color-bg-surface)}.terminal-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.titlebar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-default);user-select:none;-webkit-user-select:none;position:sticky;top:0;z-index:var(--z-sticky)}.traffic-lights{display:flex;gap:var(--space-2);flex-shrink:0}.light{width:12px;height:12px;border-radius:50%;background:var(--color-border-default);display:block;transition:filter var(--motion-fast)}.light--close{background:#ff5f57}.light--min{background:#febc2e}.light--max{background:#28c840}.traffic-lights:hover .light{filter:brightness(1.1)}.titlebar__path{flex:1;text-align:center;font-size:var(--fs-sm);color:var(--color-fg-secondary);font-weight:var(--fw-medium);letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.titlebar__user,.titlebar__host{color:var(--color-accent-green);font-weight:var(--fw-bold)}.titlebar__cwd,.titlebar__shell{font-weight:var(--fw-medium)}.titlebar__actions{flex-shrink:0;display:flex;gap:var(--space-1)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-fg-secondary);transition:background var(--motion-fast),color var(--motion-fast)}.icon-btn:hover{background:var(--color-bg-inset);color:var(--color-accent-cyan)}.icon-btn:active{transform:scale(.94)}.icon-btn--mobile-only{display:none}@media (max-width: 640px){.icon-btn--mobile-only{display:inline-flex}}.terminal{padding:var(--space-6) var(--space-8) var(--space-4);flex:1;display:flex;flex-direction:column;gap:var(--space-6)}.intro{display:flex;flex-direction:column;gap:var(--space-4)}.ascii-banner{margin:0;padding:0;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.1;color:var(--color-accent-green);text-shadow:0 0 8px rgba(126,231,135,.35);overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.ascii-banner code{font-family:inherit;display:block}.coffee-art{margin:0 0 var(--space-2);padding:0;font-family:var(--font-mono);font-size:var(--fs-base);line-height:1.1;white-space:pre;overflow-x:auto}.tagline{font-size:var(--fs-md);margin:0;padding-left:var(--space-2);border-left:2px solid var(--color-accent-green);padding:var(--space-1) var(--space-3);background:linear-gradient(90deg,rgba(126,231,135,.06),transparent)}.welcome-line{padding-top:var(--space-2)}.prompt-static{margin:0;font-size:var(--fs-base)}.cursor-blink{display:inline-block;color:var(--color-accent-green);animation:blink 1.1s steps(2) infinite;margin-left:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.prompt-user,.prompt-host{color:var(--color-accent-green);font-weight:var(--fw-bold)}.prompt-cwd{font-weight:var(--fw-bold)}.prompt-prefix{flex-shrink:0;white-space:nowrap;display:inline-flex;align-items:center;gap:0}.prompt-prefix .dim,.prompt-static .dim{color:var(--color-fg-muted)}.cmd-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) 0}.cmd-chip{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-fg-primary);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast);position:relative}.cmd-chip:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity var(--motion-fast);background:linear-gradient(135deg,var(--color-accent-green),var(--color-accent-cyan));z-index:-1}.cmd-chip:hover,.cmd-chip:focus-visible{background:var(--color-bg-inset);border-color:var(--color-accent-green);transform:translateY(-1px);box-shadow:0 4px 16px #7ee78726}.cmd-chip:active{transform:translateY(0)}.chip-arrow{font-weight:var(--fw-bold)}.chip-cmd{color:var(--color-fg-primary);font-weight:var(--fw-bold)}.chip-desc{font-size:var(--fs-xs);font-style:italic}.cmd-chip--ghost{border-style:dashed;background:transparent}.cmd-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6) var(--space-4);background:var(--color-bg-elevated);border-right:1px solid var(--color-border-default);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.cmd-sidebar::-webkit-scrollbar{width:6px}.cmd-sidebar::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-pill)}.sidebar-header{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;padding:0 var(--space-2);-webkit-user-select:none;user-select:none}.sidebar-chips{display:flex;flex-direction:column;gap:2px}.sidebar-chip{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid transparent;text-align:left;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.4;color:var(--color-fg-primary);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.sidebar-chip:hover,.sidebar-chip:focus-visible{background:var(--color-bg-inset);border-color:var(--color-border-default)}.sidebar-chip:hover .chip-arrow{transform:translate(2px)}.sidebar-chip:active{transform:translate(0)}.sidebar-chip .chip-arrow{display:inline-block;margin-top:1px;transition:transform var(--motion-fast)}.sidebar-chip .chip-body{display:flex;flex-direction:column;gap:0;min-width:0;flex:1}.sidebar-chip .chip-cmd{font-weight:var(--fw-bold);color:var(--color-fg-primary)}.sidebar-chip .chip-desc{font-size:var(--fs-xs);font-style:italic}.sidebar-chip--ghost{border-style:dashed;border-color:var(--color-border-default)}.sidebar-chip--spaced{margin-top:var(--space-2)}.sidebar-divider{height:1px;background:var(--color-border-subtle);margin:var(--space-2) 0}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);font-size:var(--fs-xs);font-style:italic;border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.output{display:flex;flex-direction:column;gap:var(--space-5);flex:1;min-height:0}.log-block{animation:fade-in-up .28s cubic-bezier(.16,1,.3,1) both}.log-block--welcome{padding-bottom:var(--space-3);border-bottom:1px dashed var(--color-border-subtle);margin-bottom:var(--space-2)}.log-line{margin:0 0 var(--space-2);font-size:var(--fs-base);line-height:var(--lh-relaxed);word-break:break-word}.log-line:last-child{margin-bottom:0}.log-echo{margin:0 0 var(--space-3);font-size:var(--fs-base)}.log-echo .echo-cmd{color:var(--color-fg-primary);font-weight:var(--fw-medium)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-default);color:var(--color-accent-cyan);font-size:var(--fs-lg);font-weight:var(--fw-bold);text-transform:lowercase;letter-spacing:.02em}.section-header:before{content:"▸";color:var(--color-accent-green)}.section-subheader{color:var(--color-fg-secondary);font-size:var(--fs-md);font-weight:var(--fw-bold);margin:var(--space-4) 0 var(--space-3)}.section-subheader:before{content:"## ";color:var(--color-accent-amber)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6);margin:var(--space-2) 0 var(--space-4)}.about-row{display:flex;gap:var(--space-2);align-items:baseline;font-size:var(--fs-sm);border-bottom:1px dotted var(--color-border-subtle);padding-bottom:var(--space-2)}.about-key{color:var(--color-fg-muted);min-width:70px;flex-shrink:0}.about-val{color:var(--color-fg-primary)}.about-bio{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border-left:3px solid var(--color-accent-green);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-fg-primary);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.exp-list{display:flex;flex-direction:column;gap:var(--space-5);margin:var(--space-2) 0;padding-left:var(--space-4);border-left:2px solid var(--color-border-default)}.exp-item{position:relative;padding-left:var(--space-4)}.exp-item:before{content:"";position:absolute;left:calc(-1 * var(--space-4) - 4px);top:6px;width:10px;height:10px;border-radius:50%;background:var(--color-accent-green);box-shadow:0 0 0 3px var(--color-bg-surface),0 0 12px var(--color-accent-green)}.exp-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.exp-role{color:var(--color-fg-primary);font-weight:var(--fw-bold);font-size:var(--fs-md)}.exp-company{color:var(--color-accent-cyan);font-weight:var(--fw-medium)}.exp-at{color:var(--color-fg-muted)}.exp-period{color:var(--color-fg-muted);font-size:var(--fs-xs);margin-left:auto;font-style:italic}.exp-desc{margin:var(--space-2) 0 0;color:var(--color-fg-secondary);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.exp-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.tag{display:inline-block;padding:2px var(--space-2);background:var(--color-bg-inset);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--color-accent-purple)}.project-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-2) 0}.project-card{padding:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);transition:border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast);display:flex;flex-direction:column;gap:var(--space-2)}.project-card:hover{border-color:var(--color-accent-green);transform:translateY(-2px);box-shadow:0 6px 20px #0006}.project-name{color:var(--color-fg-primary);font-weight:var(--fw-bold);font-size:var(--fs-md);display:flex;align-items:center;gap:var(--space-2)}.project-name:before{content:"▸";color:var(--color-accent-amber)}.project-links{margin-left:auto;display:flex;gap:var(--space-1)}.project-link{font-size:var(--fs-xs);color:var(--color-fg-muted);border-bottom:none;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-inset);transition:all var(--motion-fast)}.project-link:hover{color:var(--color-accent-cyan);background:var(--color-bg-canvas)}.project-desc{color:var(--color-fg-secondary);font-size:var(--fs-sm);line-height:var(--lh-relaxed);margin:0}.project-stack{display:flex;flex-wrap:wrap;gap:var(--space-1)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-2) 0}.skill-group{display:flex;flex-direction:column;gap:var(--space-2)}.skill-group-title{color:var(--color-accent-amber);font-weight:var(--fw-bold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px dashed var(--color-border-subtle)}.skill-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.skill-tile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);cursor:default;position:relative;overflow:hidden;opacity:0;transform:translateY(8px)}.skill-tile--in{opacity:1;transform:translateY(0);transition:opacity .32s ease-out,transform .32s cubic-bezier(.16,1,.3,1)}.skill-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:currentColor;opacity:.7;transition:width var(--motion-fast),opacity var(--motion-fast)}.skill-tile:hover{border-color:currentColor;transform:translateY(-2px);box-shadow:0 6px 20px #0006}.skill-tile:hover:before{width:4px;opacity:1}.skill-tile__icon{display:inline-flex;flex-shrink:0;width:32px;height:32px;align-items:center;justify-content:center;filter:drop-shadow(0 0 8px rgba(0,0,0,.3));transition:transform var(--motion-fast)}.skill-tile__icon .skill-icon{display:block}.skill-tile:hover .skill-tile__icon{transform:scale(1.1) rotate(-3deg)}.skill-tile__name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-fg-primary);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-tile{color:var(--tile-color, var(--color-fg-primary))}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:var(--space-2) 0}.contact-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-fg-primary);border-bottom:1px solid var(--color-border-default);transition:all var(--motion-fast);font-family:var(--font-mono);font-size:var(--fs-sm)}.contact-card:hover{border-color:var(--color-accent-green);background:var(--color-bg-inset);color:var(--color-accent-green);transform:translateY(-1px)}.contact-icon{flex-shrink:0;width:18px;height:18px;color:var(--color-accent-cyan)}.contact-label{color:var(--color-fg-muted);font-size:var(--fs-xs);display:block;margin-bottom:2px}.contact-value{color:inherit;font-weight:var(--fw-medium)}.prompt-line{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--color-border-subtle);margin-top:var(--space-2);position:relative}.prompt-input-wrap{flex:1;position:relative;display:flex;align-items:center}.prompt-input{background:transparent;caret-color:transparent;padding:0;font-family:var(--font-mono);font-size:var(--fs-base);color:var(--color-fg-primary);width:100%}.prompt-caret{position:absolute;width:9px;height:1.2em;background:var(--color-accent-green);pointer-events:none;animation:blink 1.1s steps(2) infinite;transform:translateY(1px);left:0;top:50%;margin-top:-.6em}.prompt-hint{font-size:var(--fs-xs);margin:0;padding-bottom:var(--space-2);color:var(--color-fg-muted)}.error-line{color:var(--color-accent-pink)}.easter-line{color:var(--color-accent-amber)}.code-output{background:var(--color-bg-inset);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);overflow-x:auto;border-left:3px solid var(--color-accent-purple)}.code-output pre{margin:0;font-family:var(--font-mono)}.mobile-dock{display:none;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--color-bg-elevated);border-top:1px solid var(--color-border-default);padding:var(--space-2);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom));justify-content:space-around;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.dock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;min-height:48px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;transition:all var(--motion-fast)}.dock-btn:hover,.dock-btn:focus-visible{background:var(--color-bg-inset);color:var(--color-accent-green)}.dock-btn:active{transform:scale(.94);background:var(--color-bg-canvas)}@media (min-width: 641px){.terminal-window{height:calc(100dvh - 20px);margin:10px auto;min-height:0;max-height:calc(100dvh - 20px)}.cmd-chips{display:none}}@media (max-width: 1023px) and (min-width: 641px){.terminal-window{margin:var(--space-4);height:calc(100vh - var(--space-8));height:calc(100dvh - var(--space-8))}.terminal{padding:var(--space-5) var(--space-5) var(--space-4)}.ascii-banner{font-size:11px}.about-grid,.skills-grid,.contact-grid,.project-list{grid-template-columns:1fr}.cmd-sidebar{width:180px;padding:var(--space-5) var(--space-3)}}@media (max-width: 640px){body{font-size:var(--fs-sm);height:auto;overflow:auto}.terminal-window{margin:0;border-radius:0;min-height:100vh;min-height:100dvh;height:auto;padding-bottom:80px}.terminal-layout{display:block}.terminal-scroll{overflow:visible;display:block}.cmd-sidebar{display:none}.titlebar{padding:var(--space-2) var(--space-3);gap:var(--space-2);position:sticky;top:0;z-index:10}.terminal-window{overflow:visible}.titlebar__path{font-size:var(--fs-xs);gap:0}.terminal{padding:var(--space-4) var(--space-4) var(--space-3);gap:var(--space-4)}.ascii-banner{font-size:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tagline{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2)}.log-block--welcome{font-size:var(--fs-xs)}.about-grid,.skills-grid,.contact-grid,.project-list{grid-template-columns:1fr;gap:var(--space-2)}.about-row{flex-wrap:wrap}.about-key{min-width:60px}.exp-list{padding-left:var(--space-3);gap:var(--space-4)}.exp-item{padding-left:var(--space-3)}.exp-period{margin-left:0}.project-card{padding:var(--space-3)}.project-name{flex-wrap:wrap}.project-links{margin-left:0;width:100%}.skill-name{min-width:90px;font-size:var(--fs-xs)}.mobile-dock{display:flex}.cmd-chips,.prompt-hint{display:none}.prompt-line{padding:var(--space-2) 0}.section-header{font-size:var(--fs-md)}.tag{font-size:10px}}@media (max-width: 360px){.ascii-banner{font-size:7px}.titlebar__path{font-size:10px}.dock-btn{min-width:48px;font-size:9px}}@media (min-width: 1440px){.ascii-banner{font-size:var(--fs-base)}}@media print{body{background:#fff;color:#000}.terminal-window{box-shadow:none;border:1px solid #ccc;height:auto;overflow:visible}.terminal-layout{display:block}.terminal-scroll{overflow:visible}.cmd-sidebar,.cmd-chips,.mobile-dock,.prompt-line,.prompt-hint{display:none}a{color:#000;text-decoration:underline}}
