:root{--ink:#181425;--paper:#fff6d3;--panel:#fffdf0;--muted:#756b7b;--pink:#e84a7f;--yellow:#ffd866;--green:#55b67a;--blue:#53a7d8;--shadow:#9b7895}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:"DM Mono",monospace;background-image:linear-gradient(rgba(24,20,37,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(24,20,37,.045) 1px,transparent 1px);background-size:8px 8px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.skip{position:absolute;top:-60px;left:12px;z-index:99;background:var(--yellow);padding:10px;border:3px solid var(--ink)}.skip:focus{top:12px}.topbar{position:sticky;top:0;z-index:20;height:78px;display:flex;align-items:center;gap:24px;padding:0 22px;background:var(--panel);border-bottom:4px solid var(--ink);box-shadow:0 4px 0 var(--shadow)}.logo{display:flex;align-items:center;gap:9px;text-decoration:none;font:700 14px/1.02 "Pixelify Sans",sans-serif}.logo-gem{display:grid;place-items:center;width:36px;height:36px;background:var(--pink);color:#fff;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.status-chip{margin-left:auto;font:600 10px "Pixelify Sans",sans-serif}.status-dot{display:inline-block;width:8px;height:8px;margin-right:6px;background:var(--green);border:2px solid var(--ink)}.top-actions{display:flex;gap:8px}.pixel-button{min-height:40px;padding:8px 13px;border:3px solid var(--ink);border-radius:0;background:var(--yellow);box-shadow:4px 4px 0 var(--ink);font:700 12px "Pixelify Sans",sans-serif;text-transform:uppercase}.pixel-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.pixel-button:active{transform:translate(4px,4px);box-shadow:none}.pixel-button.compact{min-width:40px;padding:6px}.pixel-button.pink{background:var(--pink);color:#fff}.pixel-button.green{background:var(--green)}.pixel-button.blue{background:var(--blue)}.pixel-button.ghost{background:var(--panel)}.pixel-button:disabled{opacity:.35;cursor:not-allowed;transform:none}.app-frame{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{position:sticky;top:78px;height:calc(100vh - 78px);display:flex;flex-direction:column;padding:18px 14px;background:#2b2640;color:#fff;border-right:4px solid #181425}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:9px;padding:9px 10px;text-decoration:none;border:2px solid transparent;font:600 12px "Pixelify Sans",sans-serif}.sidebar nav a span{width:20px;color:var(--yellow);font-size:17px;text-align:center}.sidebar nav a b{margin-left:auto;min-width:18px;padding:1px 4px;background:var(--pink);border:2px solid #fff;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--pink)}.house-ad{margin-top:auto;padding:13px;background:var(--yellow);color:#181425;border:3px solid #181425;box-shadow:5px 5px 0 var(--pink);text-decoration:none}.house-ad span,.kicker{display:block;margin-bottom:7px;font:700 9px "Pixelify Sans",sans-serif}.house-ad strong{display:block;font:700 16px/1.05 "Pixelify Sans",sans-serif}.house-ad small{display:block;margin-top:11px;font-size:9px}#workspace{min-width:0;padding:26px}.view-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.view-head h1{margin:0;font:700 clamp(28px,4vw,48px)/.9 "Pixelify Sans",sans-serif;letter-spacing:-.045em}.view-head p{max-width:530px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.toolbar{display:flex;flex-wrap:wrap;gap:9px}.pixel-select,.pixel-input{min-height:40px;padding:8px 10px;background:var(--panel);border:3px solid var(--ink);border-radius:0;box-shadow:3px 3px 0 var(--shadow);font-size:11px}.palette-stage{height:calc(100vh - 223px);min-height:430px;display:flex;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:hidden}.swatch{position:relative;flex:1;min-width:70px;display:flex;flex-direction:column;justify-content:space-between;padding:14px;color:var(--swatch-ink);background:var(--swatch);border-right:3px solid var(--ink);transition:flex .18s}.swatch:last-child{border-right:0}.swatch:hover{flex:1.08}.swatch-top,.swatch-actions{display:flex;justify-content:space-between;gap:5px}.swatch-icon{width:31px;height:31px;display:grid;place-items:center;padding:0;border:2px solid currentColor;background:transparent;color:inherit;box-shadow:2px 2px 0 currentColor}.swatch-icon:hover,.swatch-icon.on{background:var(--swatch-ink);color:var(--swatch)}.swatch-actions{justify-content:flex-start;opacity:0}.swatch:hover .swatch-actions,.swatch:focus-within .swatch-actions{opacity:1}.hex-edit{width:100%;padding:0;border:0;border-bottom:3px solid currentColor;background:transparent;color:inherit;font:700 clamp(15px,1.8vw,23px) "Pixelify Sans",sans-serif;text-transform:uppercase}.swatch-name{display:block;margin:7px 0 11px;font:600 10px "Pixelify Sans",sans-serif}.swatch-color-input{position:absolute;width:1px;height:1px;opacity:0}.generate-bar{display:flex;justify-content:center;margin-top:18px}.generate-main{min-width:250px}.panel{padding:20px;background:var(--panel);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.palette-card{padding:10px;background:var(--panel);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--shadow)}.palette-card:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--shadow)}.mini-swatches{height:88px;display:flex;border:2px solid var(--ink)}.mini-swatches i{flex:1}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px}.card-meta strong{font:700 13px "Pixelify Sans",sans-serif}.card-meta button{padding:6px;border:2px solid var(--ink);background:var(--yellow);font:600 9px "Pixelify Sans",sans-serif}.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.tag{padding:7px 9px;border:2px solid var(--ink);background:var(--panel);font:600 10px "Pixelify Sans",sans-serif}.tag.active{background:var(--pink);color:#fff}.dropzone{min-height:330px;display:grid;place-items:center;padding:30px;border:4px dashed var(--ink);background:repeating-linear-gradient(45deg,var(--panel),var(--panel) 10px,var(--paper) 10px,var(--paper) 20px);text-align:center}.dropzone.drag{background:#ddf1da}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{display:block;font:700 24px "Pixelify Sans",sans-serif}.dropzone span{display:block;font-size:52px}.dropzone small{display:block;margin-top:8px}.image-work{display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.image-canvas-wrap{position:relative;min-height:380px;background:#ddd;border:4px solid var(--ink);overflow:hidden}.image-canvas-wrap canvas{width:100%;height:100%;display:block;object-fit:contain;cursor:crosshair}.picked-list{display:grid;gap:9px}.picked-color{display:flex;align-items:center;gap:9px;padding:8px;border:3px solid var(--ink);background:var(--panel)}.picked-color i{width:38px;height:38px;border:2px solid var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.control-stack{display:grid;gap:14px}.control-stack label{display:grid;gap:6px;font:600 11px "Pixelify Sans",sans-serif}.color-field{height:58px;width:100%;border:3px solid var(--ink);padding:2px;background:var(--panel)}.contrast-preview{min-height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;border:4px solid var(--ink);text-align:center}.ratio{font:700 65px/1 "Pixelify Sans",sans-serif}.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.badge{padding:7px;border:2px solid currentColor;font:600 10px "Pixelify Sans",sans-serif}.badge.pass{background:#dff4d8;color:#174729}.badge.fail{background:#ffd3d7;color:#7f1937}.visual-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.mockup{min-height:440px;border:4px solid var(--ink);overflow:hidden}.mock-site{display:grid;grid-template-columns:1.2fr .8fr;min-height:440px}.mock-copy{padding:46px}.mock-copy h2{max-width:560px;margin:50px 0 18px;font:700 clamp(38px,6vw,75px)/.88 "Pixelify Sans",sans-serif}.mock-art{position:relative;overflow:hidden}.pixel-orb{position:absolute;width:170px;height:170px;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.pixel-orb.a{left:12%;top:16%}.pixel-orb.b{right:8%;bottom:8%}.mock-poster{min-height:440px;display:flex;flex-direction:column;justify-content:space-between;padding:35px}.mock-poster h2{max-width:750px;margin:0;font:700 clamp(45px,8vw,100px)/.8 "Pixelify Sans",sans-serif}.mock-ui{min-height:440px;padding:28px}.mock-window{max-width:700px;margin:auto;border:4px solid var(--ink);background:var(--panel)}.mock-window-bar{height:34px;border-bottom:4px solid var(--ink)}.mock-window-body{display:grid;grid-template-columns:180px 1fr;min-height:300px}.mock-window-body aside{border-right:4px solid var(--ink)}.mock-window-body div{padding:30px}.scale{display:grid;grid-template-columns:repeat(11,1fr);border:4px solid var(--ink)}.scale button{min-height:115px;border:0;border-right:2px solid var(--ink);font-size:9px}.scale button:last-child{border-right:0}.data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.data-cell{padding:12px;border:3px solid var(--ink);background:var(--panel)}.data-cell span{display:block;color:var(--muted);font-size:9px}.data-cell strong{font:700 13px "Pixelify Sans",sans-serif}.gradient-preview{min-height:350px;display:grid;place-items:center;border:4px solid var(--ink)}.gradient-preview code{max-width:90%;padding:12px;background:rgba(255,255,255,.8);color:#181425;border:3px solid #181425;font-size:11px}.gradient-stops{display:flex;gap:8px}.gradient-stops label{flex:1}.saved-empty{padding:60px 20px;border:4px dashed var(--ink);text-align:center}.saved-empty span{display:block;font-size:55px}.saved-empty strong{font:700 22px "Pixelify Sans",sans-serif}.collage-canvas{width:min(100%,650px);aspect-ratio:1;display:block;margin:auto;border:4px solid var(--ink);background:var(--panel)}.toast{position:fixed;z-index:80;left:50%;bottom:24px;transform:translate(-50%,90px);opacity:0;padding:11px 15px;background:#181425;color:#fff;border:3px solid #fff;box-shadow:5px 5px 0 var(--pink);font:600 11px "Pixelify Sans",sans-serif;transition:.18s}.toast.show{transform:translate(-50%,0);opacity:1}.pixel-dialog{width:min(610px,calc(100% - 30px));padding:24px;background:var(--paper);color:var(--ink);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--pink)}.pixel-dialog::backdrop{background:rgba(24,20,37,.75)}.pixel-dialog h2{margin:0 0 20px;font:700 34px "Pixelify Sans",sans-serif}.dialog-x{float:right;border:0;background:transparent;font-size:28px}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.export-grid button{min-height:75px;border:3px solid var(--ink);background:var(--panel);box-shadow:3px 3px 0 var(--ink);font:700 12px "Pixelify Sans",sans-serif}.export-grid button:hover{background:var(--yellow)}body.dark{--paper:#181425;--panel:#2b2640;--ink:#fff6d3;--muted:#c6b8c5;--shadow:#5b4965;background-color:var(--paper)}body.dark .sidebar{background:#12101c;border-color:#fff6d3}body.dark .pixel-button,body.dark .pixel-select,body.dark .pixel-input,body.dark .card-meta button,body.dark .tag{color:#181425}@media(max-width:900px){.app-frame{grid-template-columns:1fr}.sidebar{position:sticky;top:78px;z-index:15;width:100%;height:auto;display:block;padding:8px;border-right:0;border-bottom:4px solid var(--ink);overflow-x:auto}.sidebar nav{display:flex;width:max-content}.sidebar nav a{white-space:nowrap}.house-ad{display:none}#workspace{padding:18px}.palette-stage{height:auto;min-height:0;display:grid;grid-template-columns:1fr}.swatch{min-height:125px;border-right:0;border-bottom:3px solid var(--ink)}.swatch:last-child{border-bottom:0}.swatch-actions{opacity:1}.card-grid{grid-template-columns:repeat(2,1fr)}.image-work,.two-col{grid-template-columns:1fr}.mock-site{grid-template-columns:1fr}.mock-art{min-height:220px}.scale{grid-template-columns:repeat(6,1fr)}.scale button{min-height:75px}.status-chip{display:none}}@media(max-width:560px){.topbar{padding:0 10px}.logo-gem{display:none}.top-actions .compact{display:none}.pixel-button{padding:7px 9px}.view-head{display:block}.view-head .toolbar{margin-top:15px}.card-grid{grid-template-columns:1fr}.data-grid{grid-template-columns:repeat(2,1fr)}.export-grid{grid-template-columns:repeat(2,1fr)}.scale{grid-template-columns:repeat(3,1fr)}#workspace{padding:12px}.mock-copy{padding:25px}.mock-copy h2{margin-top:25px}}
