@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@200;300;400&display=swap";:root{--bg:#050505;--text:#d4d4d4;--text-dim:#8a8a8a;--line:#1c1c1c;--surface:#0a0a0a;--font:"IBM Plex Mono", "Courier New", monospace}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font);text-transform:lowercase;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;font-weight:300;line-height:1.65}button,input,textarea{font:inherit;color:inherit;text-transform:lowercase}.app-shell{isolation:isolate;background:var(--bg);min-height:100vh;position:relative}.grain{pointer-events:none;z-index:0;background-color:var(--bg);opacity:.11;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.25'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:100px 100px;position:fixed;inset:0}.home,.editor{z-index:1;max-width:1120px;margin:0 auto;padding:3rem 1.75rem 5rem;position:relative}.home-header{margin-bottom:2.5rem}.site-title{letter-spacing:.02em;margin:0;font-size:15px;font-weight:300}.analysis-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.25rem;display:grid}@media (width<=960px){.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.analysis-grid{grid-template-columns:1fr}}.analysis-card{appearance:none;text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}.analysis-card-cover{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);justify-content:center;align-items:center;display:flex;overflow:hidden}.analysis-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.analysis-card-cover-empty{color:var(--text-dim);font-size:13px}.analysis-card-title{margin:.75rem 0 0;font-size:14px;line-height:1.4}.analysis-card:hover .analysis-card-title{color:#f0f0f0}.empty-state{color:var(--text-dim);margin:0}.fab{z-index:2;border:1px solid var(--line);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;border-radius:0;padding:0;font-size:1.5rem;line-height:1;position:fixed;bottom:1.5rem;right:1.5rem}.fab:hover{color:#fff;border-color:#444}.text-button{appearance:none;cursor:pointer;color:var(--text-dim);background:0 0;border:0;padding:0}.text-button:hover{color:var(--text)}.back-link{margin-bottom:2rem;display:inline-block}.editor-header{margin-bottom:2.5rem}.cover-upload{cursor:pointer;width:min(200px,45vw);display:block}.cover-frame{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);color:var(--text-dim);justify-content:center;align-items:center;display:flex;overflow:hidden}.cover-frame img{object-fit:cover;width:100%;height:100%}.title-input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;margin-top:1.25rem;padding:.35rem 0;font-size:16px;display:block}.title-input::placeholder{color:var(--text-dim)}.editor-fields{flex-direction:column;gap:2rem;display:flex}.field-section{margin:0}.field-label{margin:0 0 .65rem;font-size:15px;font-weight:300}.field-input,.inline-input{border:0;border-bottom:1px solid var(--line);resize:vertical;background:0 0;outline:none;width:100%;min-height:2.5rem;padding:.35rem 0}.field-input:focus,.inline-input:focus,.title-input:focus{border-bottom-color:#555}.inline-input{resize:none;min-height:auto}.symbolism-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.symbolism-subject{flex:1;max-width:16rem}.file-link{color:var(--text-dim);cursor:pointer;text-underline-offset:3px;margin-bottom:.75rem;text-decoration:underline;display:inline-block}.file-link:hover{color:var(--text)}.favorite-moment-media{margin-bottom:.75rem}.favorite-preview,.media-placeholder{border:1px solid var(--line);max-width:100%;max-height:280px;display:block}.custom-field-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;display:flex}.custom-label-input{border-bottom:1px solid var(--line)}.add-section{color:var(--text);align-self:flex-start}.delete-analysis{color:#7a5a5a;align-self:flex-start;margin-top:1rem}.delete-analysis:hover{color:#c49a9a}.view-page .view-title{margin:1.25rem 0 0;font-size:16px;font-weight:300}.view-header{position:relative}.view-cover{cursor:default}.view-edit{color:var(--text-dim);margin-top:1rem}.view-edit:hover{color:var(--text)}.view-section{margin:0}.view-text{white-space:pre-wrap;margin:0}.modal-backdrop{z-index:10;background:#000000b8;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);background:var(--bg);width:min(420px,100%);padding:1.5rem}.modal-title{margin:0 0 1rem}.modal-input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:none;width:100%;padding:.35rem 0}.modal-error{color:#a07070;margin:.75rem 0 0}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.25rem;display:flex}.modal-confirm{color:var(--text)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
