:root{color-scheme:light;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background:#f7f3ea;color:#172033}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}.page-shell{max-width:1180px;margin:0 auto;padding:40px 20px 120px}.hero-card,.card{border:1px solid rgba(23,32,51,.08);border-radius:28px;background:#fffcf7e6;box-shadow:0 24px 50px #17203314;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.setup-banner{margin-bottom:24px;padding:16px 20px;border-radius:22px;border:1px solid rgba(156,85,32,.18);background:#fff2dfeb;color:#7f4316}.setup-banner p{margin-bottom:0}.setup-banner a{color:inherit;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#9c5520;font-size:.78rem;font-weight:700;margin:0 0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.8rem);line-height:.95;margin-bottom:16px}.hero-copy{max-width:60ch;color:#3a455e}.panel-grid{display:grid;gap:24px;grid-template-columns:minmax(320px,400px) 1fr}.panel-grid-single{grid-template-columns:1fr}.panel{padding:24px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.header-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.auth-button,.flashcard-button{width:auto;white-space:nowrap}.create-entry-button{width:42px;height:42px;border:1px solid rgba(23,32,51,.1);border-radius:14px;background:#ffffffd1;color:#9c5520;display:inline-flex;align-items:center;justify-content:center}.create-entry-button svg{width:20px;height:20px}.create-entry-button:hover{transform:translateY(-1px);background:#fff5ebf5}.voice-status-inline{color:#5d677f;font-weight:700}label{display:block;margin-bottom:16px;font-weight:700}input,textarea{width:100%;border:1px solid rgba(23,32,51,.14);border-radius:16px;padding:14px 16px;background:#ffffffbf;margin-top:8px}input:focus,textarea:focus{outline:2px solid rgba(156,85,32,.25);border-color:#9c5520}.primary-button,.ghost-button{border:none;border-radius:999px;padding:12px 18px;transition:transform .12s ease,opacity .12s ease}.primary-button{width:100%;background:linear-gradient(135deg,#c65d13,#dd8e35);color:#fffdfa;font-weight:700}.ghost-button{background:#1720330f;color:#172033}.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{opacity:.65;cursor:not-allowed}.hint,.empty-state{color:#5d677f;margin-bottom:0}.error-box{margin:16px 0;padding:14px 16px;border-radius:16px;background:#cb2c2c1f;color:#8f1f1f}.success-box{margin:16px 0 0;padding:14px 16px;border-radius:16px;background:#137e571f;color:#155b41}.entry-list{display:grid;gap:14px;margin-top:18px;max-height:560px;overflow:auto}.load-more-button{width:100%;margin-top:18px;border:1px solid rgba(23,32,51,.12);border-radius:18px;padding:14px 18px;background:#ffffffd1;color:#172033;font-weight:700}.entry-group{display:grid;gap:12px}.entry-group-header h3{margin-bottom:0;font-size:1rem;text-transform:capitalize;color:#6a4d33}.entry-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-group-list{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.entry-card{padding:14px 14px 12px;border-radius:18px;background:linear-gradient(180deg,#fffffff0,#f4efe6e6);border:1px solid rgba(23,32,51,.08)}.entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.entry-actions{display:inline-flex;gap:8px;flex:0 0 auto}.entry-action-button{width:34px;height:34px;border:1px solid rgba(23,32,51,.1);border-radius:10px;background:#ffffffe6;display:inline-flex;align-items:center;justify-content:center}.entry-action-button svg{width:16px;height:16px}.speak-entry-button{color:#244f8f}.delete-entry-button{color:#8a3922}.entry-action-button:hover:not(:disabled){transform:translateY(-1px)}.speak-entry-button:hover:not(:disabled){background:#eaf3fff2}.delete-entry-button:hover:not(:disabled){background:#fff0ecf2}.entry-action-button:disabled{opacity:.5;cursor:not-allowed}.entry-card h3{margin-bottom:10px}.entry-card h4{margin:0 0 6px;font-size:1.05rem;line-height:1.15;letter-spacing:-.01em;word-break:break-word}.entry-card p{color:#33405d;margin-bottom:8px;font-size:.92rem;line-height:1.35;word-break:break-word}.entry-card time{color:#6f7791;font-size:.82rem}.capture-shell{min-height:100vh;padding:12px 14px 14px}.capture-card{width:100%;max-width:100%;padding:0;border:none;background:transparent;box-shadow:none}.capture-form{display:flex;flex-direction:column;gap:6px;height:auto}.capture-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.capture-header-compact{justify-content:flex-end;min-height:0;margin-bottom:2px}.capture-spacer{flex:1}.capture-heading h2{margin-bottom:6px;font-size:1.1rem;line-height:1.05}.capture-heading .modal-hint{font-size:.82rem;line-height:1.35;max-width:34ch}.capture-close-button{border:1px solid rgba(23,32,51,.12);background:#ffffffc7;color:#172033;border-radius:999px;padding:6px 11px;font-weight:600;min-width:56px;font-size:.82rem}.capture-fields{display:grid;gap:0}.capture-fields label{margin-bottom:0;font-size:.82rem}.capture-fields label+label{margin-top:16px}.capture-fields textarea{resize:none}.capture-fields input,.capture-fields textarea{margin-top:4px;padding:9px 11px;font-size:.88rem;border-radius:10px}.capture-toolbar{display:grid;grid-template-columns:1fr;gap:6px;align-items:center;margin-top:4px}.capture-submit-button{height:38px;font-size:.88rem;border-radius:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141b286b;display:grid;place-items:center;padding:20px;z-index:30}.modal-card{width:min(100%,640px);border-radius:28px;border:1px solid rgba(23,32,51,.08);background:#fffcf7fa;box-shadow:0 26px 60px #1720332e;padding:24px}.modal-header{margin-bottom:10px}.modal-hint{margin-bottom:0}.form-actions{margin-top:8px}.flashcard-modal{width:min(100%,720px)}.flashcard-header{margin-bottom:14px}.flashcard-close-button{width:42px;height:42px;border:1px solid rgba(23,32,51,.12);border-radius:14px;background:#ffffffd6;color:#172033;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.flashcard-close-button svg{width:18px;height:18px}.flashcard-close-button:hover{transform:translateY(-1px);background:#fff5ebf5}.flashcard-surface{width:100%;min-height:320px;border:1px solid rgba(23,32,51,.1);border-radius:28px;padding:0;background:linear-gradient(145deg,#fffffff5,#f7efe0f5);color:#172033;perspective:1400px;overflow:hidden}.flashcard-surface.is-flipped{background:linear-gradient(145deg,#fcf7ecfa,#ffe8c9f5)}.flashcard-3d{position:relative;display:block;width:100%;min-height:320px;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.22,1,.36,1)}.flashcard-surface.is-flipped .flashcard-3d{transform:rotateY(180deg)}.flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;padding:26px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flashcard-back{transform:rotateY(180deg)}.flashcard-face-label{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5b33}.flashcard-main-text{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.05;font-weight:800;letter-spacing:-.03em;word-break:break-word}.flashcard-sub-text{font-size:1rem;color:#55617d;word-break:break-word}@media (max-width: 860px){.entry-group-list{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}.page-shell{padding:24px 16px 120px}.panel-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.panel{padding:20px;border-radius:24px}.entry-list{max-height:none}.voice-fab{right:16px;bottom:16px;padding:13px 16px}.modal-card{padding:20px;border-radius:24px}.flashcard-surface,.flashcard-3d{min-height:280px}.flashcard-face{padding:22px 18px}.capture-card{padding:0;border-radius:0}}@media (max-width: 560px){.entry-group-list{grid-template-columns:1fr}.entry-top{flex-direction:row;align-items:flex-start}.entry-card h4{flex:1 1 auto}.entry-actions{flex:0 0 auto}.create-entry-button{width:42px}.capture-shell{padding:12px 14px 14px}.capture-card{width:100%;padding:0}.capture-heading h2{font-size:1.02rem}.entry-group-header{align-items:flex-start;flex-direction:column}.flashcard-surface{min-height:240px;border-radius:22px}.flashcard-3d{min-height:240px}}
