:root{font-family:Segoe UI,Arial,sans-serif;color:#374151;background:#e5e7eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--wine: #6d1b21;--wine-hover: #53151a;--charcoal: #3c4043;--muted: #6b7280;--line: #d1d5db;--paper: #fff}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}#app{min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #9c5258;outline-offset:4px}h1,h2,h3,p{margin:0;overflow-wrap:anywhere}h1,h2,h3{color:#292d31}p{line-height:1.65}svg{flex-shrink:0}.brand{display:block;width:158px;max-width:100%;height:auto;object-fit:contain}.brand-compact{width:115px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--wine);font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.6}.eyebrow.light{color:#ead8d9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--wine);font-size:14px}.full-page-loading{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.loading-state>span,.status-message>div{min-width:0;overflow-wrap:anywhere}.status-message{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin-top:18px;border:1px solid #e0b8bb;border-left:3px solid var(--wine);background:#fff4f4;color:#741e25;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.status-message svg{margin-top:2px}.status-info{background:#f4f5f6;color:#4b5563;border-color:var(--line);border-left-color:var(--charcoal)}.login-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;max-width:1800px;margin:0 auto;background:#fff}.login-story,.login-main,.story-copy,.login-form-area{min-width:0}.login-story{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;padding:42px 9% 30px;background:var(--charcoal);color:#fff}.login-story:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--wine)}.login-story>.brand{margin-bottom:64px}.story-copy{position:relative;z-index:1}.small-line{width:24px;height:2px;background:#c8a8aa}.story-copy h2{color:#fff;font-weight:400;font-size:clamp(2rem,3.25vw,3.25rem);line-height:1.21;letter-spacing:-1.6px;margin:23px 0}.story-copy h2 em{color:#e0bcc0;font-style:normal;font-weight:600}.story-copy>p:last-child{color:#d1d5db;max-width:330px;font-size:15px}.architecture-art{position:relative;flex:1;min-height:245px;margin:24px -8% 20px 0;overflow:hidden}.art-grid{position:absolute;inset:20px 0 30px;opacity:.35;background-image:linear-gradient(#74777a 1px,transparent 1px),linear-gradient(90deg,#74777a 1px,transparent 1px);background-size:37px 37px;-webkit-mask-image:linear-gradient(110deg,transparent,#000 55%,transparent);mask-image:linear-gradient(110deg,transparent,#000 55%,transparent)}.building{position:absolute;border:1px solid #af9194;background:linear-gradient(145deg,#683038,#452e33);transform:skewY(-18deg)}.building-back{width:42%;height:148px;right:12%;bottom:66px;border-color:#968488;background:repeating-linear-gradient(0deg,transparent 0 25px,#958184 26px 27px),linear-gradient(120deg,#464246,#575356)}.building-front{width:48%;height:146px;bottom:24px;left:12%;display:flex;gap:20%;padding:0 14%;box-shadow:22px 24px #363638}.building-front span{height:100%;border-left:1px solid #b17c83}.art-caption{position:absolute;bottom:0;right:0;left:0;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #ffffff25;color:#c8a8aa;font-size:8px;letter-spacing:1.5px}.art-point{position:absolute;width:5px;height:5px;background:#c8a8aa}.point-one{top:23px;left:23%}.point-two{right:5%;bottom:100px}.story-footer{display:flex;align-items:center;gap:9px;padding-top:22px;margin-top:auto;color:#d1d5db;font-size:11px}.login-main{display:flex;flex-direction:column;padding:35px 9% 28px;border-top:7px solid var(--wine)}.login-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#6b7280;font-size:9px;letter-spacing:1.4px;font-weight:600}.access-indicator{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.2px;font-weight:400}.access-indicator>span{width:5px;height:5px;background:var(--wine)}.login-form-area{width:100%;max-width:405px;margin:auto;padding:72px 0 62px}.login-section-icon{display:grid;place-items:center;width:49px;height:49px;margin-bottom:25px;background:#f5edef;border:1px solid #e9dadd;color:var(--wine)}.login-form-area h1{color:var(--wine);font-weight:600;font-size:clamp(1.75rem,2.7vw,2.375rem);letter-spacing:-1.1px;line-height:1.22;margin:12px 0 20px}.login-description{color:#6b7280;font-size:1rem}.oauth-buttons{display:grid;gap:12px;margin-top:31px}.oauth-button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 16px;border:1px solid #c9cdd2;background:#fff;color:#374151;text-align:left;font-size:1rem;line-height:1.5;font-weight:600;transition:border-color .15s,background .15s}.oauth-button>span{min-width:0;overflow-wrap:anywhere}.oauth-button:not(:disabled):hover{border-color:var(--wine);background:#faf5f5}.oauth-button:disabled{background:#f5f5f6;color:#747982}.oauth-button:disabled svg{opacity:.65}.oauth-arrow{margin-left:auto;color:#737780}.login-security{display:flex;align-items:flex-start;gap:10px;margin-top:27px;color:#747982}.login-security p{font-size:.8125rem;line-height:1.65}.login-security svg{margin-top:1px;color:#858990}.login-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #e5e7eb;padding-top:19px;font-size:.75rem;color:#6b7280}.login-footer>span:first-child{color:#515760;font-weight:600}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-header{padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));background:var(--wine);color:#fff}.app-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;max-width:1100px;margin:0 auto}.app-brand{display:flex;align-items:center;gap:20px;min-width:0;font-size:1.125rem;font-weight:600}.app-brand .brand{flex-shrink:0}.app-brand>span{min-width:0;overflow-wrap:anywhere}.header-account{display:flex;align-items:center;gap:16px;min-width:0}.user-details{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:260px}.user-details strong{font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.user-details>span{color:#ead8d9;font-size:.8125rem;overflow-wrap:anywhere}.logout-button{display:flex;flex-shrink:0;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:12px;border:1px solid #ac7378;color:#fff;background:transparent;font-size:.875rem}.logout-button:hover{background:#ffffff12}.logout-button:disabled{opacity:.65}.app-header :focus-visible,.public-header :focus-visible{outline-color:#fff}.app-content{flex:1;min-width:0;width:100%;max-width:808px;margin:0 auto;padding:36px max(24px,env(safe-area-inset-right)) 32px max(24px,env(safe-area-inset-left))}.app-content>.status-message{margin:0 0 24px}.questionnaire{min-width:0}.questionnaire-heading{margin-bottom:24px}.questionnaire-heading h1{margin:8px 0;color:var(--wine);font-size:clamp(1.75rem,5vw,2rem);font-weight:600;line-height:1.2;letter-spacing:-.5px}.questionnaire-heading>p:last-child{color:var(--muted);font-size:1rem}.lesson-form{display:grid;gap:26px;padding:32px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine)}.form-field{display:grid;gap:8px;min-width:0}.form-field label{font-size:1rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.field-hint{color:var(--muted);font-size:.875rem;line-height:1.5}.form-field input,.form-field textarea,.form-field select{display:block;min-width:0;width:100%;min-height:48px;padding:12px;border:1px solid #9ca3af;border-radius:0;background:#fff;color:#292d31;font-size:1rem;line-height:1.5}.form-field select{max-width:100%;text-overflow:ellipsis}.form-field select:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed;opacity:1}.form-field textarea{min-height:120px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#6b7280;opacity:1}.form-field [aria-invalid=true]{border-color:var(--wine);background:snow}.field-error{color:var(--wine);font-size:.875rem}.lesson-entry{min-width:0;margin:0;padding:20px 0 0;border:0;border-top:1px solid var(--line)}.lesson-entry legend{max-width:100%;padding:0 12px 0 0;color:var(--wine);font-size:1.125rem;font-weight:600;overflow-wrap:anywhere}.entry-fields{display:grid;gap:20px;min-width:0}.entry-actions{display:flex;justify-content:flex-end;margin-top:12px}.add-entry,.remove-entry{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:12px;background:#fff;color:var(--wine);font-size:.9375rem;line-height:1.5}.add-entry{width:100%;border:1px dashed #9c5258;font-weight:600}.remove-entry{border:1px solid transparent;font-size:.875rem}.add-entry:hover,.remove-entry:hover{background:#faf5f5;border-color:var(--wine)}.form-actions{border-top:1px solid #e5e7eb;padding-top:24px}.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;max-width:100%;padding:14px 22px;border:1px solid var(--wine);background:var(--wine);color:#fff;font-size:1rem;font-weight:600;line-height:1.5}.form-submit:hover{background:var(--wine-hover)}.form-completed{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:14px;border:1px solid #b8d4c5;background:#f1f8f4;color:#24563a;font-size:.875rem}.form-completed svg{margin-top:2px}.form-completed>span{min-width:0}.app-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;max-width:808px;margin:0 auto;padding:16px max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));color:#6b7280;font-size:.75rem}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-180%);background:#fff;color:var(--wine);padding:13px 20px}.skip-link:focus{transform:none}.public-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.public-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1400px;margin:0 auto;padding:15px 25px;border-left:14px solid var(--charcoal);background:var(--wine);color:#fff}.public-header .brand{width:119px}.public-label{color:#ead8d9;font-size:10px;letter-spacing:1.3px}.public-content{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:45px 0}.message-card{min-width:0;width:100%;max-width:510px;padding:clamp(24px,5vw,42px);text-align:center;background:#fff;border:1px solid var(--line)}.message-card h1{color:var(--wine);margin:19px 0 14px;font-size:27px;line-height:1.3;letter-spacing:-.5px}.message-card>p:not(.eyebrow){font-size:1rem;color:var(--muted)}.message-card .eyebrow{justify-content:center}.message-card .status-message{text-align:left}.message-icon{color:var(--wine);margin-bottom:22px}.primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;padding:12px 22px;margin-top:28px;background:var(--wine);color:#fff;text-decoration:none;font-size:1rem;font-weight:600;overflow-wrap:anywhere}.primary-link:hover{background:var(--wine-hover)}.public-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:var(--muted);font-size:.75rem;text-align:center}@media(min-width:1450px){.login-story{padding-top:54px}.login-story>.brand{margin-bottom:82px}.architecture-art{max-height:350px}}@media(max-width:900px),(max-height:500px)and (max-width:1024px){.login-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.login-story{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 20px max(24px,env(safe-area-inset-left))}.login-story>.brand{flex-shrink:0;width:128px;margin:0}.story-copy{max-width:210px}.story-copy .eyebrow{justify-content:flex-end;font-size:.625rem;letter-spacing:1px;text-align:right}.story-copy .small-line,.story-copy h2,.story-copy>p:last-child,.architecture-art,.story-footer{display:none}.login-main{padding:20px max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border-top-width:4px}.login-topline{flex-wrap:wrap;gap:8px;font-size:.625rem}.login-form-area{max-width:480px;padding:28px 0}.login-section-icon{display:none}.login-form-area h1{font-size:clamp(1.75rem,5vw,2.125rem);margin:10px 0 16px}.oauth-buttons{margin-top:24px}.login-security{margin-top:20px}.login-footer{padding-top:16px}}@media(max-width:600px){.login-story,.login-main{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.login-form-area{padding-block:24px}.public-page{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.public-header{padding:14px;border-left-width:6px;gap:12px}.public-label{font-size:.625rem;letter-spacing:.5px}.public-content{padding-block:28px}.message-card h1{font-size:1.5rem}.primary-link{width:100%}}@media(max-width:360px){.oauth-button{gap:10px;padding-inline:12px}.oauth-arrow{display:none}.public-header{justify-content:center}.public-footer>span[aria-hidden]{display:none}}@media(max-height:500px)and (max-width:1024px){.login-story{padding-block:max(12px,env(safe-area-inset-top)) 12px}.login-form-area,.public-content{padding-block:20px}}@media(max-width:600px){.app-header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app-header-inner{gap:16px}.app-brand{gap:16px;font-size:1rem}.app-brand .brand{width:96px}.header-account{width:100%;gap:12px}.user-details{flex:1;max-width:none}.app-content{padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.questionnaire-heading{margin-bottom:20px}.lesson-form{padding:20px 16px;gap:24px}.form-submit{width:100%;padding-inline:12px}.app-footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.confirmation-card{padding:clamp(24px,6vw,48px);background:#fff;border:1px solid var(--line);border-top:3px solid var(--wine)}.confirmation-icon{color:var(--wine);margin-bottom:20px}.confirmation-card h1{font-size:clamp(1.6rem,5vw,2rem);margin-bottom:12px}.confirmation-card p{color:var(--muted);line-height:1.6}.confirmation-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}.edit-response{min-height:48px;padding:12px 16px;border:1px solid var(--wine);background:#fff;color:var(--wine);font-size:1rem}@media(max-width:480px){.confirmation-actions{flex-direction:column}.confirmation-actions button{width:100%;justify-content:center}}
