.layout{display:flex;flex-direction:column;min-height:100vh}.header{display:flex;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(90deg,#b9d53f,#c6de54 45%,#d7e97e);border-bottom:1px solid #a7c83a;color:#1e2b0f}.header__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.header h1{margin:0 0 8px;font-size:1.75rem}.header p{margin:0;color:#2e3a1f}.main{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px 32px 40px}.banner{margin:0 32px 8px;padding:10px 14px;border-radius:10px;background:#fff7d6;border:1px solid #f4d279;color:#6a4a05;font-size:.9rem}.banner code{background:#6b3d001a;padding:2px 6px;border-radius:6px}.breadcrumbs{display:flex;align-items:center;gap:4px;padding:12px 32px;background:#f9fdf3;border-bottom:1px solid #e3efd0;font-size:.9rem;flex-wrap:wrap}.breadcrumbs__item{background:none;border:none;color:#5a7a2e;cursor:pointer;padding:4px 8px;border-radius:6px;font-size:.9rem;transition:all .15s ease}.breadcrumbs__item:hover{background:#e6f2c7;color:#3f5a1e}.breadcrumbs__separator{color:#8fa85f;-webkit-user-select:none;user-select:none}.breadcrumbs__current{color:#2a3a19;font-weight:600;padding:4px 8px}.breadcrumbs__label{color:#5a7a2e;font-weight:600;padding:4px 8px 4px 0}.search-bar input{width:280px;padding:10px 12px;border-radius:8px;border:1px solid #8fb248;font-size:.95rem;background:#f6fbef;color:#1d2a12}.view-toggle{display:inline-flex;background:#fff9;border:1px solid #8fb248;border-radius:999px;padding:4px;gap:6px}.view-toggle__button{border:none;background:transparent;padding:6px 14px;border-radius:999px;font-weight:600;color:#2f3b1a;cursor:pointer}.view-toggle__button.is-active{background:#fff;box-shadow:0 6px 12px #3d5a201f}.tree-panel{background:#fff;border-radius:16px;padding:18px;border:1px solid #cfe3b4;box-shadow:0 12px 24px #3d5a2014;max-height:calc(100vh - 180px);overflow:auto}.subtree-title{margin:0 0 16px;color:#2a3a19;font-size:1.25rem;font-weight:700}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.overview-card{border:1px solid #d7e7c0;border-radius:14px;padding:16px;background:#f9fdf3;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.overview-card:hover{transform:translateY(-2px);box-shadow:0 10px 18px #3d5a201f}.overview-card.is-selected{background:#ddefc0;border:2px solid #6a9e2e;border-left:5px solid #6a9e2e;box-shadow:0 0 0 3px #6a9e2e2e,0 8px 16px #3d5a2029}.overview-card__title{font-weight:700;color:#2a3a19;margin-bottom:8px}.overview-card__subtitle{color:#3f4d2b;font-size:.9rem;margin-bottom:8px}.overview-card__hint{display:inline-flex;align-items:center;margin-bottom:10px;padding:4px 8px;border-radius:999px;background:#edf7d7;color:#47601f;font-size:.8rem;font-weight:600}.overview-card__meta{color:#5a6a44;font-size:.9rem}.overview-card__header{display:flex;align-items:center;margin-bottom:8px}.overview-card__type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#e6f2c7;color:#3f5a1e;font-size:.75rem;font-weight:600}.overview-card__path{color:#6b7b52;font-size:.78rem;margin-bottom:6px;word-break:break-all}.overview-card__children-preview{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.overview-card__child-tag{display:inline-block;padding:2px 8px;border-radius:6px;background:#edf7d7;color:#3f5a1e;font-size:.75rem}.overview-card__child-more{display:inline-block;padding:2px 8px;color:#6b7b52;font-size:.75rem;font-style:italic}.overview-empty{padding:24px;color:#6b7b52}.tree-view{display:flex;flex-direction:column;gap:4px}.tree-node{position:relative}.tree-node .tree-node{border-left:1px solid #c6dba5;margin-left:8px}.tree-node__row{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:6px 8px;text-align:left;cursor:pointer;border-radius:6px}.tree-node__row:hover{background:#f3f8e6}.tree-node__row.is-selected{background:#ddefc0;border:1px solid #b7d271;border-left:4px solid #6a9e2e;box-shadow:0 0 0 2px #6a9e2e26}.tree-node__toggle{width:16px;display:inline-flex;justify-content:center;color:#5d6f3f;border:none;border-radius:50%;background:none}.tree-node__folder{font-weight:600}.tree-node__folder:before{content:"📁";margin-right:4px;font-size:.85em}.tree-node__file{font-weight:400;color:#4f5b3a}.tree-node__file:before{content:"📄";margin-right:4px;font-size:.85em}.tree-empty{padding:24px;color:#6b7b52}.detail-panel-wrapper{background:#fff;border-radius:16px;padding:18px;border:1px solid #cfe3b4;box-shadow:0 12px 24px #3d5a2014;max-height:calc(100vh - 180px);overflow:auto}.detail-panel h2{margin-top:0}.detail-panel__title{color:#3f4d2b;margin-bottom:12px;font-weight:600}.detail-panel__meta{display:grid;gap:8px;margin-bottom:16px;color:#314224}.detail-panel__snippet{background:#f6faef;border-radius:8px;padding:12px;font-size:.85rem;white-space:pre-wrap;margin-bottom:16px}.detail-panel__empty{color:#6b7b52;padding:24px;text-align:center;font-style:italic}.detail-panel__readme-loading{color:#6b7b52;font-size:.85rem;font-style:italic;padding:8px 0}.detail-panel__readme,.detail-panel__children{margin-bottom:12px}.detail-panel__children-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.detail-panel__child-item{padding:6px 10px;border-radius:6px;background:#f3f8e6;font-size:.85rem;color:#2a3a19}.detail-panel__hierarchy{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;margin-bottom:12px;background:#f3f8e6;border-radius:8px;border:1px solid #d7e7c0;font-size:.85rem}.detail-panel__hierarchy-step{display:inline-flex;align-items:center}.detail-panel__hierarchy-sep{margin:0 4px;color:#8fa85f;font-weight:700}.detail-panel__hierarchy-ancestor{color:#5a7a2e}.detail-panel__hierarchy-current{font-weight:700;color:#2a3a19;background:#ddefc0;padding:2px 8px;border-radius:6px}.detail-panel__actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.detail-panel__button{display:inline-block;padding:10px 16px;background:linear-gradient(135deg,#b9d53f,#a7c83a);color:#1e2b0f;border:1px solid #8fb248;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3d5a201a;text-align:center;text-decoration:none}.detail-panel__button:hover{background:linear-gradient(135deg,#c6de54,#b9d53f);transform:translateY(-1px);box-shadow:0 4px 8px #3d5a2026}.detail-panel__button:active{transform:translateY(0);box-shadow:0 1px 2px #3d5a201a}.detail-panel__button--secondary{background:#fff;color:#3f4d2b;border:2px solid #b9d53f}.detail-panel__button--secondary:hover{background:#f9fdf3;border-color:#a7c83a}@media(max-width:960px){.main{grid-template-columns:1fr}.header{flex-direction:column}.header__actions{width:100%;justify-content:space-between}.search-bar input{width:100%}}.theme-toggle{border:1px solid #8fb248;background:#ffffffb3;color:#2f3b1a;padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer}.layout.theme-dark{background:#111713;color:#e7f0df}.layout.theme-dark .header{background:linear-gradient(90deg,#1c2518,#24311f 45%,#2c3c26);border-bottom:1px solid #415336;color:#eef6e8}.layout.theme-dark .header p{color:#c7d5c0}.layout.theme-dark .breadcrumbs{background:#182018;border-bottom:1px solid #2e3b2c}.layout.theme-dark .tree-panel,.layout.theme-dark .detail-panel-wrapper{background:#1a2218;border-color:#34422f;box-shadow:0 12px 24px #00000038}.layout.theme-dark .overview-card{background:#222c1f;border-color:#3d4d37}.layout.theme-dark .tree-node__row:hover{background:#4a5345}.layout.theme-dark .tree-node__row.is-selected,.layout.theme-dark .overview-card.is-selected{background:#2f4924;border-color:#88b04b}.layout.theme-dark .tree-node__row.is-selected{border-left:4px solid #88b04b;box-shadow:0 0 0 2px #88b04b33}.layout.theme-dark .overview-card.is-selected{border-left:5px solid #88b04b;box-shadow:0 0 0 3px #88b04b33,0 8px 16px #00000040}.layout.theme-dark .tree-node .tree-node{border-left-color:#3d4d37}.layout.theme-dark .search-bar input{background:#20291d;color:#eef6e8;border-color:#5d7747}.layout.theme-dark .subtree-title,.layout.theme-dark .overview-card__title,.layout.theme-dark .detail-panel h2,.layout.theme-dark .detail-panel__title,.layout.theme-dark .breadcrumbs__current{color:#7ba958}.layout.theme-dark .overview-card__subtitle,.layout.theme-dark .overview-card__meta,.layout.theme-dark .tree-node__file,.layout.theme-dark .detail-panel__meta,.layout.theme-dark .detail-panel__empty,.layout.theme-dark .tree-empty{color:#b9c8b1}.layout.theme-dark .breadcrumbs__label{color:#7ba958}.layout.theme-dark .detail-panel__hierarchy{background:#222c1f;border-color:#3d4d37}.layout.theme-dark .detail-panel__hierarchy-ancestor{color:#7ba958}.layout.theme-dark .detail-panel__hierarchy-sep{color:#5d7747}.layout.theme-dark .detail-panel__hierarchy-current{color:#eef6e8;background:#2f4924}.layout.theme-dark .overview-card__type-badge{background:#2f4924;color:#b9c8b1}.layout.theme-dark .overview-card__path{color:#8a9a7e}.layout.theme-dark .overview-card__child-tag{background:#2f4924;color:#b9c8b1}.layout.theme-dark .overview-card__child-more,.layout.theme-dark .detail-panel__readme-loading{color:#8a9a7e}.layout.theme-dark .detail-panel__child-item{background:#222c1f;color:#b9c8b1}:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#102114;background-color:#eaf2e4}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf2e4,#f6f9f1 55%,#fff);min-height:100vh}a{color:#2f6a33;text-decoration:none}a:hover{text-decoration:underline}.state{padding:48px;font-size:1.1rem}.state--error{color:#b91c1c}
