:root{--bg-primary: #FAF7F2;--bg-surface: #FFFFFF;--bg-subtle: #F4EFE6;--bg-muted: #EAE4D9;--bg-input: #FAF8F5;--text-main: #1F1D1A;--text-secondary: #57524A;--text-muted: #8A8376;--border-light: #E7E0D2;--border-medium: #D6CDC0;--border-dark: #A69C8A;--accent-terracotta: #B95335;--accent-terracotta-soft: #FBF0EB;--accent-olive: #4C644B;--accent-olive-soft: #EEF3ED;--accent-marigold: #B4782A;--accent-marigold-soft: #FAF4E9;--danger-bg: #FBF0EF;--danger-text: #B93535;--danger-border: #E8C1BE;--danger-hover: #F8DFDC;--font-serif: "Lora", Georgia, "Times New Roman", serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", Menlo, Monaco, Consolas, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-subtle: 0 1px 3px rgba(31, 29, 26, .05), 0 1px 2px rgba(31, 29, 26, .03);--shadow-card: 0 4px 14px rgba(31, 29, 26, .06), 0 1px 3px rgba(31, 29, 26, .04);--shadow-float: 0 16px 36px rgba(31, 29, 26, .12), 0 4px 12px rgba(31, 29, 26, .06);--grain-color: #E5DFD3;--theme-transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease}[data-theme=dark]{--bg-primary: #171513;--bg-surface: #201D1A;--bg-subtle: #292521;--bg-muted: #38332C;--bg-input: #1B1816;--text-main: #ECE6DC;--text-secondary: #B5ACA0;--text-muted: #827A6E;--border-light: #2C2823;--border-medium: #3E3830;--border-dark: #635A4E;--accent-terracotta: #D86B4C;--accent-terracotta-soft: #38211B;--accent-olive: #6E8B6D;--accent-olive-soft: #202C21;--accent-marigold: #DE9E43;--accent-marigold-soft: #352615;--danger-bg: #381919;--danger-text: #F88A8A;--danger-border: #5C2727;--danger-hover: #4A2020;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .35);--shadow-card: 0 4px 16px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .25);--shadow-float: 0 18px 40px rgba(0, 0, 0, .6);--grain-color: #26221D}*{box-sizing:border-box;margin:0;padding:0;transition:var(--theme-transition)}html,body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}body{background-image:radial-gradient(var(--grain-color) .75px,transparent .75px);background-size:22px 22px}button,input,textarea,select{font-family:inherit;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent-terracotta);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-main);font-weight:500;letter-spacing:-.015em;line-height:1.3}.app-container{max-width:1040px;margin:0 auto;padding:0 1.5rem 4rem;min-height:100vh;display:flex;flex-direction:column}.archival-header{padding:2.25rem 0 1.75rem;border-bottom:1px solid var(--border-medium);margin-bottom:2.25rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;position:relative}.archival-header:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background-color:var(--border-light)}.brand-section{display:flex;flex-direction:column;gap:.35rem}.brand-meta-stamp{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.brand-meta-stamp:before{content:"◆";font-size:.55rem;color:var(--accent-terracotta)}.brand-title{display:flex;align-items:center;gap:.75rem;font-size:2.1rem;font-family:var(--font-serif);font-weight:600;color:var(--text-main);letter-spacing:-.025em}.brand-badge{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;background-color:var(--bg-subtle);color:var(--text-secondary);padding:.2rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-medium)}.brand-tagline{font-size:.94rem;color:var(--text-muted);font-style:italic;font-family:var(--font-serif)}.header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.view-tabs{display:inline-flex;background-color:var(--bg-subtle);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:3px;gap:2px}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.88rem;font-weight:500;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .18s ease}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{background-color:var(--bg-surface);color:var(--accent-terracotta);box-shadow:var(--shadow-subtle);font-weight:600}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;position:relative;transition:all .18s ease}.btn-icon:hover{color:var(--text-main);border-color:var(--border-dark);background-color:var(--bg-subtle);transform:translateY(-1px)}.btn-icon:active{transform:translateY(1px)}.theme-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:20px;padding:.35rem .75rem;font-size:.8rem;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;transition:all .18s ease}.theme-toggle-btn:hover{border-color:var(--accent-terracotta);color:var(--text-main);background-color:var(--bg-subtle);transform:translateY(-1px)}.theme-toggle-btn:active{transform:translateY(1px)}.theme-icon-orb{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--accent-terracotta)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--accent-terracotta);color:#fff;border:1px solid rgba(0,0,0,.15);padding:.65rem 1.25rem;font-size:.92rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 1px 3px #b9533540;transition:all .18s ease}.btn-primary:hover{filter:brightness(.92);transform:translateY(-1px);box-shadow:0 3px 8px #b953354d}.btn-primary:active{transform:translateY(1px);box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-medium);padding:.65rem 1.25rem;font-size:.92rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .18s ease}.btn-secondary:hover{background-color:var(--bg-subtle);color:var(--text-main);border-color:var(--border-dark);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(1px)}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);padding:.6rem 1rem;font-size:.88rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .18s ease}.btn-danger:hover{background-color:var(--danger-hover)}.editor-card{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:2.25rem;box-shadow:var(--shadow-card);position:relative}.editor-card:before{content:"";position:absolute;top:0;left:2.25rem;right:2.25rem;height:2px;background:linear-gradient(90deg,transparent,var(--border-medium),transparent)}.editor-header{margin-bottom:1.75rem}.editor-folio-tag{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}.editor-title{font-size:1.6rem;font-weight:500;margin-bottom:.35rem}.editor-subtitle{color:var(--text-muted);font-size:.92rem}.form-group{margin-bottom:1.4rem}.form-label{display:block;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.45rem}.form-input,.form-textarea{width:100%;background-color:var(--bg-input);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:.75rem .95rem;font-size:.98rem;color:var(--text-main);transition:border-color .15s ease,background-color .15s ease}.form-input:focus,.form-textarea:focus{background-color:var(--bg-surface);border-color:var(--accent-terracotta)}.form-textarea{min-height:200px;line-height:1.75;resize:vertical;font-family:var(--font-serif);font-size:1.08rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}.audio-recorder-panel{background-color:var(--bg-subtle);border:1px dashed var(--border-medium);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.recorder-info{display:flex;align-items:center;gap:.85rem}.mic-badge{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-surface);border:1px solid var(--border-medium);color:var(--accent-terracotta)}.mic-badge.recording{background-color:var(--accent-terracotta);color:#fff;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}to{transform:scale(1);opacity:1}}.recorder-text h4{font-size:.95rem;font-family:var(--font-sans);font-weight:600}.recorder-text p{font-size:.82rem;color:var(--text-muted)}.recorder-controls{display:flex;align-items:center;gap:.75rem}.timer-tag{font-family:var(--font-mono);font-size:.88rem;padding:.3rem .65rem;background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-secondary)}.archival-player{display:flex;align-items:center;gap:.75rem;background-color:var(--bg-subtle);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:.5rem .85rem}.player-btn{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent-terracotta);transition:transform .15s ease}.player-btn:hover{transform:scale(1.06)}.player-time{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.archive-toolbar{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.search-bar-row{display:flex;gap:.85rem;align-items:center}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.95rem;color:var(--text-muted);pointer-events:none}.search-input{width:100%;background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:.75rem 1rem .75rem 2.6rem;font-size:.95rem;color:var(--text-main);box-shadow:var(--shadow-subtle)}.search-input:focus{border-color:var(--accent-terracotta);background-color:var(--bg-input)}.filter-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-pill{font-size:.8rem;font-family:var(--font-mono);background-color:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:20px;padding:.3rem .75rem;cursor:pointer;transition:all .18s ease}.filter-pill:hover{border-color:var(--border-dark);color:var(--text-main)}.filter-pill.active{background-color:var(--accent-olive-soft);color:var(--accent-olive);border-color:var(--accent-olive);font-weight:500}.memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem}.memory-card{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}.memory-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--border-medium);transition:background-color .18s ease}.memory-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);border-color:var(--border-dark)}.memory-card:hover:before{background-color:var(--accent-terracotta)}.card-top-ledger{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.memory-date{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.35rem}.card-ledger-mark{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);opacity:.7}.memory-title{font-size:1.3rem;font-weight:600;color:var(--text-main);margin-bottom:.75rem;line-height:1.35}.memory-snippet{font-family:var(--font-serif);font-size:.96rem;color:var(--text-secondary);line-height:1.65;margin-bottom:1.25rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.memory-metadata{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.meta-item{display:inline-flex;align-items:center;gap:.35rem}.memory-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto;padding-top:.85rem;border-top:1px dashed var(--border-light)}.archival-tag{font-family:var(--font-mono);font-size:.72rem;background-color:var(--bg-subtle);color:var(--text-secondary);padding:.2rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.empty-archive{text-align:center;padding:5rem 1.5rem;background-color:var(--bg-surface);border:1px dashed var(--border-medium);border-radius:var(--radius-lg);margin:1.5rem 0;position:relative}.empty-icon{width:56px;height:56px;margin:0 auto 1.25rem;color:var(--accent-terracotta);opacity:.85}.empty-title{font-size:1.6rem;margin-bottom:.6rem}.empty-description{max-width:480px;margin:0 auto 1.75rem;color:var(--text-secondary);font-family:var(--font-serif);font-size:1.05rem}.empty-prompts{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;max-width:600px;margin:1.5rem auto 0}.prompt-chip{background-color:var(--bg-subtle);border:1px solid var(--border-medium);border-radius:20px;padding:.4rem .95rem;font-size:.84rem;color:var(--text-secondary);cursor:pointer;transition:all .18s ease}.prompt-chip:hover{background-color:var(--accent-marigold-soft);color:var(--accent-marigold);border-color:var(--accent-marigold);transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#12100ea6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);width:100%;max-width:680px;max-height:90vh;overflow-y:auto;padding:2.25rem;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;border-bottom:1px solid var(--border-medium);padding-bottom:1rem}.modal-title{font-size:1.6rem;line-height:1.25}.modal-close-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.35rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.modal-close-btn:hover{color:var(--text-main);background-color:var(--bg-subtle)}.detail-narrative{font-family:var(--font-serif);font-size:1.15rem;line-height:1.85;color:var(--text-main);white-space:pre-wrap;margin:1.5rem 0}.detail-notes{background-color:var(--bg-subtle);border-left:3px solid var(--accent-olive);padding:1rem 1.25rem;border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:.92rem;color:var(--text-secondary);margin:1.5rem 0}.detail-notes-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-olive);margin-bottom:.35rem}.detail-footer-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-medium);flex-wrap:wrap;gap:1rem}.toast-notice{position:fixed;bottom:2rem;right:2rem;background-color:var(--bg-surface);color:var(--text-main);padding:.75rem 1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-float);border:1px solid var(--border-medium);border-left:4px solid var(--accent-terracotta);display:flex;align-items:center;gap:.65rem;font-size:.9rem;font-weight:500;z-index:2000;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:640px){.archival-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.editor-card{padding:1.5rem}.audio-recorder-panel{flex-direction:column;align-items:flex-start}}
