:root{--bg: oklch(.155 .006 260);--bg-2: oklch(.185 .006 260);--surface: oklch(.215 .006 260);--surface-2: oklch(.255 .007 260);--line: oklch(.32 .008 260);--line-soft: oklch(.27 .007 260);--fg: oklch(.97 .005 90);--fg-2: oklch(.82 .006 90);--muted: oklch(.58 .008 260);--muted-2: oklch(.42 .008 260);--accent: oklch(.88 .19 125);--accent-2: oklch(.78 .2 125);--accent-ink: oklch(.18 .04 125);--danger: oklch(.68 .22 25);--radius-xs: 2px;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-xl: 14px;--shadow-sm: 0 2px 8px rgb(0 0 0 / .25);--shadow: 0 8px 30px rgb(0 0 0 / .4);--shadow-lg: 0 30px 80px rgb(0 0 0 / .5);--ease: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--display: "Instrument Serif", Georgia, serif;--ui: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}:root[data-theme=light]{--bg: oklch(.985 .002 260);--bg-2: oklch(.955 .003 260);--surface: oklch(1 0 0);--surface-2: oklch(.93 .004 260);--line: oklch(.86 .006 260);--line-soft: oklch(.91 .004 260);--fg: oklch(.22 .01 260);--fg-2: oklch(.4 .012 260);--muted: oklch(.55 .01 260);--muted-2: oklch(.72 .008 260);--accent-ink: oklch(.2 .04 125);--shadow-sm: 0 2px 8px rgb(0 0 0 / .08);--shadow: 0 8px 30px rgb(0 0 0 / .12);--shadow-lg: 0 30px 80px rgb(0 0 0 / .18)}:root[data-theme=illustrator]{--bg: oklch(.26 0 0);--bg-2: oklch(.3 0 0);--surface: oklch(.34 0 0);--surface-2: oklch(.39 0 0);--line: oklch(.46 0 0);--line-soft: oklch(.41 0 0);--fg: oklch(.95 0 0);--fg-2: oklch(.8 0 0);--muted: oklch(.64 0 0);--muted-2: oklch(.52 0 0)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}@page{size:A4 landscape;margin:0}@media print{body *{visibility:hidden!important}#techpack-print,#techpack-print *{visibility:visible!important}#techpack-print{position:absolute!important;left:0;top:0;width:100%;display:block!important;gap:0!important}.tp-page{transform:none!important;box-shadow:none!important;margin:0!important;break-after:page;page-break-after:always;break-inside:avoid}.tp-page:last-child{break-after:auto;page-break-after:auto}.no-print{display:none!important}}body{font-family:var(--ui);background:var(--bg);color:var(--fg);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent);color:var(--accent-ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-xs)}canvas:focus-visible{outline-offset:-2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.scroll-hide::-webkit-scrollbar{width:0;height:0}.scroll-hide{scrollbar-width:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius-xs);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}.display{font-family:var(--display);font-weight:400;letter-spacing:-.01em;line-height:.95}.display-i{font-family:var(--display);font-style:italic;font-weight:400;letter-spacing:-.01em;line-height:.95}.mono{font-family:var(--mono)}.label{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}button{font-family:inherit}.btn{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s3);border-radius:var(--radius);font-size:var(--t-md);font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer;transition:background-color .1s var(--ease),border-color .1s var(--ease),color .1s var(--ease)}.btn:hover{border-color:var(--muted-2);background:var(--surface-2)}.btn:active{background:var(--bg-2)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:600}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{background:transparent;border-color:transparent;color:var(--fg-2)}.btn-ghost:hover{background:var(--surface);color:var(--fg);border-color:var(--line)}input,textarea,select{font-family:inherit;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);padding:0 var(--s2);border-radius:var(--radius-sm);font-size:var(--t-md);transition:border-color .1s var(--ease);width:100%}input,select{min-height:var(--ctl)}textarea{padding:var(--s2)}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--bg)}input,.mono,.row-value,[data-num]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.panel{background:color-mix(in oklch,var(--surface) 92%,transparent);border:1px solid var(--line);border-radius:var(--radius-lg);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow)}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;background:var(--surface-2);border:1px solid var(--line);color:var(--fg-2);border-radius:999px}.pill.accent{background:color-mix(in oklch,var(--accent) 16%,transparent);border-color:color-mix(in oklch,var(--accent) 40%,transparent);color:var(--accent)}.seg{display:inline-flex;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:999px}.seg button{padding:5px 12px;font-size:11px;border-radius:999px;background:transparent;border:none;color:var(--muted);cursor:pointer;transition:all .2s var(--ease)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rise{animation:rise .6s var(--ease) both}.rise-2{animation:rise .6s var(--ease) .05s both}.rise-3{animation:rise .6s var(--ease) .1s both}.rise-4{animation:rise .6s var(--ease) .15s both}.rise-5{animation:rise .6s var(--ease) .2s both}@keyframes toast-in{0%{transform:translate(-50%,30px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%);background:var(--surface-2);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:13px;box-shadow:var(--shadow);z-index:5000;animation:toast-in .3s var(--ease) both}.spotlight{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%),color-mix(in oklch,var(--accent) 6%,transparent),transparent 60%);opacity:0}.spotlight.on{opacity:1}@keyframes wipe-in{0%{transform:translateY(100%)}to{transform:translateY(-100%)}}@keyframes sheet-in{0%{transform:translate(100%)}to{transform:translate(0)}}.page-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:var(--accent);pointer-events:none;transform:translateY(100%)}.page-mask.run{animation:wipe-in .95s cubic-bezier(.7,0,.3,1) forwards}.mag{position:relative;transition:transform .4s var(--ease-spring);will-change:transform}.tilt{transition:transform .6s var(--ease),box-shadow .6s var(--ease);transform-style:preserve-3d}@keyframes ee-pop{0%{transform:translate(0) scale(0);opacity:1}to{transform:translate(var(--dx, 0),var(--dy, 0)) scale(1);opacity:0}}.ee-piece{position:fixed;pointer-events:none;z-index:10000;width:8px;height:8px;border-radius:2px;animation:ee-pop 1.1s cubic-bezier(.2,.7,.3,1) forwards}.editor-size-cursor{position:absolute;border:1.5px dashed #fff;border-radius:50%;pointer-events:none;display:none;z-index:10}:root{--t-label: 10px;--t-sm: 11px;--t-md: 12px;--t-lg: 13px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--ctl: 28px}.pnl{padding:var(--s3);overflow-y:auto;flex:1}.sec{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line-soft)}.sec:first-child{margin-top:0;padding-top:0;border-top:none}.sec-hint{font-size:var(--t-sm);line-height:1.45;color:var(--muted);margin:var(--s1) 0 var(--s3)}.row{display:flex;align-items:center;gap:var(--s2);min-height:var(--ctl)}.row>.row-label{font-size:var(--t-md);color:var(--fg-2);flex:1;min-width:0}.row>.row-value{font-family:var(--mono);font-size:var(--t-label);color:var(--muted)}.stack{display:flex;flex-direction:column;gap:var(--s2)}.swatches{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.swatch{display:flex;flex-direction:column;gap:var(--s1);padding:0;background:none;border:none;cursor:pointer;width:100%;text-align:center}.swatch-img{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--line);background-size:cover}.swatch[aria-pressed=true] .swatch-img{border-color:var(--accent);outline:1px solid var(--accent)}.swatch-name{font-size:var(--t-sm);color:var(--fg-2);font-family:var(--ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch[aria-pressed=true] .swatch-name{color:var(--accent)}.pnl .btn{min-height:var(--ctl);font-size:var(--t-md)}.btn-block{width:100%;justify-content:center}.editor-size-cursor{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.7);pointer-events:none;box-sizing:border-box;display:none}@keyframes spin{to{transform:rotate(360deg)}}.raw-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;cursor:pointer}.raw-range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--fill, 0%),var(--line) var(--fill, 0%),var(--line) 100%)}.raw-range::-moz-range-track{height:4px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--fill, 0%),var(--line) var(--fill, 0%),var(--line) 100%)}.raw-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:var(--accent);border:none;box-shadow:0 1px 3px #00000059}.raw-range::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--accent);border:none;box-shadow:0 1px 3px #00000059}
