@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";:root{--paper:#f5f1e9;--ink:#282a26;--muted:#6e7169;--line:#d8d2c7;--line-strong:#afa99e;--iron:#a04a32;--celadon:#6c9f90;--ash:#b9afa3;--display:"Fraunces", Georgia, serif;--body:"Manrope", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace;color:var(--ink);background:var(--paper);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.app-shell{width:min(100%,920px);margin:0 auto;padding:18px 20px 56px}.loading-copy{color:var(--ink-muted);padding:4rem 1.5rem}.auth-shell{place-items:center;min-height:100vh;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);width:min(100%,30rem);padding:2rem;box-shadow:0 18px 45px #2d1e171f}.auth-card h1{margin:.15rem 0 .65rem;font-size:clamp(2rem,8vw,3rem)}.auth-card p{color:var(--ink-muted);line-height:1.6}.auth-card form{gap:1rem;margin-top:1.5rem;display:grid}.auth-message{margin:1rem 0 0}.topbar,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar{padding-bottom:32px}.top-actions{align-items:center;gap:16px;display:flex}.wordmark{color:var(--ink);font-family:var(--display);letter-spacing:-.04em;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-mark{border:1px solid var(--ink);width:30px;height:30px;font-family:var(--mono);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:10px;display:grid}.quiet-button,.primary-button{font:inherit;cursor:pointer;border:0;font-weight:700}.quiet-button{color:var(--ink);background:0 0;padding:8px 0}.home-intro{border-bottom:1px solid var(--line);padding:clamp(36px,8vw,80px) 0 clamp(42px,8vw,78px)}.eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin:0 0 11px;font-size:11px;font-weight:700}.home-intro h1,.recent-section h2{color:var(--ink);font-family:var(--display);letter-spacing:-.055em;margin:0;font-weight:700}.home-intro h1{max-width:680px;font-size:clamp(48px,10vw,92px);line-height:.9}.home-intro>p:not(.eyebrow){max-width:420px;color:var(--muted);margin:20px 0 28px;font-size:18px;line-height:1.5}.primary-button{color:#fffdf7;background:var(--iron);min-height:48px;box-shadow:4px 4px 0 var(--ash);padding:0 21px}.primary-button:hover{background:var(--ink)}.primary-button:focus-visible,.quiet-button:focus-visible,.wordmark:focus-visible{outline:3px solid var(--celadon);outline-offset:4px}.recent-section{padding-top:34px}.recent-section h2{font-size:32px}.gallery-section{padding-top:clamp(36px,8vw,80px)}.gallery-section h1{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(40px,8vw,68px)}.stage-filters{gap:8px;margin:24px 0 30px;display:flex;overflow-x:auto}.stage-filters button{border:1px solid var(--line-strong);min-height:36px;color:var(--ink);font:700 11px var(--mono);cursor:pointer;background:0 0;flex:none;padding:0 11px}.stage-filters button.active{color:#fffdf7;border-color:var(--iron);background:var(--iron)}.gallery-stage{margin-top:30px}.gallery-stage h2{font-family:var(--display);margin:0 0 12px;font-size:28px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sync-pill{border:1px solid color-mix(in srgb, var(--celadon) 55%, transparent);color:#2e645a;font-family:var(--mono);background:#deeee8;padding:6px 9px;font-size:11px;font-weight:700}.empty-recent{border:1px dashed var(--line-strong);color:var(--muted);align-items:center;gap:12px;margin-top:22px;padding:24px;display:flex}.empty-recent span{color:var(--iron);font-size:32px}.empty-recent p{margin:0}.piece-list{gap:12px;margin-top:22px;display:grid}.piece-card{border:1px solid var(--line);background:#fffdf7;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px;display:grid;overflow:hidden}.piece-card-image{color:#fffdf7;width:96px;max-width:96px;height:96px;font-family:var(--display);background:radial-gradient(circle at 66% 28%,#d6ddc8 0 10%,#0000 11%),linear-gradient(145deg,#7b9b91,#355b59 65%,#243e3c);place-items:center;font-size:34px;display:grid}.piece-card h3,.piece-card p{margin:0}.piece-card-content{min-width:0}.piece-card h3{color:var(--ink);font-family:var(--display);letter-spacing:-.035em;font-size:23px}.piece-card-content p:not(.eyebrow){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.piece-card .eyebrow{margin-bottom:3px;font-size:9px}.piece-card .real-photo{object-fit:contain;background:#f4f0e7;width:96px;max-width:96px;height:96px;display:block}.gallery-grid .piece-card{grid-template-columns:72px minmax(0,1fr);gap:10px}.gallery-grid .piece-card-image,.gallery-grid .piece-card .real-photo{width:72px;max-width:72px;height:72px}.gallery-grid .card-arrow{display:none}.card-arrow{color:var(--iron);cursor:pointer;background:0 0;border:0;padding:0;font-size:24px}.detail-section{padding-top:clamp(36px,8vw,80px)}.detail-section h1{font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(38px,8vw,68px)}.detail-actions{flex-wrap:wrap;gap:12px;margin:28px 0;display:flex}.danger-button{border:1px solid var(--iron);min-height:48px;color:var(--iron);font:inherit;cursor:pointer;background:0 0;padding:0 16px;font-weight:700}.delete-confirm{border:1px solid var(--iron);background:#f8e9e3;flex-wrap:wrap;align-items:center;gap:10px;margin:-12px 0 24px;padding:14px;display:flex}.delete-confirm p{width:100%;margin:0;font-weight:700}.detail-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-photos figure{background:#f4f0e7;margin:0;padding:8px;position:relative}.remove-photo{z-index:1;color:#353530;background:#fffdf7;border:1px solid #353530;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:24px;line-height:1;display:grid;position:absolute;top:14px;right:14px}.remove-photo:hover{background:#f8e9e3}.detail-photos img{object-fit:contain;background:#fffdf7;width:100%;height:220px;display:block}.detail-photos figcaption{color:var(--muted);font:700 11px var(--mono);text-transform:capitalize;padding:8px 2px 0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.detail-grid section{background:#f4f0e7;padding:16px}.detail-grid h2{font-family:var(--display);margin:0 0 10px;font-size:22px}.detail-grid p{color:var(--muted);margin:6px 0}.dialog-backdrop{z-index:10;background:#282a2661;align-items:end;display:grid;position:fixed;inset:0}.piece-dialog{width:min(100%,680px);max-height:92svh;padding:26px 20px calc(26px + env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:#fffdf7;gap:20px;margin:0 auto;display:grid;overflow:auto;box-shadow:0 -18px 44px #282a262e}.library-dialog{width:min(100%,760px);max-height:92svh;padding:26px 20px calc(26px + env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:#fffdf7;margin:0 auto;overflow:auto;box-shadow:0 -18px 44px #282a262e}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dialog-heading h2{color:var(--ink);font-family:var(--display);letter-spacing:-.05em;margin:0;font-size:36px}.close-button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;font-size:28px;line-height:1}.field{color:var(--ink);gap:8px;font-weight:700;display:grid}.field span{font-size:14px}.field input,.field select,.field textarea{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--ink);background:#fffdf7;border-radius:0;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid color-mix(in srgb, var(--celadon) 55%, transparent);border-color:var(--celadon)}.editor-section{border-top:1px solid var(--line);gap:13px;padding-top:20px;display:grid}.section-kicker{align-items:baseline;gap:10px;display:flex}.section-kicker>span,.layer-number{color:var(--iron);font-family:var(--mono);font-size:11px;font-weight:700}.section-kicker h3{color:var(--ink);font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:24px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.layer-editor,.firing-editor{border-left:3px solid var(--celadon);background:#f4f0e7;gap:12px;padding:15px;display:grid;position:relative}.remove-row{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--iron);cursor:pointer;background:#fffdf7;border-radius:50%;font-size:19px;line-height:1;position:absolute;top:9px;right:9px}.add-row,.text-button{color:var(--iron);font-family:var(--mono);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:700}.photo-drop{border:1px dashed var(--line-strong);background:#f4f0e7;padding:15px}.photo-drop input{background:0 0;border:0;min-height:auto;padding:0}.photo-drop small{color:var(--muted);font-weight:500}.photo-drop img{object-fit:cover;width:100%;max-height:220px}.photo-list{gap:10px;display:grid}.photo-entry{background:#f4f0e7;grid-template-columns:86px 1fr;gap:12px;padding:10px;display:grid;position:relative}.photo-entry img{object-fit:cover;width:86px;height:86px}.photo-entry .remove-photo{top:8px;right:8px}.photo-entry>div{gap:8px;display:grid}.photo-entry strong{font-size:13px}.photo-entry .field{gap:4px}.photo-entry .field span{font-size:11px}.photo-entry .field select{min-height:36px;padding:6px 8px}.material-checklist{gap:8px;display:grid}.material-checklist label{background:#f4f0e7;align-items:center;gap:9px;min-height:40px;padding:8px 10px;font-size:14px;font-weight:700;display:flex}.material-checklist input{width:18px;height:18px;accent-color:var(--iron)}.real-photo{object-fit:cover}.library-section{border-top:1px solid var(--line);gap:12px;margin-top:25px;padding-top:20px;display:grid}.inline-form{grid-template-columns:1fr auto;gap:8px;display:grid}.inline-form input{border:1px solid var(--line-strong);background:#fffdf7;min-height:44px;padding:10px 12px}.inline-form button{color:#fffdf7;background:var(--iron);cursor:pointer;border:0;padding:0 13px;font-weight:700}.empty-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.preset-list,.glaze-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.preset-list li,.glaze-list li{border-bottom:1px solid var(--line);padding:10px 0}.preset-list li{justify-content:space-between;gap:10px;display:flex}.preset-list span{color:var(--muted)}.glaze-list li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:13px;display:grid}.glaze-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.glaze-list strong{color:var(--ink);font-family:var(--mono)}.glaze-list em{color:var(--iron);font-family:var(--mono);font-size:10px;font-style:normal}@media (width<=560px){.app-shell{padding-inline:16px}.wordmark{font-size:18px}.top-actions{gap:12px}.section-heading{align-items:flex-end}.sync-pill{margin-bottom:4px}.field-grid,.inline-form{grid-template-columns:1fr}.inline-form button{min-height:44px}.glaze-list li{grid-template-columns:minmax(0,1fr) auto}.gallery-grid,.detail-photos,.detail-grid{grid-template-columns:1fr}.glaze-list em{grid-column:1/-1}}
