:root{color:#28251f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-ink:#28251f;--color-muted:#625d54;--color-accent:#8b4d35;--color-accent-hover:#713c29;--color-border:#ded9cf;--color-surface:#fffdfa;--color-surface-muted:#eeeae2;--color-surface-hover:#eee8df;background:#f8f6f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--color-ink);background:#f8f6f1;margin:0;line-height:1.5}button,a{font:inherit}a{color:inherit}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.museum-app{width:min(100% - 40px,1080px);margin:0 auto}.site-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:76px;display:flex}.brand{color:var(--color-ink);letter-spacing:-.02em;flex:none;font-size:1.2rem;font-weight:700;text-decoration:none}.site-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.site-header nav a,.site-header nav button{color:#514c43;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.site-header nav a:hover,.site-header nav button:hover{background:var(--color-surface-hover);color:var(--color-accent)}.site-header nav>span{color:var(--color-muted);padding:6px 8px;font-size:.875rem}.hero{text-align:center;padding:clamp(72px,12vw,144px) 20px 104px}.eyebrow{color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font-size:.82rem;font-weight:700;line-height:1.5}.hero h1,.moods-section h2,.artworks-section h2,.artwork-detail article h1,.story-section h2,.auth-page h1,.museum-app>h1{color:var(--color-ink);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero h1{letter-spacing:-.035em;max-width:760px;margin:0 auto 20px;font-size:clamp(2.6rem,7vw,5rem);line-height:1.04}.hero>p:not(.eyebrow){max-width:590px;color:var(--color-muted);margin:0 auto;font-size:1.08rem;line-height:1.75}.primary-link{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;border-radius:5px;justify-content:center;align-items:center;min-height:48px;margin-top:30px;padding:12px 22px;font-weight:650;text-decoration:none;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.primary-link:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);transform:translateY(-1px)}.moods-section,.artworks-section{border-top:1px solid var(--color-border);padding:34px 0}.moods-section h2,.artworks-section h2{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(1.65rem,3vw,2rem)}.mood-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.mood-list li{border:0;margin:0;padding:0}.mood-list button{color:#514c43;min-height:42px;font:inherit;cursor:pointer;background:0 0;border:1px solid #d8cfc1;border-radius:999px;padding:8px 16px;transition:background-color .16s,border-color .16s,color .16s}.mood-list button:hover{background:var(--color-surface-hover)}.mood-list button.selected{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.artworks-section{min-height:180px;margin-bottom:48px}.artworks-section>p{color:var(--color-muted);line-height:1.7}.artwork-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:stretch;gap:22px;display:grid}.artwork-card{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;color:inherit;border-radius:9px;flex-direction:column;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;overflow:hidden}.artwork-card:hover{border-color:#c9b9a7;transform:translateY(-3px);box-shadow:0 10px 26px #28251f14}.artwork-image{object-fit:contain;background:var(--color-surface-muted);width:100%;height:260px;display:block}.artwork-card-content{flex:1;padding:18px 20px 20px}.artwork-card-content h3{color:var(--color-ink);margin:8px 0 10px;font-size:1.08rem;line-height:1.4;transition:color .16s}.artwork-card:hover .artwork-card-content h3{color:var(--color-accent)}.artwork-card-content p{color:var(--color-muted);overflow-wrap:anywhere;margin:10px 0;line-height:1.65}.artwork-card-content .artwork-mood,.artwork-detail article>.artwork-mood{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.artwork-card-content .artwork-artist{margin-bottom:0;font-size:.9rem}.artwork-detail{padding-top:26px;padding-bottom:56px}.back-link{min-height:44px;color:var(--color-accent);align-items:center;margin-bottom:20px;text-decoration:none;display:inline-flex}.back-link:hover{text-underline-offset:3px;text-decoration:underline}.artwork-detail>article,.story-section{width:min(100%,860px);margin-left:auto;margin-right:auto}.detail-image{border:1px solid var(--color-border);background:var(--color-surface-muted);object-fit:contain;border-radius:9px;width:100%;max-height:min(70vh,640px);margin:0 auto 28px;display:block}.artwork-detail article h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin:8px 0 16px;font-size:clamp(2.35rem,5vw,3.8rem);line-height:1.08}.artwork-detail article>p:not(.artwork-mood,.artwork-artist){color:#514c43;overflow-wrap:anywhere;max-width:68ch;font-size:1.05rem;line-height:1.8}.artwork-detail article>.artwork-mood{margin:0 0 8px}.artwork-artist{color:var(--color-muted);font-size:.9rem}.artwork-detail article>div:not(.story-form){flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.story-section{border-top:1px solid var(--color-border);margin-top:52px;padding-top:28px}.story-section h2{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(1.8rem,4vw,2.2rem)}.story-section ul{gap:14px;margin:0 0 28px;padding:0;list-style:none;display:grid}.story-section li{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;min-width:0;margin:0;padding:clamp(18px,3vw,24px)}.story-section li>p:not(.artwork-artist){color:#403b34;overflow-wrap:anywhere;max-width:68ch;margin:0 0 16px;font-size:1.05rem;line-height:1.8}.story-section li>.artwork-artist{margin:0}.story-form{gap:18px;width:100%;max-width:760px;display:grid}.auth-page{width:min(100% - 40px,520px);max-width:520px;padding-top:56px;padding-bottom:56px}.auth-page h1{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 24px;font-size:clamp(2.1rem,6vw,2.7rem);line-height:1.12}.auth-page>p{color:var(--color-muted);line-height:1.7}.auth-page>form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;padding:clamp(20px,4vw,30px);box-shadow:0 8px 24px #28251f0a}.auth-page form,.auth-page .story-form{gap:20px;display:grid}.auth-page label,.story-form label{color:#514c43;gap:8px;min-width:0;font-size:.95rem;font-weight:600;display:grid}.auth-page input:not([type=checkbox]),.auth-page textarea,.auth-page select,.story-form input:not([type=checkbox]),.story-form textarea,.story-form select{background:var(--color-surface);width:100%;min-width:0;min-height:46px;color:var(--color-ink);font:inherit;border:1px solid #d8cfc1;border-radius:5px;padding:11px 12px;display:block}.auth-page textarea,.story-form textarea{resize:vertical;min-height:132px}.auth-page input[type=file]{min-height:48px;padding:8px}.auth-page input[type=checkbox],.story-form input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex:0 0 18px;margin:0}.auth-page .checkbox-label{cursor:pointer;align-items:center;gap:10px;display:flex}.story-form label:has(>input[type=checkbox]){cursor:pointer;align-items:center;gap:10px;display:flex}.auth-page input:focus-visible,.auth-page textarea:focus-visible,.auth-page select:focus-visible,.story-form input:focus-visible,.story-form textarea:focus-visible,.story-form select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.auth-page form button[type=submit],.story-form button[type=submit],.artwork-detail article>div>button,.story-section li>div>button{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;min-height:46px;font:inherit;text-align:center;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.auth-page form button[type=submit]:hover:not(:disabled),.story-form button[type=submit]:hover:not(:disabled),.artwork-detail article>div>button:hover:not(:disabled),.story-section li>div>button:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.auth-page form button:disabled,.story-form button:disabled,.artwork-detail button:disabled{cursor:wait;opacity:.65}.story-form button[type=button],.artwork-detail article>div>button:not(:first-child),.story-section li>div>button:not(:first-child){color:#514c43;background:0 0;border-color:#d8cfc1}.story-form button[type=button]:hover:not(:disabled),.artwork-detail article>div>button:not(:first-child):hover:not(:disabled),.story-section li>div>button:not(:first-child):hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-ink);border-color:#c9b9a7}.auth-page>button:not(:last-child){color:#514c43;width:100%;min-height:44px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #d8cfc1;border-radius:5px;justify-content:center;align-items:center;margin-top:10px;padding:9px 14px;display:flex}.auth-page>button:not(:last-child):hover{background:var(--color-surface-hover)}.auth-page>form+button{width:fit-content;min-height:44px;color:var(--color-accent);background:0 0;border-color:#0000;margin:8px auto 0;padding:8px 12px}.auth-page>form+button:hover{background:var(--color-surface-hover)}.auth-page>button:last-child{color:#514c43;width:100%;min-height:44px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #d8cfc1;border-radius:5px;justify-content:center;align-items:center;margin-top:8px;padding:9px 14px;text-decoration:none;display:flex}.auth-page>button:last-child:hover{background:var(--color-surface-hover)}.auth-page>form+a{min-height:44px;color:var(--color-accent);align-items:center;margin-top:8px;text-decoration:none;display:inline-flex}.auth-page>form+a:hover{text-underline-offset:3px;text-decoration:underline}.auth-page button:disabled{cursor:wait;opacity:.65}[role=alert]{color:#8a3028;overflow-wrap:anywhere;line-height:1.6}[role=status]{color:#3e6548;overflow-wrap:anywhere;line-height:1.6}.museum-app>h1{font-size:clamp(2rem,6vw,2.8rem)}@media (width<=700px){.museum-app{width:min(100% - 32px,1080px)}.site-header{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 0}.site-header nav{justify-content:flex-start;gap:2px;width:100%}.site-header nav a,.site-header nav button{padding-left:10px;padding-right:10px}.site-header nav>span{flex-basis:100%;padding:6px 10px}.hero{padding:76px 4px 72px}.hero h1{font-size:clamp(2.45rem,11vw,4rem)}.moods-section,.artworks-section{padding:26px 0}.artwork-grid{grid-template-columns:1fr;gap:16px}.artwork-image{height:230px}.artwork-detail{padding-top:18px}.detail-image{max-height:62vh;margin-bottom:22px}.story-section{margin-top:38px;padding-top:24px}.story-section li>p:not(.artwork-artist){font-size:1rem;line-height:1.75}.auth-page{padding-top:36px;padding-bottom:40px}}@media (width<=380px){.museum-app,.auth-page{width:min(100% - 24px,520px)}.mood-list{gap:8px}.mood-list button{padding-left:12px;padding-right:12px}.auth-page>form{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header nav a,.site-header nav button,.mood-list button,.primary-link,.auth-page button,.story-form button,.artwork-detail article>div>button,.story-section li>div>button{touch-action:manipulation;min-height:44px}.auth-page>form+button:not(:last-child){width:fit-content;min-height:44px;color:var(--color-accent);background:0 0;border-color:#0000;margin:8px auto 0;padding:8px 12px}.auth-page>form+button:not(:last-child):hover{background:var(--color-surface-hover)}
