.ai-note{background:#f6f0f4;border-radius:10px;padding:8px 10px;margin:8px 0;font-size:12px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#423b59;color:#fff;border-radius:12px;z-index:100;max-width:90vw}.room-note{font-size:12px;line-height:1.6;color:#a79fb6;padding:12px 0}.checklist{display:grid;gap:8px;margin:12px 0}.checklist label{padding:9px 12px;background:#eee9e8;border-radius:10px;display:flex;gap:9px;align-items:center}.checklist input{width:auto}.connection-chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.connection-chips .pill{font-weight:500;background:#f0eee4;color:#756347}.map-canvas{width:100%;height:auto;min-height:250px;background:radial-gradient(#d8cfd5 1px,transparent 1px);background-size:18px 18px;border-radius:16px}.map-canvas text{font:14px system-ui;fill:#423b59}.map-canvas .edge-label{font-size:11px;fill:#74627b;paint-order:stroke;stroke:#fbf8f6;stroke-width:5px}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid #e6dddd}.timeline-order{font-family:Georgia,serif;font-size:30px;color:#a96475}.path-active{border:2px solid #a96475}.review-row{margin:10px 0;display:flex;gap:14px;align-items:flex-start;line-height:1.5}.review-row .pill{min-width:76px;text-align:center}.searchbar{width:100%;margin-top:18px;border:1px solid #ded6df;border-radius:12px;padding:12px 15px;background:white}.voice-note{font-size:12px;line-height:1.5;color:#71667b;margin:10px 0}.brand{margin-bottom:12px}.sidebar{background:#312b42}.subtitle{line-height:1.6}.capture{background:linear-gradient(120deg,#efe6e8,#e8e5ee)}.h1{letter-spacing:-1.5px}.tab{padding:11px 15px}.section-header{margin-bottom:14px}.map-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#827d89}.checklist strong{font-size:14px}.review-row button{text-align:left}.map-canvas circle{stroke:#e5d8de;stroke-width:2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.tabs{margin-left:-4px;margin-right:-4px}.map-canvas{min-height:unset}.timeline-item{grid-template-columns:46px 1fr}.toprow .btn{padding:10px 13px}.room-note{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#282537;background:#f7f4f1}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}.app{max-width:1380px;margin:auto;min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#26243a;color:#e9e5f0;padding:26px 18px;min-height:100vh}.brand{font-family:Georgia,serif;font-size:26px;font-weight:bold;line-height:1.1;margin-bottom:6px}.brand span{color:#e5bda1}.subtitle{font-size:12px;color:#ada7bf;margin:0 0 30px}.nav-btn{background:transparent;border:0;color:#d4cede;padding:13px 14px;text-align:left;width:100%;border-radius:12px;margin:3px 0}.nav-btn.active,.nav-btn:hover{background:#4b455e;color:white}.side-bottom{border-top:1px solid #514a64;margin-top:25px;padding-top:18px}.side-bottom button{background:none;border:0;color:#c8bfd8;padding:8px 2px;font-size:13px}.content{padding:34px clamp(18px,4vw,58px) 120px;min-width:0}.eyebrow{color:#94746c;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800}.toprow{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap}.h1{font-family:Georgia,serif;font-size:clamp(32px,4.5vw,54px);font-weight:normal;margin:9px 0}.muted{color:#827d89}.btn{background:#423b59;color:white;border:0;padding:12px 18px;border-radius:13px;font-weight:650}.btn:hover{background:#574e74}.btn.soft{background:#eee7e2;color:#4b4355}.btn.ghost{background:transparent;color:#756b82;border:1px solid #ddd6db}.card{background:#fff;border:1px solid #ebe4e1;border-radius:20px;box-shadow:0 5px 25px #473d3210;padding:22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px;margin-top:24px}.book{min-height:240px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.book:before{content:'';position:absolute;right:-35px;top:-45px;width:130px;height:130px;border:22px solid #e5dedb;border-radius:50%;opacity:.5}.book h3{font-family:Georgia,serif;font-size:27px;max-width:230px;margin:18px 0 8px;position:relative}.book p{font-size:14px;position:relative}.book .bottom{display:flex;justify-content:space-between;align-items:center;position:relative}.pill{display:inline-block;border-radius:100px;background:#f2eaf5;color:#75588b;padding:5px 10px;font-size:11px;font-weight:750}.empty{border:2px dashed #e1d8d3;text-align:center;padding:48px 22px;border-radius:18px;margin-top:22px}.tabs{display:flex;gap:8px;overflow:auto;margin:24px 0 20px;padding-bottom:5px}.tab{border:0;background:#eee9e8;color:#6b6370;white-space:nowrap;border-radius:20px;padding:10px 16px;font-size:13px;font-weight:650}.tab.active{background:#423b59;color:#fff}.pane{display:none}.pane.active{display:block}.capture{padding:23px;border-radius:20px;background:#eae5e9;border:1px solid #dcd3dc}.capture textarea{background:white;width:100%;border:1px solid #ded6df;border-radius:13px;padding:15px;resize:vertical;min-height:106px;margin:12px 0}.capture-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.capture-actions select{border:1px solid #d8cfda;border-radius:12px;padding:10px;background:white}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px}.section-header h2{font-family:Georgia,serif;font-size:25px;font-weight:normal;margin:0}.idea{display:flex;justify-content:space-between;gap:15px;margin-top:12px;align-items:flex-start}.idea p{white-space:pre-wrap;line-height:1.5;margin:9px 0}.idea .meta{display:flex;gap:7px;flex-wrap:wrap}.meta small{color:#8e8792}.tiny{background:none;border:0;color:#81748c;font-size:12px;text-decoration:underline;padding:6px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:23px}.stat{background:#fff;border:1px solid #ebe4e1;border-radius:16px;padding:17px}.stat b{display:block;font-size:29px;color:#463d57}.stat span{font-size:12px;color:#817b87}.columns{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:14px;margin-top:20px}.column{background:#eee9e8;border-radius:16px;padding:12px;min-height:220px}.column h3{margin:4px 8px 15px;font-size:13px;color:#796d7a}.scene{background:#fff;border-radius:13px;padding:14px;margin-bottom:10px;border:1px solid #e5dfe4}.scene strong{display:block;margin-bottom:6px}.scene p{font-size:13px;color:#77717f;white-space:pre-wrap}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;margin-top:10px}.field label{font-size:12px;font-weight:700;color:#6d6275}.field input,.field textarea,.field select{border:1px solid #d9d1d6;background:#fff;border-radius:11px;padding:12px;width:100%}.field textarea{min-height:80px}.modal-back{position:fixed;inset:0;background:#211e2b99;display:none;align-items:center;justify-content:center;padding:16px;z-index:50}.modal-back.visible{display:flex}.modal{background:#fbf9f7;border-radius:22px;padding:26px;max-width:520px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #110d1b66}.modal h2{font-family:Georgia,serif;margin:0 0 12px;font-weight:normal;font-size:30px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.mobile-nav{display:none}.filterrow{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.filterrow select,.filterrow input{border:1px solid #ded6df;border-radius:11px;padding:9px;background:white}.notice{padding:12px 15px;border-radius:12px;background:#fff4da;color:#785b2e;font-size:13px;margin-top:16px}.line{border-top:1px solid #eee6e5;margin-top:15px;padding-top:15px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:20px}.step{padding:18px;background:#fff;border-radius:17px;border:1px solid #e8e0e0}.step h3{font-family:Georgia,serif;font-weight:normal;margin:0 0 8px}.step p{font-size:13px;color:#766f7b;line-height:1.5}.badge{font-size:12px;background:#f2eaf5;padding:5px 9px;border-radius:100px;color:#694d7a}.float{position:fixed;bottom:26px;right:26px;border-radius:100px;background:#a96475;color:#fff;border:0;box-shadow:0 10px 35px #7e405450;padding:16px 21px;font-weight:750;z-index:10}.float:hover{background:#8e5361}@media(max-width:850px){.app{display:block}.sidebar{min-height:auto;padding:17px 19px}.brand{font-size:22px}.subtitle,.sidebar nav,.side-bottom{display:none}.content{padding:24px 17px 110px}.mobile-nav{display:flex;gap:8px;overflow:auto;padding:12px 15px;background:#302c43}.mobile-nav button{border:0;color:#fff;background:#504962;padding:9px 13px;border-radius:11px;white-space:nowrap}.columns{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.float{right:16px;bottom:16px}}

:root{--muted:#6b6473;--plum:#423b59}.muted,.map-legend{color:var(--muted)}.meta small,.stat span{color:#6b6473}.tiny,.btn.ghost{color:#695575}.eyebrow{color:#805e55}.column h3{color:#6a5b6b}.room-note{color:#c8bfd8}.float{background:#8e5361}.path-context{margin:12px 0;font-size:13px;line-height:1.7}.path-context .pill{margin-right:8px}.book-family{margin-top:26px}.book-family>h2{font-family:Georgia,serif;font-weight:normal}.book-family .grid{margin-top:12px}.save-state{position:sticky;top:0;padding:10px 16px;background:#fff4da;color:#654821;z-index:60;font-size:13px}.save-state:empty{display:none}.draft-hint{font-size:12px;color:#5e5366;margin:8px 0}.dismiss-prompt{padding:16px;border:2px solid #a96475;background:#fff4da;border-radius:12px;margin-top:16px}.dismiss-prompt button{margin:6px}.capture label{font-size:13px;font-weight:700}.capture-help{font-size:12px;line-height:1.6;margin:10px 0;color:#5e5366}.destination{font-size:13px;line-height:1.6;margin:8px 0}.recovery{max-width:700px;margin:30px auto;line-height:1.7}.family-path{font-size:24px!important}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#795494}.capture textarea::placeholder,.searchbar::placeholder{color:#716978;opacity:1}

.quick-notes-hero{margin:0 0 30px}.quick-notes-launch{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:140px;padding:28px 30px;border:1px solid #d6c5d0;border-radius:24px;background:linear-gradient(120deg,#efe5e7,#e9e6f1);color:#423b59;text-align:left;box-shadow:0 8px 28px #473d3210}.quick-notes-launch:hover{background:#e8dce5}.quick-notes-launch>span:first-child{min-width:0}.quick-notes-launch strong{display:block;font-size:30px;letter-spacing:1px}.quick-notes-launch small{display:block;font-size:15px;font-weight:500;line-height:1.5;margin-top:8px}.quick-notes-arrow{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#423b59;color:white;font-size:26px}.quick-notes-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 4px;font-size:13px;color:#5e5366}.note-copy{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.note-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.note-actions button{min-height:44px}.note-card{margin-top:14px}.note-card .pill{max-width:100%;overflow-wrap:anywhere}.note-status{font-size:13px;line-height:1.6;margin:10px 0}.quick-notes-modal #f_note::placeholder{color:#716978;opacity:1}.quick-notes-modal #f_note{min-height:200px;font-size:16px;line-height:1.6}.quick-notes-modal .modal-foot .btn{min-height:48px}.quick-notes-modal .modal{max-width:580px}.notes-heading h1{margin-bottom:10px}.notes-ai{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}.notes-empty{padding:26px}.note-reason{font-size:13px;line-height:1.5;color:#5e5366}.quick-notes-modal #modalTitle{font-size:28px}
@media(max-width:600px){.quick-notes-launch{min-height:146px;padding:24px 20px;border-radius:20px}.quick-notes-launch strong{font-size:clamp(22px,7vw,27px)}.quick-notes-launch small{font-size:14px;max-width:240px}.quick-notes-arrow{width:42px;height:42px}.library-heading .h1{font-size:30px}.quick-notes-modal{align-items:flex-end;padding:0}.quick-notes-modal .modal{border-radius:22px 22px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));max-height:92vh;max-height:92dvh;overflow:auto}.quick-notes-modal #f_note{min-height:180px}.quick-notes-modal .modal-foot{display:grid;grid-template-columns:1fr 2fr}.quick-notes-modal .modal-foot .btn{width:100%}.note-actions .tiny{padding:10px}.notes-heading .h1{font-size:36px}.quick-notes-foot .tiny{padding:6px 0}.mobile-nav button{min-height:44px}}
.account-gate{max-width:540px;margin:12vh auto;padding:32px}.account-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;background:#faf6ef;border-bottom:1px solid #e7dfd2}.account-bar>span{font-weight:650;font-size:13px}.account-bar .btn{font-size:12px;padding:8px 10px}.account-panel{max-width:850px;margin:16px auto;padding:22px}.account-panel .btn{margin:5px}#appShell[hidden]{display:none}@media(max-width:700px){.account-gate{margin:7vh 16px;padding:24px}.account-bar{flex-wrap:wrap;padding:10px 16px}.account-bar>div{display:flex;flex-wrap:wrap;gap:5px}.account-panel{margin:12px 16px}}

.story-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:28px;align-items:start;margin-top:26px}.dashboard-heading h2{margin-bottom:8px}.story-dashboard h3{font-family:Georgia,serif;font-size:23px;margin:0}.timeline-diagram{min-width:0}.story-timeline{list-style:none;margin:0;padding:0}.story-moment{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding-bottom:24px}.story-moment:not(:last-child)::before{content:"";position:absolute;left:21px;top:40px;bottom:0;width:2px;background:#d7c6ce}.moment-node{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;align-self:start;min-height:44px;border:2px solid #a96475;border-radius:50%;background:#fbf8f6;color:#733a50;font-weight:700;font-size:14px;overflow-wrap:anywhere;padding:6px}.moment-card{min-width:0;border:1px solid #e2d8dd;background:#fffdfb;border-radius:16px;padding:20px;box-shadow:0 6px 18px #312b4205;overflow-wrap:anywhere}.moment-card h3{margin:12px 0 8px;font-size:24px}.moment-card p{line-height:1.65;white-space:pre-wrap;margin:8px 0}.moment-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.moment-scene{display:block;white-space:normal;text-align:left;overflow-wrap:anywhere;margin-top:12px}.timeline-empty{padding:35px 20px;text-align:center;border:1px dashed #cdbcc7;border-radius:18px;background:#fffdfb}.timeline-empty p{max-width:410px;margin:16px auto 22px;line-height:1.65;color:#71667b}.empty-moments{display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#a96475}.empty-moments span{display:grid;place-items:center;border:1px solid #b88a98;border-radius:50%;width:36px;height:36px}.empty-moments i{width:35px;height:1px;background:#b88a98}.story-essentials{padding:22px;min-width:0}.story-essentials h3{margin-top:8px}.essential-count{font-weight:700;color:#733a50;margin:12px 0 6px}.essential-intro{font-size:12px;line-height:1.6}.essentials-list{list-style:none;margin:20px 0 14px;padding:0}.essential{border-top:1px solid #ece4e8}.essential-link{display:grid;grid-template-columns:22px minmax(0,1fr) 12px;gap:9px;align-items:start;width:100%;min-height:58px;padding:13px 0;background:none;border:0;color:#3c3347;text-align:left;border-radius:4px;overflow-wrap:anywhere}.essential-link:hover{background:#f5eef1}.essential-link strong{font-size:13px;line-height:1.5;display:block}.essential-mark{font-size:18px;line-height:22px;color:#927581}.recorded .essential-mark{color:#3b725f}.essential-status{display:block;font-size:11px;color:#786a7a;margin-top:2px}.recorded .essential-status{color:#3b725f}.essential-hint{display:block;font-size:12px;line-height:1.5;color:#786a7a;margin-top:5px}
@media(max-width:1100px){.story-dashboard{grid-template-columns:minmax(0,1fr)}}
@media(max-width:550px){.story-dashboard{gap:18px}.story-moment{grid-template-columns:36px minmax(0,1fr);gap:10px}.moment-node{min-height:36px;font-size:12px;padding:4px}.story-moment:not(:last-child)::before{left:17px;top:34px}.moment-card{padding:16px}.moment-card h3{font-size:21px}.story-essentials{padding:20px}.moment-actions .tiny{min-height:44px}.moment-scene{min-height:44px}.timeline-empty{padding:28px 16px}}

.notes-ai [data-ai-toggle]{min-height:44px}#quickNotesConsent p{line-height:1.6}#quickNotesConsent button{min-height:44px;margin-top:8px}
