/* Nachtgarten: adopted from the user-supplied Wilde Habitate design package. */
:root{--paper:#091d2c;--ink:#fff4e6;--muted:#c8d5d6;--line:#46616d;--leaf:#f3b48f;--white:#091d2c;--soft:#173d49;--peach:#f3b48f;--berry:#7d244e;--teal:#105e66;font-family:'DM Sans',Arial,sans-serif;color-scheme:dark;background:#071722}
body{min-width:320px;background:radial-gradient(ellipse at 90% 0,#48245770,transparent 50%),radial-gradient(ellipse at 0 85%,#0e737540,transparent 50%),#071722;background-attachment:fixed}
button,.button,input,select,textarea{border-radius:16px 5px 14px 5px}button,.button{transition:background .18s,border-color .18s}button:hover,.button:hover{border-color:var(--peach);background:#214b58}button.primary{background:var(--peach);border-color:var(--peach);color:#122833;font-weight:700}button.primary:hover{background:#ffd0ae;border-color:#ffd0ae}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#ffd0ae}input,select,textarea{background:#102c3b;border-color:#73909a}input::placeholder,textarea::placeholder{color:#bacbce;opacity:1}input[type=checkbox]{accent-color:var(--peach)}input[type=checkbox]:focus-visible{outline-offset:5px}
.top{gap:24px;background:#091d2ce8;border-color:#35515f;min-height:105px;padding-block:14px}.brand{gap:16px;letter-spacing:-.2px;font-size:17px}.logo-panel{display:flex;align-items:center;justify-content:center;background:var(--peach);padding:7px 11px;border-radius:24px 5px 20px 5px;flex:none}.logo-panel img{display:block;width:112px;height:60px;object-fit:contain}.brand small{font-size:9px;line-height:1.4;letter-spacing:1px;color:#f3cdb6}.top nav{gap:5px}.top nav button[aria-current=page]{color:#122833;background:var(--peach);font-weight:700}.top nav button:hover{background:#173d49}.top nav button[aria-current=page]:hover{background:#ffd0ae}#account{max-width:320px}#identity{overflow-wrap:anywhere;font-size:11px}.top #logout{font-size:12px;color:var(--muted)}
h1,h2,h3,.viewer-detail>h2{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:700;letter-spacing:-.045em}h1{line-height:.99}h1 em{color:var(--peach);font-style:normal}h2{letter-spacing:-.025em}.eyebrow{color:#f7c5a3;font-size:10px;font-weight:700;letter-spacing:.19em}
main{padding-top:27px}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 80% 10%,#482457a0,transparent 60%),radial-gradient(ellipse at 0 100%,#105e6660,transparent 75%),#102b3a;border:1px solid #355360;border-radius:38px 10px 30px 10px;padding:32px 35px;margin-bottom:24px;min-height:190px}.hero::after{content:'';position:absolute;inset:-20px -15px -160px auto;width:290px;z-index:-1;background:url('/assets/festival-illustration.webp') center/contain no-repeat;opacity:.64;pointer-events:none}.hero>div{max-width:75%}.hero h1{font-size:clamp(36px,4vw,60px);max-width:800px;margin-bottom:14px}.hero p:last-child{color:#dce4df}.hero>button{background:#091d2ccf;align-self:end}.search-label input{background:#102c3be8;border-color:#78919c}.searchline>button{background:#173d49;min-width:95px}.festival-buttons{gap:9px;padding-block:18px}.festival-buttons button{border-color:#60808b;border-radius:20px 5px 18px 5px;background:#0e2938;font-size:13px}.festival-buttons button[aria-pressed=true]{background:var(--peach);border-color:var(--peach);color:#122833;font-weight:700}.festival-buttons button:hover{background:#214b58}.festival-buttons button[aria-pressed=true]:hover{background:#ffd0ae}.filters{padding:22px;background:#102c3b;border:1px solid #46616d;border-radius:26px 6px 24px 6px;margin-bottom:22px}.resultline{border-color:#3a5866}.selectionbar{background:#f3b48f;color:#122833;border-radius:22px 5px 20px 5px}.selectionbar button{border-color:#9b6e55;color:#122833}.selectionbar button:hover{background:#ffd0ae}
.gallery{gap:24px}.photo{background:#11313f;border:1px solid #3a5764;padding:10px 10px 17px;border-radius:26px 7px 24px 7px;box-shadow:0 8px 26px #00000012}.photo .image-button{border-radius:18px 5px 18px 5px;background:#0a2330}.photo-select{top:21px;left:21px;padding:7px;background:#fff4e6;border-radius:10px 3px 10px 3px;box-shadow:0 2px 8px #0005}.photo-select input{accent-color:#105e66}.photo-meta{margin:15px 4px 7px;color:#b9cbd0}.photo h3{margin-inline:4px;margin-bottom:9px;letter-spacing:-.025em;font-size:20px}.photo-bottom{margin-inline:4px;font-size:11px;gap:8px;align-items:center;flex-wrap:wrap}.photo-bottom .fit{color:#ffd0ae;background:#264b55;border-radius:10px 3px;padding:3px 7px}.placeholder{background:repeating-linear-gradient(135deg,#102c3b,#102c3b 16px,#153441 16px,#153441 17px)}.empty{border:1px solid var(--line);border-radius:32px 6px;background:#102c3b}
.login-layout{padding:35px 0 45px;gap:7%;min-height:72vh;grid-template-columns:1.2fr 1fr}.intro{position:relative;isolation:isolate;overflow:hidden;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:44px 38px;background:radial-gradient(ellipse at 0 100%,#105e6690,transparent 70%),#102b3a;border:1px solid #355360;border-radius:38px 10px 30px 10px;min-height:540px}.intro::after{content:'';position:absolute;z-index:-1;right:-140px;bottom:-220px;width:440px;height:580px;background:url('/assets/festival-illustration.webp') center/contain no-repeat;opacity:.55;pointer-events:none}.intro h1{font-size:clamp(42px,4.6vw,68px);max-width:530px}.intro>p:not(.eyebrow){font-size:17px;max-width:420px;color:#e2e7e2}.brand-list{color:#f7c5a3;max-width:330px;margin-top:30px}.login-panel{border-top-color:var(--peach);padding-top:24px;max-width:450px}.login-panel h2{font-size:32px}.login-panel .primary{min-height:48px}.narrow{max-width:650px;padding:45px;background:radial-gradient(ellipse at 95% 0,#482457a0,transparent 70%),#102b3a;border:1px solid #46616d;border-radius:38px 10px 30px 10px;margin-block:35px 65px}.narrow h1{font-size:clamp(39px,4.5vw,60px)}.narrow form{margin-top:28px}.narrow p:not(.eyebrow){color:#dce4df}
.collection,.workshop{padding:27px;background:#173d49;border:1px solid #46616d;border-radius:30px 7px 26px 7px}.collection .eyebrow,.workshop .eyebrow{color:#f7c5a3}.collection p,.workshop p{color:#d3dedf}.workshop:nth-child(3n+2){background:#51223f}.workshop:nth-child(3n){background:#10535d}.workshop .button,.collection button{background:#091d2c80}.workshop h2,.collection h2{font-size:28px}.form-section{background:#102c3b;border:1px solid #46616d;padding:27px;border-radius:30px 7px 26px 7px}.access-row{border-color:#3a5866}.message{background:#f3b48f;color:#122833;border-radius:20px 5px 18px 5px;box-shadow:0 8px 30px #0005}.message.error{background:#73304b;color:#fff4e6}footer{color:#bacbce;border-color:#35515f}
dialog{background:#091d2c;border:1px solid #54737f;border-radius:30px 8px 26px 8px;box-shadow:0 15px 90px #0009}dialog::backdrop{background:#030e19e8;backdrop-filter:blur(5px)}.dialog-head{background:#102b3a;border-color:#3a5866}.image-stage{background:#061522}.viewer-detail{background:radial-gradient(ellipse at 100% 0,#48245735,transparent 60%),#091d2c}.viewer-detail>h2{font-size:36px}.tags span{background:#173d49;color:#f4d1b9;border-radius:12px 3px}.ratings>div{border-color:#35515f}.ratings dd{color:#f7c5a3}fieldset{border-radius:15px 4px}#collection-dialog{padding:30px}.editor .filters{padding:15px}.skip{background:#f3b48f;color:#122833}
@media(max-width:1100px){.top{gap:17px;flex-wrap:wrap}.top nav{order:3;width:100%;justify-content:center}.brand-name{font-size:15px}.login-layout{gap:5%}.intro{padding:33px 27px}.intro h1{font-size:52px}#account{max-width:290px}.gallery{gap:20px}}
@media(max-width:600px){main{padding-top:17px}.top{padding:12px 18px;gap:10px}.brand{gap:12px}.logo-panel{padding:5px 8px;border-radius:19px 4px 16px 4px}.logo-panel img{width:84px;height:46px}.brand-name{font-size:13px;max-width:135px}.brand small{font-size:8px;letter-spacing:.7px}#account{margin-left:auto}.top #logout{padding:8px 5px;font-size:11px}.top nav{gap:3px;justify-content:space-between}.top nav button{font-size:12px;padding:10px 8px;flex:1}.hero{padding:26px 22px;border-radius:30px 7px 25px 7px;min-height:176px;margin-bottom:20px}.hero>div{max-width:100%}.hero::after{right:-100px;bottom:-140px;width:240px;opacity:.3}.hero h1{font-size:40px;max-width:330px}.hero p:last-child{font-size:13px;max-width:270px}.hero>button{position:absolute;right:12px;bottom:12px;font-size:11px}.festival-buttons{gap:7px}.festival-buttons button{font-size:12px;padding:8px 11px}.gallery{gap:17px 10px}.photo{padding:6px 6px 13px;border-radius:19px 5px 18px 5px}.photo .image-button{border-radius:13px 3px 12px 3px}.photo-select{top:13px;left:13px;padding:5px}.photo-meta{margin:11px 3px 6px;font-size:8px}.photo h3{font-size:16px;margin-inline:3px}.photo-bottom{margin-inline:3px;font-size:10px}.photo-bottom .fit{display:inline-block;margin-top:5px;padding:3px 6px}.searchline>button{min-width:65px}.filters{padding:15px;gap:14px 10px}.filters label{font-size:12px}.login-layout{grid-template-columns:1fr;padding:12px 0 35px;gap:35px}.intro{min-height:440px;padding:32px 26px;border-radius:30px 7px 25px 7px}.intro h1{font-size:48px}.intro::after{right:-130px;bottom:-260px;opacity:.48}.login-panel{max-width:none}.narrow{padding:30px 24px;margin:20px auto 50px}.narrow h1{font-size:41px}.collection,.workshop,.form-section{padding:23px}.viewer-detail>h2{font-size:31px}.editor .filters{padding:12px}dialog{border-radius:24px 7px 21px 7px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}
@media(max-width:600px){.top nav{flex-wrap:wrap}.searchline{flex-wrap:wrap}.searchline .search-label{flex-basis:100%;min-width:0}.searchline #export-catalog{flex:1}}

.preview-import-panel{max-width:none;margin-bottom:36px;display:grid;gap:15px}.preview-import-panel h2,.preview-import-panel p{margin:0}.preview-import-panel input[type=file]{min-height:52px}.preview-import-panel button{justify-self:start}
/* Photo-to-illustration calibration */
.calibration-card{padding:clamp(18px,3vw,36px);margin:24px 0;border:1px solid var(--line,#49646d);border-radius:28px;background:#102f3c}.calibration-card h2{font-size:clamp(20px,2vw,30px)}.calibration-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.calibration-pair figure{margin:0;min-width:0}.calibration-pair figcaption{font-weight:700;padding:8px 0}.calibration-pair img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:repeating-conic-gradient(#ece5d6 0% 25%,#faf7ef 0% 50%) 0/24px 24px;border-radius:12px}.calibration-card textarea{width:100%;min-height:76px;margin:16px 0}.calibration-card button[aria-pressed=true]{background:#f4b58e;color:#102531}#calibration-zoom{max-width:min(95vw,1200px);max-height:95vh}#calibration-large{display:block;max-width:100%;max-height:80vh;object-fit:contain;background:#f5f0e4}@media(max-width:600px){.calibration-pair{grid-template-columns:1fr}}

.calibration-pair.calibration-trio{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.calibration-pair.calibration-trio{grid-template-columns:1fr}}
