@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172d36;--blue:#006ca9;--orange:#eb633b;--paper:#f8f8f4;--muted:#6b7b82;--line:#dfe6e7;--radius:14px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--blue);text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #ef8a60;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;line-height:1.2;letter-spacing:-.04em;margin:0;font-weight:650}h1{font-size:42px}h2{font-size:25px}p{margin:14px 0}.wordmark{display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap;color:var(--blue);font:800 31px/1 'Manrope',sans-serif;letter-spacing:-.09em}.wordmark span{color:var(--ink);font-size:24px;font-weight:500;letter-spacing:-.05em}.eyebrow,.small-label{display:block;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.error{color:#b43737;font-size:13px;min-height:1.6em}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;border:1px solid transparent;border-radius:7px;padding:12px 22px;font-weight:600;font-size:13px}.primary{background:var(--ink);color:white}.primary:hover{background:var(--blue)}.secondary{border-color:var(--line);background:white;color:var(--ink)}.full{width:100%}.compact{min-height:38px;padding:9px 16px;font-size:12px}.icon-button{background:transparent;border:0;font-size:25px;line-height:1;padding:8px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:19px 0 7px}input,select,textarea{width:100%;border:1px solid #d9e2e4;background:white;border-radius:7px;padding:12px 13px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#9aa5a9}textarea{resize:vertical;line-height:1.7}.welcome{min-height:100vh;max-width:1440px;margin:auto;padding:0 65px;position:relative}.landing-header{display:flex;align-items:center;justify-content:space-between;min-height:120px;border-bottom:1px solid var(--line)}.landing-caption{font-size:11px;color:var(--muted)}.welcome-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:140px;align-items:center;min-height:calc(100vh - 200px);padding:65px 0 75px}.welcome-copy .eyebrow{display:flex;align-items:center;gap:15px;margin-bottom:25px}.welcome-copy .eyebrow:before{content:'';width:24px;height:2px;background:var(--orange)}.welcome-copy h1{font-size:clamp(42px,4.6vw,67px);letter-spacing:-.065em}.welcome-copy h1 span{color:var(--orange)}.welcome-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:450px;margin-top:28px}.how-list{margin-top:35px}.how-list>div{display:flex;align-items:center;gap:18px;font-size:12px;padding:9px 0}.how-list b{font:11px monospace;color:var(--blue)}.welcome-stamp{display:flex;align-items:center;gap:13px;font-size:10px;color:#819092;margin-top:32px}.welcome-stamp>span{color:var(--orange);font-size:27px}.entry-card{background:white;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:0 25px 60px #1c3a4010;position:relative}.entry-card:before{content:'';width:55px;height:4px;background:var(--blue);position:absolute;top:0;left:38px}.entry-card h2{font-size:29px;margin-top:12px}.entry-card>.muted{font-size:12px}.entry-card .button{margin-top:28px;justify-content:space-between}.entry-card .error{margin-bottom:0}.entry-footnote{font-size:10px;line-height:1.8;color:#89979c;margin:15px 0 0}.landing-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0;font-size:10px;color:#8b969a}.review-open{overflow:hidden}.workspace{height:100dvh;display:flex;flex-direction:column;background:#e9eef0}.review-toolbar{display:flex;align-items:center;gap:28px;background:white;border-bottom:1px solid var(--line);min-height:70px;padding:12px 22px;flex-shrink:0}.review-toolbar .wordmark{font-size:26px}.review-toolbar .wordmark span{font-size:20px}.project-label{border-left:1px solid var(--line);padding-left:25px;min-width:170px}.project-label strong{display:block;font-size:13px}.project-label small{display:block;font-size:10px;color:var(--muted);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.tool{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:9px 11px;white-space:nowrap;font-size:11px;min-height:38px}.tool:hover{background:#f2f6f6}.tool b{border-radius:4px;background:#eaf0f1;padding:0 5px;font-size:10px}.workspace-info{display:flex;justify-content:space-between;gap:20px;font-size:10px;padding:7px 23px;background:#f5f8f8;color:var(--muted);height:32px;flex-shrink:0}.workspace-info>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-area{display:flex;flex:1;min-height:0;overflow:hidden}.frame-stage{position:relative;flex:1;min-width:0;background:white;overflow:hidden}#project-frame{border:0;display:block;width:100%;height:100%;background:white}.frame-loading{position:absolute;inset:0;display:grid;place-items:center;background:var(--paper);font-size:13px;color:var(--muted);pointer-events:none}.notes-panel{width:310px;flex-shrink:0;padding:24px 20px;background:#fafbf9;border-left:1px solid #dce4e5;overflow:auto;transition:width .2s}.notes-panel.collapsed{display:none}.panel-title{display:flex;align-items:center;justify-content:space-between}.panel-title h2{font-size:19px}.note-card{background:white;border:1px solid var(--line);border-radius:9px;padding:16px;margin-top:15px;overflow:hidden}.note-card>strong{font-size:12px}.note-card>small{display:block;font-size:10px;color:var(--muted);margin-top:5px;word-break:break-word}.note-card p{font-size:12px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.note-card img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;border:1px solid var(--line);border-radius:4px}.empty-state{font-size:12px;line-height:1.8;color:var(--muted);padding:24px 0}.panel-tip{padding:18px;background:#edf2ee;border-radius:9px;font-size:11px;margin-top:30px}.panel-tip p{margin-bottom:0;color:var(--muted)}.context-menu{position:fixed;z-index:100;width:248px;background:white;border:1px solid #d3dfe1;border-radius:10px;box-shadow:0 15px 50px #102c3430;padding:9px}.context-menu>span{font-size:9px;letter-spacing:.12em;color:#8b9b9f;display:block;padding:8px 9px}.context-menu button{display:block;width:100%;text-align:left;font-size:12px;background:transparent;border:0;padding:10px;border-radius:5px;color:var(--ink)}.context-menu button:hover{background:#edf4f6;color:var(--blue)}dialog{border:1px solid var(--line);border-radius:15px;padding:25px;max-height:94dvh;overflow:auto;box-shadow:0 25px 90px #17333d40;background:#fff;color:var(--ink)}dialog::backdrop{background:#102b38a8;backdrop-filter:blur(3px)}.annotation-dialog{width:min(1050px,95vw)}.finish-dialog{width:min(510px,95vw);padding:30px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top .eyebrow{margin:0 0 5px}.dialog-top h2{font-size:23px}.dialog-top .icon-button{align-self:flex-start}.capture-status{font-size:11px;color:var(--muted);margin:17px 0;line-height:1.7}.drawing-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:#f0f4f5;padding:9px;border:1px solid #dce5e6;border-radius:8px 8px 0 0}.drawing-tools button{font-size:10px;padding:7px 9px;background:white;border:1px solid #dce5e6;border-radius:4px;color:var(--ink)}.drawing-tools button.active{color:white;border-color:var(--blue);background:var(--blue)}.draw-color{display:flex;align-items:center;gap:6px;font-size:10px;margin:0 3px 0 auto}.draw-color input{padding:0;border:0;width:23px;height:23px;background:transparent}.canvas-scroll{max-height:48dvh;overflow:auto;background:#e7ebed;border:1px solid #dce5e6;padding:10px;text-align:center}#annotation-canvas{display:block;width:100%;height:auto;margin:auto;touch-action:none;cursor:crosshair;background:white;box-shadow:0 2px 5px #0001}#drawing-text{margin-top:9px;font-size:12px}.dialog-bottom{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:18px}.dialog-bottom .error{margin:0}.dialog-bottom .button{flex-shrink:0}.finish-dialog form>p{font-size:13px}.finish-dialog .button{margin-top:15px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;z-index:99999;border-radius:8px;background:var(--ink);color:white;padding:13px 20px;font-size:12px;box-shadow:0 12px 30px #0002}.report-page{max-width:1000px;margin:35px auto;padding:35px 55px;background:white;border:1px solid var(--line);border-radius:14px}.report-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:38px}.report-page h1{margin:12px 0 18px}.status-chip{display:inline-block;padding:7px 13px;border:1px solid #c7dcd6;background:#eef6f1;color:#356b55;border-radius:5px;font-size:12px;font-weight:600}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:35px 0;padding:25px 0;border-block:1px solid var(--line)}.report-meta dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.report-meta dd{margin:5px 0 0;font-size:14px}.report-summary{padding:22px;background:#f3f6f5;border-radius:8px;margin-bottom:35px}.report-summary h2{font-size:18px}.report-summary p{font-size:14px;line-height:1.9;margin-bottom:0}.report-page>h2{font-size:24px;margin:32px 0}.report-page h2 small{font-size:17px;color:var(--muted)}.report-note{margin:22px 0;padding:23px;border:1px solid var(--line);border-radius:9px;break-inside:avoid}.note-meta{display:flex;justify-content:space-between;gap:20px;font-size:13px}.note-meta>span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.report-note p{white-space:normal;overflow-wrap:anywhere;line-height:1.85}.report-note blockquote{font-size:12px;color:var(--muted);margin:18px 0;padding:10px 15px;background:#f8f9f8;border-left:2px solid #b8cdd4}.report-note img{width:100%;height:auto;display:block;margin-top:20px;border:1px solid var(--line)}.report-footer{font-size:10px;line-height:1.9;color:var(--muted);padding-top:28px;border-top:1px solid var(--line);margin-top:38px}.report-footer small{font-size:8px;overflow-wrap:anywhere}.admin-page{max-width:1200px;margin:0 auto;padding:35px 45px}.admin-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:50px}.admin-page h1{margin-top:15px}.admin-page h1 span{color:var(--orange)}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:35px 0 55px}.project-card{background:white;border:1px solid var(--line);border-radius:12px;padding:27px}.project-card h2{font-size:23px;margin-top:17px}.project-card .button{margin-top:15px;gap:10px;font-size:11px}.admin-reports h2{margin-bottom:20px}.report-row{display:flex;justify-content:space-between;gap:25px;border:1px solid var(--line);background:white;padding:20px;border-radius:8px;margin-bottom:12px;color:var(--ink)}.report-row b{font-size:14px;display:block}.report-row div>span{font-size:10px;color:var(--muted);display:block;margin-top:4px}.report-row>span{font-size:11px;align-self:center;color:var(--blue)}#admin-status{overflow-wrap:anywhere;padding-top:20px}
@media(max-width:1100px){.welcome{padding:0 40px}.welcome-grid{gap:65px}.review-toolbar{gap:16px;padding:10px 14px}.project-label{padding-left:15px;min-width:120px;max-width:170px}.tool{padding:8px}.tool span{display:none}.toolbar-actions{gap:6px}.notes-panel{width:270px}.project-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.welcome{padding:0 24px}.landing-header{min-height:90px}.landing-caption{display:none}.welcome-grid{grid-template-columns:1fr;gap:35px;padding:45px 0}.welcome-copy h1{font-size:46px}.welcome-copy>p:not(.eyebrow){font-size:14px;margin-top:23px}.how-list{display:none}.welcome-stamp{margin-top:20px}.entry-card{padding:28px}.entry-card h2{font-size:26px}.entry-card:before{left:28px}.landing-footer{font-size:8px;gap:15px}.review-toolbar{flex-wrap:wrap;gap:12px;padding:10px 12px;min-height:108px}.review-toolbar .wordmark{font-size:24px}.review-toolbar .wordmark span{font-size:18px}.project-label{max-width:calc(100vw - 150px);min-width:0}.project-label strong{font-size:11px}.project-label small{font-size:9px}.toolbar-actions{width:100%;margin-left:0;justify-content:space-between;gap:5px}.tool{font-size:14px;min-width:37px;justify-content:center;padding:7px}.tool span{display:none}.toolbar-actions .button{margin-left:auto;font-size:10px;padding:9px 12px;gap:5px}.workspace-info{padding:7px 12px;height:30px}.workspace-info>span:last-child{display:none}.notes-panel{position:absolute;top:138px;right:0;bottom:0;width:min(330px,90vw);z-index:15;box-shadow:-8px 0 25px #1233}.work-area{position:relative}.notes-panel{top:0}.annotation-dialog{padding:17px;max-height:96dvh;width:96vw}.dialog-top h2{font-size:20px}.drawing-tools{gap:4px;padding:6px}.drawing-tools button{font-size:9px;padding:6px}.draw-color{font-size:9px}.canvas-scroll{padding:5px;max-height:37dvh}.dialog-bottom{display:block}.dialog-bottom .button{width:100%;margin-top:12px}.finish-dialog{padding:24px}.report-page{margin:0;border:0;border-radius:0;padding:25px 22px}.report-heading{gap:20px}.report-heading .button{font-size:10px;padding:10px 12px;gap:0}.report-page h1{font-size:34px}.report-meta{gap:20px 12px}.report-meta dd{font-size:12px}.report-note{padding:17px}.note-meta{display:block}.note-meta>span{display:block;margin-top:5px}.admin-page{padding:25px 22px}.admin-page h1{font-size:34px}.project-cards{grid-template-columns:1fr}.report-row{display:block}.report-row>span{display:block;margin-top:10px}}
@media print{body{background:white!important;color:black;font-family:Arial,sans-serif}.no-print{display:none!important}.report-page{margin:0;padding:0;max-width:none;border:0;border-radius:0}.report-heading{margin-bottom:25px;padding-bottom:20px}.report-page h1{font-size:28px}.report-note{break-inside:avoid;margin:15px 0;padding:15px}.report-note img{max-height:220mm;object-fit:contain}.report-footer{font-size:8px}.report-meta{margin:20px 0}.status-chip{border-color:#999}.report-summary{background:#f5f5f5}a{color:black!important;text-decoration:none}@page{size:A4;margin:16mm}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.admin-header-actions{display:flex;gap:12px;align-items:center}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:30px 0 20px;padding-bottom:12px;flex-wrap:wrap}.admin-tabs a{padding:8px 13px;color:var(--muted);border-radius:6px;font-size:12px}.admin-tabs a[aria-current]{background:var(--ink);color:#fff}.admin-tabs b{margin-left:7px;font-size:10px}.project-card-status{display:flex;justify-content:space-between;align-items:center;gap:10px}.mini-status{font-size:9px;color:var(--muted);background:#eff3f3;border-radius:4px;padding:3px 6px}.project-card .share-name{font-size:12px;padding:10px}.project-card label{margin:16px 0 8px}.project-card label small{font-weight:400;color:var(--muted)}.project-card .full{margin-top:9px}.share-hint{font-size:10px!important;line-height:1.6;color:var(--muted);margin:9px 0 17px}.project-actions{display:flex;gap:9px 14px;flex-wrap:wrap;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.plain-action{background:transparent;border:0;padding:0;font-size:10px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.plain-action.danger{color:#b14444}.records-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:40px 0 25px}.records-heading h2{margin-bottom:0}.records-heading form{max-width:330px}.records-heading select{font-size:12px;padding:10px}.admin-feedback{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--blue)}#upload-progress{width:100%;height:10px;accent-color:var(--blue);margin-top:16px}#upload-message{color:var(--blue)}#upload-dialog input[type=file]{font-size:12px}.project-cards .project-card{display:flex;flex-direction:column}.project-cards .project-actions{margin-top:auto;padding-top:16px}.project-cards .project-card>.button.secondary{margin-bottom:20px}@media(max-width:760px){.admin-header-actions{gap:7px}.admin-header-actions .button{padding:9px 11px;font-size:10px;gap:3px}.admin-heading{gap:12px}.records-heading{display:block}.records-heading form{margin-top:20px;max-width:none}.admin-tabs a{padding:7px 9px;font-size:11px}.project-card .plain-action{font-size:11px}}

.technical-reference{margin:16px 0;padding:14px;border:1px solid #ddd;border-radius:10px;font-size:12px}.technical-reference summary{font-weight:700;cursor:pointer}.technical-reference dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:6px 12px}.technical-reference dd{margin:0;overflow-wrap:anywhere}.technical-reference pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f5f5;padding:10px}.technical-summary{font-size:12px;overflow-wrap:anywhere}
