:root{--color-paper: #FFF6DC;--color-paper-2: #FFEFC0;--color-paper-3: #FFE39B;--color-ink: #14110F;--color-ink-2: #2A2520;--color-muted: #5C5249;--color-rule: #14110F;--color-rule-soft: rgba(20, 17, 15, .12);--color-accent: #E94B3C;--color-accent-soft: #FFD2C9;--color-accent-ink: #FFF6DC;--color-focus: #4A9EFF;--color-danger: #E94B3C;--color-danger-bg: #FFD2C9;--color-success: #2E9E4F;--color-recording: #E94B3C;--color-vermillion: #E94B3C;--color-lemon: #FFD23F;--color-blue: #4A9EFF;--color-lime: #95E353;--color-pink: #FF3D88;--color-purple: #B57EFF;--font-display: "Bagel Fat One", "Hiragino Maru Gothic ProN", "Yu Gothic", "Apple SD Gothic Neo", "PingFang SC", "Microsoft YaHei", ui-serif, Georgia, serif;--font-comic: "Bagel Fat One", "Hiragino Maru Gothic ProN", "Yu Gothic", "Apple SD Gothic Neo", "PingFang SC", "Microsoft YaHei", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic", "Apple SD Gothic Neo", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4.5rem;--space-3xl: 7rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-display: clamp(2.5rem, 5vw + .5rem, 4.5rem);--ease-out: cubic-bezier(.34, 1.56, .64, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-bounce: cubic-bezier(.68, -.55, .27, 1.55);--ease-spring: cubic-bezier(.18, .89, .32, 1.28);--dur-quick: .14s;--dur-short: .22s;--dur-medium: .38s;--dur-slow: .6s;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--shadow-xs: 2px 2px 0 #14110F;--shadow-sm: 3px 3px 0 #14110F;--shadow-md: 4px 4px 0 #14110F;--shadow-lg: 6px 6px 0 #14110F;--shadow-xl: 8px 8px 0 #14110F;--shadow-inset: inset 2px 2px 0 rgba(20, 17, 15, .08);--z-sticky: 100;--z-overlay: 200;--z-modal: 300;color:var(--color-ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;min-width:320px;min-height:100%;overflow-x:clip;background:var(--color-paper)}body{background-color:var(--color-paper);background-image:radial-gradient(circle at 1px 1px,rgba(20,17,15,.16) 1.4px,transparent 0),radial-gradient(circle at 11px 11px,rgba(20,17,15,.08) 1.2px,transparent 0);background-size:22px 22px,22px 22px;background-attachment:fixed;background-position:0 0,0 0;min-width:320px;min-height:100dvh;margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--color-ink);overflow-x:clip;position:relative}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(blob 90px at 8% 12%,var(--color-lemon) 0 40%,transparent 41%),radial-gradient(blob 110px at 92% 18%,var(--color-blue) 0 38%,transparent 39%),radial-gradient(blob 80px at 14% 88%,var(--color-pink) 0 42%,transparent 43%),radial-gradient(blob 130px at 88% 92%,var(--color-lime) 0 36%,transparent 37%);filter:blur(.5px);opacity:.55}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 50% 50%,rgba(20,17,15,.04) .8px,transparent 1px);background-size:5px 5px;opacity:.6;mix-blend-mode:multiply}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:var(--color-ink);text-decoration-thickness:1px;text-underline-offset:3px}:focus{outline:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.parameter-help-anchor:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-lemon);color:var(--color-ink);text-shadow:1px 1px 0 var(--color-ink)}@keyframes wobble{0%,to{transform:rotate(0) translate(0)}20%{transform:rotate(-1.2deg) translate(-1px,-.5px)}40%{transform:rotate(.8deg) translate(1px,.5px)}60%{transform:rotate(-.6deg) translate(-.5px,1px)}80%{transform:rotate(1deg) translate(.5px,-1px)}}@keyframes wobble-big{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(-2.5deg) scale(1.03)}30%{transform:rotate(2deg) scale(.97)}45%{transform:rotate(-1.5deg) scale(1.02)}60%{transform:rotate(2.5deg) scale(.98)}80%{transform:rotate(-1deg) scale(1.01)}}@keyframes squish{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(.93) scaleX(1.04)}}@keyframes bounce-in{0%{transform:scale(.4);opacity:0}55%{transform:scale(1.12);opacity:1}75%{transform:scale(.95)}to{transform:scale(1)}}@keyframes bounce-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes jiggle{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-2px,1px) rotate(-.6deg)}30%{transform:translate(2px,-1px) rotate(.7deg)}50%{transform:translate(-1px,2px) rotate(-.3deg)}70%{transform:translate(1px,-2px) rotate(.5deg)}90%{transform:translate(-1.5px) rotate(-.7deg)}}@keyframes shake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-3px,-2px) rotate(-1deg)}20%{transform:translate(3px,2px) rotate(1deg)}30%{transform:translate(-3px,2px) rotate(-1deg)}40%{transform:translate(3px,-2px) rotate(1deg)}50%{transform:translate(-2px,3px) rotate(0)}60%{transform:translate(2px,-3px) rotate(0)}70%{transform:translate(-3px) rotate(-1deg)}80%{transform:translate(3px) rotate(1deg)}90%{transform:translateY(3px) rotate(0)}}@keyframes pulse-record{0%,to{box-shadow:4px 4px 0 var(--color-ink),0 0 #e94b3c8c}50%{box-shadow:4px 4px 0 var(--color-ink),0 0 0 16px #e94b3c00}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes wiggle-thumb{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-8deg)}50%{transform:scale(1.15) rotate(6deg)}75%{transform:scale(1.1) rotate(-4deg)}}@keyframes floating{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}@keyframes confetti-pop{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:0;transform:scale(.6) rotate(360deg) translateY(-30px)}}@keyframes draw{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visually-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.app-shell{width:min(100% - 32px,1240px);min-height:100dvh;margin-inline:auto;padding-block:var(--space-lg) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-lg);position:relative;z-index:1}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-md);padding-block:var(--space-xs)}.app-hero{text-align:center;grid-column:1;min-width:0;padding:var(--space-sm) 0 var(--space-xs);display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);position:relative}.app-hero:before{content:attr(data-hero-eyebrow);display:inline-block;font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.18em;color:var(--color-ink);text-transform:uppercase;padding:6px 14px;background:var(--color-lemon);border:2px solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);transform:rotate(-1.5deg);margin-bottom:var(--space-2xs)}.app-hero h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--text-display);line-height:.95;letter-spacing:-.005em;color:var(--color-ink);overflow-wrap:anywhere;min-width:0;text-transform:none;animation:wobble 4.5s var(--ease-in-out) infinite;transform-origin:50% 80%}.title-effect{color:var(--color-vermillion);font-style:normal;position:relative;display:inline-block;text-shadow:3px 3px 0 var(--color-lemon),6px 6px 0 var(--color-blue)}.app-hero p{color:var(--color-ink-2);margin:var(--space-2xs) 0 0;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;max-width:520px;background:var(--color-paper-2);border:2px solid var(--color-ink);border-radius:var(--radius-pill);padding:6px 16px;box-shadow:var(--shadow-xs);transform:rotate(-.5deg)}.language-switch{grid-column:3;justify-self:end;position:relative;z-index:var(--z-overlay)}.language-trigger{display:inline-flex;align-items:center;gap:var(--space-2xs);min-height:44px;padding:6px 14px 6px 10px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transform:rotate(1deg);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out)}.language-trigger:hover,.language-trigger[aria-expanded=true]{background:var(--color-lemon);transform:rotate(1deg) translate(-2px,-2px);box-shadow:var(--shadow-md)}.language-trigger:active{transform:rotate(1deg) translate(1px,1px);box-shadow:var(--shadow-xs)}.language-globe{flex:none;width:18px;height:18px;stroke:var(--color-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.language-current{display:inline-flex;align-items:center;gap:8px}.language-chevron{font-size:14px;line-height:1;color:var(--color-ink);transition:transform var(--dur-short) var(--ease-bounce)}.language-trigger[aria-expanded=true] .language-chevron{transform:rotate(180deg)}.language-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(300px,calc(100vw - 32px));max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;gap:2px;animation:bounce-in var(--dur-short) var(--ease-bounce)}.language-menu button{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:var(--space-xs);width:100%;min-height:40px;padding:6px 10px;background:transparent;border:0;border-radius:var(--radius-md);color:var(--color-ink);text-align:left;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-quick) var(--ease-out)}.language-menu button:hover,.language-menu button:focus-visible{background:var(--color-lime)}.language-menu button[aria-checked=true]{background:var(--color-lemon);color:var(--color-ink);font-weight:700}.language-check{color:var(--color-ink);text-align:center;font-size:14px;font-weight:900}.app-grid{display:grid;grid-template-columns:minmax(360px,400px) minmax(360px,1fr);align-items:start;gap:var(--space-lg)}.settings-column{display:grid;gap:var(--space-md);min-width:0;animation:bounce-up var(--dur-medium) var(--ease-bounce) backwards}.settings-column>*{animation-delay:.08s}.settings-column>*:nth-child(2){animation-delay:.18s}.settings-column>*:nth-child(3){animation-delay:.28s}.settings-column>*:nth-child(4){animation-delay:.38s}.settings-column>*:nth-child(5){animation-delay:.48s}.play-column{animation:bounce-up var(--dur-medium) var(--ease-bounce) .2s backwards}.card{background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);position:relative;transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out)}.card:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}.card h2{margin:0 0 var(--space-sm);font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);line-height:1.05;letter-spacing:-.005em;color:var(--color-ink);text-transform:none}.card h3{margin:0 0 var(--space-2xs);font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-ink);text-transform:uppercase}.drop-zone{display:grid;place-items:center;gap:var(--space-sm);min-height:240px;padding:var(--space-lg);border:3px dashed var(--color-ink);border-radius:var(--radius-lg);background:radial-gradient(circle at 1px 1px,rgba(20,17,15,.22) 1.5px,transparent 0) 0 0 / 14px 14px,var(--color-lemon);text-align:center;position:relative;cursor:pointer;box-shadow:var(--shadow-md);animation:floating 3.6s var(--ease-in-out) infinite;transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.drop-zone:hover{background:radial-gradient(circle at 1px 1px,rgba(20,17,15,.22) 1.5px,transparent 0) 0 0 / 14px 14px,var(--color-pink);transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}.drop-zone:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs);animation-play-state:paused}.drop-zone.is-dragging{border-style:solid;border-color:var(--color-ink);background:radial-gradient(circle at 1px 1px,rgba(20,17,15,.22) 1.5px,transparent 0) 0 0 / 14px 14px,var(--color-lime);transform:scale(1.02);box-shadow:var(--shadow-xl);animation:none}.drop-zone.has-image{text-align:left;place-items:stretch stretch;animation:none;background:var(--color-paper);border-style:solid}.drop-text{display:grid;justify-items:center;gap:6px}.drop-title{margin:0;color:var(--color-ink);font-size:var(--text-xl);font-family:var(--font-display);font-weight:900;line-height:1.1;letter-spacing:0;text-transform:none;text-shadow:2px 2px 0 var(--color-paper)}.drop-text span:first-child{color:var(--color-ink);font-weight:900;font-size:var(--text-xl);font-family:var(--font-display);text-transform:none;letter-spacing:0;text-shadow:2px 2px 0 var(--color-paper)}.drop-text span:last-child{max-width:280px;color:var(--color-ink-2);font-size:var(--text-sm);line-height:1.45;font-weight:600}.drop-icon{width:64px;height:64px;border-radius:50%;background:var(--color-vermillion);border:3px solid var(--color-ink);color:var(--color-ink);display:grid;place-items:center;font-size:0;line-height:0;position:relative;box-shadow:var(--shadow-sm);animation:wobble 2s var(--ease-in-out) infinite}.drop-icon:before{content:"";width:22px;height:28px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 22' fill='none' stroke='%23FFF6DC' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M8 1 V17'/><path d='M2 11 L8 17 L14 11'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain}.primary-button,.secondary-button,.save-link,.record-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:48px;padding:10px 22px;border:2.5px solid var(--color-ink);border-radius:var(--radius-md);font-family:var(--font-body);font-weight:800;font-size:var(--text-sm);letter-spacing:.02em;cursor:pointer;white-space:nowrap;text-decoration:none;text-transform:uppercase;box-shadow:var(--shadow-sm);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out);position:relative}.primary-button,.save-link{background:var(--color-vermillion);color:var(--color-ink);border-color:var(--color-ink)}.primary-button:hover,.save-link:hover{background:var(--color-lemon);transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.primary-button:active,.save-link:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs)}.secondary-button{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-ink);box-shadow:var(--shadow-sm)}.secondary-button:hover{background:var(--color-blue);color:var(--color-ink);transform:translate(-2px,-2px);box-shadow:var(--shadow-md)}.secondary-button:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:grayscale(.5);box-shadow:var(--shadow-xs)}.app-hero{position:relative;overflow:visible}.app-hero:hover:after{content:attr(data-hero-burst);position:absolute;top:-10px;right:-8px;font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,2.2rem);color:var(--color-ink);background:var(--color-pink);border:3px solid var(--color-ink);border-radius:var(--radius-md);padding:4px 14px;box-shadow:var(--shadow-md);transform:rotate(12deg) scale(0);animation:pop var(--dur-medium) var(--ease-bounce) forwards;pointer-events:none;z-index:5;text-transform:none;letter-spacing:0}.image-summary{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:var(--space-sm);padding:var(--space-xs);background:var(--color-paper-2);border:2px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.image-summary img{width:72px;height:72px;object-fit:contain;border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:linear-gradient(45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(-45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-paper-3) 75%),linear-gradient(-45deg,transparent 75%,var(--color-paper-3) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.image-meta{min-width:0;display:grid;gap:2px;font-size:var(--text-xs);color:var(--color-ink-2);font-weight:600}.image-meta strong{color:var(--color-ink);font-weight:800;font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-message{margin:var(--space-sm) 0 0;padding:12px 14px;background:var(--color-danger-bg);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;line-height:1.45;box-shadow:var(--shadow-xs)}.error-toast{position:fixed;top:18px;right:18px;z-index:var(--z-modal);display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;gap:var(--space-2xs);width:min(380px,calc(100vw - 28px));min-height:60px;padding:12px 12px 12px 14px;background:var(--color-lemon);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:bounce-in var(--dur-medium) var(--ease-bounce)}.error-toast>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--color-vermillion);color:var(--color-ink);font-weight:900;font-size:14px;border:2px solid var(--color-ink)}.error-toast p{margin:0;font-size:var(--text-sm);font-weight:700;line-height:1.4;color:var(--color-ink)}.error-toast button{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);background:transparent;border:2px solid transparent;color:var(--color-ink);font-size:20px;font-weight:900;cursor:pointer}.error-toast button:hover{background:var(--color-paper);border-color:var(--color-ink)}.replace-dialog{width:min(420px,calc(100vw - 32px));padding:var(--space-md);background:var(--color-paper);border:3px solid var(--color-ink);border-radius:var(--radius-lg);color:var(--color-ink);box-shadow:var(--shadow-xl)}.replace-dialog::backdrop{background:#14110f73}.replace-dialog form{display:grid;gap:var(--space-sm)}.replace-dialog p{margin:0;font-weight:800;line-height:1.5}.replace-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2xs)}.replace-dialog-actions button{min-height:40px;padding:8px 14px;background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-weight:900;box-shadow:var(--shadow-xs)}.replace-dialog-actions button[value=replace]{background:var(--color-lemon)}.file-button [data-file-button-label=replace],.file-button.has-image [data-file-button-label=select]{display:none}.file-button.has-image [data-file-button-label=replace]{display:inline}.shake-settings{border-color:var(--color-ink);background:var(--color-paper);min-width:0;overflow:hidden}.shake-settings fieldset{border:0;margin:0;padding:0}.shake-settings label{display:grid;gap:var(--space-2xs)}.shake-settings p{margin:var(--space-2xs) 0 0;color:var(--color-ink-2);font-size:var(--text-xs);line-height:1.5;font-weight:600}.mode-navigation{width:min(100%,420px);margin:0 auto var(--space-sm)}.bottom-mode-navigation{display:none;margin-block:var(--space-md) var(--space-lg)}.mode-guidance{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:4px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;margin:0;padding:6px;background:var(--color-paper-2);border:2.5px solid var(--color-ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.mode-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;background:transparent;border:2px solid transparent;border-radius:var(--radius-md);color:var(--color-ink-2);font-weight:800;font-size:var(--text-base);font-family:var(--font-display);text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-bounce),color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-bounce)}.mode-tabs button:not(:disabled):not([aria-current=step]):hover{background:var(--color-paper);transform:translateY(-2px);color:var(--color-ink)}.mode-tabs button[aria-current=step]{background:var(--color-vermillion);border-color:var(--color-ink);color:var(--color-ink);box-shadow:var(--shadow-sm);transform:translate(-1px,-1px)}.mode-tabs button[aria-current=step]:before{content:"▸ ";margin-right:4px}.mode-tabs button[aria-current=step]:disabled{background:#d8aa8f;border-color:#14110f6b;color:#14110f85;box-shadow:4px 4px #14110f6b;cursor:default;filter:none;opacity:1}.mode-tabs button:disabled:not([aria-current=step]){opacity:.48;cursor:not-allowed;filter:grayscale(.35)}.mode-hint{position:relative;grid-column:1;max-width:calc(100% - 8px);margin:var(--space-2xs) auto 0;padding:8px 14px;background:var(--color-lemon);border:2px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-xs);font-weight:700;line-height:1.4;text-align:center;box-shadow:var(--shadow-xs);transform:rotate(-.6deg)}.mode-guidance[data-target-mode=play] .mode-hint{grid-column:2}.mode-guidance[data-target-mode=region-edit] .mode-hint{grid-column:1}.mode-hint:after{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;background:var(--color-lemon);border-top:2px solid var(--color-ink);border-left:2px solid var(--color-ink);transform:translate(-50%) rotate(45deg)}.play-controls{display:grid;gap:var(--space-md);position:relative;min-width:0}.play-controls h2{margin-bottom:0}.section-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2xs)}.section-heading h2{margin:0}.section-heading p{margin:0;color:var(--color-ink-2);font-size:var(--text-xs);line-height:1.5;font-weight:600}.image-input-heading{margin-bottom:var(--space-md)}.play-heading{margin-bottom:var(--space-xs)}.play-controls-body{display:grid;gap:var(--space-md);min-width:0;margin:0;padding:0;border:0}.play-controls.is-locked{opacity:.45;filter:grayscale(.6);pointer-events:none;user-select:none}.play-controls.is-locked:before{content:attr(data-play-locked-message);display:block;text-align:center;padding:var(--space-2xs);margin-bottom:var(--space-sm);background:var(--color-lemon);border:2.5px dashed var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-sm);font-weight:800;text-transform:none;letter-spacing:0;font-family:var(--font-display);pointer-events:auto;animation:wobble 2.5s var(--ease-in-out) infinite}.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xs);min-width:0}.preset-card{display:grid;gap:4px;min-height:76px;min-width:0;padding:10px 12px;text-align:left;background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-weight:700;font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-xs);position:relative;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.preset-card:nth-child(3n+1){transform:rotate(-.6deg)}.preset-card:nth-child(3n+2){transform:rotate(.4deg)}.preset-card:nth-child(3n+3){transform:rotate(-.3deg)}.preset-card:hover{background:var(--color-lemon);transform:translate(-2px,-2px) rotate(0) scale(1.02);box-shadow:var(--shadow-md);z-index:2}.preset-card:active{transform:translate(1px,1px) scale(.97);box-shadow:var(--shadow-xs)}.preset-card[aria-pressed=true]{background:var(--color-vermillion);border-color:var(--color-ink);color:var(--color-ink);box-shadow:var(--shadow-md);transform:translate(-2px,-2px) rotate(-1deg);animation:wobble 3s var(--ease-in-out) infinite}.preset-card span{color:var(--color-ink-2);font-size:.7rem;font-weight:600;line-height:1.4}.preset-card[aria-pressed=true] span{color:var(--color-ink)}.parameter-grid{display:grid;gap:var(--space-sm);min-width:0}.parameter-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2xs)}.parameter-name{display:inline-flex;align-items:center;gap:4px;position:relative;font-weight:800;font-size:var(--text-sm);color:var(--color-ink);text-transform:uppercase;letter-spacing:.04em}.parameter-help-anchor{display:inline-grid;place-items:center;width:22px;height:22px;background:var(--color-lemon);border:2px solid var(--color-ink);border-radius:50%;color:var(--color-ink);font-size:11px;font-weight:900;cursor:help;position:relative;margin-left:2px;box-shadow:1px 1px 0 var(--color-ink);transition:transform var(--dur-quick) var(--ease-bounce)}.parameter-help-anchor:hover{transform:rotate(15deg) scale(1.1)}.parameter-help-anchor:before{content:"?"}.parameter-tooltip{position:absolute;bottom:calc(100% + 10px);left:0;z-index:var(--z-overlay);visibility:hidden;opacity:0;pointer-events:none;width:min(260px,75vw);padding:10px 14px;background:var(--color-ink);color:var(--color-lemon);border:2px solid var(--color-ink);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;line-height:1.5;box-shadow:var(--shadow-md);transition:opacity var(--dur-short) var(--ease-out),visibility var(--dur-short),transform var(--dur-short) var(--ease-bounce);transform:translateY(6px)}.parameter-help-anchor:hover+.parameter-tooltip,.parameter-help-anchor:focus-visible+.parameter-tooltip{visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s}.parameter-help-anchor:hover+.parameter-tooltip{transition-delay:.6s}.range-control{display:grid;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:700;color:var(--color-ink);padding:var(--space-xs) var(--space-2xs) var(--space-2xs);background:var(--color-paper-2);border:2px dashed var(--color-ink);border-radius:var(--radius-md);min-width:0}.range-control>span{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2xs);min-width:0}.range-control output{background:var(--color-vermillion);color:var(--color-ink);padding:2px 8px;border:2px solid var(--color-ink);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:1px 1px 0 var(--color-ink);min-width:38px;text-align:center}.range-control input[type=range]{width:100%;accent-color:var(--color-vermillion);cursor:grab}.range-control input[type=range]:active{cursor:grabbing}.range-control input[type=range]:active::-webkit-slider-thumb{animation:wiggle-thumb .5s var(--ease-bounce)}.range-control input[type=range]::-webkit-slider-thumb{cursor:grab}.brush-strength-control{--brush-strength-color: var(--color-vermillion)}.brush-strength-control output{background:var(--brush-strength-color)}.range-control input.brush-strength-input{accent-color:var(--brush-strength-color)}.custom-badge,.experimental-badge{display:inline-block;padding:3px 10px;background:var(--color-pink);border:2px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-ink);font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;width:fit-content;box-shadow:2px 2px 0 var(--color-ink);transform:rotate(-2deg)}.experimental-badge{background:var(--color-blue);color:var(--color-ink)}.settings-accordion{background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.accordion-summary{display:flex;align-items:center;gap:var(--space-2xs);width:100%;min-height:50px;padding:12px 16px;text-align:left;background:var(--color-paper);border:0;color:var(--color-ink);font-weight:800;font-size:var(--text-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:background-color var(--dur-quick) var(--ease-out)}.accordion-summary:hover{background:var(--color-lemon)}.accordion-chevron{margin-left:auto;font-size:16px;color:var(--color-ink);font-weight:900;transition:transform var(--dur-short) var(--ease-bounce)}.settings-accordion.is-open .accordion-chevron{transform:rotate(180deg)}.accordion-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--dur-medium) var(--ease-bounce),visibility var(--dur-medium)}.settings-accordion.is-open .accordion-panel{visibility:visible;grid-template-rows:1fr}.accordion-content{min-height:0;padding:0 16px;overflow:hidden}.settings-accordion.is-open .accordion-content{padding-bottom:var(--space-sm);overflow:visible}.auto-motion-group{border:2.5px dashed var(--color-ink);border-radius:var(--radius-md);padding:var(--space-sm);margin:0;background:var(--color-paper-2);min-width:0}.auto-motion-group legend{padding-inline:var(--space-2xs);font-size:var(--text-sm);font-weight:900;color:var(--color-ink);font-family:var(--font-display);text-transform:none;letter-spacing:0;background:var(--color-lime);border:2px solid var(--color-ink);border-radius:var(--radius-sm);padding:4px 10px;box-shadow:2px 2px 0 var(--color-ink)}.auto-motion-group>p{margin:var(--space-2xs) 0;color:var(--color-ink-2);font-size:var(--text-xs);line-height:1.45;font-weight:600}.auto-motion-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}.auto-motion-buttons button{min-height:44px;min-width:0;padding:6px 4px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;word-break:break-word;overflow-wrap:anywhere;text-align:center;line-height:1.15;box-shadow:2px 2px 0 var(--color-ink);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.auto-motion-buttons button:hover{background:var(--color-blue);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.auto-motion-buttons button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-ink)}.auto-motion-buttons button[aria-pressed=true]{background:var(--color-vermillion);color:var(--color-ink);animation:wobble 2.5s var(--ease-in-out) infinite}.auto-motion-range{margin-top:var(--space-sm)}.mobile-motion-controls{border:2.5px solid var(--color-ink);border-radius:var(--radius-md);padding:var(--space-sm);background:var(--color-lemon);box-shadow:var(--shadow-sm)}.motion-title{margin:0 0 var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.mobile-motion-controls .secondary-button{width:100%}.sensor-help{color:var(--color-ink-2);font-size:.7rem;line-height:1.5;font-weight:600}[data-motion-status] [data-motion-status-text]{display:none}[data-motion-status][data-motion-state=idle] [data-motion-status-text=idle],[data-motion-status][data-motion-state=active] [data-motion-status-text=active],[data-motion-status][data-motion-state=unavailable] [data-motion-status-text=unavailable]{display:inline}.sensor-debug-panel{display:grid;gap:var(--space-2xs);padding:10px 12px;background:var(--color-ink);color:var(--color-lime);border:2px solid var(--color-ink);border-radius:var(--radius-md);font-size:var(--text-xs);box-shadow:var(--shadow-xs)}.sensor-debug-panel h3,.sensor-debug-panel p,.sensor-debug-panel dl{margin:0}.sensor-debug-panel h3{font-size:var(--text-xs);color:var(--color-lemon);font-weight:900}.sensor-debug-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-family:var(--font-mono);font-size:.7rem;line-height:1.4}.sensor-debug-panel dl div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;min-width:0}.sensor-debug-panel dt{color:var(--color-muted)}.sensor-debug-panel dd{margin:0;text-align:right;overflow-wrap:anywhere;color:var(--color-lime);font-weight:700}.sensor-debug-panel p{color:var(--color-muted);font-size:.65rem;line-height:1.4}@media(hover:hover)and (pointer:fine){.mobile-motion-controls{display:none}}.play-workspace{display:grid;align-content:start;gap:var(--space-sm)}.play-stage{--play-stage-long-side: clamp(280px, calc(100dvh - 360px) , 640px);display:grid;place-items:center;width:min(100%,calc(var(--play-stage-long-side) * var(--image-width-factor, 1)));aspect-ratio:var(--image-aspect, 1);max-width:100%;max-height:var(--play-stage-long-side);margin:auto;overflow:hidden;background:linear-gradient(45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(-45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-paper-3) 75%),linear-gradient(-45deg,transparent 75%,var(--color-paper-3) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative}.play-stage:before{content:"● ● ●";position:absolute;top:8px;left:12px;z-index:2;font-size:8px;letter-spacing:4px;color:var(--color-ink);opacity:.4;pointer-events:none}.play-canvas{display:block;width:100%;height:100%;background:transparent;cursor:grab;touch-action:none;object-fit:contain}.play-canvas:active{cursor:grabbing}.feature-error{padding:var(--space-sm);background:var(--color-danger-bg);border:2.5px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-weight:700;box-shadow:var(--shadow-xs)}.play-column{display:grid;gap:var(--space-md);min-width:0}.region-column{min-width:0}.recording-panel{display:grid;gap:var(--space-sm)}.recording-panel h2{margin-bottom:0}.recording-action{display:grid;gap:var(--space-2xs)}.recording-settings{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xs)}.recording-settings label{display:grid;gap:4px;min-width:0;color:var(--color-ink);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.recording-settings select{width:100%;min-height:44px;padding:8px 12px;background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;box-shadow:var(--shadow-xs);cursor:pointer}.recording-view{display:grid;grid-column:1 / -1;gap:6px;min-width:0;margin:0;padding:var(--space-2xs);background:var(--color-paper-2);border:2px dashed var(--color-ink);border-radius:var(--radius-md)}.recording-view legend{margin-bottom:4px;padding:0 var(--space-2xs);color:var(--color-ink);font-size:var(--text-xs);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.recording-view-options{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:6px}.recording-view-option{position:relative;min-width:0;cursor:pointer}.recording-view-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.recording-view-option span{display:grid;place-items:center;min-height:44px;padding:6px 8px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;line-height:1.3;text-align:center;box-shadow:2px 2px 0 var(--color-ink);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.recording-view-option:hover span{background:var(--color-lime);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.recording-view-option input:checked+span{background:var(--color-vermillion);color:var(--color-ink);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.recording-view-option input:focus-visible+span{outline:3px solid var(--color-focus);outline-offset:3px}.recording-view:disabled .recording-view-option{cursor:not-allowed}.recording-view:disabled .recording-view-options{opacity:.55}.recording-view p{margin:0;color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600;line-height:1.4}[data-recording-view-help] [data-record-view-help-text]{display:none}[data-recording-view-help][data-record-view-help-state=original] [data-record-view-help-text=original],[data-recording-view-help][data-record-view-help-state=crop] [data-record-view-help-text=crop],[data-recording-view-help][data-record-view-help-state=camera-follow] [data-record-view-help-text=camera-follow]{display:inline}.recording-limit{margin:0;color:var(--color-ink);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.record-button{min-height:72px;padding:14px 32px;background:var(--color-vermillion);color:var(--color-ink);border:3px solid var(--color-ink);border-radius:var(--radius-lg);font-weight:900;font-size:var(--text-md);text-transform:uppercase;letter-spacing:.06em;box-shadow:var(--shadow-lg);position:relative;animation:pulse-record 1.8s var(--ease-in-out) infinite;transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.record-button:before{content:"";width:16px;height:16px;background:var(--color-ink);border-radius:50%;margin-right:4px;animation:pop 1.4s var(--ease-bounce) infinite}.record-button:hover{background:var(--color-lemon);transform:translate(-3px,-3px);box-shadow:var(--shadow-xl)}.record-button:active{transform:translate(2px,2px);box-shadow:var(--shadow-xs)}.record-button.stop{background:var(--color-ink);color:var(--color-vermillion);border-color:var(--color-ink);animation:shake .4s var(--ease-bounce) infinite}.record-button.stop:before{background:var(--color-vermillion);border-radius:2px;width:14px;height:14px;animation:none}.record-button.stop:hover{background:var(--color-ink);color:var(--color-lemon)}.record-button [data-record-button-label=stop],.record-button.stop [data-record-button-label=start]{display:none}.record-button.stop [data-record-button-label=stop]{display:inline}.record-start-area{display:grid;gap:var(--space-2xs);width:100%}.record-start-area .record-button{width:100%}.record-status{margin:0;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-lime);border:2.5px solid var(--color-ink);color:var(--color-ink);font-size:var(--text-sm);font-weight:800;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow-xs)}.record-status.recording{background:var(--color-vermillion);border-color:var(--color-ink);color:var(--color-ink);animation:shake .6s var(--ease-bounce) infinite}.record-time{display:inline-block;margin-left:.45em;font-family:var(--font-mono);font-size:.92em;white-space:nowrap}.record-status [data-record-status-text]{display:none}.record-status[data-record-status-state=recording] [data-record-status-text=recording],.record-status[data-record-status-state=countdown] [data-record-status-text=countdown]{display:inline}.encode-progress{display:grid;gap:var(--space-2xs);padding:var(--space-2xs);background:var(--color-paper-2);border:2px solid var(--color-ink);border-radius:var(--radius-md)}.encode-progress label{display:grid;gap:4px;font-size:var(--text-xs);font-weight:900;color:var(--color-ink);text-transform:uppercase;letter-spacing:.04em}.encode-progress progress{width:100%;height:16px;accent-color:var(--color-vermillion);border:2px solid var(--color-ink);border-radius:var(--radius-pill);overflow:hidden}.encode-progress button{min-height:44px;padding:8px 14px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sm);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:2px 2px 0 var(--color-ink);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out)}.encode-progress button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.encode-progress button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-ink)}.result-player{display:grid;gap:var(--space-2xs);animation:bounce-in var(--dur-medium) var(--ease-bounce)}.result-player video,.result-player img{display:block;width:100%;max-height:480px;object-fit:contain;background:var(--color-paper-3);border:3px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.result-player p{margin:0;color:var(--color-ink);font-size:var(--text-sm);font-weight:700}.result-actions{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.save-link{background:var(--color-lemon);color:var(--color-ink);border-color:var(--color-ink)}.mobile-share-button,.mobile-share-help{display:none}.result-player video[hidden],.result-player img[hidden]{display:none}.workspace-card{min-width:0;padding:var(--space-md)}.workspace-heading{display:flex;align-items:start;gap:var(--space-sm)}.workspace-heading h2{margin-bottom:4px}.workspace-heading p{margin:0 0 var(--space-sm);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:600}.input-guidance{display:block;margin-top:4px;color:var(--color-ink);font-weight:800;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}[data-purupuru-app][data-input-kind=desktop] [data-input-kind-text=touch],[data-purupuru-app][data-input-kind=touch] [data-input-kind-text=desktop]{display:none}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--space-sm)}.viewer{position:relative;overflow:hidden;display:grid;place-items:center;width:100%;aspect-ratio:1;background:linear-gradient(45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(-45deg,var(--color-paper-3) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-paper-3) 75%),linear-gradient(-45deg,transparent 75%,var(--color-paper-3) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;border:3px solid var(--color-ink);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-lg)}.viewer.has-image{width:min(100%,calc(clamp(280px,calc(100dvh - 360px),640px) * var(--image-aspect)));aspect-ratio:var(--image-aspect);margin-inline:auto}.viewer.file-over{box-shadow:inset 0 0 0 6px var(--color-lemon),var(--shadow-xl);animation:wobble-big .4s var(--ease-bounce)}.viewer-drop-overlay{position:absolute;inset:12px;z-index:var(--z-overlay);display:grid;place-items:center;border:4px dashed var(--color-paper);border-radius:var(--radius-md);background:var(--color-vermillion);color:var(--color-ink);text-align:center;font-weight:900;font-size:var(--text-md);pointer-events:none;animation:wobble-big .6s var(--ease-bounce) infinite}.viewer-empty{text-align:center;padding:var(--space-lg);color:var(--color-ink)}.viewer-empty p{max-width:320px;margin:var(--space-2xs) auto 0;line-height:1.5;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.viewer-pan-area{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;touch-action:none}.image-stage{position:relative;width:100%;height:100%;transform-origin:50% 50%;user-select:none;cursor:crosshair}.image-stage.is-panning{cursor:grab}.image-stage img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.region-overlay,.brush-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.region-weight-overlay{image-rendering:auto}.brush-preview{fill:#ff3d882e;stroke:var(--color-vermillion);stroke-width:2.5px;stroke-dasharray:6 5}.editor-tools{display:grid;align-content:start;gap:var(--space-sm)}.editor-tools button{min-height:44px;padding:8px 12px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink);cursor:pointer;box-shadow:2px 2px 0 var(--color-ink);transition:transform var(--dur-quick) var(--ease-bounce),box-shadow var(--dur-quick) var(--ease-out),background-color var(--dur-quick) var(--ease-out)}.editor-tools button:hover{background:var(--color-lemon);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--color-ink)}.editor-tools button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--color-ink)}.editor-tools button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.5);box-shadow:1px 1px 0 var(--color-ink)}.segmented-control{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--color-paper-2);border:2px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.segmented-control button{background:transparent;border-color:transparent;box-shadow:none;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.segmented-control button:hover{background:var(--color-paper);transform:none;box-shadow:none}.segmented-control button[aria-pressed=true]{background:var(--color-vermillion);border-color:var(--color-ink);color:var(--color-ink);box-shadow:2px 2px 0 var(--color-ink);transform:translate(-1px,-1px)}.select-control{display:grid;gap:4px;font-size:var(--text-xs);font-weight:800;color:var(--color-ink);text-transform:uppercase;letter-spacing:.04em}.select-control select{min-height:44px;padding:8px 12px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-sm);font-weight:700;cursor:pointer;box-shadow:2px 2px 0 var(--color-ink)}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tool-grid button:nth-child(n+3){grid-column:1 / -1}.thermography-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:var(--text-xs);font-weight:800;color:var(--color-ink);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2xs);background:var(--color-paper-2);border:2px solid var(--color-ink);border-radius:var(--radius-sm)}.thermography-legend span{display:inline-flex;align-items:center;gap:4px}.thermography-legend i{display:inline-block;width:14px;height:14px;border:2px solid var(--color-ink);border-radius:3px}.thermography-legend .weak{background:#4a9eff}.thermography-legend .medium{background:#ffd23f}.thermography-legend .strong{background:#e94b3c}.quality-warning{margin:0;padding:var(--space-sm);background:var(--color-lemon);border:2px solid var(--color-ink);border-radius:var(--radius-md);color:var(--color-ink);font-size:var(--text-xs);font-weight:700;line-height:1.45;box-shadow:var(--shadow-xs)}.app-footer{display:grid;gap:var(--space-sm);margin-top:var(--space-md);padding:var(--space-md) 0 0;border-top:3px solid var(--color-ink);font-size:var(--text-xs);color:var(--color-ink-2);line-height:1.6;font-weight:600}.footer-notices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem var(--space-md);max-width:980px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-muted);line-height:1.58;font-weight:600;text-transform:none}.footer-notices p{margin:0;padding-left:var(--space-xs);border-left:3px solid var(--color-rule-soft)}.footer-notices p:first-child{border-left-color:var(--color-vermillion);color:var(--color-ink-2)}.app-footer a{display:inline-flex;align-items:center;min-height:32px;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}.app-footer a:hover{color:var(--color-vermillion)}.seo-content{display:grid;gap:var(--space-lg);margin-top:var(--space-md)}.seo-intro-panel{display:grid;gap:var(--space-sm);padding:var(--space-xl);background:linear-gradient(135deg,#ffd23feb,#95e353c7),radial-gradient(circle at 12px 12px,rgba(20,17,15,.18) 2px,transparent 0) 0 0 / 24px 24px;border:3px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.seo-intro-panel:after{content:"PURUPURU";position:absolute;right:-12px;bottom:-10px;font-family:var(--font-display);font-size:clamp(2.8rem,9vw,7rem);line-height:.8;color:#14110f14;pointer-events:none}.seo-kicker{width:fit-content;margin:0;padding:6px 12px;background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-pill);box-shadow:var(--shadow-xs);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:800;line-height:1.2;letter-spacing:0;text-transform:uppercase}.seo-intro-panel h2{max-width:820px;margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);font-weight:400;line-height:.95;letter-spacing:0;color:var(--color-ink)}.seo-intro-panel p:not(.seo-kicker){max-width:820px;margin:0;color:var(--color-ink-2);font-size:var(--text-md);font-weight:700;line-height:1.6}.seo-highlight-grid,.seo-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.seo-highlight,.seo-detail,.seo-faq{background:var(--color-paper);border:2.5px solid var(--color-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.seo-highlight{min-height:180px;padding:var(--space-md)}.seo-highlight:nth-child(1){background:var(--color-accent-soft)}.seo-highlight:nth-child(2){background:var(--color-paper-2)}.seo-highlight:nth-child(3){background:#d9f6c5}.seo-highlight h3,.seo-detail h2,.seo-detail h3,.seo-faq h2,.seo-faq h3{margin:0 0 var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.05;letter-spacing:0;text-transform:none}.seo-highlight p,.seo-detail p,.seo-faq-item p{margin:0;color:var(--color-ink-2);font-weight:650;line-height:1.6}.seo-detail{padding:var(--space-lg)}.seo-steps-panel{grid-column:span 1;background:radial-gradient(circle at 1px 1px,rgba(20,17,15,.12) 1px,transparent 0) 0 0 / 14px 14px,var(--color-paper-2)}.seo-steps{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none;counter-reset:seo-step}.seo-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-sm);align-items:start;color:var(--color-ink-2);font-weight:700;line-height:1.55;counter-increment:seo-step}.seo-steps li:before{content:counter(seo-step);display:grid;place-items:center;width:36px;height:36px;background:var(--color-vermillion);border:2px solid var(--color-ink);border-radius:50%;box-shadow:var(--shadow-xs);color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-md);line-height:1}.seo-faq{display:grid;gap:var(--space-md);padding:var(--space-lg);background:var(--color-paper-3)}.seo-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.seo-faq-item{padding:var(--space-md);background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.seo-faq-item h3{margin:0 0 var(--space-2xs);color:var(--color-ink);font-size:var(--text-md);font-weight:900;line-height:1.25;letter-spacing:0}.app-footer:after{content:attr(data-footer-copyright);display:block;margin-top:0;padding-top:var(--space-xs);border-top:1.5px dashed var(--color-rule-soft);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--color-muted);max-width:980px}@media(max-width:67.5rem){.app-header{grid-template-columns:1fr;gap:var(--space-sm)}.app-hero{grid-area:1 / 1;width:100%}.language-switch{grid-area:2 / 1;justify-self:end}}@media(max-width:71.25rem){.app-grid{grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:var(--space-md)}.seo-highlight-grid,.seo-detail-grid,.editor-layout{grid-template-columns:1fr}.editor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control,.tool-grid,.quality-warning{grid-column:1 / -1}}@media(max-width:60rem){.app-shell{width:min(100% - 24px,760px)}.app-hero h1{font-size:clamp(2rem,6vw,3rem)}.app-hero:before{font-size:.62rem;letter-spacing:.14em}}@media(max-width:47.9375rem){.app-shell{width:min(100% - 20px,640px);padding-block:var(--space-md) var(--space-lg)}.app-header{align-items:flex-start;padding:var(--space-2xs) 0 var(--space-sm)}.language-trigger{min-height:44px;font-size:var(--text-xs)}.language-globe{width:18px;height:18px}.language-current{gap:6px;min-height:44px;padding:4px 6px}.app-hero{padding:0}.app-hero h1{font-size:clamp(1.85rem,10vw,2.6rem);text-shadow:none}.app-hero p{font-size:var(--text-xs)}.mode-navigation{width:100%;margin-bottom:var(--space-md)}.bottom-mode-navigation{display:block;margin-block:var(--space-md) var(--space-lg)}.mode-tabs{width:100%}.mode-tabs button{padding-inline:var(--space-2xs);font-size:var(--text-sm)}.app-grid{display:flex;flex-direction:column}.settings-column{display:contents}.image-input-card{order:1}.workspace-card,.region-column,.play-column{order:2;width:100%}.app-grid.is-play-mode .play-controls{order:1}.app-grid.is-play-mode .play-column{order:2}.app-grid.is-play-mode .image-input-card{order:3}.app-grid.is-play-mode .play-card{order:1}.app-grid.is-play-mode .recording-panel{order:2}.shake-settings{order:3}.card{border-radius:var(--radius-md);padding:var(--space-md);border-width:2px}.drop-zone{min-height:180px;padding:var(--space-sm)}.recording-view-options{grid-template-columns:repeat(2,minmax(0,1fr))}.recording-view-option:first-child{grid-column:1 / -1}.mobile-share-button{display:inline-flex;justify-content:center;align-items:center}.mobile-share-help,.workspace-heading{display:block}.editor-tools{grid-template-columns:1fr}.segmented-control,.tool-grid,.quality-warning{grid-column:auto}.editor-tools button{min-height:48px}.preset-grid{gap:6px}.preset-card{padding:10px 12px;min-height:68px}.seo-content{gap:var(--space-md)}.seo-intro-panel,.seo-detail,.seo-faq{padding:var(--space-md)}.seo-intro-panel p:not(.seo-kicker){font-size:var(--text-base)}.seo-faq-list,.footer-notices{grid-template-columns:1fr}.record-button{min-height:64px;padding:12px 24px;font-size:var(--text-sm)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.app-hero h1,.drop-zone,.preset-card[aria-pressed=true],.drop-icon,.record-button{animation:none!important}.preset-card:nth-child(3n+1),.preset-card:nth-child(3n+2),.preset-card:nth-child(3n+3){transform:none}}
