:root{color-scheme:light;--grey:#9fa3a3;--ink:#181919}*{box-sizing:border-box}body{margin:0;background:var(--grey);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:5px}main{min-height:calc(100svh - 55px);display:flex;align-items:center;flex-direction:column;padding:24px 20px 0}.artwork{position:relative;width:min(75svh,760px,100%);aspect-ratio:1;isolation:isolate}canvas{display:block;width:100%;height:100%}#outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#outline path{fill:var(--grey);stroke:white;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}.controls{text-align:center;position:relative;margin-top:-4px;width:min(100%,620px);padding:0 0 14px}.primary{border:1px solid var(--ink);background:var(--ink);color:white;font-size:12px;font-weight:700;letter-spacing:2px;padding:20px 25px;min-width:280px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;transition:background .2s,transform .2s}.primary:hover{background:#333;transform:translateY(-2px)}.primary span{font-size:21px;line-height:12px;font-weight:400}.text-button{display:block;margin:14px auto 0;padding:0;border:0;border-bottom:1px solid #555;background:none;font-size:11px;line-height:1.5}.hint{font-size:11px;letter-spacing:.2px;margin:18px 0 0;color:#353737}.status{font-size:12px;line-height:1.5;max-width:480px;margin:10px auto 0}.status:empty{display:none}footer{display:flex;justify-content:space-between;gap:20px;padding:20px 30px;font-size:9px;letter-spacing:1px;color:#343636}footer span:last-child{letter-spacing:.2px}.welcome{font-size:11px;letter-spacing:2px;margin:8px 0 18px}.adjustments{display:flex;gap:18px;margin:0 auto 20px;max-width:420px}.adjustments label{width:33%;font-size:10px;text-align:left}input[type=range]{width:100%;display:block;margin:10px 0;accent-color:#222;height:2px}.actions{display:flex;gap:8px;justify-content:center}.secondary{background:transparent;border:1px solid #272929;color:inherit;padding:12px;font-size:10px;letter-spacing:1px}.secondary:hover{background:#ffffff25}.mono{display:block;font-size:11px;margin:16px 0 0}.mono input{vertical-align:middle;accent-color:#222}.processing{position:absolute;inset:0;background:#9fa3a3dd;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;backdrop-filter:blur(12px)}[hidden]{display:none!important}.processing strong{font-size:18px;letter-spacing:-.5px}.processing p{font-size:12px;line-height:1.7;max-width:260px}.spinner{width:32px;height:32px;border:2px solid #ffffff66;border-top-color:#171818;border-radius:50%;animation:spin 1s linear infinite;margin:0 0 24px}@keyframes spin{to{transform:rotate(360deg)}}dialog{padding:18px;border:0;background:#181919;color:#fff;width:min(94vw,540px);max-height:96svh}dialog::backdrop{background:#101111aa;backdrop-filter:blur(10px)}.camera-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:2px;margin-bottom:14px}.icon{border:0;background:none;color:white;font-size:30px;line-height:1;padding:0 3px}.viewfinder{aspect-ratio:4/3;position:relative;background:#282929;overflow:hidden}video{width:100%;height:100%;object-fit:cover}.frame{position:absolute;inset:10% 22%;border:1px solid #ffffff66;border-radius:45% 45% 25% 25%;pointer-events:none}.viewfinder p{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;text-shadow:0 1px 4px black;padding:0 10px}.camera-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.camera-bottom .secondary{border-color:#737575}.shutter{width:62px;height:62px;border:3px solid #fff;border-radius:50%;background:white;box-shadow:inset 0 0 0 4px #181919}#cameraStatus{font-size:11px;line-height:1.5;text-align:center;margin:14px 0 0}@media(max-width:600px){main{padding:32px 10px 0;justify-content:center}.artwork{width:min(100%,65svh)}.controls{margin-top:14px}footer{padding:20px 16px;font-size:8px;flex-direction:column;gap:8px;text-align:center}.primary{min-width:260px}.actions{flex-wrap:wrap}.adjustments{padding:0 16px}.viewfinder{aspect-ratio:3/4;max-height:63svh}.hint{margin-top:14px}}
@font-face{font-family:Caslon;src:url('assets/caslon.otf')}@font-face{font-family:Benton;src:url('assets/benton.otf')}
body{font-family:Benton,Arial,sans-serif}a{color:inherit}a.mainsitelink{text-decoration: none}a:focus-visible{outline:3px solid white;outline-offset:5px}
main{padding-top:38px}.release{text-align:center;margin:0 0 24px}.artist,.release-date{color:white;font-size:20px;margin:0}.release h1{font-family:Caslon,Georgia,serif;font-size:clamp(30px,4vw,46px);font-weight:normal;line-height:1.05;letter-spacing:-1px;margin:10px 0 14px}.release-links{display:flex;justify-content:center;gap:10px;margin-top:20px}.release-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 22px;border:1px solid white;text-decoration:none;color:white;font-size:15px;letter-spacing:.5px}.release-links a:hover{background:white;color:var(--ink)}
.artwork{width:min(62svh,640px,100%)}.primary{font-size:16px;letter-spacing:.7px;font-weight:normal;padding:15px 22px}.primary .dog-icon{width:34px;height:34px;flex:none}.text-button,.hint,.status{font-size:15px}.welcome{font-size:17px;letter-spacing:.7px}.adjustments label{font-size:14px}.secondary{font-size:14px}.share-panel{border-top:1px solid #ffffff55;margin-top:24px;padding-top:20px}.share-panel h2{font:normal 26px Caslon,Georgia,serif;margin:0 0 16px}.share-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.share-buttons button{min-height:44px}.share-note{font-size:14px;line-height:1.4;max-width:440px;margin:14px auto}.share-open{display:inline-block;margin:0 0 12px;font-size:15px;text-underline-offset:4px}footer{font-size:12px}.processing strong{font-family:Caslon,Georgia,serif;font-weight:normal;font-size:26px}.processing p,#cameraStatus,.viewfinder p{font-size:14px}
@media(min-width:1100px){.release{position:absolute;left:40px;top:45px;text-align:left;width:260px}.release h1{font-size:37px}.release-links{justify-content:flex-start}.artwork{width:min(72svh,680px,calc(100vw - 620px))}}
@media(max-width:600px){main{padding:30px 14px 0;justify-content:flex-start}.release{margin-bottom:20px}.release h1{font-size:clamp(32px,9vw,44px)}.artwork{width:100%;max-width:500px}.controls{margin-top:14px}.actions{flex-wrap:wrap}.primary{min-width:260px}.share-buttons{gap:7px}.share-buttons .secondary{font-size:13px;padding:11px 12px}footer{font-size:11px}}

main{min-height:100svh;padding-bottom:24px}

/* Compact header on mobile only; original desktop layout is unchanged. */
@media(max-width:600px){
 main{padding-top:20px}
 .release{display:grid;grid-template-columns:auto auto;grid-template-areas:"artist date" "title title" "links links";justify-content:center;align-items:center;column-gap:12px;row-gap:7px;margin:0 0 38px}
 .release .artist{grid-area:artist;justify-self:end;font-size:12px;letter-spacing:.6px;line-height:1.2}
 .release .release-date{grid-area:date;justify-self:start;font-size:12px;letter-spacing:.6px;line-height:1.2}
 .release h1{grid-area:title;font-size:clamp(21px,5.8vw,26px);line-height:1.1;letter-spacing:-.5px;margin:0;text-align:center}
 .release h1 br{display:none}
 .release h1 br::after{content:" "}
 .release-links{grid-area:links;justify-content:center;gap:8px;margin:2px 0 0}
 .release-links a{min-height:32px;padding:7px 15px;font-size:12px;letter-spacing:.4px;line-height:1}
}

@media(min-width:601px){.release .title-ending{white-space:nowrap}}

.share-privacy{font-size:11px;line-height:1.6;max-width:440px;margin:16px auto;opacity:.85}
