:root{--navy:#12213e;--blue:#2458e8;--bg:#f3f6fc;--ink:#18243b;--muted:#62708a;--line:#dce3ef;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button,.button{border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:11px 17px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--blue);color:white;border-color:var(--blue)}.light{background:white;color:var(--navy)}a{color:var(--blue)}.brand{font:700 28px/1 system-ui;color:var(--blue);text-decoration:none;display:flex;align-items:center;gap:13px}.brand>span{font-size:17px;color:var(--ink);letter-spacing:.1em}.brand small{display:block;font-size:10px;margin-top:7px;letter-spacing:.14em;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.2;letter-spacing:-.035em}h2{font-size:26px;line-height:1.3;letter-spacing:-.025em}h3{font-size:19px;line-height:1.35}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--blue);margin-bottom:12px}.muted,.hint{color:var(--muted)}.hint{font-size:14px}.public{background:white}.public-nav{max-width:1240px;margin:auto;padding:30px 40px;display:flex;align-items:center;justify-content:space-between}.public-nav nav{display:flex;gap:30px;align-items:center}.public-nav nav>a:not(.button){text-decoration:none;color:var(--ink);font-size:15px}.public-hero{background:var(--navy);color:white;margin:0 28px;border-radius:24px;padding:95px max(45px,calc((100vw - 1160px)/2));position:relative;overflow:hidden}.public-hero .eyebrow{color:#8dabff}.public-hero h1{font:500 clamp(52px,6.5vw,90px)/1.05 Georgia,serif;letter-spacing:-.035em;max-width:850px;margin-bottom:26px}.lead{font-size:21px;color:#cbd7ef;margin-bottom:34px}.family-ribbon{border-top:1px solid #354567;display:flex;gap:42px;margin-top:65px;padding-top:24px;color:#d9e4fc;font-size:18px}.public-section{max-width:1240px;margin:auto;padding:90px 40px}.section-intro h2,.story h2,.public-callout h2{font-family:Georgia,serif;font-size:40px;font-weight:400}.people{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:36px}.people article{background:var(--bg);border-radius:20px;padding:28px}.portrait{height:130px;display:flex;align-items:center;font:60px Georgia;color:var(--blue)}.people h3{margin-bottom:4px}.people p{margin:0;color:var(--muted)}.story{max-width:850px;margin:0 auto;padding:30px 40px 90px}.story>p:not(.eyebrow){font-size:18px;color:var(--muted)}.public-callout{margin:0 28px 30px;border-radius:24px;background:var(--blue);color:white;padding:60px max(45px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.public-callout .eyebrow{color:#c6d5ff}.public-callout p{margin-bottom:0}footer{max-width:1240px;margin:auto;padding:30px 40px;display:flex;gap:28px;justify-content:space-between;font-size:14px;color:var(--muted)}.login-wrap{max-width:540px;margin:50px auto;padding:20px}.login-card{background:white;border:1px solid var(--line);border-radius:24px;padding:38px;margin:35px 0 18px;box-shadow:0 20px 70px #12213e08}.login-card p{color:var(--muted)}.login-card h1{font-family:Georgia,serif;font-size:38px}.login-card form{margin:25px 0}.login-card button{width:100%}.login-note{text-align:center;font-size:14px;color:var(--muted)}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid #cbd5e5;border-radius:9px;padding:11px 12px;margin-top:7px;background:white;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #2458e85c;outline-offset:1px}.sidebar{width:260px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 20px;z-index:5}.sidebar .brand{padding:0 10px}.user-box{display:flex;gap:11px;align-items:center;margin:32px 0 26px;padding:0 10px}.avatar{width:42px;height:42px;border-radius:13px;background:#e8edff;color:var(--blue);font-weight:700;display:flex;align-items:center;justify-content:center}.user-box strong{display:block}.user-box small{font-size:12px;color:var(--muted)}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{justify-content:flex-start;border:0;background:transparent;padding:12px 14px;font-size:15px;color:var(--muted)}.sidebar nav button.active{background:#eaf0ff;color:var(--blue)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;padding:20px 10px 0;gap:12px}.sidebar-bottom a{font-size:14px;text-decoration:none}.sidebar-bottom button{font-size:14px}.hub-main{margin-left:260px;max-width:1560px;padding:40px 44px 60px}.hub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.hub-header h1{margin-bottom:0}.hub-header .eyebrow{margin-bottom:7px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.card p:last-child{margin-bottom:0}.welcome{background:var(--navy);color:white;grid-column:span 2}.welcome .eyebrow{color:#92b0ff}.welcome h2{font:34px Georgia}.welcome p{color:#cbd7ef}.stat-number{font-size:40px;line-height:1.2;font-weight:700;margin:14px 0;color:var(--blue)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 16px}.section-heading h2{margin:0}.toolbar{display:flex;gap:12px;margin-bottom:24px;align-items:center;flex-wrap:wrap}.toolbar input{margin:0;flex:1;min-width:180px}.toolbar select{width:auto;margin:0;min-width:140px}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}.file-card{padding:0;overflow:hidden;background:white;border:1px solid var(--line);border-radius:16px;text-align:left;display:block;width:100%;font-weight:400}.file-card img{display:block;width:100%;height:170px;object-fit:cover;background:#e4eaf4}.file-card .file-icon{height:130px;display:flex;align-items:center;justify-content:center;background:#e8edfa;color:var(--blue);font-size:38px}.file-card .file-info{padding:15px}.file-card strong{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.4}.file-card small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.pill{display:inline-block;background:#edf2ff;border-radius:6px;color:#335cc7;font-size:12px;padding:3px 7px;margin:6px 4px 0 0}.empty{padding:48px 24px;text-align:center;border:1px dashed #bcc9df;border-radius:18px;background:#ffffff70}.empty h3{margin-bottom:10px}.empty p{color:var(--muted);margin:0 auto 20px;max-width:430px}.row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.row:last-child{border:0}.row h3{margin-bottom:6px}.row p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.row small{color:var(--muted)}.row button{padding:7px 12px;font-size:14px}.row-actions{display:flex;gap:8px}.done{text-decoration:line-through;color:var(--muted)}.notice{border:1px solid #e8ca77;background:#fffaeb;border-radius:12px;padding:16px 20px;margin-bottom:20px}.status{color:var(--blue);font-weight:600}.connection-card .status{font-size:14px}.connection-card h3{margin:12px 0}.connection-card p{font-size:14px;color:var(--muted)}.connection-card button{font-size:14px}.chat-log{display:flex;flex-direction:column;gap:16px;max-height:500px;overflow:auto;margin:20px 0}.chat-message{border:1px solid var(--line);border-radius:14px;padding:16px 20px;white-space:pre-wrap;background:white;max-width:90%;overflow-wrap:anywhere}.chat-message.me{align-self:flex-end;background:#e9efff}.chat-message.ai{align-self:flex-start}.chat-form{display:flex;gap:12px}.chat-form input{margin:0;flex:1}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}dialog{border:1px solid var(--line);border-radius:22px;padding:28px;width:min(640px,calc(100% - 30px));max-height:90vh;overflow:auto;color:var(--ink);box-shadow:0 30px 100px #12213e30}dialog::backdrop{background:#12213e80;backdrop-filter:blur(3px)}.dialog-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog-title h2{margin:0}.dialog-title button{padding:4px 13px;font-size:24px}.dropzone{border:2px dashed #bdcceb;border-radius:16px;padding:30px 20px;text-align:center;background:#f8faff;cursor:pointer}.dropzone strong,.dropzone span{display:block}.dropzone span{font-size:13px;font-weight:400;color:var(--muted);margin-top:8px}.dropzone input{border:0;font-size:13px;padding:8px}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:5px}.check+ .hint{margin-top:-10px}.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:white;padding:14px 22px;border-radius:12px;max-width:calc(100% - 48px);z-index:20;box-shadow:0 10px 30px #12213e30}progress{width:100%;height:16px;accent-color:var(--blue)}.detail-image{width:100%;max-height:380px;object-fit:contain;border-radius:12px;margin-bottom:20px;background:var(--bg)}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.danger{color:#b32136}.proposal{padding:18px;border-radius:14px;background:#edf2ff;margin:20px 0}.proposal p{white-space:pre-wrap}.settings-form{max-width:450px}.storage-bar{height:8px;border-radius:8px;background:#e8edf6;overflow:hidden}.storage-bar>span{display:block;height:100%;background:var(--blue)}#loginError{color:#b32136;font-size:14px;margin:12px 0 0}[hidden]{display:none!important}@media(max-width:1050px){.sidebar{width:215px;padding:24px 12px}.hub-main{margin-left:215px;padding:30px 25px}.cards{grid-template-columns:repeat(2,1fr)}.welcome{grid-column:span 2}.public-nav{padding:25px}.public-nav nav{gap:15px}.people{gap:14px}.people article{padding:20px}}@media(max-width:720px){.public-nav nav>a:not(.button){display:none}.public-nav .button{font-size:13px;padding:10px}.public-nav .brand>span{font-size:13px}.public-hero{margin:0 12px;padding:55px 24px}.public-hero h1{font-size:54px}.lead{font-size:18px}.family-ribbon{gap:18px;flex-wrap:wrap;font-size:16px;margin-top:40px}.public-section{padding:55px 24px}.section-intro h2,.story h2,.public-callout h2{font-size:32px}.people{grid-template-columns:repeat(2,1fr)}.portrait{height:90px;font-size:48px}.story{padding:10px 24px 50px}.public-callout{margin:0 12px;padding:35px 24px;display:block}.public-callout .button{margin-top:25px}footer{padding:24px;flex-direction:column;gap:10px}.sidebar{position:static;width:100%;padding:18px;border:0;border-bottom:1px solid var(--line)}.sidebar .user-box{position:absolute;right:18px;top:16px;margin:0}.user-box small{display:none}.sidebar .brand{padding:0}.sidebar nav{flex-direction:row;overflow:auto;margin-top:20px;gap:5px}.sidebar nav button{white-space:nowrap;font-size:14px;padding:9px 12px}.sidebar-bottom{display:none}.hub-main{margin:0;padding:25px 18px}.hub-header{align-items:flex-start}.hub-header h1{font-size:28px}.hub-header button{font-size:13px;padding:10px}.cards{grid-template-columns:1fr}.welcome{grid-column:span 1}.two{grid-template-columns:1fr}.files-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.file-card img{height:135px}.toolbar input{width:100%;flex-basis:100%}.toolbar select{flex:1;min-width:100px}.card{padding:20px}.row-actions{flex-direction:column}.chat-form{flex-direction:column}.login-wrap{margin:20px auto}.login-card{padding:26px}.toast{right:15px;bottom:15px}.public-hero h1{overflow-wrap:normal}}@media(prefers-reduced-motion:no-preference){button,.button{transition:background .15s,filter .15s}.file-card:hover{transform:translateY(-2px)}}

.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}
