:root{--color-brand: #079653;--color-brand-strong: #047840;--color-brand-soft: #e8f8ee;--color-accent: #10a8c5;--color-accent-strong: #08768b;--color-accent-soft: #e2f7fb;--color-text: #111a49;--color-text-muted: #53658e;--color-surface: #ffffff;--color-surface-muted: #f5f8fc;--color-canvas: #eef8fa;--color-border: #dce5ee;--color-focus: #1769e0;--color-disabled: #9aa8b8;--color-danger: #b42318;--color-danger-soft: #fef3f2;--color-on-brand: #ffffff;--color-on-dark: #ffffff;--color-hero: #e9faed;--color-yellow-soft: #fff6d9;--color-purple-soft: #f0eafd;--color-blue-soft: #e8f4ff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-md: .8rem;--radius-lg: 1.1rem;--radius-xl: 1.5rem;--radius-pill: 999px;--radius-round: 50%;--shadow-xs: 0 1px 3px rgb(17 26 73 / .08);--shadow-md: 0 10px 30px rgb(17 26 73 / .1);--shadow-lg: 0 18px 50px rgb(17 26 73 / .16);--border-subtle: 1px solid var(--color-border);--font-family: Inter, ui-rounded, "Avenir Next", system-ui, sans-serif;--font-size-sm: .875rem;--font-size-logo: 1.25rem;--tracking-tight: -.04em;--size-control: 2.75rem}*{box-sizing:border-box}html{min-width:20rem;background:var(--color-canvas)}body{margin:0;color:var(--color-text);background:var(--color-canvas);font-family:var(--font-family)}button,input,select{font:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}img{max-width:100%}app-app-home .recent{padding:var(--space-8) var(--space-4) 0}app-app-home .section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}app-app-home .section-heading h2{margin:0;font-size:clamp(1.25rem,3vw,1.75rem)}app-app-home .section-heading a{color:var(--color-focus);font-weight:700;text-decoration:none}app-app-home .artwork-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);margin-top:var(--space-4)}app-app-home .artwork{color:var(--color-text);font-size:var(--font-size-sm);font-weight:700;text-align:center;text-decoration:none}app-app-home .artwork img,app-app-home .skeleton{width:100%;aspect-ratio:1;border:var(--border-subtle);border-radius:var(--radius-md);object-fit:cover;background:var(--color-surface)}app-app-home .artwork span{display:block;margin-top:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-app-home .skeleton{background:var(--color-surface-muted);animation:parent-home-pulse 1.3s ease-in-out infinite}@keyframes parent-home-pulse{50%{opacity:.45}}@media(max-width:48rem){app-app-home .artwork-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:30rem){app-app-home .artwork-grid{grid-template-columns:repeat(2,1fr)}}app-game-setup{display:block;padding-bottom:var(--space-12)}app-game-setup .source-card:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}app-game-setup .pool-preview{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-muted)}app-game-setup .pool-preview>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}app-game-setup .pool-preview h4{margin:0}app-game-setup .pool-preview>div:first-child>span{color:var(--color-brand-strong);font-size:var(--font-size-sm);font-weight:800}app-game-setup .pool-preview p{margin:var(--space-3) 0 0;color:var(--color-text-muted);line-height:1.5}app-game-setup .preview-row,app-game-setup .preview-skeletons{display:flex;gap:var(--space-2);margin-top:var(--space-3);overflow-x:auto}app-game-setup .preview-row img,app-game-setup .preview-skeletons span{width:4.5rem;height:4.5rem;flex:0 0 auto;border:3px solid var(--color-surface);border-radius:var(--radius-md);background:var(--color-border);object-fit:cover}app-game-setup .preview-skeletons span{animation:game-setup-pulse 1.2s ease-in-out infinite}app-game-setup .preview-message button{min-height:var(--size-control);margin-top:var(--space-2);padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-on-dark);font-weight:800;cursor:pointer}app-game-setup .difficulty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-top:var(--space-6)}app-game-setup .difficulty-grid button{position:relative;display:grid;min-height:7.5rem;place-items:center;align-content:center;gap:0;padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);cursor:pointer}app-game-setup .difficulty-grid button.selected{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:var(--shadow-xs)}app-game-setup .difficulty-grid strong{font-size:1.8rem;line-height:1}app-game-setup .difficulty-grid span:not(.recommended){font-weight:800}app-game-setup .difficulty-grid small{margin-top:var(--space-2);color:var(--color-text-muted)}app-game-setup .recommended{position:absolute;top:0;left:50%;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-size:.7rem;font-weight:900;transform:translate(-50%,-50%)}app-game-setup .start-button{display:flex;width:100%;min-height:4.5rem;align-items:center;justify-content:center;gap:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-brand);color:var(--color-on-brand);font-size:1.25rem;font-weight:900;cursor:pointer}app-game-setup .start-button span:nth-child(2){min-width:10rem}app-game-setup .start-button:hover:not(:disabled){background:var(--color-brand-strong);transform:translateY(-1px)}app-game-setup .start-button:disabled{background:var(--color-disabled);cursor:progress}app-game-setup .privacy-note{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}app-game-setup .setup-state{margin:0 var(--space-4) var(--space-4);padding:var(--space-12);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center}app-game-setup .setup-state h3{margin:var(--space-4) 0 var(--space-2);font-size:1.6rem}app-game-setup .setup-state p{color:var(--color-text-muted)}app-game-setup .setup-state button,app-game-setup .setup-state a{display:inline-flex;min-height:var(--size-control);align-items:center;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-weight:800;text-decoration:none;cursor:pointer}app-game-setup .error-state,app-game-setup .error-panel{background:var(--color-danger-soft)}app-game-setup .error-panel{margin:0;padding:var(--space-4);border-radius:var(--radius-lg);color:var(--color-danger);text-align:center}app-game-setup .state-icon{display:grid;width:3rem;height:3rem;margin:0 auto;place-items:center;border-radius:var(--radius-round);background:var(--color-brand-soft);color:var(--color-brand);font-size:2rem}app-game-setup .spinner{display:inline-block;width:2.5rem;height:2.5rem;border:4px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-round);animation:game-setup-spin .8s linear infinite}@keyframes game-setup-spin{to{transform:rotate(1turn)}}@keyframes game-setup-pulse{50%{opacity:.45}}@media(max-width:48rem){app-game-setup .difficulty-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-2)}app-game-setup .privacy-note{padding:0 var(--space-4) var(--space-3)}}@page{size:A4 portrait;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{html,body{margin:0;padding:0;background:var(--color-surface)}}app-artwork-library{@keyframes library-pulse{50%{opacity:.45}}@keyframes library-spin{to{transform:rotate(1turn)}}display:block;padding-bottom:var(--space-12)}app-artwork-library .library-shell{overflow:hidden;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}app-artwork-library .library-hero{position:relative;display:flex;min-height:14rem;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding:var(--space-8) clamp(var(--space-6),5vw,var(--space-12));overflow:hidden;background:var(--color-purple-soft)}app-artwork-library .hero-copy,app-artwork-library .upload-link{position:relative;z-index:1}app-artwork-library .back-link{display:inline-flex;min-height:var(--size-control);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-weight:800;text-decoration:none}app-artwork-library .eyebrow{margin:var(--space-4) 0 var(--space-1);color:var(--color-brand-strong);font-size:var(--font-size-sm);font-weight:900;letter-spacing:.08em;text-transform:uppercase}app-artwork-library h2{margin:0;font-size:clamp(2.35rem,5vw,4rem);line-height:1;letter-spacing:var(--tracking-tight)}app-artwork-library .lede{max-width:38rem;margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:1.1rem;line-height:1.5}app-artwork-library .upload-link{display:inline-flex;min-height:3.5rem;align-items:center;justify-content:center;gap:var(--space-2);flex:0 0 auto;padding:0 var(--space-6);border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-weight:900;text-decoration:none;box-shadow:var(--shadow-xs)}app-artwork-library .upload-link:hover{background:var(--color-brand-strong);transform:translateY(-1px)}app-artwork-library .upload-link span:first-child{font-size:1.4rem}app-artwork-library .hero-doodle{position:absolute;inset:0;color:var(--color-accent);pointer-events:none}app-artwork-library .hero-doodle span{position:absolute;font-size:2rem;transform:rotate(-12deg)}app-artwork-library .hero-doodle span:first-child{top:2rem;right:16%}app-artwork-library .hero-doodle span:nth-child(2){top:2.5rem;right:4%;font-size:3.5rem;transform:rotate(12deg)}app-artwork-library .hero-doodle span:last-child{bottom:1.2rem;left:52%;color:var(--color-brand);transform:rotate(10deg)}app-artwork-library .library-content{padding:clamp(var(--space-5),4vw,var(--space-8))}app-artwork-library .gallery-toolbar{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-6);border-bottom:var(--border-subtle)}app-artwork-library .filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}app-artwork-library .filters button{min-height:var(--size-control);padding:0 var(--space-5);border:var(--border-subtle);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-weight:800;cursor:pointer}app-artwork-library .filters button:hover{border-color:var(--color-brand);color:var(--color-brand-strong)}app-artwork-library .filters button.selected{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}app-artwork-library .collection-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-6) 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}app-artwork-library .collection-summary p{margin:0}app-artwork-library .collection-summary strong{color:var(--color-text);font-size:1.1rem}app-artwork-library .collection-summary p:last-child span{color:var(--color-brand)}app-artwork-library .artwork-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-6)}app-artwork-library .collection-summary+.artwork-grid{margin-top:0}app-artwork-library .artwork-card{min-width:0;overflow:hidden;border:var(--border-subtle);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:transform .18s ease,box-shadow .18s ease}app-artwork-library .artwork-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}app-artwork-library .artwork-card.needs-attention{border-color:var(--color-danger)}app-artwork-library .artwork-image{position:relative;display:block;overflow:hidden;background:var(--color-surface-muted)}app-artwork-library .artwork-image img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .25s ease}app-artwork-library .artwork-card:hover .artwork-image img{transform:scale(1.025)}app-artwork-library .status{position:absolute;right:var(--space-3);bottom:var(--space-3);display:inline-flex;min-height:2rem;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:.75rem;font-weight:900;box-shadow:var(--shadow-xs)}app-artwork-library .status>span{display:grid;width:1rem;height:1rem;place-items:center;border-radius:var(--radius-round);background:var(--color-brand);color:var(--color-on-brand);font-size:.65rem}app-artwork-library .status.failed{background:var(--color-danger-soft);color:var(--color-danger)}app-artwork-library .status.failed>span{background:var(--color-danger)}app-artwork-library .artwork-details{padding:var(--space-5)}app-artwork-library .artwork-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}app-artwork-library .artwork-title p{margin:0 0 var(--space-1);color:var(--color-brand-strong);font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}app-artwork-library .artwork-title h3{margin:0;overflow:hidden;font-size:1.2rem;text-overflow:ellipsis;white-space:nowrap}app-artwork-library .card-doodle{color:var(--color-accent);font-size:1.3rem}app-artwork-library .artwork-details time{display:block;margin:var(--space-3) 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}app-artwork-library .view-link{display:inline-flex;min-height:var(--size-control);align-items:center;gap:var(--space-2);color:var(--color-focus);font-weight:900;text-decoration:none}app-artwork-library .view-link span{transition:transform .18s ease}app-artwork-library .view-link:hover span{transform:translate(var(--space-1))}app-artwork-library .load-more{display:flex;min-height:var(--size-control);align-items:center;justify-content:center;gap:var(--space-2);margin:var(--space-8) auto 0;padding:0 var(--space-6);border:var(--border-subtle);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-weight:900;cursor:pointer}app-artwork-library .load-more:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand-strong)}app-artwork-library .load-more:disabled{color:var(--color-disabled);cursor:progress}app-artwork-library .button-spinner{width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-round);animation:library-spin .8s linear infinite}app-artwork-library .library-state{margin:var(--space-8);padding:clamp(var(--space-8),7vw,5rem) var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface-muted);text-align:center}app-artwork-library .library-state h3{margin:var(--space-5) 0 var(--space-2);font-size:clamp(1.5rem,4vw,2rem)}app-artwork-library .library-state p{max-width:34rem;margin:0 auto var(--space-5);color:var(--color-text-muted);line-height:1.6}app-artwork-library .library-state a,app-artwork-library .library-state button{display:inline-flex;min-height:var(--size-control);align-items:center;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-weight:900;text-decoration:none;cursor:pointer}app-artwork-library .error-state{background:var(--color-danger-soft)}app-artwork-library .error-state button{background:var(--color-danger)}app-artwork-library .artwork-error,app-artwork-library .artwork-empty{margin:var(--space-8) 0 0}app-artwork-library .state-icon{display:grid;width:3.25rem;height:3.25rem;margin:0 auto;place-items:center;border-radius:var(--radius-round);background:var(--color-danger);color:var(--color-on-dark);font-size:1.6rem;font-weight:900}app-artwork-library .paper-stack{display:grid;width:4.5rem;height:4.5rem;margin:0 auto;place-items:center;border:3px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-accent);font-size:2rem;box-shadow:.45rem .45rem 0 var(--color-brand-soft);transform:rotate(-4deg)}app-artwork-library .toolbar-skeleton{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:var(--border-subtle)}app-artwork-library .toolbar-skeleton span{width:16rem;height:var(--size-control);border-radius:var(--radius-pill);background:var(--color-surface-muted);animation:library-pulse 1.2s ease-in-out infinite}app-artwork-library .toolbar-skeleton span:last-child{width:22rem}app-artwork-library .artwork-skeleton{overflow:hidden;border:var(--border-subtle);border-radius:var(--radius-xl)}app-artwork-library .artwork-skeleton>span{display:block;aspect-ratio:4 / 3;background:var(--color-surface-muted);animation:library-pulse 1.2s ease-in-out infinite}app-artwork-library .artwork-skeleton div{display:grid;gap:var(--space-2);padding:var(--space-5)}app-artwork-library .artwork-skeleton i{width:35%;height:.7rem;border-radius:var(--radius-pill);background:var(--color-surface-muted);animation:library-pulse 1.2s ease-in-out infinite}app-artwork-library .artwork-skeleton i:nth-child(2){width:75%;height:1.1rem}app-artwork-library .artwork-skeleton i:last-child{width:55%}@media(max-width:48rem){app-artwork-library .library-hero{min-height:auto;align-items:flex-start;flex-direction:column;padding:var(--space-6)}app-artwork-library .upload-link{min-height:var(--size-control)}app-artwork-library .hero-doodle{display:none}app-artwork-library .gallery-toolbar{align-items:stretch;flex-direction:column}app-artwork-library .artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}app-artwork-library .artwork-details{padding:var(--space-4)}}@media(max-width:32rem){app-artwork-library .library-content{padding:var(--space-4)}app-artwork-library .artwork-grid{grid-template-columns:1fr}app-artwork-library .collection-summary{align-items:flex-start;flex-direction:column;gap:var(--space-2)}app-artwork-library .library-state{margin:var(--space-4);padding:var(--space-10) var(--space-5)}app-artwork-library .artwork-error,app-artwork-library .artwork-empty{margin:var(--space-6) 0 0}app-artwork-library .toolbar-skeleton span:last-child{display:none}}app-artwork-upload{display:block;padding-bottom:var(--space-12)}app-artwork-upload .upload-shell{overflow:hidden;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}app-artwork-upload .flow-hero{position:relative;min-height:13rem;padding:var(--space-8) clamp(var(--space-6),5vw,var(--space-12));overflow:hidden;background:var(--color-blue-soft)}app-artwork-upload .flow-hero>div:first-child{position:relative;z-index:1;max-width:48rem}app-artwork-upload .back-link{display:inline-flex;min-height:var(--size-control);align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-weight:800;text-decoration:none}app-artwork-upload .eyebrow{margin:var(--space-4) 0 var(--space-1);color:var(--color-brand-strong);font-size:var(--font-size-sm);font-weight:900;letter-spacing:.08em;text-transform:uppercase}app-artwork-upload h2{margin:0;font-size:clamp(2.35rem,5vw,4rem);line-height:1;letter-spacing:var(--tracking-tight)}app-artwork-upload .lede{max-width:42rem;margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:1.1rem;line-height:1.5}app-artwork-upload .hero-art{position:absolute;inset:0;color:var(--color-accent);pointer-events:none}app-artwork-upload .hero-art span{position:absolute;font-size:2rem;transform:rotate(-12deg)}app-artwork-upload .hero-art span:first-child{top:2rem;right:18%}app-artwork-upload .hero-art span:nth-child(2){right:7%;bottom:1.5rem;font-size:4rem;color:var(--color-brand);transform:rotate(8deg)}app-artwork-upload .hero-art span:last-child{top:2rem;right:4%;font-size:2.5rem;transform:rotate(14deg)}app-artwork-upload .upload-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);gap:var(--space-5);padding:clamp(var(--space-5),4vw,var(--space-8))}app-artwork-upload .upload-main{display:grid;gap:var(--space-4)}app-artwork-upload .upload-step{padding:var(--space-6);border:var(--border-subtle);border-radius:var(--radius-xl);background:var(--color-surface)}app-artwork-upload .step-heading{display:flex;align-items:flex-start;gap:var(--space-3)}app-artwork-upload .step-heading>span{display:grid;width:2.25rem;height:2.25rem;place-items:center;flex:0 0 auto;border-radius:var(--radius-round);background:var(--color-focus);color:var(--color-on-dark);font-weight:900}app-artwork-upload .step-heading h3{margin:var(--space-1) 0 0;font-size:1.35rem}app-artwork-upload .step-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}app-artwork-upload input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}app-artwork-upload .file-picker{display:flex;min-height:12rem;align-items:center;justify-content:center;gap:var(--space-5);margin-top:var(--space-5);padding:var(--space-6);border:2px dashed var(--color-accent);border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-text);text-align:center;cursor:pointer}app-artwork-upload .file-picker:focus-within{outline:3px solid var(--color-focus);outline-offset:3px}app-artwork-upload .file-picker:hover{border-color:var(--color-brand);background:var(--color-brand-soft)}app-artwork-upload .file-picker.has-file{justify-content:flex-start;min-height:8rem;text-align:left}app-artwork-upload .file-picker img{width:7rem;height:7rem;flex:0 0 auto;border:3px solid var(--color-surface);border-radius:var(--radius-md);background:var(--color-surface);object-fit:cover;box-shadow:var(--shadow-xs)}app-artwork-upload .upload-icon{display:grid;width:3.5rem;height:3.5rem;place-items:center;flex:0 0 auto;border-radius:var(--radius-round);background:var(--color-surface);color:var(--color-accent-strong);font-size:2rem;box-shadow:var(--shadow-xs)}app-artwork-upload .file-copy{display:grid;gap:var(--space-2)}app-artwork-upload .file-copy strong{font-size:1.05rem}app-artwork-upload .file-copy small{color:var(--color-text-muted);line-height:1.4}app-artwork-upload .photo-guide{align-self:start;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-yellow-soft)}app-artwork-upload .guide-illustration{position:relative;width:11rem;height:8rem;margin:0 auto var(--space-5);border:3px solid var(--color-text);border-radius:var(--radius-lg);background:var(--color-surface);transform:rotate(-2deg)}app-artwork-upload .guide-illustration>span{position:absolute;right:-.65rem;bottom:-.65rem;display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:var(--radius-round);background:var(--color-brand);color:var(--color-on-brand);font-weight:900}app-artwork-upload .guide-illustration i{position:absolute;width:.75rem;height:.75rem;border:2px solid var(--color-accent)}app-artwork-upload .guide-illustration i:nth-of-type(1){top:.65rem;left:.65rem;border-right:0;border-bottom:0}app-artwork-upload .guide-illustration i:nth-of-type(2){top:.65rem;right:.65rem;border-left:0;border-bottom:0}app-artwork-upload .guide-illustration i:nth-of-type(3){bottom:.65rem;left:.65rem;border-top:0;border-right:0}app-artwork-upload .guide-illustration i:nth-of-type(4){right:.65rem;bottom:.65rem;border-top:0;border-left:0}app-artwork-upload .guide-illustration b{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-accent);font-size:2.5rem}app-artwork-upload .photo-guide .eyebrow{margin-top:0}app-artwork-upload .photo-guide h3{margin:var(--space-1) 0 var(--space-4);font-size:1.4rem}app-artwork-upload .photo-guide ul{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}app-artwork-upload .photo-guide li{display:flex;align-items:center;gap:var(--space-2);font-weight:750}app-artwork-upload .photo-guide li span{display:grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:var(--radius-round);background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:.75rem}app-artwork-upload .privacy-note{margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:var(--border-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5}app-artwork-upload .privacy-note span{color:var(--color-brand)}app-artwork-upload .upload-button{display:flex;width:100%;min-height:4.25rem;align-items:center;justify-content:center;gap:var(--space-4);border:0;border-radius:var(--radius-lg);background:var(--color-brand);color:var(--color-on-brand);font-size:1.05rem;font-weight:900;cursor:pointer}app-artwork-upload .upload-button span:last-child{margin-left:auto;padding-right:var(--space-2)}app-artwork-upload .upload-button span:first-child{margin-right:auto;padding-left:var(--space-2)}app-artwork-upload .upload-button:hover:not(:disabled){background:var(--color-brand-strong);transform:translateY(-1px)}app-artwork-upload .upload-button:disabled{background:var(--color-disabled);cursor:not-allowed}app-artwork-upload .error-panel{margin:0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-danger-soft);color:var(--color-danger);text-align:center}app-artwork-upload .progress-panel{margin:0 clamp(var(--space-5),4vw,var(--space-8)) var(--space-8);padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-accent-soft)}app-artwork-upload .progress-heading{display:flex;align-items:center;gap:var(--space-4)}app-artwork-upload .progress-heading h3,app-artwork-upload .progress-heading p{margin:0}app-artwork-upload .progress-heading p,app-artwork-upload .progress-panel small{color:var(--color-text-muted)}app-artwork-upload .progress-panel progress{width:100%;height:.7rem;margin:var(--space-4) 0 var(--space-2);accent-color:var(--color-brand)}app-artwork-upload .spinner,app-artwork-upload .result-spinner{display:inline-block;width:2.25rem;height:2.25rem;flex:0 0 auto;border:4px solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-round);animation:artwork-flow-spin .8s linear infinite}app-artwork-upload .flow-state{margin:var(--space-8);padding:clamp(var(--space-8),7vw,5rem) var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface-muted);text-align:center}app-artwork-upload .flow-state h3{margin:var(--space-4) 0 var(--space-2);font-size:1.7rem}app-artwork-upload .flow-state p{margin:0 auto var(--space-5);color:var(--color-text-muted)}app-artwork-upload .flow-state a,app-artwork-upload .flow-state button{display:inline-flex;min-height:var(--size-control);align-items:center;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--color-on-brand);font-weight:900;text-decoration:none;cursor:pointer}app-artwork-upload .state-icon{display:grid;width:3.25rem;height:3.25rem;margin:0 auto;place-items:center;border-radius:var(--radius-round);background:var(--color-danger);color:var(--color-on-dark);font-size:1.5rem;font-weight:900}app-artwork-upload .add-icon{background:var(--color-brand)}app-artwork-upload .error-state{background:var(--color-danger-soft)}app-artwork-upload .error-state button{background:var(--color-danger)}@media(max-width:48rem){app-artwork-upload .flow-hero{min-height:auto;padding:var(--space-6)}app-artwork-upload .hero-art{display:none}app-artwork-upload .upload-layout{grid-template-columns:1fr;padding:var(--space-4)}app-artwork-upload .photo-guide{order:-1}app-artwork-upload .guide-illustration{display:none}app-artwork-upload .photo-guide ul{grid-template-columns:1fr}app-artwork-upload .flow-state{margin:var(--space-4)}app-artwork-upload .progress-panel{margin:0 var(--space-4) var(--space-4)}}@media(max-width:30rem){app-artwork-upload .upload-step,app-artwork-upload .photo-guide{padding:var(--space-5)}app-artwork-upload .file-picker,app-artwork-upload .file-picker.has-file{align-items:center;flex-direction:column;text-align:center}app-artwork-upload .file-picker img{width:100%;height:10rem}app-artwork-upload .upload-button{font-size:1rem}}app-artwork-result{display:block;padding-bottom:var(--space-12)}app-artwork-result .result-shell{overflow:hidden;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}app-artwork-result .result-back{display:inline-flex;min-height:var(--size-control);align-items:center;gap:var(--space-2);margin:var(--space-5) var(--space-8) 0;color:var(--color-text-muted);font-weight:800;text-decoration:none}app-artwork-result .result-heading{position:relative;display:flex;min-height:13rem;align-items:center;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-3);padding:var(--space-8) clamp(var(--space-6),5vw,var(--space-12));overflow:hidden;background:var(--color-hero)}app-artwork-result .result-heading.attention-heading{background:var(--color-yellow-soft)}app-artwork-result .result-heading>div{position:relative;z-index:1;max-width:50rem}app-artwork-result .result-badge{display:inline-flex;min-height:2rem;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-brand-strong);font-size:.75rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}app-artwork-result .result-badge span{display:grid;width:1.1rem;height:1.1rem;place-items:center;border-radius:var(--radius-round);background:var(--color-brand);color:var(--color-on-brand);font-size:.7rem}app-artwork-result .result-badge.retained{color:var(--color-danger)}app-artwork-result .result-badge.retained span{background:var(--color-danger)}app-artwork-result .result-heading h2{margin:0;font-size:clamp(2.4rem,5vw,4rem);line-height:1;letter-spacing:var(--tracking-tight)}app-artwork-result .result-heading p:last-child{max-width:44rem;margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:1.05rem;line-height:1.55}app-artwork-result .result-doodle{color:var(--color-accent);font-size:5rem;transform:rotate(12deg)}app-artwork-result .result-content{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,1fr);gap:var(--space-8);padding:clamp(var(--space-5),4vw,var(--space-8))}app-artwork-result .preview-frame{display:grid;min-height:26rem;place-items:center;padding:var(--space-6);border-radius:var(--radius-xl);background-color:var(--color-surface-muted);background-image:linear-gradient(45deg,var(--color-border) 25%,transparent 25%),linear-gradient(-45deg,var(--color-border) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-border) 75%),linear-gradient(-45deg,transparent 75%,var(--color-border) 75%);background-position:0 0,0 var(--space-3),var(--space-3) calc(var(--space-3) * -1),calc(var(--space-3) * -1) 0;background-size:var(--space-6) var(--space-6)}app-artwork-result .preview-frame.original{background:var(--color-surface-muted)}app-artwork-result .preview-frame img{display:block;max-width:100%;max-height:34rem;object-fit:contain}app-artwork-result .preview-column>p{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}app-artwork-result .preview-column>p span{color:var(--color-brand)}app-artwork-result .result-next{align-self:center;padding:var(--space-6);border:var(--border-subtle);border-radius:var(--radius-xl);background:var(--color-surface)}app-artwork-result .result-next .eyebrow{margin:0 0 var(--space-2);color:var(--color-brand-strong);font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}app-artwork-result .result-next h3{margin:0;font-size:1.6rem;line-height:1.15}app-artwork-result .result-next>p:not(.eyebrow){margin:var(--space-3) 0 var(--space-5);color:var(--color-text-muted);line-height:1.6}app-artwork-result .primary-action{display:flex;min-height:3.75rem;align-items:center;justify-content:center;gap:var(--space-3);padding:0 var(--space-5);border-radius:var(--radius-lg);background:var(--color-brand);color:var(--color-on-brand);font-weight:900;text-decoration:none}app-artwork-result .primary-action span:last-child{margin-left:auto}app-artwork-result .primary-action span:first-child{margin-right:auto}app-artwork-result .primary-action:hover{background:var(--color-brand-strong);transform:translateY(-1px)}app-artwork-result .retry-action{background:var(--color-text)}app-artwork-result .secondary-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-5)}app-artwork-result .secondary-actions a,app-artwork-result .gallery-action{display:inline-flex;min-height:var(--size-control);align-items:center;color:var(--color-focus);font-weight:800}app-artwork-result .result-next ol{display:grid;gap:var(--space-3);margin:var(--space-5) 0;padding:0;list-style:none}app-artwork-result .result-next li{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted)}app-artwork-result .result-next li span{display:grid;width:1.8rem;height:1.8rem;place-items:center;flex:0 0 auto;border-radius:var(--radius-round);background:var(--color-yellow-soft);color:var(--color-text);font-weight:900}app-artwork-result .gallery-action{margin-top:var(--space-4)}app-artwork-result .result-loading,app-artwork-result .result-error{padding:clamp(var(--space-12),10vw,7rem) var(--space-6);text-align:center}app-artwork-result .result-loading h2,app-artwork-result .result-error h2{margin:var(--space-5) 0 var(--space-2);font-size:2rem}app-artwork-result .result-loading p,app-artwork-result .result-error p{color:var(--color-text-muted)}app-artwork-result .result-spinner{display:inline-block}app-artwork-result .result-error>span{display:grid;width:3.25rem;height:3.25rem;margin:0 auto;place-items:center;border-radius:var(--radius-round);background:var(--color-danger);color:var(--color-on-dark);font-size:1.5rem;font-weight:900}app-artwork-result .result-error button,app-artwork-result .result-error a{display:inline-flex;min-height:var(--size-control);align-items:center;margin:var(--space-3);padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-dark);font-weight:900;text-decoration:none;cursor:pointer}app-artwork-result .result-error a{background:var(--color-surface-muted);color:var(--color-text)}@media(max-width:48rem){app-artwork-result .result-back{margin:var(--space-4) var(--space-5) 0}app-artwork-result .result-heading{min-height:auto;padding:var(--space-6)}app-artwork-result .result-doodle{display:none}app-artwork-result .result-content{grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-4)}app-artwork-result .preview-frame{min-height:18rem}app-artwork-result .result-next{padding:var(--space-5)}}@keyframes artwork-flow-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){app-artwork-upload .spinner,app-artwork-result .result-spinner{animation:none}}
