@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Inter:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #ffffff;--bg-surface: #ffffff;--bg-muted: #fafafa;--bg-elevated: #f4f4f4;--border-solid: #0d0d0d;--text-primary: #0d0d0d;--text-secondary: #555555;--text-tertiary: #8f8f8f;--inverse: #ffffff;--shadow-card: 0 10px 24px rgba(0, 0, 0, .07);--pattern-color: rgba(0, 0, 0, .03);--scroll-thumb: #0d0d0d;--danger: #b13636;--transition-fast: .18s ease}:root[data-theme=dark]{--bg-base: #131313;--bg-surface: #1b1b1b;--bg-muted: #111111;--bg-elevated: #222222;--border-solid: #5f5f5b;--text-primary: #eceae3;--text-secondary: #c6c3ba;--text-tertiary: #918e86;--inverse: #131313;--shadow-card: 0 12px 24px rgba(0, 0, 0, .42);--pattern-color: rgba(255, 255, 255, .025);--scroll-thumb: #8a877f;--danger: #ff8888}html,body,#root{min-height:100%}body{min-height:100vh;overflow-x:hidden;font-family:Inter,sans-serif;background:var(--bg-base);color:var(--text-primary);line-height:1.45;transition:background-color var(--transition-fast),color var(--transition-fast)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 18%,var(--pattern-color) 0,transparent 35%),radial-gradient(circle at 80% 0,var(--pattern-color) 0,transparent 28%);opacity:.7;z-index:0}::selection{background:var(--text-primary);color:var(--bg-base)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb)}#app{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border-solid)}.header-title{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-logo-wrap{width:2.35rem;height:2.35rem;border:1px solid var(--border-solid);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface)}.header-logo{width:1.15rem;height:1.15rem;object-fit:contain;filter:grayscale(100%) contrast(300%)}:root[data-theme=dark] .header-logo{filter:grayscale(100%) invert(100%) contrast(180%)}.header-title-text{font-family:Cormorant Garamond,serif;font-style:italic;font-size:2.25rem;font-weight:500;line-height:.95;letter-spacing:-.03em}.detail-title{font-family:Inter,sans-serif;font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.search-wrap{position:relative;flex:1;max-width:34rem}.search-wrap:before{content:"⌕";position:absolute;top:50%;left:.8rem;transform:translateY(-50%);color:var(--text-tertiary);font-size:.92rem}#search{width:100%;border:1px solid var(--border-solid);background:transparent;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.84rem;padding:.56rem .75rem .56rem 2rem;outline:none;transition:background-color var(--transition-fast),border-color var(--transition-fast)}#search::placeholder{color:var(--text-tertiary)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.header-meta{display:flex;align-items:center;gap:.45rem;white-space:nowrap;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}.header-meta span:first-child{font-size:.86rem;font-weight:600;letter-spacing:0;color:var(--text-primary)}.theme-toggle,.signout-btn,.back-btn{border:1px solid var(--border-solid);background:var(--bg-surface);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;padding:.45rem .65rem;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.theme-toggle:hover,.signout-btn:hover,.back-btn:hover{background:var(--text-primary);color:var(--inverse)}.add-url-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border-solid)}.add-url-bar input{flex:1;min-width:220px;border:none;border-bottom:1px solid var(--border-solid);background:transparent;color:var(--text-primary);font-size:.86rem;font-family:Inter,sans-serif;padding:.52rem .15rem;outline:none}.add-url-bar input::placeholder{color:var(--text-tertiary)}.add-url-bar button{border:1px solid var(--border-solid);background:var(--text-primary);color:var(--inverse);font-family:Inter,sans-serif;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;padding:.62rem 1.2rem;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.add-url-bar button:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.add-url-bar button:disabled,.add-url-bar input:disabled{opacity:.65;cursor:default}.add-url-msg{width:100%;font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.14em}.add-url-msg.error{color:var(--danger)}.grid-wrap{flex:1;padding:1.35rem;background-color:var(--bg-muted);background-image:linear-gradient(to bottom,transparent 23px,var(--pattern-color) 24px,transparent 25px);background-size:100% 25px}.masonry{--masonry-columns: 1;display:grid;grid-template-columns:repeat(var(--masonry-columns),minmax(0,1fr));gap:1.35rem;align-items:start}.masonry-col{display:flex;flex-direction:column;gap:1.35rem}.masonry>.state-msg{grid-column:1 / -1}.card{break-inside:avoid;margin-bottom:0;border:1px solid var(--border-solid);background:var(--bg-surface);box-shadow:var(--shadow-card);animation:fade-up .26s ease both;transition:box-shadow var(--transition-fast);cursor:pointer}.card:hover{box-shadow:0 14px 30px #00000029}:root[data-theme=dark] .card:hover{box-shadow:0 14px 28px #00000080}.card-head{padding:1.25rem 1.25rem .85rem;display:flex;gap:.85rem;align-items:flex-start}.card-badge{width:2.7rem;height:2.7rem;border:1px solid var(--border-solid);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.08em;font-weight:600;text-transform:uppercase;flex-shrink:0;margin-top:.15rem}.card-author{display:flex;flex-direction:column;min-width:0}.card-name{font-family:Cormorant Garamond,serif;font-size:2rem;font-style:italic;font-weight:500;line-height:.95;overflow-wrap:anywhere}.card-handle{margin-top:.4rem;font-size:.6rem;letter-spacing:.22em;color:var(--text-tertiary);text-transform:uppercase}.card-text{padding:0 1.25rem 1rem;font-family:Cormorant Garamond,serif;font-size:1.33rem;line-height:1.35;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.card-text-link{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.card-text-link:hover{color:var(--text-primary)}.card-images{margin:0 1rem 1rem;border:1px solid var(--border-solid);background:var(--border-solid);display:grid;gap:1px;overflow:hidden}.card-images.multi{grid-template-columns:1fr 1fr}.card-images img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:var(--bg-elevated)}.card-images.multi img{aspect-ratio:1 / 1}.video-preview{margin:0 1rem 1rem;border:1px solid var(--border-solid);background:var(--bg-elevated);display:flex;align-items:center;gap:.5rem;padding:.58rem .65rem;color:var(--text-secondary);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase}.video-preview a{color:var(--text-primary)}.video-preview-thumb{width:72px;height:40px;object-fit:cover;border:1px solid var(--border-solid)}.video-play-icon{border:1px solid var(--border-solid);padding:.12rem .28rem;font-weight:600}.tweet-notes{margin:0 1.25rem 1rem;border:1px solid var(--border-solid);background:var(--bg-elevated);padding:.66rem .72rem}.tweet-notes-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tweet-notes-count{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary)}.tweet-notes-list{margin-top:.55rem;display:flex;flex-direction:column;gap:.5rem}.tweet-note-item{margin:0;font-family:Cormorant Garamond,serif;font-size:1.15rem;line-height:1.28;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.note-wrap{margin:0 1.25rem 1rem}.note-edit-actions{margin-top:.45rem;display:flex;align-items:center;gap:.42rem}.note-input{width:100%;min-height:72px;border:1px solid var(--border-solid);background:var(--bg-elevated);color:var(--text-primary);font-family:Cormorant Garamond,serif;font-size:1.08rem;line-height:1.3;padding:.52rem .62rem;resize:vertical;outline:none}.note-input::placeholder{color:var(--text-tertiary)}.note-save-btn{margin-top:0;border:1px solid var(--border-solid);background:var(--text-primary);color:var(--inverse);font-family:Inter,sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.34rem .58rem;cursor:pointer}.note-save-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.note-cancel-btn{border:1px solid var(--border-solid);background:none;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:.34rem .58rem;cursor:pointer}.note-cancel-btn:hover{color:var(--text-primary)}.card-footer{border-top:1px solid var(--border-solid);padding:.74rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.card-date{font-size:.6rem;letter-spacing:.2em;color:var(--text-tertiary);text-transform:uppercase}.card-actions{display:flex;align-items:center;gap:.35rem}.note-count{color:var(--text-tertiary);font-family:Inter,sans-serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase}.note-count.has-notes{color:var(--text-secondary)}.action-btn,.card-link{border:1px solid transparent;background:none;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.61rem;letter-spacing:.13em;text-transform:uppercase;padding:.25rem .35rem;cursor:pointer;text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast)}.action-btn:hover,.card-link:hover,.action-btn.note-active{color:var(--text-primary);border-color:var(--border-solid)}.state-msg{break-inside:avoid;text-align:center;color:var(--text-secondary);font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.35rem;padding:3.5rem 0}.loading-dots:after{content:"";animation:dots 1.1s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.detail-wrap{width:min(900px,100%);margin:0 auto;padding:2rem 1.2rem 2.8rem}.detail-card .card{margin-bottom:0;cursor:default}.detail-card .card:hover{transform:none}.detail-card .card-images{margin:0 0 1rem}.detail-card .card-images.multi{grid-template-columns:1fr}.detail-card .card-images img,.detail-card .card-images.multi img{aspect-ratio:auto;height:auto;object-fit:contain}.auth-screen{min-height:100vh;background:var(--bg-base);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1rem;position:relative;z-index:1}.auth-theme-toggle{position:absolute;top:1rem;right:1rem}.auth-header{display:flex;flex-direction:column;align-items:center;gap:.65rem}.auth-logo-wrap{width:3rem;height:3rem}.auth-logo{width:1.35rem;height:1.35rem}.auth-title{font-family:Cormorant Garamond,serif;font-style:italic;font-size:2.5rem;line-height:.95}.auth-subtitle{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary)}.auth-form{width:min(320px,92vw);display:flex;flex-direction:column;gap:.6rem}.auth-form input{border:1px solid var(--border-solid);background:var(--bg-surface);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.86rem;padding:.62rem .66rem;outline:none}.auth-form input::placeholder{color:var(--text-tertiary)}.auth-form button{border:1px solid var(--border-solid);background:var(--text-primary);color:var(--inverse);font-family:Inter,sans-serif;font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;padding:.63rem;cursor:pointer}.auth-form button:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.auth-form button:disabled{opacity:.68;cursor:default}.auth-error{color:var(--danger);font-size:.72rem}@media(max-width:980px){.header{flex-wrap:wrap}.search-wrap{order:5;flex-basis:100%;max-width:none}.header-actions{margin-left:0}}@media(max-width:680px){.header,.add-url-bar{padding:.8rem 1rem}.grid-wrap{padding:1rem}.header-title-text{font-size:1.75rem}.header-meta{display:none}.theme-toggle,.signout-btn,.back-btn{font-size:.58rem;padding:.4rem .5rem}.card-name{font-size:1.7rem}.card-text{font-size:1.22rem}.video-preview{flex-wrap:wrap}}
