:root{--primary: #FFAA00;--secondary: #0032A0;--accent: #e4002b;--success: #00843D;--bg: #f1f1f1;--surface: #aaaaaa;--text-primary: #000000;--text-secondary: #555555;--text-muted: #64748b;--border-color: #555555;--shadow-color: rgba(0, 0, 0, .1);--code-bg: #f1f5f9;--sl-color-primary-50: color-mix(in srgb, var(--primary), white 90%);--sl-color-primary-100: color-mix(in srgb, var(--primary), white 80%);--sl-color-primary-200: color-mix(in srgb, var(--primary), white 70%);--sl-color-primary-300: color-mix(in srgb, var(--primary), white 60%);--sl-color-primary-400: color-mix(in srgb, var(--primary), white 50%);--sl-color-primary-500: var(--primary);--sl-color-primary-600: color-mix(in srgb, var(--primary), black 10%);--sl-color-primary-700: color-mix(in srgb, var(--primary), black 20%);--sl-color-primary-800: color-mix(in srgb, var(--primary), black 30%);--sl-color-primary-900: color-mix(in srgb, var(--primary), black 40%);--sl-color-primary-950: color-mix(in srgb, var(--primary), black 50%);--sl-color-success-50: color-mix(in srgb, var(--success), white 90%);--sl-color-success-100: color-mix(in srgb, var(--success), white 80%);--sl-color-success-200: color-mix(in srgb, var(--success), white 70%);--sl-color-success-300: color-mix(in srgb, var(--success), white 60%);--sl-color-success-400: color-mix(in srgb, var(--success), white 50%);--sl-color-success-500: var(--success);--sl-color-success-600: color-mix(in srgb, var(--success), black 10%);--sl-color-success-700: color-mix(in srgb, var(--success), black 20%);--sl-color-success-800: color-mix(in srgb, var(--success), black 30%);--sl-color-success-900: color-mix(in srgb, var(--success), black 40%);--sl-color-success-950: color-mix(in srgb, var(--success), black 50%);--sl-color-warning-50: color-mix(in srgb, var(--accent), white 90%);--sl-color-warning-100: color-mix(in srgb, var(--accent), white 80%);--sl-color-warning-200: color-mix(in srgb, var(--accent), white 70%);--sl-color-warning-300: color-mix(in srgb, var(--accent), white 60%);--sl-color-warning-400: color-mix(in srgb, var(--accent), white 50%);--sl-color-warning-500: var(--accent);--sl-color-warning-600: color-mix(in srgb, var(--accent), black 10%);--sl-color-warning-700: color-mix(in srgb, var(--accent), black 20%);--sl-color-warning-800: color-mix(in srgb, var(--accent), black 30%);--sl-color-warning-900: color-mix(in srgb, var(--accent), black 40%);--sl-color-warning-950: color-mix(in srgb, var(--accent), black 50%);--sl-input-border-radius-small: .15rem;--sl-input-border-radius-medium: .15rem;--sl-input-border-radius-large: .15rem}[data-theme=dark]{--success: #00843D;--bg: #171717;--surface: #555555;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #94a3b8;--border-color: #555555;--shadow-color: rgba(0, 0, 0, .3);--code-bg: #1e293b;--sl-color-primary-50: color-mix(in srgb, var(--primary), black 50%);--sl-color-primary-100: color-mix(in srgb, var(--primary), black 40%);--sl-color-primary-200: color-mix(in srgb, var(--primary), black 30%);--sl-color-primary-300: color-mix(in srgb, var(--primary), black 20%);--sl-color-primary-400: color-mix(in srgb, var(--primary), black 10%);--sl-color-primary-500: var(--primary);--sl-color-primary-600: color-mix(in srgb, var(--primary), white 10%);--sl-color-primary-700: color-mix(in srgb, var(--primary), white 20%);--sl-color-primary-800: color-mix(in srgb, var(--primary), white 30%);--sl-color-primary-900: color-mix(in srgb, var(--primary), white 40%);--sl-color-primary-950: color-mix(in srgb, var(--primary), white 50%);--sl-color-success-50: color-mix(in srgb, var(--success), black 50%);--sl-color-success-100: color-mix(in srgb, var(--success), black 40%);--sl-color-success-200: color-mix(in srgb, var(--success), black 30%);--sl-color-success-300: color-mix(in srgb, var(--success), black 20%);--sl-color-success-400: color-mix(in srgb, var(--success), black 10%);--sl-color-success-500: var(--success);--sl-color-success-600: color-mix(in srgb, var(--success), white 10%);--sl-color-success-700: color-mix(in srgb, var(--success), white 20%);--sl-color-success-800: color-mix(in srgb, var(--success), white 30%);--sl-color-success-900: color-mix(in srgb, var(--success), white 40%);--sl-color-success-950: color-mix(in srgb, var(--success), white 50%);--sl-color-warning-50: color-mix(in srgb, var(--accent), black 50%);--sl-color-warning-100: color-mix(in srgb, var(--accent), black 40%);--sl-color-warning-200: color-mix(in srgb, var(--accent), black 30%);--sl-color-warning-300: color-mix(in srgb, var(--accent), black 20%);--sl-color-warning-400: color-mix(in srgb, var(--accent), black 10%);--sl-color-warning-500: var(--accent);--sl-color-warning-600: color-mix(in srgb, var(--accent), white 10%);--sl-color-warning-700: color-mix(in srgb, var(--accent), white 20%);--sl-color-warning-800: color-mix(in srgb, var(--accent), white 30%);--sl-color-warning-900: color-mix(in srgb, var(--accent), white 40%);--sl-color-warning-950: color-mix(in srgb, var(--accent), white 50%)}@font-face{font-family:Nunito;src:url(/assets/Nunito-VariableFont_wght-DjOotFkD.ttf) format("truetype-variations");font-weight:200 1000;font-style:normal;font-display:swap}@font-face{font-family:Nunito;src:url(/assets/Nunito-Italic-VariableFont_wght-CFolGVKA.ttf) format("truetype-variations");font-weight:200 1000;font-style:italic;font-display:swap}@font-face{font-family:Work Sans;src:url(/assets/WorkSans-VariableFont_wght--AC0muF9.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Work Sans;src:url(/assets/WorkSans-Italic-VariableFont_wght-D6Y9d-w5.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-VariableFont_opsz_wght-c8O0ljhh.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/Inter-Italic-VariableFont_opsz_wght-B-9PvMw6.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;margin:0;padding:0;text-align:left;background:var(--bg);color:var(--text-primary);font-size:20px;line-height:1.7;transition:background-color .3s ease,color .3s ease;min-height:100vh}html{background:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:Nunito,sans-serif;margin:0 0 .5rem;color:var(--text-primary);line-height:1.2;font-weight:400}h1{font-size:3.052em}h2{font-size:2.441em}h3{font-size:1.953em}h4{font-size:1.563em}h5{font-size:1.25em}strong,b{font-weight:600}p{margin-bottom:.5em;color:var(--text-primary)}.prose p{margin-bottom:2em}a{text-decoration:none;color:var(--text-primary);transition:color .2s ease;position:relative}textarea{width:100%;font-size:16px;font-family:Inter,sans-serif;background:var(--bg);color:var(--text-primary);border:1px solid var(--border-color)}input{font-size:16px;font-family:Inter,sans-serif;background:var(--bg);color:var(--text-primary)}table{width:100%}code{padding:2px 5px;background-color:var(--code-bg);border-radius:2px;font-family:Inter,monospace;color:var(--text-primary)}pre{padding:1.5em;border-radius:8px;font-family:Inter,monospace;background:var(--code-bg);color:var(--text-primary)}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.333em;font-family:Work Sans,sans-serif;font-weight:400;font-style:italic;color:var(--text-primary)}hr{border:none;border-top:1px solid var(--border-color)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.container{max-width:1200px;margin:0 auto}.container-sm{max-width:800px;margin:0 auto}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.gap-2{gap:2rem}.gap-1{gap:1rem}.text-center{text-align:center}.text-left{text-align:left}.mb-1{margin-bottom:1rem}.mb-1-5{margin-bottom:1.5rem}.mb-2{margin-bottom:2rem}.mt-2{margin-top:2rem}.p-1{padding:1rem}.p-1-5{padding:1.5rem}.p-2{padding:2rem}.border{border:1px solid var(--border-color)}.rounded{border-radius:8px}.bg-white{background:var(--bg)}.bg-secondary{background:var(--surface)}.transition{transition:all .2s ease}.hover-shadow:hover{box-shadow:0 4px 12px var(--shadow-color)}.text-gray{color:var(--text-secondary)}.text-gray-dark{color:var(--text-primary)}.text-gray-light{color:var(--text-muted)}.link{text-decoration:none;transition:color .2s;font-family:Work Sans,sans-serif;font-weight:500}.link:hover{color:var(--accent)}.font-nunito{font-family:Nunito,sans-serif}.font-worksans{font-family:Work Sans,sans-serif}.font-inter{font-family:Inter,sans-serif}@media(max-width:720px){body{font-size:18px}}@media(max-width:768px){.gap-2{gap:1rem}.p-2{padding:1rem}}sl-details::part(header){display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}sl-details::part(summary){color:var(--text-primary);font-family:Nunito,sans-serif;font-size:2.5rem;letter-spacing:.1em;font-weight:400;margin:0;position:relative;cursor:pointer}sl-details::part(summary):after{content:"";position:absolute;bottom:-4px;left:0;width:0%;height:2px;background-color:var(--accent);transition:width .2s ease-out}sl-details:not([open])::part(summary):hover:after{width:100%}sl-details[open]::part(summary):after{width:100%}sl-details::part(summary-icon){display:none}sl-details::part(base){border:none;background-color:var(--bg)}.socials{display:flex;flex-direction:row;justify-content:space-around;gap:1rem}.navigation{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0 1rem;gap:2rem;text-align:center;min-width:300px;max-width:400px;flex-grow:1;flex-shrink:0}.navigation-links{margin:0 auto;display:flex;flex-direction:column;gap:2rem}a:after{content:"";position:absolute;bottom:-4px;left:0;width:0%;height:2px;background-color:var(--accent);transition:width .2s ease-out}a:hover:after{width:100%}.navigation h2{font-size:2.5rem;margin:0;letter-spacing:.1em}@media(max-width:768px){.navigation h2{font-size:2rem}}.app{min-height:100vh;display:flex;flex-direction:column}header{background:#ffffffe6;padding:24px;text-align:center;border-bottom:1px solid var(--border-color);box-shadow:0 2px 6px var(--shadow-color)}header h1{color:var(--primary);font-weight:700}header p{color:var(--text-secondary);font-size:1rem}.main-layout{display:flex;flex:1;max-width:1800px;margin:0 auto;width:100%;gap:24px;padding:24px}.sidebar{width:320px;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:24px;height:fit-content}.section{display:flex;flex-direction:column;gap:12px}.section h2{font-size:1.1rem;color:var(--text-primary);font-weight:700}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-size:.9rem;color:var(--text-secondary);font-weight:600}.control-group input[type=range]{width:100%;height:6px;background:color-mix(in srgb,var(--surface),white 70%);outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px var(--shadow-color)}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px var(--shadow-color)}.control-group input[type=color]{width:100%;height:44px;border:2px solid color-mix(in srgb,var(--border-color),white 50%);cursor:pointer}.image-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.image-item{display:flex;align-items:center;gap:12px;padding:8px;background:var(--bg)}.image-item img{width:48px;height:48px;object-fit:cover;border-radius:8px}.btn-primary,.btn-secondary,.btn-icon{display:inline-flex;position:relative;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border:none;font-weight:700;cursor:pointer;background-color:var(--bg);transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease;font-family:Inter,sans-serif}.btn-primary{color:var(--text-primary)}.btn-secondary{color:var(--text-secondary)}.btn-primary:after,.btn-secondary:after{content:"";position:absolute;bottom:-4px;left:0;width:0%;height:2px;transition:width .2s ease-out}.btn-primary:after{background-color:var(--primary)}.btn-secondary:after{background-color:var(--secondary)}.btn-primary:hover:after,.btn-secondary:hover:after{width:100%}.btn-icon{padding:8px;background:transparent;border:1px solid color-mix(in srgb,var(--border-color),white 50%);border-radius:8px;color:var(--text-primary)}.btn-icon:hover{background:color-mix(in srgb,var(--surface),white 85%)}.canvas-area{flex:1;display:flex;align-items:center;justify-content:center}.grid-container{display:grid;grid-template-columns:repeat(2,1fr);max-width:850px;width:100%;aspect-ratio:8.5 / 11;background:#fff}.grid-cell{border:none;overflow:hidden;position:relative;cursor:pointer;transition:all .2s;background:color-mix(in srgb,var(--surface),white 90%)}.grid-cell:after{content:"";position:absolute;inset:0;pointer-events:none;border:3px solid transparent;transition:border-color .2s;z-index:20}.grid-cell:hover:after{border-color:var(--primary)}.grid-cell.hovered:after{border-color:var(--primary)}.grid-cell.selected:after{border-width:4px;border-color:var(--primary)}.grid-cell:hover,.grid-cell.hovered{box-shadow:inset 0 0 20px color-mix(in srgb,var(--primary),transparent 80%)}.grid-cell.selected{box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--secondary),transparent 70%),inset 0 0 30px color-mix(in srgb,var(--secondary),transparent 80%);z-index:10}.grid-cell-label{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:700;z-index:10;font-family:Work Sans,sans-serif;letter-spacing:.02em}.grid-cell-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:12px}.grid-cell-empty span{font-size:.9rem}.grid-cell>img{position:absolute;top:50%;left:50%;transition:transform .1s;transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:auto}.grid-cell-delete{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:6px;background:#e4002bf2;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 4px 10px color-mix(in srgb,var(--primary),transparent 70%)}.grid-cell-delete:hover{background:color-mix(in srgb,var(--primary),black 10%)}.image-picker-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.image-picker{background:#fff;border-radius:12px;padding:20px;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 30px var(--shadow-color)}.image-picker-header{display:flex;justify-content:space-between;align-items:center}.image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;overflow-y:auto}.image-picker-grid button{border:1px solid color-mix(in srgb,var(--border-color),white 60%);border-radius:10px;padding:0;cursor:pointer;transition:transform .1s,box-shadow .2s;background:color-mix(in srgb,var(--surface),white 85%)}.image-picker-grid button:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-color)}.image-picker-grid img{width:100%;height:140px;object-fit:cover;border-radius:10px}.controls-panel-floating{background:transparent;padding:8px;width:300px;display:flex;flex-direction:column;gap:12px}.controls-header{display:flex;justify-content:right;align-items:center;gap:1rem}.rotation-controls{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.control-hint{font-size:.85rem;color:var(--text-muted)}@media(max-width:1200px){.main-layout{flex-direction:column}.sidebar{width:100%}.controls-panel-floating{width:280px}}@media(max-width:768px){.main-layout{padding:16px}.grid-container{width:100%}}@media print{@page{size:8.5in 11in;margin:0}html,body,.app{width:8.5in;height:11in;margin:0;padding:0;background:#fff}.main-layout{display:block;padding:0;margin:0;max-width:none}.canvas-area{align-items:stretch;justify-content:stretch}.sidebar,.controls-overlay,.grid-cell-label,.grid-cell-delete,header{display:none!important}.grid-container{max-width:8.5in;width:8.5in;height:11in;box-shadow:none;page-break-inside:avoid;margin:0}.grid-cell:hover,.grid-cell.hovered,.grid-cell.selected{outline:none;box-shadow:none}}
