@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-width: 200px;--sidebar-bg: #2d2d2d;--sidebar-text: #f9fafb;--sidebar-hover: #374151;--sidebar-active: #2563eb;--content-bg: #f8f9fb}body{margin:0;display:block;min-height:100vh;width:100%;overflow-x:hidden;background-color:var(--content-bg)}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app-layout{display:flex;min-height:100vh;overflow-x:hidden;background:var(--content-bg)}.app-layout .content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-height:100vh;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;overflow-x:hidden}.app-layout .content .content-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:18px}.app-layout .content .content-header .page-title{font-size:20px;font-weight:700}.app-layout .content .content-header .wallet-bar{display:flex;justify-content:flex-end;align-items:center}.app-layout .content .page-content{flex:1;overflow-y:auto;max-width:100%}@media (max-width: 720px){.app-layout .content{margin-left:0;width:100%}}.stream-manager{max-width:600px;margin:20px auto;padding:20px}.stream-manager h1{margin-bottom:20px}.stream-manager .form-group{margin-bottom:15px}.stream-manager .form-group label{display:block;font-weight:700;margin-bottom:5px}.stream-manager .form-group input,.stream-manager .form-group textarea,.stream-manager .form-group select{width:100%;padding:8px;border:1px solid #ccc;border-radius:6px}.stream-manager .form-group textarea{min-height:80px}.stream-manager .subscription-fields{margin-left:10px;padding:10px;border-left:3px solid #0049ff}.stream-manager button{padding:10px 20px;background:#0049ff;color:#fff;border:none;border-radius:8px;cursor:pointer}.stream-manager button:disabled{opacity:.6;cursor:not-allowed}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);color:var(--sidebar-text);padding:20px 16px;box-sizing:border-box;overflow-y:auto}.sidebar .sidebar-top{margin-bottom:20px}.sidebar .sidebar-top .app-logo{font-size:18px;font-weight:700}.sidebar .sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar .sidebar-nav ul li{margin-bottom:8px}.sidebar .sidebar-nav ul li a{display:block;padding:10px 12px;border-radius:8px;font-weight:600;text-decoration:none;color:var(--sidebar-text);transition:background .15s}.sidebar .sidebar-nav ul li a:hover{background:var(--sidebar-hover)}.sidebar .sidebar-nav ul li a.active{background:var(--sidebar-active);color:#fff}.stream-list-container{max-width:1100px;margin:0 auto;padding:12px}.stream-list-container .list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.stream-list-container .list-header h2{margin:0}.stream-list-container .list-header .controls .btn{padding:8px 12px;border-radius:8px;border:none;background:#0049ff;color:#fff;cursor:pointer}.stream-list-container .list-header .controls .btn:disabled{opacity:.6;cursor:not-allowed}.stream-list-container .grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.stream-list-container .stream-card{background-color:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 6px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;min-height:150px}.stream-list-container .stream-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stream-list-container .stream-card .card-top{display:flex;justify-content:space-between;align-items:center}.stream-list-container .stream-card .card-top .stream-topic{font-size:18px;font-weight:600;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-list-container .stream-card .card-top .tags{display:flex;gap:8px}.stream-list-container .stream-card .card-top .tags .tag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap}.stream-list-container .stream-card .card-top .tags .tag.publish-tag{background-color:#2563eb;color:#fff}.stream-list-container .stream-card .card-top .tags .tag.access-tag{background-color:#10b981;color:#fff}.stream-list-container .stream-card .stream-desc{margin:8px 0 12px;font-size:14px;color:#555;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-grow:1}.stream-list-container .stream-card .card-footer{font-size:12px;color:#999;display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:auto}.stream-list-container .stream-card .card-footer .admin,.stream-list-container .stream-card .card-footer .pubkey{margin-top:4px}.event-list{display:flex;flex-direction:column;gap:12px}.event-item{border:1px solid #ddd;border-radius:8px;padding:10px;background:#fafafa;cursor:pointer;transition:background .2s}.event-item:hover{background:#f0f0f0}.event-item .event-summary{font-size:14px;font-weight:500}.event-item .event-summary .pubkey{color:#0049ff;font-family:monospace}.event-item .event-summary .time{margin-left:8px;color:#555}.event-item .event-json{margin-top:8px;padding:8px;border-top:1px solid #eee;border-radius:4px;word-break:break-word}.stream-detail{max-width:800px;margin:20px auto;display:flex;flex-direction:column;gap:20px}.stream-detail .detail-card,.stream-detail .events-section{padding:24px;background-color:#f8f9fb;color:#242424;border-radius:12px;box-shadow:0 2px 8px #0000001a}.stream-detail .header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stream-detail .header-row h1{font-size:28px;font-weight:700;margin:0}.stream-detail .header-row .subscribe-btn{padding:12px 20px;background:linear-gradient(90deg,#0049ff .83%,#ff008c 96.55%);color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s}.stream-detail .header-row .subscribe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.stream-detail .field{display:flex;align-items:flex-start;margin-bottom:12px;gap:16px}.stream-detail .field .label{width:140px;font-weight:600;flex-shrink:0}.stream-detail .field .value{flex:1;word-break:break-word;line-height:1.5}.stream-detail .admin-buttons{margin-top:16px;display:flex;flex-direction:column;gap:12px}.stream-detail .admin-buttons .grant-row{display:flex;gap:8px}.stream-detail .admin-buttons .grant-row input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.stream-detail .admin-buttons .grant-row .grant-btn{width:150px;padding:10px 16px;background-color:#2563eb;color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.stream-detail .admin-buttons .grant-row .grant-btn.revoke{background-color:#b3399b}.stream-detail .admin-buttons .grant-row .grant-btn:hover{background-color:#4c4c4c;transform:translateY(-1px)}.stream-detail .records-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.stream-detail .records-section .record-card{padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#242424;word-break:break-all}.stream-detail .records-section .record-card h3{margin-top:0;margin-bottom:12px;font-size:18px;font-weight:700}.stream-detail .records-section .record-card div{margin-bottom:6px;font-size:12px}.stream-detail .records-section .record-card div b{font-weight:600;margin-right:6px}.stream-detail .events-section h2{font-size:22px;font-weight:600;margin-top:0;margin-bottom:16px}.stream-detail .events-section p{color:#555}.stream-detail .modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:50}.stream-detail .modal{background:#fff;padding:24px;border-radius:12px;max-width:400px;width:90%;box-shadow:0 4px 16px #0003}.stream-detail .modal h2{margin:0 0 16px;font-size:22px;font-weight:700}.stream-detail .modal .modal-body{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.stream-detail .modal .modal-body label{font-weight:600}.stream-detail .modal .modal-body input{padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:16px;box-sizing:border-box}.stream-detail .modal .modal-body p{margin:0;font-size:15px;color:#333}.stream-detail .modal .modal-actions{display:flex;justify-content:flex-end;gap:12px}.stream-detail .modal .modal-actions button{padding:10px 18px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.stream-detail .modal .modal-actions button:hover{transform:translateY(-2px);box-shadow:0 3px 8px #00000026}.stream-detail .modal .modal-actions button:first-child{background:#f1f1f1;color:#333}.stream-detail .modal .modal-actions button:last-child{background:linear-gradient(90deg,#0049ff .83%,#ff008c 96.55%);color:#fff}.nostr-keystore{display:inline-block;margin-right:10px}.nostr-keystore .keystore-btn{background:#2d2d2d;color:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;height:48px;font-weight:600}.nostr-keystore .modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center}.nostr-keystore .modal-overlay .modal{background:#fff;padding:20px;border-radius:12px;width:600px;max-width:90%;box-sizing:border-box}.nostr-keystore .modal-overlay .modal .auth-gen{cursor:pointer;margin-left:10px}.nostr-keystore .modal-overlay .modal input{width:100%;padding:6px;margin:6px 0;box-sizing:border-box}.nostr-keystore .modal-overlay .modal .pubkey-display{margin-top:10px;font-size:14px}.nostr-keystore .modal-overlay .modal .pubkey-display .pubkey-text{word-break:break-all;background:#f5f5f5;padding:6px;border-radius:6px}.nostr-keystore .modal-overlay .modal .modal-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.nostr-keystore .modal-overlay .modal .modal-actions button{padding:6px 12px;border:none;border-radius:6px;cursor:pointer}.nostr-keystore .modal-overlay .modal .modal-actions button:first-child{background:#4caf50;color:#fff}.nostr-keystore .modal-overlay .modal .modal-actions button:last-child{background:#ccc}.wallet-adapter-button{background-color:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;height:48px;line-height:48px;padding:0 24px;border-radius:4px}.wallet-adapter-button-trigger{background-color:#512da8}.wallet-adapter-button:not([disabled]):focus-visible{outline-color:#fff}.wallet-adapter-button:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-button[disabled]{background:#404144;color:#999;cursor:not-allowed}.wallet-adapter-button-end-icon,.wallet-adapter-button-start-icon,.wallet-adapter-button-end-icon img,.wallet-adapter-button-start-icon img{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.wallet-adapter-button-end-icon{margin-left:12px}.wallet-adapter-button-start-icon{margin-right:12px}.wallet-adapter-collapse{width:100%}.wallet-adapter-dropdown{position:relative;display:inline-block}.wallet-adapter-dropdown-list{position:absolute;z-index:99;display:grid;grid-template-rows:1fr;grid-row-gap:10px;padding:10px;top:100%;right:0;margin:0;list-style:none;background:#2c2d30;border-radius:10px;box-shadow:0 8px 20px #0009;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif}.wallet-adapter-dropdown-list-active{opacity:1;visibility:visible;transform:translateY(10px)}.wallet-adapter-dropdown-list-item{display:flex;flex-direction:row;justify-content:center;align-items:center;border:none;outline:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;padding:0 20px;width:100%;border-radius:6px;font-size:14px;font-weight:600;height:37px;color:#fff}.wallet-adapter-dropdown-list-item:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-modal-collapse-button svg{align-self:center;fill:#999}.wallet-adapter-modal-collapse-button.wallet-adapter-modal-collapse-button-active svg{transform:rotate(180deg);transition:transform ease-in .15s}.wallet-adapter-modal{position:fixed;inset:0;opacity:0;transition:opacity linear .15s;background:#00000080;z-index:1040;overflow-y:auto}.wallet-adapter-modal.wallet-adapter-modal-fade-in{opacity:1}.wallet-adapter-modal-button-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;padding:12px;cursor:pointer;background:#1a1f2e;border:none;border-radius:50%}.wallet-adapter-modal-button-close:focus-visible{outline-color:#fff}.wallet-adapter-modal-button-close svg{fill:#777;transition:fill .2s ease 0s}.wallet-adapter-modal-button-close:hover svg{fill:#fff}.wallet-adapter-modal-overlay{background:#00000080;position:fixed;inset:0}.wallet-adapter-modal-container{display:flex;margin:3rem;min-height:calc(100vh - 6rem);align-items:center;justify-content:center}@media (max-width: 480px){.wallet-adapter-modal-container{margin:1rem;min-height:calc(100vh - 2rem)}}.wallet-adapter-modal-wrapper{box-sizing:border-box;position:relative;display:flex;align-items:center;flex-direction:column;z-index:1050;max-width:400px;border-radius:10px;background:#10141f;box-shadow:0 8px 20px #0009;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;flex:1}.wallet-adapter-modal-wrapper .wallet-adapter-button{width:100%}.wallet-adapter-modal-title{font-weight:500;font-size:24px;line-height:36px;margin:0;padding:64px 48px 48px;text-align:center;color:#fff}@media (max-width: 374px){.wallet-adapter-modal-title{font-size:18px}}.wallet-adapter-modal-list{margin:0 0 12px;padding:0;width:100%;list-style:none}.wallet-adapter-modal-list .wallet-adapter-button{font-weight:400;border-radius:0;font-size:18px}.wallet-adapter-modal-list .wallet-adapter-button-end-icon,.wallet-adapter-modal-list .wallet-adapter-button-start-icon,.wallet-adapter-modal-list .wallet-adapter-button-end-icon img,.wallet-adapter-modal-list .wallet-adapter-button-start-icon img{width:28px;height:28px}.wallet-adapter-modal-list .wallet-adapter-button span{margin-left:auto;font-size:14px;opacity:.6}.wallet-adapter-modal-list-more{cursor:pointer;border:none;padding:12px 24px 24px 12px;align-self:flex-end;display:flex;align-items:center;background-color:transparent;color:#fff}.wallet-adapter-modal-list-more svg{transition:all .1s ease;fill:#fff;margin-left:.5rem}.wallet-adapter-modal-list-more-icon-rotate{transform:rotate(180deg)}.wallet-adapter-modal-middle{width:100%;display:flex;flex-direction:column;align-items:center;padding:0 24px 24px;box-sizing:border-box}.wallet-adapter-modal-middle-button{display:block;cursor:pointer;margin-top:48px;width:100%;background-color:#512da8;padding:12px;font-size:18px;border:none;border-radius:8px;color:#fff}
