[hidden]{display:none!important}
.member-masthead{padding:0 3.8%;background:#fafaf8}
.member-masthead .identity img{width:40px;height:40px}
.member-nav{display:flex;align-items:center;gap:22px}
.member-link{border:0;background:none;color:var(--ink);padding:10px 0;font-size:12px;letter-spacing:.04em}
.member-link:hover{color:var(--accent)}
#add-widget{font-size:25px;line-height:1;padding:5px 8px}
.member-main{min-height:calc(100svh - 184px);padding:clamp(50px,9vh,120px) 7% 80px;background:#fafaf8}
.member-main>section{max-width:740px}
.member-main:has(#account:not([hidden])){padding:0}
.member-main:has(#account:not([hidden]))>p.eyebrow{display:none}
.member-main>#account{max-width:none;width:100%}
body:has(#account:not([hidden])) .masthead-note,body:has(#account:not([hidden]))>footer{display:none}
.member-title{font-family:var(--serif);font-size:clamp(54px,8vw,100px);line-height:1.05;letter-spacing:-.05em;white-space:normal;margin:12px 0 32px;text-align:left}
.member-main p{font-size:18px;line-height:1.6;max-width:600px}
.member-main label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:34px 0 10px}
.member-main input{display:block;width:min(100%,460px);padding:16px;border:1px solid var(--ink);border-radius:0;background:white;font:inherit;font-size:18px;margin-bottom:20px}
.muted,.member-footnote{color:var(--muted)}
#login-message,#code-message,#payment-message{font-size:15px;color:var(--accent)}

/* The signed-in page starts as open space. Panels appear only when added. */
.workspace-screen{position:relative;min-height:calc(100svh - 106px);background:#fafaf8;padding:32px max(4vw,24px) 150px}
.floating-widgets{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px}
.free-space{min-height:55svh;background:#fafaf8;border-top:1px solid #e4e5df;padding:32px max(4vw,24px) 160px}
.docked-widgets{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.widget-picker{position:absolute;right:max(4vw,24px);top:16px;z-index:15;display:flex;flex-direction:column;width:215px;padding:7px;background:white;border:1px solid var(--line);box-shadow:0 15px 30px #1b1c1926}
.widget-picker button{padding:12px 14px;text-align:left;border:0;background:transparent;color:var(--ink);font-size:13px}
.widget-picker button:hover{background:#e8ebe3}

.widget{min-height:250px;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:var(--ink);border:1px solid #bfc5ba;box-shadow:0 13px 30px #1b1c1918}
.floating-widgets .widget{width:min(420px,100%);min-height:300px}
.docked-widgets .widget{grid-column:span 4}
.docked-widgets .widget[data-kind="chart"],.docked-widgets .widget[data-kind="custom"]{grid-column:span 6}
.widget-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:12px 17px;border-bottom:1px solid #e1e4db}
.widget-title{font-family:var(--mono);font-size:11px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.widget-tools{display:flex;align-items:center;gap:4px}
.widget-tools button{padding:7px;border:0;background:transparent;color:#526056;font-size:11px;white-space:nowrap}
.widget-tools button:hover{background:#e8ebe3;color:var(--ink)}
.widget-tools .widget-remove{font-size:19px;line-height:.65}
.widget-body{min-width:0;flex:1;padding:26px}
.widget-clock-time{font-family:var(--serif);font-size:clamp(48px,5vw,70px);line-height:1;letter-spacing:-.05em}
.widget-clock-zone{margin-top:15px;font-family:var(--mono);font-size:11px;color:#65716a}
.widget-notepad{padding:0}
.notepad{display:flex;flex-direction:column;min-height:240px;height:100%}
.notepad-nav{display:flex;align-items:center;gap:9px;padding:10px 16px;border-bottom:1px solid #e1e4db;font-family:var(--mono);font-size:11px;color:#65716a}
.notepad-nav button{min-width:30px;padding:5px 7px;border:0;background:transparent;color:var(--ink);font:16px var(--mono)}
.notepad-nav button:hover:not(:disabled){background:#e8ebe3}
.notepad-nav button:disabled{opacity:.3;cursor:default}
.notepad-nav .notepad-add{margin-left:10px;font-size:11px;white-space:nowrap}
.notepad-count{min-width:40px;text-align:center}
.notepad-status{margin-left:auto;white-space:nowrap}
.notepad-editor{display:block;flex:1;resize:vertical;width:100%;min-height:210px;padding:22px 26px;border:0;outline:0;background:white;color:var(--ink);font:23px/1.45 var(--serif)}
.notepad-editor::placeholder{color:#9ca79b}
.widget-chart{display:block;width:100%;height:210px}
.widget-chart text{font-family:var(--mono);font-size:10px;fill:#66756a}
.widget-chart line{stroke:#d5d9cd;stroke-width:1}
.widget-chart path{fill:none;stroke:#b54c38;stroke-width:3}
.widget-chart circle,.widget-chart rect{fill:#b54c38;stroke:0}
.widget-chart-unit{margin-top:8px;color:#68746d;font-size:11px}
.widget-custom{padding:0}
.widget-custom iframe{width:100%;height:270px;border:0;background:white}

/* The chat stays at the center of the viewport, compact until used. */
.assistant-panel{position:fixed;left:50%;bottom:20px;z-index:30;transform:translateX(-50%);display:flex;flex-direction:column;width:min(720px,calc(100vw - 32px));max-height:70svh;background:#fff;border:1px solid #aeb9ac;box-shadow:0 14px 45px #1b1c1926}
.assistant-messages{display:flex;flex-direction:column;gap:10px;overflow-y:auto;max-height:45svh;padding:16px 20px;border-bottom:1px solid #e1e4db}
.assistant-messages:empty{display:none}
.assistant-messages p{max-width:90%;margin:0;padding:10px 13px;font-size:14px;line-height:1.5}
.assistant-user{align-self:flex-end;background:#e4ebe2}
.assistant-reply{align-self:flex-start;background:#f1f2ed}
.assistant-error{align-self:flex-start;background:#f7e8e1;color:#873d2d}
.assistant-form{display:flex;align-items:end;gap:12px;padding:10px 12px 10px 20px}
.assistant-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.assistant-form textarea{display:block;flex:1;min-width:0;min-height:48px;max-height:160px;resize:vertical;padding:12px 0;border:0;outline:0;background:transparent;color:var(--ink);font:16px/1.4 var(--sans)}
.assistant-form textarea:focus-visible{outline:0}
.assistant-form button{flex:none;width:42px;height:42px;margin-bottom:3px;border:0;border-radius:50%;background:#1b302e;color:white;font-size:21px;line-height:1}
.assistant-form button:hover{background:var(--accent)}
.assistant-form button:disabled{opacity:.55;cursor:wait}

/* Membership details are opened from the header when needed. */
.membership-panel{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.3fr);gap:12px 9%;padding:90px 7% 170px;border-top:1px solid var(--line);background:#fafaf8}
.membership-panel-head{grid-row:span 5}
.membership-panel h2,.mailing-section h2{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.membership-panel h2{font-size:clamp(45px,5vw,76px);line-height:1;margin:15px 0 25px}
.membership-panel .muted{font-size:14px;color:var(--muted)}
.membership-panel>p:not(.eyebrow){font-size:15px;line-height:1.7}
.member-state{display:grid;gap:14px;padding:0 0 30px;border-bottom:1px solid var(--line)}
.member-state strong{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,65px)}
.member-state span:last-child{font-size:16px}
.mailing-section{grid-column:2;border-top:1px solid var(--line);margin-top:10px;padding-top:36px}
.mailing-section h2{font-size:clamp(32px,5vw,48px);margin:0 0 14px}
.mailing-section>p{font-size:16px;max-width:650px}
.mailing-section form{margin-top:28px}
.mailing-section input{width:100%;margin-bottom:0}
.mailing-section label{margin-top:22px}
.mailing-section .optional{color:var(--muted);font-size:11px;letter-spacing:0;text-transform:none}
.address-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.address-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:34px}
.address-actions button{margin:0}
#address-message,#card-status{font-size:15px;color:var(--accent)}
.member-footnote{grid-column:2;font-size:13px!important;margin-top:25px}

@media(max-width:900px){.docked-widgets .widget,.docked-widgets .widget[data-kind="chart"],.docked-widgets .widget[data-kind="custom"]{grid-column:span 6}.membership-panel{grid-template-columns:1fr}.membership-panel-head{grid-row:auto}.membership-panel .mailing-section,.membership-panel .member-footnote{grid-column:1}}
@media(max-width:650px){.member-masthead{padding:0 6%}.member-nav{gap:12px}.member-nav .member-link{font-size:11px}.member-main{padding:70px 7%}.member-title{font-size:52px}.workspace-screen{min-height:calc(100svh - 90px);padding:20px 6% 130px}.free-space{padding:20px 6% 140px}.widget-picker{right:6%;top:10px}.floating-widgets .widget{min-height:270px}.docked-widgets .widget,.docked-widgets .widget[data-kind="chart"],.docked-widgets .widget[data-kind="custom"]{grid-column:span 12}.membership-panel{padding:70px 7% 160px}.address-row{grid-template-columns:1fr;gap:0}.assistant-panel{bottom:10px;width:calc(100vw - 20px)}}
