.stencil-page-header{margin-bottom:1rem}.stencil-page-header h1{font-size:clamp(1.35rem,2.8vw,1.8rem);margin:0}#stencil-app [hidden]{display:none !important}.stencil-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:1.5rem;align-items:start}.stencil-settings{grid-column:1;grid-row:1 / span 2;padding:1.25rem}.stencil-preview-column{grid-column:2;grid-row:1 / span 2;min-width:0;display:flex;flex-direction:column;gap:0.9rem}.stencil-preview-sticky{min-width:0}@media (min-width:992px){.stencil-preview-column{position:sticky;top:0.75rem;align-self:start;z-index:5}}.stencil-preview-below{min-width:0}.stencil-section-title{font-family:var(--font-heading);font-size:1rem;letter-spacing:0.02em;color:var(--color-text);margin:0 0 0.5rem}.stencil-change-row{margin-bottom:1rem}.stencil-settings>.stencil-change-row{margin-bottom:0.5rem}.stencil-field-group{position:relative;padding:0.35rem 0}.stencil-field-label{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);margin-bottom:0.5rem}.stencil-presets{display:flex;flex-wrap:wrap;gap:0.4rem}.stencil-chip,.stencil-segment{border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:999px;padding:0.35rem 0.7rem;font-size:0.82rem;cursor:pointer;transition:color 0.15s,border-color 0.15s,background 0.15s}.stencil-chip:hover,.stencil-segment:hover{color:var(--color-text);border-color:var(--color-accent)}.stencil-chip.active,.stencil-segment.active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1206}.stencil-segments{display:flex;flex-wrap:wrap;gap:0.4rem}.stencil-line-styles{flex-wrap:nowrap;gap:0.3rem}.stencil-line-style{flex:1 1 0;min-width:0;padding:0.45rem 0.4rem}.stencil-line-sample{display:block;width:100%;min-width:1.4rem;height:2px;background-position:center;background-repeat:no-repeat;background-size:100% 2px}.stencil-sample-solid{background-image:linear-gradient(currentColor,currentColor)}.stencil-sample-short{background-image:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 7px)}.stencil-sample-mid{background-image:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 12px)}.stencil-sample-long{background-image:repeating-linear-gradient(90deg,currentColor 0 11px,transparent 11px 16px)}.stencil-size-row{display:flex;align-items:flex-end;gap:0.5rem}.stencil-size-field{flex:1;display:flex;flex-direction:column;gap:0.25rem}.stencil-input-label{font-size:0.72rem;color:var(--color-text-muted)}.stencil-size-field input{width:100%;background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:0.45rem 0.6rem;font-size:0.95rem}.stencil-size-field input:focus{outline:none;border-color:var(--color-accent)}.stencil-link-btn{flex:0 0 auto;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);border-radius:8px;padding:0.45rem 0.6rem;cursor:pointer;font-size:0.95rem}.stencil-link-btn[aria-pressed="true"]{color:var(--color-accent);border-color:var(--color-accent)}.stencil-paper{margin-top:0.4rem;font-size:0.78rem;color:var(--color-text-muted)}.stencil-slider{display:grid;grid-template-columns:auto minmax(0,1fr) auto 3.2rem;align-items:center;gap:0.4rem;margin:0.5rem 0}.stencil-slider-label{grid-column:1 / -1;font-size:0.82rem;color:var(--color-text);margin-bottom:0.15rem}.stencil-slider input[type="range"]{width:100%;height:1.5rem;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}.stencil-slider input[type="range"]::-webkit-slider-runnable-track{height:0.45rem;border-radius:999px;background:linear-gradient(to right,var(--color-accent) 0 var(--range-fill,0%),rgba(255,255,255,0.14) var(--range-fill,0%) 100%)}.stencil-slider input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:calc((0.45rem - 1.25rem) / 2);border:0;border-radius:50%;background:var(--color-accent);box-shadow:0 2px 6px rgba(0,0,0,0.45)}.stencil-slider input[type="range"]::-moz-range-track{height:0.45rem;border-radius:999px;background:rgba(255,255,255,0.14)}.stencil-slider input[type="range"]::-moz-range-progress{height:0.45rem;border-radius:999px;background:var(--color-accent)}.stencil-slider input[type="range"]::-moz-range-thumb{width:1.25rem;height:1.25rem;border:0;border-radius:50%;background:var(--color-accent);box-shadow:0 2px 6px rgba(0,0,0,0.45)}.stencil-step{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-muted);cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease}.stencil-step:hover,.stencil-step:focus-visible{color:var(--color-text);border-color:var(--color-accent)}.stencil-step svg{width:0.8rem;height:0.8rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.stencil-step-minus{margin-right:-0.15rem}.stencil-step-plus{margin-left:-0.15rem}@media (hover:none) and (pointer:coarse){.stencil-step{width:1.55rem;height:1.55rem}.stencil-step svg{width:0.9rem;height:0.9rem}}.stencil-slider output{text-align:right;font-size:0.82rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.stencil-switch{display:flex;align-items:center;gap:0.6rem;margin:0.55rem 0;cursor:pointer}.stencil-switches-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.2rem 1.2rem}.stencil-switches-row .stencil-switch{margin:0.35rem 0}.stencil-warp-row{margin:0.35rem 0 0.15rem}.stencil-warp-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.8rem;border:1px solid var(--color-border);border-radius:var(--radius-sm,6px);background:var(--color-surface-alt);color:var(--color-text);font:inherit;font-size:0.9rem;cursor:pointer}.stencil-warp-btn:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.stencil-warp-ico{font-size:0.95rem;line-height:1;opacity:0.85}.stencil-warp-ico:hover{opacity:1}.stencil-switch input{position:absolute;opacity:0;width:0;height:0}.stencil-switch-track{width:2.4rem;height:1.3rem;border-radius:999px;background:var(--color-surface-alt);border:1px solid var(--color-border);position:relative;transition:background 0.15s;flex:0 0 auto}.stencil-switch-track::after{content: "";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--color-text-muted);transition:transform 0.15s,background 0.15s}.stencil-switch input:checked + .stencil-switch-track{background:var(--color-accent);border-color:var(--color-accent)}.stencil-switch input:checked + .stencil-switch-track::after{transform:translateX(1.1rem);background:#1a1206}.stencil-switch-label{font-size:0.88rem;color:var(--color-text)}.stencil-sub-hint{font-size:0.75rem;color:var(--color-text-muted);margin:-0.2rem 0 0.4rem 3rem}.stencil-dropzone{position:relative;text-align:center;padding:2.5rem 1.5rem;border:2px dashed var(--color-border);border-radius:12px;cursor:pointer;transition:border-color 0.15s,background 0.15s}.stencil-dropzone:hover,.stencil-dropzone:focus{border-color:var(--color-accent);background:var(--color-surface-alt);outline:none}.stencil-dropzone-icon{font-size:2rem;color:var(--color-accent);margin-bottom:0.5rem}.stencil-dropzone-title{font-family:var(--font-heading);font-size:1.15rem;margin-bottom:0.75rem}.stencil-file-input{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}.stencil-boot{margin-top:0.9rem;font-size:0.82rem;color:var(--color-text-muted)}.stencil-upload-status{margin-top:0.9rem;font-size:0.82rem;color:var(--color-accent)}.stencil-noscript{margin-top:0.9rem;font-size:0.82rem;color:var(--color-warning)}.stencil-dropzone-hint{margin-top:1rem;font-size:0.82rem;color:var(--color-text-muted)}.stencil-remaining{margin-top:1rem;font-size:0.85rem;color:var(--color-accent)}.stencil-hint{font-size:0.74rem;color:var(--color-text-muted);margin-top:0.4rem;line-height:1.45}.stencil-hint-top{margin:0 0 0.9rem;color:var(--color-accent)}.stencil-info-btn{position:absolute;top:0.4rem;right:0.1rem;z-index:30;width:1.4rem;height:1.4rem;padding:0;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:0.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.stencil-info-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.stencil-field-label .stencil-info-btn{position:static;display:inline-flex;vertical-align:middle;margin-left:0.35rem;width:1.05rem;height:1.05rem;font-size:0.68rem}.stencil-field-group .stencil-hint{display:none}@media (hover:none) and (pointer:coarse){.stencil-lens-switch{display:none !important}}.stencil-tip{position:fixed;z-index:60;max-width:min(300px,calc(100vw - 16px));max-height:60vh;overflow:auto;padding:0.6rem 0.7rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-alt);box-shadow:0 10px 24px rgba(0,0,0,0.35);font-size:0.78rem;line-height:1.45;color:var(--color-text-muted)}.stencil-tip-line + .stencil-tip-line{margin-top:0.35rem}.stencil-advanced{border:1px solid var(--color-accent);border-radius:10px;margin-top:0.75rem;padding:0 0.75rem;background:var(--color-surface-alt)}.stencil-advanced summary{cursor:pointer;font-size:0.9rem;font-weight:700;letter-spacing:0.04em;color:var(--color-accent);padding:0.7rem 0;list-style:none}.stencil-advanced summary::-webkit-details-marker{display:none}list-style:none;user-select:none;display:flex;align-items:center;gap:0.5rem}.stencil-advanced summary::marker{content: ""}.stencil-advanced summary::before{content: "▸ ";font-size:0.8rem}.stencil-advanced[open] summary::before{content: "▾ "}.stencil-switch input:disabled + .stencil-switch-track,.stencil-switch input:disabled ~ .stencil-switch-label{opacity:0.4;cursor:default}.stencil-mom2-row{border:1px solid var(--color-border);border-radius:10px;padding:0.6rem 0.7rem;margin:0 0 0.6rem}.stencil-mom2-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.3rem}.stencil-mom2-name{font-size:0.85rem;font-weight:600;color:var(--color-text)}.stencil-mom2-remove{border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);border-radius:6px;width:1.6rem;height:1.6rem;line-height:1;font-size:1rem;cursor:pointer}.stencil-mom2-remove:hover{color:#ff6b6b;border-color:#ff6b6b}.stencil-auto-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.stencil-preset-buttons{display:flex;flex-wrap:wrap;gap:0.4rem}.stencil-preset-status{margin-top:0.4rem;font-size:0.78rem;color:var(--color-accent);min-height:1em}.stencil-view-toggle{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.6rem}.stencil-overlay-opacity{margin-top:0.6rem;padding:0.4rem 0.6rem;border:1px solid var(--color-border);border-radius:10px}.stencil-layout-frame{overflow:hidden;border-radius:12px;border:1px solid var(--color-border);touch-action:pan-y;cursor:grab}.stencil-layout-view canvas{display:block;width:100%;height:auto;border-radius:12px;touch-action:pan-y}.stencil-sheets-note{margin-top:0.4rem;font-size:0.82rem;color:var(--color-accent)}.stencil-copy-controls{margin-top:0.6rem;padding:0.6rem;border:1px solid var(--color-border);border-radius:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0.5rem;align-items:center}.stencil-copy-controls>button{justify-self:start}.stencil-copy-size,.stencil-copy-angle,.stencil-copy-exact,.stencil-layout-common{grid-column:1 / -1}.stencil-copy-size,.stencil-copy-angle{margin:0.2rem 0 0;grid-template-columns:auto minmax(0,1fr) auto auto}.stencil-copy-size output{white-space:nowrap}.stencil-copy-exact{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));align-items:end;gap:0.5rem;margin-top:0.4rem;padding-top:0.4rem;border-top:1px dashed var(--color-border)}.stencil-copy-exact .stencil-size-field{min-width:0}.stencil-copy-exact>button{justify-self:start}.stencil-layout-common{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0.6rem 0.9rem;align-items:center;margin-top:0.4rem;padding-top:0.5rem;border-top:1px dashed var(--color-border)}.stencil-layout-common .stencil-field-group{align-self:start;min-width:0}.stencil-layout-common .stencil-sub-hint,.stencil-layout-common .stencil-layout-buttons{grid-column:1 / -1}.stencil-layout-buttons{display:flex;flex-wrap:wrap;gap:0.4rem}.stencil-change-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;margin-bottom:1rem}.stencil-usage{font-size:0.8rem;color:var(--color-text-muted)}.stencil-error{margin-top:1rem;padding:0.75rem 1rem;border:1px solid var(--color-danger);border-left:3px solid var(--color-danger);background:var(--color-surface-alt);color:var(--color-danger);border-radius:10px;font-size:0.88rem}.stencil-preview-below{min-width:0}.stencil-compare{position:relative;border-radius:12px;overflow:hidden;background:var(--color-bg);touch-action:pan-y pinch-zoom;border:1px solid var(--color-border);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.stencil-compare canvas,.stencil-layout-view canvas{display:block;width:100%;height:auto}.stencil-compare-divider{position:absolute;top:0;bottom:0;width:18px;z-index:5;touch-action:none;cursor:ew-resize}.stencil-compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--color-accent);color:#1a1206;font-size:12px;line-height:26px;text-align:center;pointer-events:none}.stencil-compare-handle::before{content: "⇄"}.stencil-processing{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);color:#fff;font-size:0.9rem}.stencil-compare-hint{text-align:center;font-size:0.78rem;color:var(--color-text-muted);margin-top:0.4rem}.stencil-lens{position:absolute;z-index:10;width:180px;height:180px;border-radius:50%;border:2px solid var(--color-accent,#e6b34a);background-repeat:no-repeat;background-color:#fff;pointer-events:none;box-shadow:0 4px 18px rgba(0,0,0,0.55)}.stencil-lens-zoom{position:absolute;top:0.5rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.65);color:#fff;font-size:0.72rem;line-height:1;padding:0.2rem 0.55rem;border-radius:999px;pointer-events:none}.stencil-skin-hint{margin-top:1rem;padding:0.75rem 1rem}.stencil-skin-warn{color:var(--color-accent);font-size:0.86rem}.stencil-skin-ok{color:var(--color-success);font-size:0.86rem}.stencil-actions{margin-top:1.5rem}.stencil-action-buttons{display:flex;flex-wrap:wrap;gap:0.5rem}.stencil-limit{margin:1.25rem 0}.stencil-limit-card{padding:1rem 1.25rem;border:1px solid var(--color-border);border-left:3px solid var(--color-accent);background:var(--color-surface-alt);border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem}.stencil-limit-text{font-size:0.95rem;color:var(--color-text)}.stencil-limit-actions{display:flex;gap:0.5rem}#stencil-print{display:none}@media print{@page{size:A4;margin:0}html,body{margin:0 !important;padding:0 !important;background:#fff !important}body>*:not(#stencil-print){display:none !important}#stencil-print{display:block !important;position:static !important;margin:0;padding:0}.stencil-page{width:209.65mm;height:296.5mm;margin:0;padding:0;overflow:hidden;page-break-after:always;break-after:page}.stencil-page:last-child{page-break-after:auto;break-after:auto}.stencil-page img{display:block;width:209.65mm;height:296.5mm;margin:0;padding:0}}@media (max-width:991.98px){.stencil-layout{display:flex;flex-direction:column;gap:0.6rem}.stencil-preview-column{flex:0 0 auto;display:flex;flex-direction:column;gap:0.7rem}.stencil-preview-sticky{z-index:20;background:var(--color-bg);border-radius:12px;padding:0.4rem 0.4rem 0.1rem}.stencil-preview-sticky .stencil-compare,.stencil-preview-sticky .stencil-layout-view{max-height:none;width:100%;max-width:100%;margin:0}.stencil-preview-sticky .stencil-compare canvas,.stencil-preview-sticky .stencil-layout-view canvas{max-height:38vh;width:auto !important;max-width:100%;display:block;margin:0 auto}.stencil-copy-controls{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.stencil-settings{flex:1 1 auto;max-height:52vh;overflow-y:auto;min-height:0}.stencil-preview-below{flex:0 0 auto}}@media (max-width:991.98px) and (orientation:landscape){.stencil-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1rem;align-items:start}.stencil-preview-column{grid-column:1;grid-row:1 / span 2;position:sticky;top:0.5rem;align-self:start;max-height:none;padding:0.4rem}.stencil-preview-column .stencil-compare,.stencil-preview-column .stencil-layout-view{max-height:none}.stencil-preview-column .stencil-compare canvas,.stencil-preview-column .stencil-layout-view canvas{max-height:62vh}.stencil-settings{grid-column:2;grid-row:1 / span 2;max-height:none;overflow:visible}}@media (min-width:700px) and (max-width:991.98px) and (orientation:portrait){.stencil-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:1rem;align-items:start}.stencil-settings{grid-column:1;grid-row:1 / span 2;max-height:none;overflow:visible}.stencil-preview-column{grid-column:2;grid-row:1 / span 2;position:sticky;top:0.5rem;align-self:start;max-height:none}.stencil-preview-sticky .stencil-compare,.stencil-preview-sticky .stencil-layout-view{max-height:none}.stencil-preview-sticky .stencil-compare canvas,.stencil-preview-sticky .stencil-layout-view canvas{max-height:62vh}.stencil-copy-controls{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (hover:none) and (pointer:coarse) and (min-width:992px){.stencil-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}}.stencil-upload{display:flex;flex-direction:column;align-items:center;gap:0.9rem;padding:2.2rem 1.5rem;text-align:center}.stencil-upload-actions{display:flex;flex-wrap:wrap;gap:0.6rem;align-items:center;justify-content:center}.stencil-upload .stencil-dropzone-hint{max-width:36rem}.stencil-upload-pick{position:relative;display:inline-block}.stencil-text-controls{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0.6rem 0.9rem;align-items:center;margin-top:0.4rem;padding-top:0.5rem;border-top:1px dashed var(--color-border)}.stencil-text-controls .stencil-text-size,.stencil-text-controls .stencil-text-angle{grid-column:1 / -1}.stencil-text-font{font-size:0.8rem;color:var(--color-text-muted)}.stencil-text-only .stencil-settings>*:not(.stencil-change-block):not(#hatch-density-row):not(#print-slot){display:none}.stencil-text-modal{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(8,10,12,0.72)}.stencil-text-modal-card{width:100%;max-width:26rem;max-height:90vh;overflow-y:auto;padding:1rem 1.1rem 1.1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 18px 50px rgba(0,0,0,0.5)}.stencil-text-modal-title{font-weight:700;margin-bottom:0.7rem}.stencil-text-modal-field{display:block;margin-bottom:0.7rem}.stencil-text-modal-field .stencil-input-label{display:block;margin-bottom:0.25rem}.stencil-warp-body{display:flex;gap:0.9rem;align-items:flex-start}.stencil-warp-fields{flex:1 1 auto;min-width:0}.stencil-warp-fields .stencil-text-modal-field:last-child{margin-bottom:0}.stencil-warp-arm{flex:0 0 auto;width:108px;height:auto;margin-top:0.15rem}@media (max-width:30rem){.stencil-warp-body{gap:0.6rem}.stencil-warp-arm{width:84px}}.stencil-text-modal textarea,.stencil-text-modal select{width:100%;padding:0.5rem 0.6rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-alt);color:var(--color-text);font:inherit}.stencil-text-modal textarea{resize:vertical;min-height:3.2rem}.stencil-text-modal-actions{display:flex;justify-content:center;gap:0.5rem;margin-top:0.3rem}.stencil-page-header{display:flex;align-items:center;flex-wrap:wrap;gap:0.7rem}.stencil-help-btn{display:inline-flex;align-items:center;justify-content:center}.stencil-help-text{display:none}@media (max-width:767.98px){.stencil-page-header{flex-direction:column;align-items:flex-start;gap:0.35rem}.stencil-help-btn{display:none}}.stencil-feedback-note{margin:0 0 0.8rem;font-size:0.88rem}.stencil-feedback-note.ok{color:#9ccc65}.stencil-feedback-note.error{color:#ef8a8a}.stencil-picker-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.6rem}.stencil-picker{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);overflow:hidden}.stencil-picker-label{padding:0.4rem 0.7rem;border:0;background:transparent;color:var(--color-text);font-size:0.88rem;white-space:nowrap;cursor:pointer}.stencil-picker-arrow{padding:0.4rem 0.55rem;border:0;border-left:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);line-height:1;cursor:pointer}.stencil-picker-label:hover,.stencil-picker-arrow:hover{color:var(--color-accent)}.stencil-layout-toggle.active{color:var(--color-accent);border-color:var(--color-accent)}.stencil-picker-panel{margin:0 0 0.7rem;padding:0.6rem 0.7rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.stencil-picker-panel .stencil-view-toggle{margin:0}.stencil-image-count{font-size:0.8rem;color:var(--color-text-muted);align-self:center}.stencil-change-block{margin-bottom:1rem}.stencil-image-chips{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.5rem}.stencil-chip{padding:0.25rem 0.6rem;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:0.8rem;cursor:pointer}.stencil-chip.active{border-color:#e6b34a;background:#e6b34a;color:#1a1206;font-weight:600}.stencil-copy-exact{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0.5rem}.stencil-copy-exact .stencil-size-field{flex:1 1 110px;min-width:0}.stencil-copy-exact>button{flex:0 0 auto}.stencil-aspect-lock{margin-bottom:0.1rem;padding:0.35rem 0.5rem;border:1px solid var(--color-border);border-radius:8px;background:transparent;font-size:0.95rem;line-height:1;cursor:pointer;opacity:0.5}.stencil-aspect-lock.active{border-color:#e6b34a;background:rgba(230,179,74,0.18);opacity:1}.stencil-help-btn{width:1.7rem;height:1.7rem;border:1px solid var(--color-border);border-radius:50%;background:transparent;color:var(--color-text-muted);font-weight:700;line-height:1;cursor:pointer}.stencil-help-btn:hover{color:var(--color-text);border-color:#e6b34a}.stencil-intro-list{margin:0 0 0.9rem;padding-left:1.1rem;font-size:0.9rem;line-height:1.45}.stencil-intro-list li{margin-bottom:0.4rem}.stencil-intro-section-title{font-size:0.9rem;font-weight:700;letter-spacing:0.03em;color:var(--color-accent);margin:1rem 0 0.4rem}.stencil-intro-reviews{font-size:0.85rem;color:var(--color-text-muted);margin:0.3rem 0 0.6rem;line-height:1.4}.stencil-modes-tray{margin-top:0}.stencil-modes-tray summary{display:flex;align-items:center;gap:0.35rem}.stencil-modes-summary-label{color:var(--color-text-muted);font-weight:400}.stencil-modes-tray .stencil-segments{padding-bottom:0.75rem}.stencil-intro-donate{margin:0.2rem 0 0.9rem;text-align:center}.stencil-print-mode .stencil-settings>*:not(.stencil-change-block):not(#print-slot):not(#hatch-density-row){display:none}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:640px){.stencil-layout{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.stencil-layout .stencil-preview-column{grid-column:1;grid-row:1}.stencil-layout .stencil-settings{grid-column:2;grid-row:1}#stencil-layout-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:0.7rem;align-items:start}#stencil-layout-view .stencil-layout-frame{grid-column:1;grid-row:1 / span 2}#stencil-layout-view .stencil-sheets-note{grid-column:1}#stencil-layout-view .stencil-copy-controls{grid-column:2;grid-row:1 / span 2}.stencil-print-mode .stencil-settings{display:none}}.stencil-print-mode .stencil-settings>*:not(.stencil-change-block):not(#print-slot):not(#hatch-density-row){display:none}@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:640px){#stencil-layout-view{display:block}#stencil-layout-view .stencil-copy-controls{grid-column:auto;grid-row:auto}.stencil-print-mode .stencil-settings{display:block}}.stencil-tone-card{max-width:44rem}.stencil-histogram,.stencil-curve-canvas{display:block;width:100%;height:auto;margin:0.2rem auto 0.7rem;background:#101014;border:1px solid #2c2c34;border-radius:6px}.stencil-histogram{max-width:640px}.stencil-curve-canvas{max-width:480px;touch-action:none;cursor:crosshair}.stencil-reviews-wrap{max-width:46rem;margin:0.8rem auto 2.4rem;padding:0 1rem}.stencil-reviews{padding:1rem 1.1rem 1.2rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.stencil-reviews-title{margin:0 0 0.6rem;font-size:1.15rem}.stencil-reviews-summary{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.7rem}.stencil-reviews-meta{color:#9aa3ad;font-size:0.9rem}.stencil-stars{display:inline-flex;gap:0.1rem}.stencil-star{color:#4a4a55;font-size:1rem;line-height:1}.stencil-star.on{color:#e6b34a}.stencil-stars-input{margin-bottom:0.5rem}.stencil-stars-input .stencil-star{background:none;border:0;padding:0 0.15rem;font-size:1.5rem;cursor:pointer}.stencil-review{padding:0.65rem 0;border-top:1px solid var(--color-border)}.stencil-reviews-list .stencil-review:first-child{border-top:0}.stencil-review-head{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.stencil-review-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:#2c2c34;font-weight:700}.stencil-review-avatar img{width:100%;height:100%;object-fit:cover}.stencil-review-nick{font-weight:600}.stencil-review-date{margin-left:auto;color:#9aa3ad;font-size:0.82rem}.stencil-review-text{margin-top:0.35rem;white-space:pre-line}.stencil-review-empty,.stencil-review-hint{color:#9aa3ad;padding:0.4rem 0}.stencil-review-form{margin-top:0.7rem}.stencil-review-input{width:100%;box-sizing:border-box;min-height:5rem;resize:vertical;padding:0.6rem 0.7rem;border-radius:8px;border:1px solid var(--color-border);background:#14141a;color:inherit}.stencil-review-actions{display:flex;align-items:center;gap:0.6rem;margin-top:0.6rem;flex-wrap:wrap}.stencil-review-status{color:#9aa3ad;font-size:0.9rem}.stencil-presets-thumbs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}.stencil-preset-thumb{width:84px;height:84px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:rgba(255,255,255,.05);color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;text-align:center;line-height:1.1}.stencil-preset-thumb img{width:100%;height:100%;object-fit:cover;display:block}.stencil-preset-thumb:hover{border-color:rgba(230,179,74,.5)}.stencil-preset-thumb.is-open{border-color:var(--color-accent,#e6b34a)}.stencil-alltime{margin-top:0.6rem;font-size:0.82rem;color:var(--color-text-muted)}.stencil-alltime b{color:var(--color-text);font-weight:600}.stencil-preset-cell{position:relative;display:inline-flex}.stencil-preset-del{position:absolute;top:-0.35rem;right:-0.35rem;width:1.25rem;height:1.25rem;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface,#1b232b);color:var(--color-text-muted);font-size:0.7rem;line-height:1;cursor:pointer}.stencil-preset-del:hover{border-color:#ff6b6b;color:#ff6b6b}