:root{--bg0: #0f1419;--bg1: #1a222c;--bg2: #243040;--ink: #e8eef4;--muted: #8b9aab;--line: rgba(232, 238, 244, .12);--accent: #3d9bfd;--reminder: #f0a05a;--calendar: #5ec4a8;--trip: #c084fc;--danger: #f07178;--ok: #7fd99a;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--radius: 14px;font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:var(--bg0)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%,rgba(61,155,253,.18),transparent 60%),radial-gradient(900px 500px at 90% 0%,rgba(192,132,252,.12),transparent 55%),linear-gradient(165deg,#0f1419,#151c24 45%,#10161d);min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{max-width:1200px;margin:0 auto;padding:1.25rem 1.25rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.brand{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:-.02em;margin:0}.brand span{color:var(--muted);font-size:.55em;font-family:DM Sans,sans-serif;font-weight:500;letter-spacing:.04em;margin-left:.55rem;text-transform:uppercase}.top-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#ffffff0a;padding:.55rem .9rem;border-radius:999px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.btn:hover{background:#ffffff14;border-color:#e8eef438}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#3d9bfd,#2f7fd4);border-color:transparent;color:#041018;font-weight:600}.legend{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:.85rem;color:var(--muted);font-size:.85rem}.legend i{display:inline-block;width:.65rem;height:.65rem;border-radius:999px;margin-right:.35rem}.legend .reminder{background:var(--reminder)}.legend .calendar{background:var(--calendar)}.legend .trip{background:var(--trip)}.layout{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 980px){.layout{grid-template-columns:minmax(0,1fr) 280px}}.panel{background:#1a222cd1;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.calendar-panel{padding:.75rem;overflow:hidden}.trips-panel{padding:1rem}.trips-panel h2{margin:0 0 .75rem;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.trip-card{border-top:1px solid var(--line);padding:.75rem 0}.trip-card:first-of-type{border-top:none;padding-top:0}.trip-card strong{display:block;margin-bottom:.25rem}.trip-card p{margin:.15rem 0;color:var(--muted);font-size:.88rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%);padding:2rem 1.5rem;text-align:center;animation:rise .45s ease}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-card h1{font-family:"Instrument Serif",Georgia,serif;font-size:2.4rem;margin:0 0 .35rem}.login-card p{color:var(--muted);margin:0 0 1.4rem}.login-card form{display:grid;gap:.75rem}.field{display:grid;gap:.35rem;text-align:left}.field label{font-size:.8rem;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#00000040;border-radius:10px;padding:.7rem .8rem}.error{color:#ffb4b8;font-size:.9rem}.drawer-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04080c8c;display:grid;justify-items:end;align-items:stretch;z-index:40;animation:fade .2s ease}.modal-backdrop{justify-items:center;align-items:center;padding:1rem}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer,.modal{width:min(420px,100%);background:var(--bg1);border-left:1px solid var(--line);padding:1.25rem;overflow:auto;animation:slide .25s ease}.modal{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);animation:rise .25s ease;max-height:90vh}@keyframes slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.drawer h2,.modal h2{margin:0 0 .35rem;font-family:"Instrument Serif",Georgia,serif;font-size:1.7rem}.meta{color:var(--muted);font-size:.9rem;margin-bottom:1rem}.source-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.source-pill.reminder{background:#f0a05a2e;color:#ffd2a8}.source-pill.calendar{background:#5ec4a82e;color:#b8f0de}.source-pill.trip{background:#c084fc2e;color:#e4c6ff}.drawer-actions,.modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.form-grid{display:grid;gap:.75rem}.tabs{display:flex;gap:.35rem;margin-bottom:1rem}.tabs button{flex:1;border:1px solid var(--line);background:transparent;border-radius:999px;padding:.45rem}.tabs button.active{background:#3d9bfd2e;border-color:#3d9bfd73}.banner{margin-bottom:.85rem;padding:.65rem .8rem;border-radius:10px;background:#f0a05a1f;border:1px solid rgba(240,160,90,.28);color:#ffd2a8;font-size:.9rem}.fc{--fc-border-color: var(--line);--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(255, 255, 255, .03);--fc-list-event-hover-bg-color: rgba(255, 255, 255, .05);--fc-today-bg-color: rgba(61, 155, 253, .08);--fc-button-bg-color: rgba(255, 255, 255, .06);--fc-button-border-color: var(--line);--fc-button-text-color: var(--ink);--fc-button-hover-bg-color: rgba(255, 255, 255, .1);--fc-button-hover-border-color: rgba(232, 238, 244, .25);--fc-button-active-bg-color: rgba(61, 155, 253, .25);--fc-button-active-border-color: rgba(61, 155, 253, .4);color:var(--ink)}.fc .fc-toolbar-title{font-family:"Instrument Serif",Georgia,serif;font-size:1.45rem!important}.fc-event.reminder{background:#f0a05ae6;border-color:transparent}.fc-event.calendar{background:#5ec4a8e6;border-color:transparent}.fc-event.trip{background:#c084fce6;border-color:transparent}.muted{color:var(--muted)}.voice-panel{width:min(560px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.2rem 1.2rem}.voice-header{display:flex;align-items:center;justify-content:space-between}.voice-header h2{margin:0;font-size:1.05rem}.voice-status{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--muted)}.voice-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex:none}.voice-listening .voice-dot{background:var(--ok);animation:voice-pulse 1.6s ease-in-out infinite}.voice-thinking .voice-dot{background:var(--reminder);animation:voice-pulse .9s ease-in-out infinite}.voice-muted .voice-dot{background:var(--muted)}.voice-speaking .voice-dot{background:var(--accent);animation:voice-pulse .7s ease-in-out infinite}.voice-connecting .voice-dot{background:var(--trip);animation:voice-pulse 1s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}.voice-meter{flex:1;height:4px;border-radius:2px;background:var(--bg2);overflow:hidden}.voice-meter-fill{display:block;height:100%;background:var(--accent);transition:width .1s linear}.voice-log{flex:1;min-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg0)}.voice-line strong{display:block;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.voice-line p{margin:0;line-height:1.45}.voice-assistant p{color:var(--ink)}.voice-user p{color:var(--calendar)}.voice-typed{display:flex;gap:.5rem}.voice-typed input{flex:1;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--bg0);color:var(--ink)}.voice-typed input:disabled{opacity:.5}.voice-actions{display:flex;gap:.5rem;justify-content:flex-end}.voice-actions .btn:disabled{opacity:.45;cursor:not-allowed}.view-toggle{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:999px;background:#0003}.view-toggle .btn{border:0;background:transparent;padding:.4rem .85rem}.view-toggle .btn-primary{background:linear-gradient(135deg,#3d9bfd,#2f7fd4);color:#041018}.pages-layout{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 980px){.pages-layout{grid-template-columns:320px minmax(0,1fr)}}.pages-list,.pages-detail{padding:1rem;min-height:24rem}.pages-list-head,.pages-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.pages-list-head h2,.pages-detail-head h2,.pages-links h3{margin:0;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.pages-ul,.pages-link-ul{list-style:none;margin:0;padding:0}.pages-row{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:.7rem .75rem;margin-bottom:.35rem;display:grid;gap:.25rem}.pages-row:hover{background:#ffffff0a}.pages-row.active{border-color:#3d9bfd66;background:#3d9bfd1a}.pages-meta{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line)}.pill.public{color:#b8f0de;background:#5ec4a826}.pill.private{color:#ffd2a8;background:#f0a05a26}.pill.revoked,.pill.used,.pill.expired{color:#ffb4b8;background:#f0717826}.pill.unused{color:#b8d4ff;background:#3d9bfd26}.pages-detail-actions{display:flex;flex-wrap:wrap;gap:.4rem}.pages-preview{width:100%;min-height:22rem;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:1rem}.pages-mint{display:flex;gap:.5rem;margin:.75rem 0 1rem;flex-wrap:wrap}.pages-mint input{flex:1;min-width:12rem;border:1px solid var(--line);background:#00000040;border-radius:10px;padding:.65rem .8rem}.pages-link-row{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;border-top:1px solid var(--line);padding:.75rem 0}.pages-link-row p{margin:.25rem 0 0;font-size:.85rem}.pages-flash{cursor:pointer}.btn-danger{background:#f0717826;border-color:#f0717859;color:#ffb4b8}
