/* Museum edition — typography, architecture, and space for the work. */
:root{--navy:#20201e;--ink:#262624;--muted:#787874;--accent:#262624;--line:#deded9;--bg:#f6f6f3;--purple:#efefea;--gold:#877344;--white:#fff}
body{background:var(--bg)}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}h1,h2,h3{font-weight:500}.sidebar{position:relative;inset:auto;width:100%;height:108px;padding:0 5.2%;display:flex;flex-direction:row;align-items:center;gap:30px;background:var(--bg);border:0;border-bottom:1px solid var(--line)}.brand{gap:15px;font-weight:500;font-size:1.25rem;letter-spacing:.16em;white-space:nowrap}.brand-icon{height:44px;width:40px;background:transparent;color:var(--ink);border:1px solid #31312f;border-radius:0;font-family:"Songti SC","STSong",serif;font-size:1.55rem;line-height:1}.brand small{font-family:Arial,sans-serif;font-size:.56rem;letter-spacing:.2em;font-weight:400;margin-top:5px;color:#777773}.sidebar nav{flex-direction:row;gap:30px;margin:0 auto;align-items:center}.sidebar nav a{padding:7px 0;border:0;border-bottom:1px solid transparent;border-radius:0;font-size:.875rem;font-weight:400;letter-spacing:.04em;white-space:nowrap;color:#73736e}.sidebar nav a span{display:none}.sidebar nav a.active{background:transparent;color:#252523;border-bottom-color:#252523;font-weight:500}.sidebar nav a:hover{color:#111;background:transparent;border-bottom-color:#9a9a94}.sidebar-bottom{margin:0;padding:0;gap:20px;flex-wrap:nowrap;font-size:.75rem;white-space:nowrap;letter-spacing:.02em}.sidebar-bottom form,.teacher{display:none}.main{max-width:1580px;margin:0 auto;padding:52px 5.2% 24px}.page-header{margin-bottom:35px;align-items:flex-end;gap:28px}.page-header h1{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;font-weight:400;font-size:2.65rem;letter-spacing:.08em;line-height:1.4}.page-header .muted{font-size:.875rem;line-height:1.9;margin-top:12px;color:#7e7e78}.eyebrow{font-family:Arial,sans-serif;letter-spacing:.2em;font-size:.625rem;font-weight:400;color:#777771;margin-bottom:13px}.button{border-radius:0;min-height:46px;padding:12px 22px;font-size:.8125rem;font-weight:400;letter-spacing:.05em;box-shadow:none}.primary{background:#262624;color:#fff;box-shadow:none;border:1px solid #262624}.primary:hover{background:#454540}.secondary{background:transparent;border-color:#c8c8c0;color:#41413b}.secondary:hover{background:#eeeee8}.text-link{color:#51514a;font-weight:400;font-size:.8125rem;text-decoration:underline;text-decoration-color:#bbbbae;text-underline-offset:5px}.danger{border-radius:0;background:transparent;border-color:#cbb7b0;color:#8f4b42}.section-header{margin-bottom:22px;align-items:center}.section-header h2{font-size:.9375rem;font-weight:400;letter-spacing:.06em}.count{padding:0;margin-left:10px;background:transparent;border-radius:0;min-width:0;font-family:Georgia,serif;font-style:italic;font-size:.9375rem;color:#86867c;font-weight:400}.export-actions{gap:26px}.export-actions .text-link{font-size:.75rem;color:#77776e;text-decoration:none}.collection{background:transparent;border:0;border-top:1px solid #a6a69d;border-radius:0;padding:23px 0 0}.filters{gap:12px;padding:0 0 22px;margin-bottom:28px;border-bottom:1px solid var(--line)}.filters label{min-width:100px}.filters label.search{min-width:200px}.filters input,.filters select{font-size:.8125rem;background:transparent;border:0;border-bottom:1px solid #ccccc3;border-radius:0;height:44px;margin:0;padding:10px 5px}.filters select{max-width:none}.filters .button{min-height:40px;padding:8px 17px}.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 36px}.art-card{border:0;background:transparent;border-radius:0;overflow:visible;box-shadow:none;transition:opacity .2s}.art-card:hover{transform:none;box-shadow:none;opacity:.88}.art-image{height:430px;background:#ebebe6;border-radius:0;padding:36px;position:relative}.art-image img{object-fit:contain;filter:drop-shadow(0 5px 7px #25252016);width:100%;height:100%}.art-info{padding:20px 0 0}.card-line{gap:14px;align-items:center}.card-line h3{font-family:"Songti SC","STSong",serif;font-size:1.3rem;font-weight:400;letter-spacing:.06em}.art-info p{font-size:.875rem;color:#737369;margin:8px 0 15px}.card-meta{font-size:.75rem;padding-top:12px;border-top:1px solid #d9d9d0;color:#8b8b81}.stars{font-size:.8125rem;color:#877344;letter-spacing:2px}.star-empty{color:#c6c6ba}.image-badge{top:18px;right:18px;border:1px solid #deded4;background:#fafaf5;box-shadow:none;border-radius:0;color:#75756b;padding:4px 10px;font-size:.6875rem}.art-accession{font-size:.625rem;font-family:Arial,sans-serif;color:#929287;letter-spacing:.13em;margin-bottom:8px}.museum-empty{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:0;border-bottom:1px solid #d4d4ca;padding-bottom:31px}.museum-space{margin:0;min-width:0}.museum-space img{width:100%;height:440px;object-fit:cover;display:block}.museum-space figcaption{display:flex;justify-content:space-between;margin-top:10px;font-size:.625rem;color:#949487;letter-spacing:.07em}.museum-intro{padding:26px 0 26px 52px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.museum-section-number{font-family:Georgia,serif;font-size:1.15rem;font-style:italic;color:#85857a;padding-bottom:16px;border-bottom:1px solid #bdbdb2;width:40px;margin-bottom:27px}.museum-intro h2{font-family:"Songti SC","STSong",serif;font-size:2rem;line-height:1.65;font-weight:400;letter-spacing:.085em}.museum-intro p{font-size:.875rem;line-height:2.1;color:#838377;margin:20px 0 28px;max-width:290px}.museum-intro .button{margin-bottom:26px}.museum-links{font-size:.75rem;display:flex;flex-wrap:wrap;gap:20px}.museum-links a{border-bottom:1px solid #bbbbb0;padding-bottom:4px;color:#818173}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:transparent;border:0;border-bottom:1px solid #d7d7cd;border-radius:0;margin:0;padding:28px 0;gap:0}.stats>div,.stats>a{background:transparent;border:0;border-radius:0;border-right:1px solid #deded3;padding:0 30px;display:flex;align-items:baseline;justify-content:flex-start;gap:17px;flex-direction:row}.stats>:first-child{padding-left:0}.stats>:last-child{border-right:0}.stats span{font-size:.75rem;color:#909082}.stats span small{display:none}.stats strong{font-family:Georgia,serif;font-weight:400;font-size:1.65rem;line-height:1.3;margin:0;color:#666658}.stats strong small{display:none}.stats>a strong{color:#666658}.stats>a:hover strong{color:#111}.page-footer{display:flex;justify-content:space-between;margin:23px 0 4px;color:#a2a294;font-size:.6875rem;letter-spacing:.04em}.page-footer:before{display:none}.page-footer span{margin-left:auto}.panel{border-radius:0;background:#fff;border:1px solid #e1e1d9;padding:30px;box-shadow:none}.panel h2{font-family:"Songti SC","STSong",serif;font-weight:400;font-size:1.2rem;letter-spacing:.04em}.two-col{gap:28px}.theme-card{border-top:1px solid #a7a799}.theme-card h2{font-size:1.4rem;line-height:1.5}.theme-card .badge{background:transparent;padding:0;color:#8d8d7d;font-size:.75rem}.theme-grid{gap:22px}.progress{height:3px;border-radius:0;background:#e9e9e0}.progress progress{height:4px;accent-color:#68685b}.progress-text{font-size:.75rem}.badge{border-radius:0;font-size:.75rem;background:#eeeee7;color:#797968}.badge.done{background:#e9eee6;color:#617157}.badge.pending{background:#f1ebdc;color:#8e7d51}label{font-weight:400;font-size:.875rem}input,select,textarea{background:#fff;border:1px solid #d8d8cb;border-radius:0;font-size:.9375rem;min-height:46px;padding:11px 13px}input[type=checkbox],input[type=radio]{min-height:20px}input::placeholder,textarea::placeholder{color:#a2a28f}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #77776d;outline-offset:3px}.rating-picker input:focus-visible+span{outline:2px solid #77776d}.rating-picker span{background:#f8f8f3;border:1px solid #deded1;border-radius:0;font-size:1rem;color:#838371}.rating-picker input:checked+span{background:#eeeadc;border-color:#a3946f;color:#6f603c}.quick-comments button{background:transparent;border:1px solid #ddddd0;border-radius:0;color:#8b8b79;font-size:.75rem;padding:8px 11px}.quick-comments button:hover{background:#f3f3eb;border-color:#9b9b89}.dropzone{border:1px dashed #bfbfac;background:#f8f8f4;border-radius:0;padding:32px 17px}.dropzone .plus{font-family:Georgia,serif;font-weight:400;font-size:2.4rem;color:#969680;line-height:1.4}.dropzone strong{font-family:"Songti SC","STSong",serif;font-size:1.2rem;font-weight:400}.dropzone .form-actions{justify-content:center}.dropzone label.button{margin-bottom:0}.hint{color:#919180;font-size:.8125rem}.photo-detail{border-radius:0;background:#e9e9e2;padding:24px}.preview-item,.preview-tools button{border-radius:0}.table-wrap{border-radius:0}th{background:#f0f0e9;color:#878775;font-size:.75rem;font-weight:400}td,th{padding:16px 14px;border-bottom-color:#e4e4d9}.student-link{color:#4e4e41;font-weight:400;text-decoration:underline;text-underline-offset:4px}.empty{border-radius:0;background:transparent;border:1px solid #dcdcd0;padding:65px 20px}.empty h2{font-family:"Songti SC","STSong",serif;font-weight:400;font-size:1.6rem}.empty-symbol{background:none;border:1px solid #c3c3b4;border-radius:0;color:#878775;font-size:2rem}.onboarding{display:none}.notice{border-radius:0;background:#eef1e9;color:#52694a;font-size:.875rem}.notice.error{background:#f5eeea;color:#8d554c}.pill{border-radius:0;background:none;color:#888875;padding:0;font-size:.75rem;letter-spacing:.07em}.back-link{font-size:.75rem;color:#8b8b78}.detail-meta{font-size:.8125rem;gap:20px;color:#91917f}.pagination{font-size:.75rem;margin-top:35px}#toast{border-radius:0;background:#33332b}.login-wrap{min-height:100vh;grid-template-columns:1.15fr 1fr}.login-story{background:#252521;background-image:none;color:#f4f4ed;padding:50px 64px}.login-story .brand-icon{border-color:#bcbcb0;background:none;color:#f4f4ed}.login-story h1{font-family:"Songti SC","STSong",serif;letter-spacing:.085em;font-size:3rem;font-weight:400;line-height:1.7}.login-story .eyebrow{color:#9f9f8f;font-size:.625rem}.login-story p{color:#aaaa98}.story-bottom{border-top:1px solid #575749;padding-top:18px;color:#999986;font-size:.75rem;letter-spacing:.08em}.login-panel{background:var(--bg)}.login-form h2{font-family:"Songti SC","STSong",serif;font-size:2.1rem;font-weight:400}.login-form .pill{font-size:.6875rem}.login-form .muted{font-size:.875rem}.login-form form{margin-top:34px}
@media(min-width:1550px){.art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.art-image{height:390px}}
@media(max-width:1150px){.sidebar{height:95px;padding:0 4%;gap:24px}.sidebar nav{gap:22px}.sidebar-bottom{gap:15px}.brand{font-size:1.1rem}.main{margin:0 auto;padding:40px 4% 25px}.museum-intro{padding-left:33px}.museum-intro h2{font-size:1.8rem}.museum-space img{height:420px}.stats>div,.stats>a{padding:0 17px;gap:12px}.art-image{height:360px;padding:28px}.two-col{grid-template-columns:minmax(0,1fr)}.login-story{padding:45px 38px}}
@media(max-width:860px){.sidebar{gap:16px;padding:0 25px}.brand{font-size:1rem;gap:9px;letter-spacing:.08em}.brand-icon{width:31px;height:36px;font-size:1.3rem}.brand small{font-size:.5rem}.sidebar nav{gap:18px}.sidebar nav a{font-size:.8125rem}.sidebar-bottom{gap:12px;font-size:.6875rem}.main{padding:35px 28px 25px}.museum-intro{padding-left:25px}.museum-intro h2{font-size:1.6rem}.museum-space img{height:390px}.museum-intro p{font-size:.8125rem;margin:15px 0 23px}.museum-links{gap:12px;font-size:.6875rem}.art-image{height:310px}}
@media(max-width:720px){.sidebar{position:relative;height:79px;padding:0 24px;border-bottom:1px solid #deded5;gap:0}.brand{font-size:1.12rem;letter-spacing:.1em;gap:11px}.brand-icon{display:grid;width:34px;height:38px;font-size:1.35rem}.brand small{display:block;font-size:.45rem;letter-spacing:.18em;margin-top:4px}.sidebar-bottom{position:static;margin-left:auto;padding:0;gap:17px;font-size:.6875rem}.sidebar nav{position:fixed;inset:auto 0 0;margin:0;background:#f8f8f4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 15px env(safe-area-inset-bottom);gap:0;border-top:1px solid #d3d3c7;z-index:30;height:auto;box-shadow:none}.sidebar nav a{font-size:.8125rem;min-height:59px;justify-content:center;padding:17px 0;border-bottom:0;border-top:2px solid transparent;margin-top:-1px;border-radius:0;letter-spacing:0}.sidebar nav a.active{background:transparent;border-top-color:#32322a;color:#32322a}.sidebar nav a:hover{background:#eeeee5;border-bottom:0}.main{padding:31px 24px 97px;margin:0;width:100%}.page-header{margin-bottom:27px;gap:14px;align-items:center}.page-header h1{font-size:2rem;letter-spacing:.07em;line-height:1.35}.page-header .eyebrow{font-size:.5rem;letter-spacing:.15em;margin-bottom:9px}.page-header .muted{font-size:.75rem;line-height:1.85;margin-top:10px;max-width:210px}.page-header .button{font-size:.75rem;min-height:40px;padding:10px 13px;letter-spacing:0}.section-header{margin-bottom:18px}.section-header h2{font-size:.8125rem}.count{font-size:.875rem}.collection{padding:18px 0 0;border-radius:0}.export-actions{gap:16px}.export-actions .text-link{font-size:.6875rem}.museum-empty{grid-template-columns:minmax(0,1fr);padding-bottom:25px}.museum-space img{height:245px;object-position:50% 55%}.museum-space figcaption{font-size:.5rem;margin-top:9px;letter-spacing:.02em}.museum-intro{padding:29px 0 0;display:block}.museum-section-number{font-size:1rem;display:none}.museum-intro h2{font-size:1.8rem;line-height:1.55;letter-spacing:.08em}.museum-intro p{font-size:.8125rem;line-height:1.9;max-width:none;margin:13px 0 22px}.museum-intro .button{min-height:44px;padding:11px 20px;font-size:.8125rem;margin-bottom:23px}.museum-links{font-size:.75rem;gap:25px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 0;background:none;border-radius:0;margin:0;gap:0}.stats>div,.stats>a{padding:0 9px;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:7px;background:none;border-radius:0}.stats>:first-child{padding-left:0}.stats strong{font-size:1.5rem;color:#727262;line-height:1.2}.stats span{font-size:.6875rem;white-space:nowrap}.stats strong small{display:none}.page-footer{font-size:.5625rem;display:flex;flex-wrap:wrap;line-height:1.9;gap:5px;margin-top:20px;letter-spacing:.02em}.page-footer span{margin:0;width:100%}.filters{gap:9px;border-bottom:0;padding:0;margin-bottom:24px}.filters label{min-width:calc(50% - 5px)}.filters label.search{min-width:100%}.filters input,.filters select{font-size:.75rem;height:43px;background:transparent;padding:10px 1px;max-width:none}.filters .button{font-size:.75rem}.art-grid{grid-template-columns:minmax(0,1fr);gap:37px}.art-image{height:360px;padding:28px;background:#ebebe5;border-radius:0}.art-info{padding-top:16px}.card-line{flex-direction:row;align-items:center;gap:12px}.card-line h3{font-size:1.2rem}.stars{font-size:.75rem}.art-info p{font-size:.8125rem;margin:8px 0 12px}.card-meta{display:flex;justify-content:space-between;font-size:.6875rem;padding-top:10px}.card-meta span{display:inline}.image-badge{font-size:.625rem;padding:4px 9px;top:13px;right:13px}.art-accession{font-size:.5625rem;margin-bottom:7px}.panel{border-radius:0;padding:23px 19px;margin-bottom:21px}.panel h2{font-size:1.15rem}.two-col{gap:0}.rating-picker{gap:5px}.rating-picker span{padding:9px 9px;font-size:1rem}.quick-comments button{font-size:.75rem;min-height:36px}.form-actions{gap:10px}.form-actions .button{padding:11px 13px;font-size:.8125rem}.dropzone{padding:26px 12px}.photo-detail{padding:17px;border-radius:0}.login-wrap{grid-template-columns:minmax(0,1fr)}.login-story{padding:28px;min-height:0}.login-story h1{font-size:1.95rem;line-height:1.6;margin:14px 0 5px}.login-story>div:nth-child(2){margin-top:28px}.login-panel{padding:35px 29px 50px}.login-form h2{font-size:1.9rem}.login-form .pill{font-size:.6875rem}.empty{padding:45px 17px}}
@media(max-width:360px){.sidebar{padding:0 18px}.main{padding-left:19px;padding-right:19px}.sidebar-bottom{gap:12px}.brand{font-size:1rem}.page-header h1{font-size:1.75rem}.page-header .button{padding:9px 11px}.museum-space img{height:220px}.art-image{height:320px}.stats span{font-size:.625rem}.stats>div,.stats>a{padding:0 7px}}
/* Keep supporting information readable on narrow screens. */
.museum-space figcaption,.art-accession,.page-footer,.eyebrow{font-size:.75rem}.sidebar-bottom{font-size:.8125rem}@media(max-width:720px){.museum-space figcaption,.art-accession,.page-footer,.stats span,.export-actions .text-link,.image-badge{font-size:.75rem}.sidebar-bottom{font-size:.75rem}.page-header .eyebrow{font-size:.625rem}.card-meta{font-size:.75rem}.sidebar nav a{font-size:.875rem}.page-header .button{font-size:.8125rem}}
