:root{--radius:14px;--radius-sm:8px;--shadow-soft:0 10px 30px rgba(93, 64, 55, 0.08);--shadow-card:0 4px 16px rgba(93, 64, 55, 0.05)}@font-face{font-family:DelaGothicOne-Regular;src:url('assets/fonts/DelaGothicOne-Regular.woff2') format('woff2'),url('assets/fonts/DelaGothicOne-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NotoSansSC-Black;src:url('assets/fonts/NotoSansSC-Black.woff2') format('woff2'),url('assets/fonts/NotoSansSC-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:SpaceMono-BoldItalic;src:url('assets/fonts/SpaceMono-BoldItalic.woff2') format('woff2'),url('assets/fonts/SpaceMono-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:SpaceGrotesk-Bold;src:url('assets/fonts/SpaceGrotesk-Bold.woff2') format('woff2'),url('assets/fonts/SpaceGrotesk-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}body{min-height:100vh;overflow-x:hidden;overflow-y:auto;font-family:'Noto Sans SC',sans-serif}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:1000;padding:.6rem 1rem;background:var(--accent-color);color:#fff;border-radius:0 0 var(--radius-sm) var(--radius-sm);font-weight:700;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}.app-shell{position:relative;z-index:10;min-height:100vh;padding:5rem 2rem 4rem;box-sizing:border-box}.app-header{max-width:1400px;margin:0 auto 1.5rem}.header-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:1rem}.brand-icon{font-size:2.8rem;line-height:1}.brand h1{font-size:2rem;font-weight:700;margin:0;line-height:1;color:var(--text-color)}.brand-sub{display:block;font-size:.85rem;color:var(--accent-color);margin-top:.25rem;font-weight:600}.header-desc{margin:0;font-size:.95rem;color:var(--text-color);opacity:.7;max-width:420px;text-align:right}.app-main{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:340px 1fr;gap:1.5rem;align-items:start}.sidebar{display:flex;flex-direction:column;gap:1rem}.panel{background:#fff;border:1px solid var(--secondary-color);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-card)}.panel-title{font-size:1rem;font-weight:700;margin:0 0 1rem;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.field{margin-bottom:.85rem}.field:last-child{margin-bottom:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.35rem;color:var(--text-color);opacity:.85}input[type=date],input[type=number],input[type=text],select{width:100%;padding:.65rem .8rem;border:1px solid var(--secondary-color);border-radius:var(--radius-sm);background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:.9rem;outline:0;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}input[type=date]:focus-visible,input[type=number]:focus-visible,input[type=text]:focus-visible,select:focus-visible{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(230,160,85,.15)}input[type=range]{width:100%;accent-color:var(--accent-color);cursor:pointer;outline:0;-webkit-appearance:none;appearance:none;height:44px;min-height:44px;background:0 0;padding:0;margin:0;touch-action:pan-y;-webkit-tap-highlight-color:transparent;-webkit-user-drag:element;user-select:none;-webkit-user-select:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:8px;background:var(--secondary-color);border-radius:999px}input[type=range]::-moz-range-track{width:100%;height:8px;background:var(--secondary-color);border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-8px;background:var(--accent-color);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(93,64,55,.2)}input[type=range]::-moz-range-thumb{width:24px;height:24px;background:var(--accent-color);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(93,64,55,.2)}input[type=range]:focus-visible{box-shadow:0 0 0 3px rgba(230,160,85,.15);border-radius:var(--radius-sm)}#hueValue{font-weight:600;color:var(--accent-color)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1rem;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:transform .15s,filter .15s,opacity .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-spinner{display:inline-block;width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .75s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.05)}.btn-primary{background:var(--accent-color);color:#fff}.btn-secondary{background:var(--bg-color);color:var(--text-color);border:1px solid var(--secondary-color)}.log-panel{flex:1;display:flex;flex-direction:column;min-height:160px}.log{flex:1;background:#2b211c;color:#f5e6d8;border-radius:var(--radius-sm);padding:.75rem;font-family:Consolas,Monaco,"Courier New",monospace;font-size:.75rem;line-height:1.5;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.log-line{margin-bottom:.25rem}.log-line.info{color:#f5e6d8}.log-line.success{color:#8fd694}.log-line.warning{color:#f5c66b}.log-line.error{color:#ff8a80}.preview-area{background:#fff;border:1px solid var(--secondary-color);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-card);min-height:600px;display:flex;flex-direction:column}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.preview-meta{font-size:.8rem;color:var(--text-color);opacity:.6;font-weight:600}.canvas-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;align-content:start}.canvas-item{background:var(--bg-color);border:1px dashed var(--secondary-color);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.canvas-item.raw-asset{border-color:var(--accent-color);background:#fff8f0}.canvas-item-label{font-size:.85rem;font-weight:700;color:var(--text-color)}.canvas-wrapper{width:100%;display:flex;align-items:center;justify-content:center;min-height:120px;background-image:linear-gradient(45deg,#e8e8e8 25%,transparent 25%),linear-gradient(-45deg,#e8e8e8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e8e8e8 75%),linear-gradient(-45deg,transparent 75%,#e8e8e8 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;border-radius:var(--radius-sm);overflow:hidden}.canvas-wrapper canvas{max-width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none}body.hue-dragging,body.hue-dragging *{user-select:none!important;-webkit-user-select:none!important}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-color);opacity:.5;text-align:center;min-height:360px}.empty-icon{font-size:3.5rem;margin-bottom:.75rem}.empty-state p{font-size:.95rem;max-width:260px}.render-error{grid-column:1/-1;background:#fff0f0;border:1px solid #ff8a80;border-radius:var(--radius-sm);padding:1rem;color:#b71c1c;font-size:.85rem}.render-error ul{margin:.5rem 0 0 1.25rem;padding:0}.render-error li{margin-bottom:.25rem}@media (max-width:1024px){.app-main{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.log-panel{min-height:140px}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.app-shell{padding:3.5rem 1rem 3rem}.header-inner{flex-direction:column;align-items:flex-start;gap:.75rem}.header-desc{text-align:left;max-width:100%;font-size:.9rem}.brand h1{font-size:1.5rem}.brand-icon{font-size:2.2rem}.panel{padding:1rem}.actions{grid-template-columns:1fr}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.canvas-item{padding:.75rem}.ui-corner{font-size:.6rem}}@media (max-width:480px){.app-shell{padding:3.25rem .75rem 2.75rem}.sidebar{display:flex;flex-direction:column}.field-row{grid-template-columns:1fr;gap:.5rem}.canvas-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.canvas-item-label{font-size:.75rem}.btn{font-size:.8rem;padding:.65rem .75rem}.ui-corner.bottom-right,.ui-corner.top-left{display:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}
/*# sourceMappingURL=style.min.css.map */