:root{color-scheme:dark;--bg:#111715;--panel:#1b2420;--line:#344139;--text:#f1f4e9;--muted:#adb9af;--accent:#d5f58a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,.slider:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.header{max-width:1440px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:24px;font-weight:700;display:flex;align-items:center;gap:12px}.brand-icon{color:var(--accent);font-size:36px}.brand-sub{font-size:10px;letter-spacing:1.7px;max-width:110px;font-weight:400;color:var(--muted);margin-left:12px}nav{display:flex;gap:28px;font-size:14px}nav a:hover{color:var(--accent)}main{max-width:1440px;margin:auto}.gallery{padding:42px 5% 28px;overflow:hidden}.intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:2.4px;color:var(--accent);margin:0 0 16px}h1{font-size:clamp(30px,3.5vw,52px);font-weight:500;line-height:1.12;letter-spacing:-1.5px;margin:0}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro-note{color:var(--muted);font-size:14px}.gallery-bar,.controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-bar{margin-bottom:18px;color:var(--muted);font-size:14px}.controls span{margin-right:16px;font-variant-numeric:tabular-nums}.controls button{height:42px;width:46px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:22px}.controls button:hover:enabled{background:var(--accent);color:var(--bg)}button:disabled{opacity:.3;cursor:default}.slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:14px}.card{flex:0 0 86%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.slider:has(.card:only-child) .card{flex-basis:100%}.slider::after{content:'';flex:0 0 calc(14% - 24px)}.artwork{height:clamp(280px,49vh,620px);border:1px solid var(--line);border-radius:16px;background:#242d28;overflow:hidden;display:flex;align-items:center;justify-content:center}.artwork img{width:100%;height:100%;object-fit:contain}.artwork iframe{width:100%;height:100%;border:0;background:white}.caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 2px}.group{color:var(--accent);font-size:12px;letter-spacing:1px;overflow-wrap:anywhere}.caption h2{font-size:19px;font-weight:500;margin:5px 0;overflow-wrap:anywhere}.type{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:24px;padding:6px 12px;white-space:nowrap}.hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 0}.empty{text-align:center;padding:54px 20px 64px;background:var(--panel);border:1px dashed var(--line);border-radius:18px}.empty-icon{font-size:64px;color:var(--accent)}.empty h2{font-size:26px;margin:10px}.empty p,.muted{color:var(--muted)}.button{display:inline-block;background:var(--accent);color:#182013;border:0;border-radius:9px;padding:13px 20px;font-weight:600}.button:hover{background:#e4ffab}.empty .button{margin-top:15px}footer{max-width:1440px;margin:auto;padding:24px 5%;color:var(--muted);border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:20px}.admin{padding:42px 5% 64px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px}.admin h1{font-size:36px}.admin-grid{display:grid;grid-template-columns:380px 1fr;gap:36px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.panel h2,.section-heading h2{font-size:22px;font-weight:500;margin:0 0 18px}label{display:block;margin:18px 0 8px;font-size:14px}input:not([type=hidden]){width:100%;min-width:0;background:#111914;border:1px solid #506055;border-radius:8px;padding:12px;color:var(--text)}input::placeholder{color:#99a69d}.upload{border:1px dashed #71846b;border-radius:10px;padding:18px;background:#202c23}.upload span{display:block;margin-bottom:12px;font-size:14px}.upload input{padding:6px;font-size:12px}.upload small{display:block;font-size:12px;color:var(--muted);margin-top:12px}.small{font-size:12px;line-height:1.7}form>.button{margin-top:18px;width:100%}.secondary{background:transparent;border:1px solid var(--line);color:var(--text);padding:10px 20px;border-radius:8px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.section-heading>span{color:var(--muted);font-size:14px}.admin-card{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:18px 0}.thumbnail{width:82px;height:72px;flex-shrink:0;background:var(--panel);border-radius:8px;overflow:hidden;display:grid;place-items:center;color:var(--accent);font-size:12px}.thumbnail img{width:100%;height:100%;object-fit:cover}.card-info{flex:1;min-width:0}.card-info h3{font-size:16px;font-weight:500;margin:5px 0;overflow-wrap:anywhere}.delete{background:transparent;color:#efb5ae;border:0;font-size:12px;padding:10px}.login{max-width:450px;margin:70px auto 100px}.login h1{font-size:32px}.notice{max-width:900px;margin:20px auto;padding:16px 20px;background:#293c28;border:1px solid #658459;border-radius:8px}.notice.error{background:#3b2523;border-color:#955b54}code{overflow-wrap:anywhere}@media(max-width:800px){.brand-sub,.intro-note{display:none}.admin-grid{grid-template-columns:1fr}.card{flex-basis:94%}.slider::after{flex-basis:calc(6% - 24px)}.admin-heading{align-items:start}.admin h1{font-size:29px}.gallery{padding-top:30px}.login{margin:40px 5%;max-width:none}.caption{align-items:start}.type{white-space:normal;font-size:12px;max-width:115px}.header{padding:18px 5%}nav{gap:16px}.brand{font-size:20px}.artwork{height:52vh;min-height:280px}.panel{padding:22px}.notice{margin:16px 5%}footer span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
