*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem;box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden;background:#e0e5ec}.App-header{text-align:center;margin-bottom:3rem}.App-header h1{font-size:2.5rem;color:#2d3748;margin-bottom:.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1),-1px -1px 2px rgba(255,255,255,.8)}.App-main{width:100%;max-width:800px;display:flex;flex-direction:column;gap:2rem;box-sizing:border-box}section{background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff;padding:2rem;border-radius:25px;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;overflow-x:hidden}.input-section{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;gap:1rem;width:100%}.url-input{flex:1;padding:.75rem 1rem;font-size:1rem;border:none;border-radius:20px;outline:none;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;color:#2d3748;transition:all .2s}.url-input:focus{background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff}.url-input:disabled{background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;opacity:.6;cursor:not-allowed}.run-button{padding:.75rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;border:none;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap}.run-button .icon{stroke:#2563eb}.run-button:not(:disabled){background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff}.run-button:hover:not(:disabled){background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff}.run-button:active:not(:disabled){background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff}.run-button:disabled{background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;opacity:.5;cursor:not-allowed}.run-button:disabled .icon{stroke:#6c757d}.raw-json-button{padding:.5rem 1rem;background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;color:#2d3748;transition:all .2s ease}.raw-json-button:hover,.raw-json-button:active{background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff}.share-button{padding:.5rem 1rem;background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;color:#2d3748;transition:all .2s ease;display:flex;align-items:center;gap:.25rem}.share-button svg{width:1em;height:1em}.share-button:hover,.share-button:active{background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff}.error-message{padding:.75rem;background-color:#fee;color:#c33;border-left:4px solid #dc3545;border-radius:20px;font-size:.9rem}.content-warning{margin-bottom:.5rem;padding:.5rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-size:.9rem;color:#856404}.content-warning strong{color:#856404}.content-warning button{margin-left:.5rem;padding:.25rem .5rem;background-color:#fff;border:1px solid #ffc107;border-radius:4px;cursor:pointer;font-size:.85rem;color:#856404;transition:all .2s}.content-warning button:hover{background-color:#f0f0f0}.preview-section h2{font-size:1.5rem;color:#2d3748;margin-bottom:1rem}.preview-content{padding:1.5rem;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:20px;border:none;min-height:200px;word-wrap:break-word;white-space:pre-wrap;font-family:monospace;font-size:.9rem;color:#2d3748;overflow-x:auto}.preview-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.activitypub-info{margin-bottom:1.5rem;padding:1.5rem;background:#e0e5ec;box-shadow:8px 8px 16px #a3b1c6,-8px -8px 16px #fff;border-radius:20px;border:none}.activitypub-info h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:#2d3748}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item.full-width{grid-column:1/-1}.info-item strong{color:#4a5568;font-size:.9rem}.info-item a{color:#2563eb;text-decoration:none;word-break:break-all}.info-item a:hover{text-decoration:underline}.type-badge{display:inline-block;padding:.25rem .75rem;background-color:#2563eb;color:#fff;border-radius:15px;font-size:.85rem;font-weight:600}.content-html{margin-top:.5rem;padding:1rem;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:20px;border:none;line-height:1.6;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;overflow-x:hidden;max-width:100%}.content-html *{max-width:100%;box-sizing:border-box}.content-html a{color:#2563eb;text-decoration:none;word-break:break-all}.content-html a:hover{text-decoration:underline;color:#1d4ed8}.content-html p{margin:.5rem 0;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.content-html p:first-child{margin-top:0}.content-html p:last-child{margin-bottom:0}.content-html blockquote{margin:1rem 0;padding:.75rem 1rem .75rem 1.5rem;border:none;border-left:4px solid rgba(0,0,0,.1);background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:0 20px 20px 0;color:#4a5568;font-style:italic}.content-html blockquote p{margin:.5rem 0}.content-html blockquote p:first-child{margin-top:0}.content-html blockquote p:last-child{margin-bottom:0}.content-html blockquote:first-child{margin-top:0}.content-html blockquote:last-child{margin-bottom:0}@media(max-width:768px){.App{padding:1rem;width:100%;max-width:100%}.App-header{margin-bottom:1.5rem}.App-header h1{font-size:1.75rem}.App-main{gap:1rem}section{padding:1rem}.input-group{flex-direction:column}.run-button{width:100%}.preview-content{padding:1rem;font-size:.8rem}.content-html{padding:.75rem}.content-html blockquote{padding:.5rem .75rem .5rem 1rem;border-left-width:3px;margin:.75rem 0}.user-header{flex-wrap:wrap}.user-header-date{font-size:.8rem;white-space:normal}}@media(max-width:480px){.App{padding:.5rem;width:100%;max-width:100%}.App-header{margin-bottom:1rem}.App-header h1{font-size:1.5rem}section{padding:.75rem}.url-input{font-size:.9rem;padding:.625rem .75rem}.run-button{padding:.625rem 1rem;font-size:.9rem}.content-html{padding:.5rem}.content-html img,.content-html video{max-width:100%!important;height:auto!important}.custom-emoji{height:.8em!important;max-height:.8em!important}.content-body .custom-emoji{height:1.5em!important;max-height:1.5em!important}}.user-header{margin-bottom:.5rem;display:flex;gap:.5rem;justify-content:space-between;align-items:flex-start;box-sizing:border-box;width:100%;max-width:100%}.user-header .handle,.user-header .nickname{word-break:break-all;overflow-wrap:break-word}.user-header-avatar{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;border-radius:50%;object-fit:cover;object-position:center;flex-shrink:0;display:block;aspect-ratio:1/1}.user-header-content{display:flex;gap:.5rem;flex:1;min-width:0;max-width:100%;box-sizing:border-box}.user-header-info{flex:1;display:flex;flex-direction:column;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word}.user-header-date{font-size:.85rem;opacity:.7;flex-shrink:0;white-space:nowrap;box-sizing:border-box}@media(max-width:480px){.user-header{flex-direction:column;gap:.25rem}.user-header-content{width:100%}.user-header-date{font-size:.75rem;align-self:flex-start;white-space:normal;word-break:break-all}}.sensitive-media-container{position:relative;display:inline-block;max-width:100%;overflow:hidden;border-radius:20px;isolation:isolate;line-height:0}.sensitive-media-wrapper{filter:blur(10px) grayscale(.7);transition:filter .3s ease;display:inline-block;max-width:100%;line-height:0}.sensitive-media-wrapper.shown{filter:none}.sensitive-media-wrapper img,.sensitive-media-wrapper video{display:block;max-width:100%;height:auto}.sensitive-media-hide-button{position:absolute;top:.5rem;right:.5rem;z-index:10;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background-color:#0009;border-radius:50%;font-size:1.2rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.sensitive-media-hide-button:hover{background-color:#000c}.sensitive-media-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background-color:#0000001a;border-radius:20px;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:1;pointer-events:auto;transition:opacity .5s ease,background-color .3s ease}.sensitive-media-overlay.hidden{opacity:0;pointer-events:none}.sensitive-media-overlay:hover{background-color:#0003}.sensitive-media-overlay-text{font-size:1.2rem;font-weight:500;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);pointer-events:none}.custom-emoji{height:1em;max-height:1em;width:auto;vertical-align:middle;margin:0 .1em;display:inline-block}.content-body .custom-emoji{height:2em;max-height:2em}.poll-container{margin-top:1rem;padding:1rem;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:20px;border:none}.poll-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.9rem}.poll-header strong{color:#2d3748;font-weight:600}.poll-type{display:inline-flex;align-items:center;justify-content:center;opacity:.7;color:#4a5568;cursor:help}.poll-type-icon{display:inline-block;font-size:1rem;line-height:1;vertical-align:middle}.poll-end-time,.poll-voter-count{font-size:.85rem;opacity:.7;color:#4a5568}.poll-options{display:flex;flex-direction:column;gap:.5rem}.poll-option{display:flex;flex-direction:column;gap:.25rem}.poll-option-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.poll-option-name{flex:1;word-break:break-word;color:#2d3748}.poll-option-stats{margin-left:.5rem;font-size:.85rem;opacity:.7;color:#4a5568;white-space:nowrap}.poll-option-bar-container{width:100%;height:8px;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:15px;overflow:hidden;position:relative}.poll-option-bar{height:100%;background:#2563eb;border-radius:15px;transition:width .3s ease}.poll-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1);font-size:.85rem;opacity:.7;color:#4a5568}.audience-container{margin-top:.5rem;margin-bottom:.5rem;padding:.5rem;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:20px;font-size:.85rem}.audience-container.audience-emoji-only{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;width:auto;min-width:auto}.audience-emoji{font-size:1rem;opacity:.7;margin-left:.25rem}.user-header-audience-emoji{font-size:.9rem;opacity:.7;margin-left:.25rem;display:inline-block}.audience-item{display:flex;align-items:flex-start;gap:.25rem;margin-bottom:.25rem}.audience-item:last-child{margin-bottom:0}.audience-label{font-weight:600;color:#2d3748;min-width:2.5rem;flex-shrink:0}.audience-values{flex:1;word-break:break-word;overflow-wrap:break-word;color:#4a5568}.audience-link{color:#2563eb;text-decoration:none;cursor:pointer;transition:opacity .2s}.audience-link:hover{text-decoration:underline;opacity:.8}.audience-private{opacity:.6;font-style:italic}.audience-separator{color:#4a5568}.audience-more{color:#4a5568;opacity:.7;font-size:.8rem}.link-preview{margin-top:.5rem;padding:.5rem;background:#e0e5ec;box-shadow:inset 8px 8px 16px #a3b1c6,inset -8px -8px 16px #fff;border-radius:20px;display:flex;gap:.5rem;align-items:flex-start}.link-preview-image{flex-shrink:0;width:100px;height:100px;overflow:hidden;border-radius:15px}.link-preview-image img{width:100%;height:100%;object-fit:cover}.link-preview-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.link-preview-link{color:#2563eb;text-decoration:none;font-weight:500;word-break:break-word;overflow-wrap:break-word}.link-preview-link:hover{text-decoration:underline;opacity:.8}.link-preview-type{font-size:.8rem;color:#4a5568;opacity:.7}@media(prefers-color-scheme:dark){.App{background:#1a1d24;color:#e0e0e0}.App-header h1{color:#e0e0e0;text-shadow:2px 2px 4px rgba(0,0,0,.5),-1px -1px 2px rgba(255,255,255,.05)}section{background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d}.url-input{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.url-input:focus{background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d}.url-input:disabled{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;opacity:.6}.run-button .icon{stroke:#60a5fa}.run-button:not(:disabled){background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d}.run-button:hover:not(:disabled){background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d}.run-button:active:not(:disabled){background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d}.run-button:disabled{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;opacity:.5}.run-button:disabled .icon{stroke:#6c757d}.raw-json-button{background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d;color:#e0e0e0}.raw-json-button:hover,.raw-json-button:active{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d}.share-button{background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d;color:#e0e0e0}.share-button:hover,.share-button:active{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d}.error-message{background-color:#4a1f1f;color:#ff6b6b;border-left-color:#dc3545}.preview-content{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.activitypub-info{background:#1a1d24;box-shadow:8px 8px 16px #0f1115,-8px -8px 16px #ffffff0d}.activitypub-info h3{color:#e0e0e0}.info-item strong{color:#b0b0b0}.info-item a{color:#60a5fa}.info-item a:hover{color:#93c5fd}.content-html{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.content-html a{color:#60a5fa}.content-html a:hover{color:#93c5fd}.content-html blockquote{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;border-left-color:#ffffff1a;color:#b0b0b0}.quote-object{color:#e0e0e0}.quote-object div[style*="color: #666"]{color:#999!important}.user-header-date{opacity:.8}.sensitive-media-overlay{background-color:#0000004d}.sensitive-media-overlay:hover{background-color:#0006}.content-warning{background-color:#4a3a1f;border-color:#ffc107;color:#ffd54f}.content-warning strong{color:#ffd54f}.content-warning button{background-color:#2a2a2a;border-color:#ffc107;color:#ffd54f}.content-warning button:hover{background-color:#3a3a3a}.poll-container{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.poll-header strong{color:#e0e0e0}.poll-type,.poll-end-time,.poll-voter-count{color:#b0b0b0}.poll-option-name{color:#e0e0e0}.poll-option-stats{color:#b0b0b0}.poll-option-bar-container{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d}.poll-option-bar{background:#60a5fa}.poll-footer{border-top-color:#ffffff1a;color:#b0b0b0}.audience-container{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.audience-emoji,.user-header-audience-emoji{opacity:.8}.audience-label{color:#e0e0e0}.audience-values{color:#b0b0b0}.audience-link{color:#60a5fa}.audience-link:hover{color:#93c5fd}.audience-private{opacity:.5}.link-preview{background:#1a1d24;box-shadow:inset 8px 8px 16px #0f1115,inset -8px -8px 16px #ffffff0d;color:#e0e0e0}.link-preview-link{color:#60a5fa}.link-preview-link:hover{color:#93c5fd}.link-preview-type{color:#b0b0b0}}
