*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Courier New,Courier,monospace;background-color:#0d1117;color:#58a6ff}body{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:flex-start}body,html,#root{height:100%;height:100dvh;overflow:hidden}#root{width:100%;min-height:100vh;min-height:100dvh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0d1117}::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}@media(max-width:600px){body{min-height:100dvh;align-items:stretch}#root{min-height:100dvh}}.app{width:100%;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;background-color:#0d1117}@media(max-width:600px){.app{min-height:100dvh;align-items:stretch}}.message{display:flex;align-items:flex-start;padding:6px 0;line-height:1.6;font-size:.95rem;animation:fadeIn .2s ease-in}.message__prefix{flex-shrink:0;margin-right:1ch;opacity:.6}.message__content{flex:1;white-space:pre-wrap;word-break:break-word}.message__link{color:#58a6ff;text-decoration:underline;text-underline-offset:2px;word-break:break-all}.message__link:hover{color:#79c0ff}.message__filename{display:block;color:#3fb950;margin-bottom:2px}.message--system .message__prefix,.message--system .message__content{color:#58a6ff}.message--user .message__prefix,.message--user .message__content{color:#3fb950}.option-buttons{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0;animation:fadeIn .3s ease-in}.option-btn{background:transparent;border:1px solid #58a6ff;color:#58a6ff;font-family:var(--terminal-font-mono, "JetBrains Mono", "Cascadia Mono", "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace);font-size:.9rem;padding:8px 18px;cursor:pointer;border-radius:3px;transition:background .15s,color .15s,border-color .15s}.option-btn:hover,.option-btn:focus-visible{background:#58a6ff22;border-color:#79c0ff;color:#79c0ff;outline:none}.option-btn:active{background:#58a6ff44}.expandable-breadcrumb{font-family:var(--terminal-font-mono, "JetBrains Mono", "Cascadia Mono", "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace);font-size:.95rem;color:#8b949e;margin:12px 0;padding:8px 0}.breadcrumb__header{display:flex;align-items:center;gap:0}.breadcrumb__toggle{width:1ch;height:auto;padding:0;margin-right:2ch;border:none;background:none;color:#58a6ff;cursor:pointer;font-size:.95rem;display:inline-flex;align-items:center;justify-content:flex-start;line-height:1;flex-shrink:0;transition:color .15s ease-in-out}.breadcrumb__toggle:hover{color:#79c0ff}.breadcrumb__path{display:flex;align-items:center;gap:0;flex-wrap:wrap;min-width:0}.breadcrumb__segment-wrapper{display:flex;align-items:center;gap:0}.breadcrumb__separator{color:#8b949e;margin:0 4px}.breadcrumb__segment{border:none;background:none;color:#58a6ff;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;transition:color .15s ease-in-out}.breadcrumb__segment:hover{color:#79c0ff;text-decoration:underline}.breadcrumb__segment--current{color:#58a6ff;font-weight:400}.folder-tree{font-family:var(--terminal-font-mono, "JetBrains Mono", "Cascadia Mono", "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace);font-size:.95rem;color:#8b949e;line-height:1.5;white-space:nowrap;overflow-x:auto}.tree-node{margin:0}.tree-node__row{display:flex;align-items:center;padding:4px 0;gap:6px}.tree-node__toggle{width:20px;height:20px;padding:0;border:none;background:none;color:#58a6ff;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .15s ease-in-out}.tree-node__toggle:hover{color:#79c0ff}.tree-node__toggle--placeholder{cursor:default;color:transparent}.tree-node__label{border:none;background:none;color:#8b949e;cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-align:left;transition:color .15s ease-in-out}.tree-node__label:hover{color:#58a6ff;text-decoration:underline}.tree-node__label--current{color:#58a6ff;font-weight:400}.tree-node__label--ancestor{color:#58a6ff}.tree-node__children{margin:0}.terminal{--terminal-font-mono: "JetBrains Mono", "Cascadia Mono", "Fira Code", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;display:flex;flex-direction:column;width:100%;max-width:860px;margin:20px auto;background:#0d1117;border:1px solid #30363d;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0009;height:calc(100vh - 40px);max-height:calc(100vh - 40px);font-family:var(--terminal-font-mono)}.terminal__header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#161b22;border-bottom:1px solid #30363d;-webkit-user-select:none;user-select:none;height:42px;flex-shrink:0;overflow:hidden}.terminal__dot{width:12px;height:12px;border-radius:50%}.terminal__dot--red{background:#ff5f57}.terminal__dot--yellow{background:#ffbd2e}.terminal__dot--green{background:#28c840}.terminal__title{font-size:.8rem;color:#8b949e;font-family:var(--terminal-font-mono);line-height:1;margin:0}.terminal__breadcrumb{font-size:.75rem;color:#6e7781;font-family:var(--terminal-font-mono);line-height:1;margin:0}.terminal__crumb{background:transparent;border:0;padding:0;margin:0;color:#6e7781;font:inherit;text-decoration:none;cursor:default}.terminal__crumb:focus{outline:none}.terminal__crumb:hover,.terminal__crumb:focus-visible{color:#58a6ff;text-decoration:underline;cursor:pointer}.terminal__crumb-ellipsis{background:transparent;border:0;padding:0;margin:0;color:#6e7781;font:inherit;text-decoration:none;cursor:default}.terminal__crumb-ellipsis:focus{outline:none}.terminal__crumb-ellipsis:hover,.terminal__crumb-ellipsis:focus-visible{color:#58a6ff;text-decoration:underline;cursor:pointer}.terminal__crumb-sep{color:#6e7781}.terminal__breadcrumb-spacer{flex:1;min-width:0}.terminal__controls{margin-left:auto;display:flex;gap:10px;align-items:center}.terminal__control{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.03);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;background:#2f3336;transition:background .12s ease,transform .12s ease}.terminal__control:hover{background:#3a3f41;transform:translateY(-1px)}.terminal__control--close:hover{background:linear-gradient(180deg,#ff00000f,#ff000005),#3a3f41}.control__icon{font-size:13px;line-height:1;display:inline-block;transform:translateY(-1px);color:#e6e6e6}.terminal--maximized{position:fixed;top:0;left:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;border-radius:0;z-index:9999}.terminal-toggle{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000}.terminal-open-btn{display:inline-flex;flex-direction:column;align-items:center;gap:10px;width:110px;padding:24px 10px;border-radius:10px;background:transparent;border:0;cursor:pointer;position:relative}.terminal-open-inner{width:56px;height:56px;border-radius:8px;background:#161b22;border:1px solid #30363d;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #ffffff05,0 6px 18px #00000080;z-index:2}.terminal-open-inner svg{display:block}.terminal-open-inner svg{transform:translateY(3px)}.terminal-open-label{font-size:.86rem;color:#8b949e;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;-webkit-user-select:none;user-select:none;z-index:2}.terminal-open-btn:before{content:"";position:absolute;left:50%;top:6px;transform:translate(-50%) scale(.92);width:120px;height:120px;border-radius:18px;background:#2f3135;box-shadow:0 10px 30px #0009;opacity:0;transition:opacity .16s ease,transform .16s ease;z-index:1;pointer-events:none}.terminal-open-btn:hover:before,.terminal-open-btn:focus:before,.terminal-open-btn:focus-visible:before{opacity:1;transform:translate(-50%) scale(1)}.terminal__nav{padding:12px 28px 0;background:#0d1117;flex-shrink:0;font-family:var(--terminal-font-mono);font-size:.95rem}.terminal__nav-box{margin:0;padding:0;font-family:var(--terminal-font-mono);font-size:.95rem;color:#c9d1d9;white-space:pre-wrap;background:transparent;border:none}.terminal__nav-box-top{display:block;color:#6e7781;line-height:1.4;margin-bottom:4px}.terminal__nav-box-content{padding-left:0;margin:0}.terminal__nav-tree-view{display:flex;flex-direction:column;gap:6px;padding:8px 0;margin:12px 0}.terminal__nav-tree-root{display:flex;align-items:center;gap:0}.terminal__nav-tree-view .folder-tree{padding-left:28px}.terminal__nav-box-bottom{display:block;color:#6e7781;line-height:1.4;margin-top:4px}.terminal__body{flex:1;padding:0 28px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.cursor{display:inline-block;animation:blink 1s step-end infinite;color:#58a6ff}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.section-label{margin-top:8px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.section-label__text{font-size:.85rem;color:#8b949e;display:block;margin-bottom:4px}.contact-btn-wrap{padding:10px 0;animation:fadeIn .3s ease-in}.breadcrumb-wrap{animation:fadeIn .3s ease-in}.tree-wrap{margin-bottom:12px;padding:8px 0;animation:fadeIn .3s ease-in}.options-wrap{padding-top:10px}.contact-open-btn{background:transparent;border:1px solid #3fb950;color:#3fb950;font-family:var(--terminal-font-mono);font-size:.9rem;padding:10px 22px;cursor:pointer;border-radius:3px;transition:background .15s,color .15s}.contact-open-btn:hover,.contact-open-btn:focus-visible{background:#3fb95022;color:#56d364;outline:none}@media(max-width:600px){.terminal{margin:0;border-radius:0;border-left:none;border-right:none;border-top:none;border-bottom:none;box-shadow:none;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.terminal__header{flex-wrap:nowrap;gap:4px;padding:6px 10px;overflow-x:auto;height:38px}.terminal__title{font-size:.85rem;margin-left:2px;flex-shrink:0;line-height:1}.terminal__breadcrumb-spacer{display:none}.terminal__breadcrumb{font-size:.8rem;margin-left:2px;flex-shrink:0;overflow-x:auto;white-space:nowrap;line-height:1}.terminal__controls{gap:6px;flex-shrink:0}.terminal__control{width:20px;height:20px;flex-shrink:0}.terminal__control--max{display:none}.control__icon{font-size:12px}.terminal__body .terminal__nav{padding:12px 16px}}
