:root{--paper:#f7f5ef;--surface:#fffefa;--surface-2:#efede6;--ink:#292b27;--muted:#777970;--line:#e5e3dc;--accent:#b66149;--accent-dark:#914b36;--accent-pale:#f7ebe5;--shadow:0 20px 60px rgba(45,39,31,.11);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #dcaa8b;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{font-weight:550}h2{font-size:21px;font-weight:620}h3{font-size:17px;font-weight:620}p{line-height:1.5}[hidden]{display:none!important}.eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em;line-height:1.3;margin:0 0 8px;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:24px;font-weight:750;letter-spacing:-.075em;text-decoration:none}.brand-mark{color:var(--accent);font-size:33px;font-weight:400;line-height:1}.button{align-items:center;border:1px solid transparent;border-radius:11px;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;line-height:1.2;min-height:42px;padding:11px 16px;transition:background .18s,transform .18s,box-shadow .18s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--accent);box-shadow:0 6px 15px rgba(182,97,73,.17);color:white}.button.primary:hover{background:var(--accent-dark)}.button.subtle{background:var(--surface-2);color:var(--ink)}.button.ghost{background:white;border-color:var(--line);color:var(--ink)}.button.wide{width:100%}.icon-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--ink);display:inline-flex;font-size:19px;height:36px;justify-content:center;line-height:1;width:36px}.icon-button:hover{background:var(--surface-2)}.text-button{background:transparent;border:0;color:var(--muted);font-size:12px;font-weight:650;padding:8px}.text-button:hover{color:var(--accent)}.message.error{background:#fff0eb;border:1px solid #f0c8bd;border-radius:9px;color:#a3432b;font-size:13px;margin:16px 0 0;padding:10px 12px}.toast{background:#303630;border-radius:12px;bottom:24px;box-shadow:var(--shadow);color:#fff;font-size:13px;left:50%;max-width:min(90vw,480px);padding:13px 18px;position:fixed;transform:translateX(-50%);z-index:100}

/* Welcome and account access */
.auth-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,43%);min-height:100vh}.auth-illustration{background:#ddd7c9;isolation:isolate;overflow:hidden;padding:56px 6vw;position:relative}.auth-illustration:before{background:radial-gradient(circle at 20% 70%,#eed6bd 0,transparent 38%),radial-gradient(circle at 80% 20%,#a5aaa0 0,transparent 43%),linear-gradient(145deg,#ddd7c9,#c4beb2);content:"";inset:0;position:absolute;z-index:-2}.auth-illustration:after{background:linear-gradient(110deg,rgba(255,255,255,.1),rgba(255,255,255,.24));border:1px solid rgba(255,255,255,.45);border-radius:45% 55% 30% 70%;content:"";height:70vh;left:20%;position:absolute;top:21%;transform:rotate(-18deg);width:55vw;z-index:-1}.auth-illustration>.brand-mark{font-size:52px}.auth-quote{font-family:"Iowan Old Style",Georgia,serif;font-size:clamp(56px,6.5vw,110px);font-weight:400;letter-spacing:-.075em;line-height:.98;margin-top:22vh;max-width:950px}.auth-caption{color:#50554f;font-size:15px;letter-spacing:.01em;margin-top:36px;max-width:280px}.auth-orbit{border:1px solid rgba(82,85,77,.21);border-radius:50%;pointer-events:none;position:absolute}.orbit-one{height:250px;right:-60px;top:6%;width:250px}.orbit-two{bottom:-120px;height:360px;left:-100px;width:360px}.auth-panel{align-self:center;justify-self:center;max-width:460px;padding:50px 40px;width:100%}.auth-panel .brand{margin-bottom:78px}.auth-panel h1{font-family:"Iowan Old Style",Georgia,serif;font-size:clamp(42px,4vw,62px);line-height:1.03;margin:0 0 18px}.auth-panel h1 em{color:var(--accent);font-style:italic;font-weight:400}.auth-description{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 36px}.auth-tabs{border-bottom:1px solid var(--line);display:flex;gap:26px;margin-bottom:24px}.auth-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:13px;font-weight:650;margin-bottom:-1px;padding:0 0 12px}.auth-tab.active{border-color:var(--accent);color:var(--ink)}.stacked-form{display:grid;gap:16px}.stacked-form label,.modal label{color:#4f514b;display:grid;font-size:12px;font-weight:700;gap:7px}.stacked-form input,.modal input,.modal textarea,.reply-form textarea{background:#fff;border:1px solid #dedcd4;border-radius:9px;color:var(--ink);font-size:14px;outline:0;padding:13px 14px;width:100%}.stacked-form input:focus,.modal input:focus,.modal textarea:focus,.reply-form textarea:focus{border-color:var(--accent)}.stacked-form .button{margin-top:6px}.form-hint{color:var(--muted);font-size:11px;margin:-7px 0 0}

/* Application layout */
.app-shell{display:flex;flex-direction:column;height:100vh;min-height:600px;overflow:hidden}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:22px;height:72px;min-height:72px;padding:0 27px;position:relative;z-index:10}.topbar .brand{font-size:22px}.topbar .brand-mark{font-size:29px}.topbar-divider{background:var(--line);height:28px;width:1px}.project-picker{display:flex;flex-direction:column;gap:2px}.project-picker-label{color:#a2a198;font-size:9px;font-weight:800;letter-spacing:.16em}.project-picker select{appearance:none;background:transparent;border:0;color:var(--ink);font-size:14px;font-weight:700;max-width:220px;padding:0 16px 0 0;text-overflow:ellipsis}.project-picker:after{content:"⌄";font-size:15px;left:calc(100% - 12px);pointer-events:none;position:relative;top:-18px;height:0}.topbar-spacer{flex:1}.user-menu{align-items:center;display:flex;font-size:12px;font-weight:700;gap:9px}.avatar{align-items:center;background:#dde2d8;border-radius:50%;color:#4d6556;display:inline-flex;font-size:13px;height:32px;justify-content:center;width:32px}.workspace{display:grid;flex:1;grid-template-columns:292px minmax(0,1fr) 340px;min-height:0}.library,.thread-panel{background:var(--surface);display:flex;flex-direction:column;min-height:0;overflow:auto}.library{border-right:1px solid var(--line);padding:27px 18px 0}.section-heading{align-items:flex-end;display:flex;justify-content:space-between;padding:0 7px}.section-heading h2,.thread-header h2{margin:0}.count{color:#aca9a0;font-size:14px;font-weight:500;margin-left:4px}.library-intro{color:var(--muted);font-size:12px;line-height:1.55;margin:13px 7px 21px}.upload-card{align-items:center;background:var(--accent-pale);border:1px dashed #dbb9ab;border-radius:13px;color:#855641;cursor:pointer;display:flex;gap:11px;margin-bottom:26px;padding:13px}.upload-card:hover{background:#f3e3da}.upload-icon{align-items:center;background:#fff7f2;border-radius:10px;display:flex;font-size:23px;height:39px;justify-content:center;width:39px}.upload-card strong,.upload-card small{display:block}.upload-card strong{font-size:12px}.upload-card small{color:#a07868;font-size:10px;margin-top:4px}.image-list{display:grid;gap:7px;overflow:auto;padding:0 1px 15px}.image-card{align-items:center;background:transparent;border:1px solid transparent;border-radius:10px;color:var(--ink);display:flex;gap:12px;padding:6px;text-align:left;width:100%}.image-card:hover{background:#f4f3ed}.image-card.active{background:#f5ede6;border-color:#ead4c7}.image-card img{border-radius:7px;height:57px;object-fit:cover;width:65px}.image-card-text{min-width:0}.image-card strong,.image-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-card strong{font-size:12px;font-weight:700}.image-card small{color:var(--muted);font-size:10px;margin-top:5px}.library-footer{border-top:1px solid var(--line);color:#a1a097;font-size:10px;margin-top:auto;padding:17px 7px}.footer-dot{background:#b0bca8;border-radius:50%;display:inline-block;height:6px;margin-right:5px;width:6px}
.viewer{background:var(--paper);display:flex;flex-direction:column;min-height:0;min-width:0}.viewer-toolbar{align-items:center;display:flex;justify-content:space-between;min-height:89px;padding:18px 30px}.viewer-toolbar h2{font-family:"Iowan Old Style",Georgia,serif;font-size:23px;font-weight:500;margin:0;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-actions{align-items:center;display:flex;gap:10px}.image-position{color:var(--muted);font-size:11px;min-width:35px;text-align:center}.empty-viewer{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:30px;text-align:center}.empty-art{align-items:center;background:#e9e6dd;border:1px solid #e0dcd1;border-radius:33% 67% 61% 39% / 41% 38% 62% 59%;color:var(--accent);display:flex;font-size:70px;height:170px;justify-content:center;margin-bottom:35px;transform:rotate(-11deg);width:190px}.empty-art span{transform:rotate(11deg)}.empty-viewer h3{font-family:"Iowan Old Style",Georgia,serif;font-size:26px;font-weight:500;margin-bottom:7px}.empty-viewer p{color:var(--muted);font-size:13px;max-width:270px}.image-stage{align-items:center;display:flex;flex:1;justify-content:center;min-height:0;overflow:auto;padding:8px 26px 25px;touch-action:pan-x pan-y}.image-wrap{box-shadow:0 19px 45px rgba(48,46,40,.15);display:inline-block;line-height:0;max-height:100%;max-width:100%;position:relative}.image-wrap img{display:block;max-height:calc(100vh - 218px);max-width:100%;object-fit:contain;user-select:none}.marker-layer{inset:0;pointer-events:none;position:absolute}.marker{align-items:center;background:#fff;border:2px solid var(--accent);border-radius:50%;box-shadow:0 3px 12px #28221d50;color:var(--accent-dark);display:flex;font-size:11px;font-weight:800;height:27px;justify-content:center;left:0;pointer-events:auto;position:absolute;top:0;transform:translate(-50%,-50%);width:27px;z-index:2}.marker:hover,.marker.active{background:var(--accent);color:white;transform:translate(-50%,-50%) scale(1.17)}.point-arrow{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:3}.point-arrow line{stroke:var(--accent);stroke-width:2}.point-arrow circle{fill:var(--accent)}.point-actions{background:var(--surface);border:1px solid #e8d7ce;border-radius:12px;box-shadow:var(--shadow);display:grid;gap:7px;line-height:1.2;padding:12px;position:absolute;width:176px;z-index:4}.point-actions p{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;margin:2px 0 4px;text-transform:uppercase}.point-actions .button{font-size:11px;min-height:35px;padding:8px}.point-actions .text-button{padding:5px}.viewer-foot{align-items:center;border-top:1px solid var(--line);color:#8b8d84;display:flex;font-size:11px;gap:8px;min-height:43px;padding:0 31px}.foot-icon{color:var(--accent);font-size:18px}.mobile-thread-link{display:none}
.thread-panel{border-left:1px solid var(--line)}.thread-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:89px;padding:20px 22px}.thread-header h2{font-family:"Iowan Old Style",Georgia,serif;font-size:22px;font-weight:500}.thread-empty{align-items:center;color:var(--muted);display:flex;flex:1;flex-direction:column;justify-content:center;padding:25px;text-align:center}.thread-illustration{align-items:center;background:#f1eee8;border-radius:50%;color:#bd8f77;display:flex;font-family:Georgia,serif;font-size:45px;height:110px;justify-content:center;margin-bottom:25px;width:110px}.thread-empty h3{color:var(--ink);margin-bottom:5px}.thread-empty p{font-size:12px;max-width:220px}.thread-content{display:flex;flex:1;flex-direction:column;min-height:0}.thread-comments{display:flex;flex:1;flex-direction:column;gap:20px;overflow:auto;padding:24px 22px}.comment{display:grid;gap:9px}.comment.reply{border-left:2px solid #e6d6cb;margin-left:20px;padding-left:15px}.comment-top{align-items:center;display:flex;gap:8px}.comment .avatar{font-size:10px;height:28px;width:28px}.comment-author{font-size:12px;font-weight:700}.comment-time{color:#a4a59d;font-size:10px;margin-left:auto}.comment-body{font-size:13px;line-height:1.55;margin:0;overflow-wrap:anywhere}.comment-actions{display:flex;gap:10px}.comment-actions button{background:none;border:0;color:#9a9a91;font-size:11px;padding:0}.comment-actions button:hover{color:var(--accent)}.reply-form{border-top:1px solid var(--line);display:grid;gap:10px;padding:18px 20px}.reply-form label{font-size:11px;font-weight:700}.reply-form textarea{resize:vertical}.reply-form .button{justify-self:end;min-height:36px;padding:8px 14px}
.modal{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);color:var(--ink);max-width:min(90vw,490px);padding:30px;width:100%}.modal::backdrop{background:rgba(26,28,25,.34);backdrop-filter:blur(3px)}.modal form{display:grid;gap:13px}.modal h2{font-family:"Iowan Old Style",Georgia,serif;font-size:30px;font-weight:500;margin:0}.modal p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0 0 3px}.modal textarea{resize:vertical}.modal-close{background:none;border:0;color:var(--muted);font-size:25px;position:absolute;right:17px;top:13px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:7px}.mobile-only{display:none}

@media(max-width:1180px){.workspace{grid-template-columns:245px minmax(0,1fr) 300px}.library{padding:22px 13px 0}.thread-header,.thread-comments{padding-left:17px;padding-right:17px}.viewer-toolbar{padding-left:20px;padding-right:20px}}
@media(max-width:880px){.workspace{grid-template-columns:215px minmax(0,1fr)}.thread-panel{bottom:0;box-shadow:-20px 0 45px rgba(0,0,0,.08);max-width:360px;position:fixed;right:0;top:72px;transform:translateX(105%);transition:transform .24s;width:85vw;z-index:20}.thread-panel.open{transform:translateX(0)}.mobile-only{display:inline-flex}.mobile-thread-link{background:none;border:0;color:var(--accent);display:inline;font-size:11px;font-weight:750;margin-left:auto;padding:7px}.auth-screen{grid-template-columns:1fr 1fr}.auth-panel{padding:36px}.auth-panel .brand{margin-bottom:50px}}
@media(max-width:620px){.app-shell{height:100dvh;min-height:0}.topbar{gap:9px;height:60px;min-height:60px;padding:0 13px}.topbar .brand{font-size:20px}.topbar .brand-mark{font-size:25px}.topbar-divider,.top-action,.user-menu #userName{display:none}.project-picker select{font-size:12px;max-width:140px}.workspace{display:flex;flex-direction:column}.library{border:0;border-bottom:1px solid var(--line);display:block;flex:none;max-height:138px;min-height:120px;overflow:hidden;padding:10px 12px}.library .section-heading{display:none}.library-intro,.library-footer{display:none}.upload-card{float:left;height:76px;margin:0 8px 0 0;padding:10px;width:120px}.upload-card .upload-icon{font-size:20px;height:28px;width:28px}.upload-card strong{font-size:10px}.upload-card small{display:none}.image-list{display:flex;gap:5px;overflow:auto;padding:0 0 7px}.image-card{display:block;flex:none;height:76px;padding:4px;text-align:center;width:76px}.image-card img{height:52px;width:66px}.image-card-text{display:none}.viewer{flex:1}.viewer-toolbar{min-height:70px;padding:10px 15px}.viewer-toolbar h2{font-size:18px;max-width:51vw}.viewer-actions{gap:5px}.viewer-actions .icon-button{height:32px;width:32px}.image-stage{padding:8px 8px 20px}.image-wrap img{max-height:calc(100dvh - 274px)}.point-actions{width:160px}.viewer-foot{min-height:43px;padding:0 13px}.thread-panel{max-width:none;top:60px;width:100vw}.auth-screen{display:block}.auth-illustration{display:none}.auth-panel{margin:auto;max-width:470px;padding:34px 26px}.auth-panel .brand{margin-bottom:62px}.auth-panel h1{font-size:49px}.modal{padding:24px}.topbar #logoutBtn{height:30px;width:30px}}
#newProjectBtn{display:inline-flex}@media(max-width:620px){#newProjectBtn{flex:none;height:30px;width:30px}.user-menu{display:none}.project-picker select{max-width:27vw}}
.reply-actions{display:flex;gap:8px;justify-content:space-between}.reply-actions .button{min-height:36px;padding:8px 11px}.record-dialog{display:grid;gap:14px}.record-dialog h2{margin:0}.record-dialog>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0}.record-pulse{align-items:center;background:var(--accent-pale);border-radius:50%;color:var(--accent);display:flex;font-size:34px;height:96px;justify-content:center;margin:12px auto;width:96px}.recording .record-pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 18px rgba(182,97,73,.08);transform:scale(1.04)}}.comment-audio{width:100%}.comment-status{color:var(--muted);font-size:11px;margin:0}.comment-status.failed{color:#a3432b}
.point-arrow{color:var(--accent)}
.viewer-foot a{color:var(--accent);font-weight:650;margin-left:auto;text-decoration:none}.viewer-foot a:hover{text-decoration:underline}
.pinterest-button{color:#bd1e2d;font-family:Georgia,serif;font-size:18px;font-weight:800}.pinterest-dialog{display:grid;gap:13px}.pinterest-dialog h2{margin:0}.pinterest-dialog>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0}.pinterest-dialog .stacked-form{gap:12px}.pinterest-dialog .text-button{justify-self:start}.pinterest-dialog #connectPinterestBtn{justify-self:start}.pinterest-dialog select{background:white;border:1px solid #dedcd4;border-radius:9px;min-height:42px;padding:8px;width:100%}@media(max-width:620px){.pinterest-button{flex:none;height:30px;width:30px}}
@media(max-width:620px){#membersBtn{display:inline-flex;flex:none;font-size:0;height:30px;min-height:30px;padding:0;width:30px}#membersBtn::after{content:"👥";font-size:16px}}
