:root{--accent: #c65a2e;--accent-deep: #a34722;--accent-soft: #f3e2d7;--sage: #8a9b8a;--bg: #faf6ec;--surface: #fffdf9;--ink: #2a2420;--ink-2: #6f6359;--ink-3: #a3968b;--placeholder: color-mix(in srgb, var(--ink-3) 68%, var(--surface));--stroke: #e8dfd4;--radius: 18px;--radius-sm: 12px;--header-h: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--font-display: "Rubik", "Heebo", sans-serif;--font-body: "Heebo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}@view-transition{navigation: none;}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.45}button{font:inherit;border:none;background:none;color:inherit;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:inherit}button:focus,button:focus-visible,a:focus,a:focus-visible,[role=button]:focus,[role=button]:focus-visible,[role=option]:focus,[role=option]:focus-visible,[role=menuitem]:focus,[role=menuitem]:focus-visible,input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;box-shadow:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}.app{--frame: 480px;max-width:var(--frame);margin:0 auto;min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.app:has(.screen-home),.app:has(.piece-log),.app:has(.piece-loader),.app:has(.glaze-detail){max-width:100%}.app:has(.piece-log),.app:has(.piece-loader),.app:has(.glaze-detail){background:#fbf6ed}.app:has(.screen-home){background:var(--surface)}.screen{flex:1;padding-bottom:calc(28px + var(--safe-bottom))}.screen.screen-home{padding-bottom:calc(72px + var(--safe-bottom));padding-left:10px;padding-right:10px}.screen-pad{padding-inline:18px}.header{height:auto;min-height:calc(var(--header-h) + var(--safe-top));display:flex;align-items:center;gap:8px;padding:var(--safe-top) 10px 0;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100vw;margin-inline:calc(50% - 50vw)}.header h1{flex:1;margin:0;font-size:24px;font-weight:700;text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header.header-split h1,.header.header-float h1{text-align:start}.header-add{display:inline-flex;align-items:center;flex-shrink:0;height:36px;padding-inline:8px 0;background:none;color:var(--accent);font-size:16px;font-weight:600;white-space:nowrap}.header-add:active{color:var(--accent-deep)}.header .icon-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--ink);flex-shrink:0}.back-arrow{display:block}[dir=rtl] .back-arrow{transform:scaleX(-1)}.header .icon-btn:active{background:var(--accent-soft)}.auth-gate{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px 24px;text-align:center}.auth-gate .brand{font-family:var(--font-display);font-size:40px;font-weight:700}.auth-gate p{margin:0;max-width:280px;color:var(--ink-2)}.auth-actions{display:flex;flex-direction:column;gap:10px;width:min(280px,100%)}.auth-primary,.auth-secondary{width:100%;min-height:48px;border-radius:10px;font-weight:700}.auth-primary{background:var(--accent);color:#fffdf9}.auth-secondary{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--stroke)}.auth-flow{text-align:start}.auth-clerk{width:min(400px,100%)}.auth-clerk-card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:none}.landing{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#1c1714;color:#fffdf9}.landing-track{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.landing-track::-webkit-scrollbar{display:none}.landing-slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}.landing-slide:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#140f0c73,#140f0c00 22%,#140f0c00 40%,#140f0ce0 78%);pointer-events:none}.landing-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none}.landing-message{position:absolute;z-index:1;inset-inline:0;bottom:calc(220px + var(--safe-bottom));margin:0 auto;padding:0 28px;max-width:480px;font-size:clamp(30px,8.5vw,42px);font-weight:700;line-height:1.12;text-align:center;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.35)}.landing-brand{position:absolute;top:calc(20px + var(--safe-top));inset-inline:0;text-align:center;font-family:var(--font-display);font-size:26px;font-weight:700;pointer-events:none}.landing-footer{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:22px;padding:0 24px calc(32px + var(--safe-bottom))}.landing-dots{display:flex;gap:8px}.landing-dot{width:8px;height:8px;border-radius:999px;background:#fffdf973;transition:width .25s ease,background .25s ease}.landing-dot.active{width:24px;background:#fffdf9}.landing-secondary{width:100%;min-height:48px;border-radius:10px;font-weight:700;color:#fffdf9;background:#fffdf91f;box-shadow:inset 0 0 0 1px #fffdf999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-primary{background:var(--accent);color:#fff;font-weight:700;border-radius:10px;padding:10px 22px}.btn-primary:disabled{opacity:.45}.btn-ghost{color:var(--accent);font-weight:700;padding:8px 12px}.btn-outline{border:1.5px solid var(--stroke);border-radius:10px;padding:9px 20px;font-weight:600;background:var(--surface)}.btn-action{min-height:44px;padding:8px 14px;border-radius:10px;font-size:16px;font-weight:700;line-height:1.2}.btn-action.commit{background:var(--accent);color:#fffdf9;padding:10px 20px;min-width:92px}.btn-action.commit:disabled{background:var(--accent-soft);color:color-mix(in srgb,var(--accent) 58%,#fff);cursor:default}.btn-action.commit.is-busy:disabled{background:var(--accent);color:#fffdf9;opacity:.72}.btn-action.commit.is-saved:disabled{background:#e7f3ec;color:#2f6b4f;opacity:1}.btn-action.commit:active:not(:disabled){background:var(--accent-deep)}.btn-action.cancel{color:var(--ink-2);font-weight:600}.btn-action.cancel:disabled{color:var(--ink-3);cursor:default}.btn-action.danger{color:#b3261e}.btn-action.danger:disabled{opacity:.4;cursor:default}.btn-action:active:not(:disabled){background:var(--accent-soft)}.btn-action.danger:active:not(:disabled){background:#f8e8e6}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a242066;z-index:50}.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(310px,84vw);background:var(--surface);z-index:51;padding:max(16px,var(--safe-top)) 0 max(6px,var(--safe-bottom));display:flex;flex-direction:column;border-start-start-radius:24px;border-end-start-radius:24px;overflow-y:auto;animation:drawer-in .22s ease-out}@keyframes drawer-in{0%{transform:translate(100%)}}[dir=rtl] .drawer{animation-name:drawer-in-rtl}@keyframes drawer-in-rtl{0%{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.drawer{animation:none}}.drawer .brand{font-family:var(--font-display);font-size:26px;font-weight:700;padding:0 22px 14px;color:var(--accent)}.drawer-nav{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.drawer .identity{display:flex;align-items:center;gap:12px;padding:10px 22px;border-top:1px solid var(--stroke);margin-top:auto;flex-shrink:0}.drawer .avatar{width:44px;height:44px;border-radius:50%;background:#e8e8e8;color:#6b6b6b;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0;overflow:hidden}.drawer .avatar.avatar-fallback{background:#e8e8e8;color:#6b6b6b}.drawer .avatar img{width:100%;height:100%;object-fit:cover}.drawer .identity .who{min-width:0}.drawer .identity .name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer .identity .sub{color:var(--ink-3);font-size:13.5px}.drawer-item{display:flex;align-items:center;gap:14px;padding:13px 22px;font-weight:600;width:100%;text-align:start;color:var(--ink);background:transparent;border:none}.drawer-item:active,.drawer-item.active{background:var(--accent-soft)}.drawer-item .di-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink-2)}.drawer-item .di-icon svg{width:20px;height:20px}.drawer-section{display:flex;align-items:center;gap:8px;width:100%;margin:0;border:0;background:transparent;font:inherit;font-size:16px;font-weight:700;color:var(--ink);text-align:start;padding:14px 22px 4px;cursor:pointer}.filter-chevron{width:7px;height:7px;flex-shrink:0;margin-top:-1px;border-bottom:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(-45deg)}.filter-chevron.is-open{transform:rotate(45deg)}[dir=rtl] .filter-chevron{transform:rotate(135deg)}[dir=rtl] .filter-chevron.is-open{transform:rotate(45deg)}.filter-drawer{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(360px,88vw);background:var(--surface);z-index:51;display:flex;flex-direction:column;border-start-end-radius:24px;border-end-end-radius:0;animation:filter-drawer-in .22s ease-out}@keyframes filter-drawer-in{0%{transform:translate(-100%)}}[dir=rtl] .filter-drawer{animation-name:filter-drawer-in-rtl}@keyframes filter-drawer-in-rtl{0%{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.filter-drawer{animation:none}}.filter-drawer-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-shrink:0;padding:max(24px,var(--safe-top)) 22px 8px}.filter-drawer-head .filter-drawer-title{padding:0}.filter-drawer-title{margin:0;padding:max(24px,var(--safe-top)) 22px 8px;font-size:24px;font-weight:700;flex-shrink:0}.filter-drawer-clear{margin-inline-start:auto;color:var(--accent);font-size:16px;font-weight:600;line-height:1;flex-shrink:0;white-space:nowrap}.filter-drawer-clear:active{color:var(--accent-deep)}.filter-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:12px}.filter-drawer-foot{flex-shrink:0;padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--stroke);background:var(--surface)}.filter-drawer-foot .btn-action{width:100%}.filter-drawer.search-drawer{inset-inline-start:auto;inset-inline-end:auto;left:0;right:auto;border-radius:0 24px 0 0;animation-name:filter-drawer-in}[dir=rtl] .filter-drawer.search-drawer{animation-name:filter-drawer-in;inset-inline-start:auto;inset-inline-end:auto;left:0;right:auto}.search-drawer-query{flex-shrink:0;padding:4px 16px 12px}.search-drawer .filter-drawer-body{padding-bottom:calc(12px + var(--safe-bottom))}.search-empty{margin:8px 22px;color:var(--ink-2)}.search-hits{list-style:none;margin:0;padding:0}.search-hit-row{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:start;padding:10px 16px}.search-hit-row:active{background:var(--bg)}.search-hit-thumb{width:56px;height:56px;flex-shrink:0;border-radius:10px;overflow:hidden;background:var(--bg)}.search-hit-thumb>img{width:100%;height:100%;object-fit:cover;display:block}.search-hit-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;overflow:hidden;color:color-mix(in srgb,var(--accent-deep) 55%,var(--accent-soft))}.search-hit-placeholder .form-ink{width:100%;height:100%;object-fit:cover;display:block}.search-hit-placeholder svg{width:72%;height:72%}.search-hit-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.search-hit-title{font-family:var(--font-display);font-weight:600;font-size:15px;line-height:1.25;overflow-wrap:anywhere}.search-hit-meta,.search-hit-note{color:var(--ink-2);font-size:13px;line-height:1.35}.search-hit-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-hit-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.search-mark{background:var(--accent-soft);color:inherit;font:inherit;border-radius:2px}.filter-row-frame{position:sticky;top:calc(var(--header-h) + var(--safe-top));z-index:9;box-sizing:border-box;width:100%;margin-inline:0;padding:2px 10px 10px;background:var(--surface)}.filter-row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding-inline:10px;border:1px solid #c5beb6;border-radius:8px;background:var(--surface);color:#3c3733;font-size:14px;font-weight:500;line-height:1;white-space:nowrap;flex-shrink:0}.filter-chip:active{background:var(--bg)}.filter-chip.is-active{background:var(--accent-soft);border-color:transparent;color:var(--accent-deep);font-weight:600}.filter-chip.is-active:active{background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent))}.filter-chip-icon{padding-inline:8px}.filter-stage{position:relative;flex-shrink:0}.filter-stage-chevron{transition:transform .15s ease}.filter-stage-chevron.is-open{transform:rotate(180deg)}.filter-stage-menu{position:fixed;z-index:30;min-width:168px;padding:6px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 12px 32px #2a242024}.filter-stage-menu button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:11px 14px;border-radius:10px;text-align:start;font-weight:600;font-size:15px;white-space:nowrap;color:var(--ink)}.filter-stage-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2)}.filter-stage-menu button.is-selected{background:var(--accent-soft);color:var(--accent-deep)}.filter-stage-menu button.is-selected .filter-stage-count{color:var(--accent-deep)}.view-mode-menu{width:max-content;max-width:calc(100vw - 16px)}.view-mode-menu button{justify-content:flex-start;gap:10px;width:auto}.view-mode-menu button svg{flex-shrink:0}.filter-stage-menu button:active{background:#f8ebe8}.filter-stage-menu button.danger{color:#b3261e}.filter-stage-menu .menu-rule{height:1px;margin:6px 8px;background:var(--stroke)}.select-action-menu{max-height:min(70vh,440px);overflow:auto}.select-action-menu button{justify-content:flex-start;gap:10px}.select-action-menu .menu-icon{display:flex;flex-shrink:0;color:var(--ink-2)}.filter-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding-inline:5px;border-radius:999px;background:var(--accent);color:#fffdf9;font-size:12px;font-weight:700}.filter-check{display:flex;align-items:flex-start;gap:12px;padding:6px 22px;font-weight:600;color:var(--ink)}.filter-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--accent);flex-shrink:0}.filter-check span{min-width:0}.screen-home .header{width:auto;margin-inline:0;background:var(--surface)}.piece-grid-frame{--piece-gap: 22px;--piece-min: 150px;box-sizing:border-box;width:min(100%,960px);max-width:100%;margin-inline:auto;padding:8px 10px 0}.piece-grid{display:grid;width:100%;justify-content:start;gap:var(--piece-gap)}.piece-grid:not(.is-list){margin-top:14px}.piece-grid.is-list{display:flex;flex-direction:column}.piece-grid.is-list .piece-card,.piece-grid.is-list .piece-card-open{flex-direction:row;align-items:center}.piece-grid.is-list .piece-card-open{flex:1;min-width:0}.piece-grid.is-list .piece-card-media,.piece-grid.is-list .piece-card .photo-slot,.piece-grid.is-list .piece-card .photo,.piece-grid.is-list .piece-card .photo-placeholder{width:72px;height:72px;aspect-ratio:auto;flex-shrink:0}.piece-grid.is-list .piece-card-tag{bottom:4px;right:4px;max-width:calc(100% - 8px);height:18px;padding-inline:5px;font-size:10px}.piece-grid.is-list .piece-card .photo-slot,.piece-grid.is-list .piece-card .photo-placeholder{border-start-start-radius:8px;border-end-start-radius:8px;border-start-end-radius:0;border-end-end-radius:0}.piece-grid.is-list .piece-card .meta{flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.piece-grid.is-list .piece-card .meta.has-detail .title{display:block;white-space:nowrap;-webkit-line-clamp:unset;text-overflow:ellipsis}.piece-grid.is-list .piece-card .detail{display:flex;align-items:baseline;gap:6px;width:100%;max-width:100%;overflow:hidden}.piece-grid.is-list .piece-card .detail-form,.piece-grid.is-list .piece-card .detail-dot{flex-shrink:0}.piece-grid.is-list .piece-card .detail-clay{min-width:0;overflow:hidden;text-overflow:ellipsis}.piece-grid.is-list .piece-card-more{position:static;flex-shrink:0;margin-inline-end:8px}.piece-card{position:relative;background:var(--surface);border-radius:8px;overflow:visible;text-align:start;width:100%;min-width:0;display:flex;flex-direction:column;border:none;box-shadow:0 2px 6px #2a242014,0 8px 22px #2a24201f;padding:0}.piece-card-open{display:flex;flex-direction:column;width:100%;min-width:0;text-align:start;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.piece-card.is-selected{box-shadow:0 0 0 2px var(--accent),0 2px 6px #2a242014,0 8px 22px #2a24201f}.piece-grid:not(.is-list) .piece-card.is-batch{z-index:0;--stack-turn: 1}html[dir=rtl] .piece-grid:not(.is-list) .piece-card.is-batch{--stack-turn: -1}.piece-grid:not(.is-list) .piece-card.is-batch:before,.piece-grid:not(.is-list) .piece-card.is-batch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;pointer-events:none;transform-origin:calc(50% + 55% * var(--stack-turn)) 46%}.piece-grid:not(.is-list) .piece-card.is-batch:before{z-index:0;top:-4px;background:#e6ddd2;border:1px solid #d5cbbf;box-shadow:0 2px 5px #2a242014;transform:translate(calc(3px * var(--stack-turn)),-4px) rotate(calc(-2.2deg * var(--stack-turn)))}.piece-grid:not(.is-list) .piece-card.is-batch:after{z-index:-1;top:-9px;background:#f3eee6;border:1px solid #e3d9cd;box-shadow:0 3px 8px #2a24200f;transform:translate(calc(6px * var(--stack-turn)),-8px) rotate(calc(-4.6deg * var(--stack-turn)))}.piece-grid:not(.is-list) .piece-card.is-batch .piece-card-open{position:relative;z-index:1;background:var(--surface);border-radius:8px;box-shadow:0 2px 6px #2a242014,0 8px 18px #2a24201a}.piece-card-media{position:relative;width:100%;min-width:0}.piece-card-tag{position:absolute;z-index:2;right:8px;bottom:8px;max-width:calc(100% - 16px);height:22px;padding-block:0;padding-inline:8px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:3px;color:var(--accent-deep);background:var(--accent-soft);font-size:12px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-card-batch{padding-inline:6px 8px}.piece-card-batch svg{width:14px;height:14px;flex:none}.piece-card-check{position:absolute;top:8px;inset-inline-end:8px;z-index:2;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fffdf9;background:var(--accent);pointer-events:none}.piece-card-more{position:absolute;top:8px;inset-inline-end:8px;z-index:2;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);background:color-mix(in srgb,var(--surface) 44%,transparent)}.piece-card-more:active,.piece-card-more[aria-expanded=true]{background:var(--surface)}.picker-menu.piece-card-menu{min-width:196px;max-width:calc(100vw - 16px)}.picker-menu.piece-card-menu button{display:flex;align-items:center;gap:10px;white-space:nowrap}.picker-menu.piece-card-menu .menu-icon{display:flex;flex-shrink:0;color:var(--ink-2)}.picker-menu.piece-card-menu button.danger .menu-icon{color:inherit}.picker-menu.piece-card-menu button.is-favorite .menu-icon{color:var(--accent)}.piece-card .photo-slot,.piece-card .photo,.piece-card .photo-placeholder{width:100%;aspect-ratio:1;background:var(--bg)}.piece-card .photo-slot{position:relative;overflow:hidden;border-radius:8px 8px 0 0}.piece-card .photo{object-fit:cover;display:block;max-width:100%;width:100%;height:100%;opacity:0}.piece-card .photo.is-ready{opacity:1}.piece-card .photo-placeholder{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px 8px 0 0;color:color-mix(in srgb,var(--accent-deep) 55%,var(--accent-soft))}.piece-card .photo-placeholder .form-ink{width:100%;height:100%;object-fit:cover;display:block}.piece-card .photo-placeholder svg{width:72%;height:72%;max-width:200px;max-height:200px}.piece-card .photo-placeholder svg :is(path,circle,ellipse,rect){stroke-width:1.15px;vector-effect:non-scaling-stroke}.piece-card .meta{padding:10px 12px 12px;display:flex;align-items:center;min-width:0;width:100%;overflow:hidden}.piece-card .meta.has-sub{flex-direction:column;align-items:stretch;gap:6px}.piece-card-when{color:var(--ink-3);font-size:11px;font-weight:500;line-height:1.2;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-card .meta.has-detail{flex-direction:column;align-items:stretch;gap:2px}.piece-card .meta.has-detail.has-sub{gap:6px}.piece-card .meta.has-detail .title{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis}.piece-card .title{display:block;font-family:var(--font-display);font-weight:560;font-size:15px;letter-spacing:-.02em;min-width:0;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-card .detail{display:block;color:var(--ink-2);font-size:12px;line-height:1.3;min-width:0;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-card-add .photo-placeholder{color:var(--ink-3)}.piece-card-add .title{white-space:normal;line-height:1.25}.piece-card-shimmer{position:relative;pointer-events:none}.piece-card-shimmer .photo-slot,.piece-card-shimmer .title{background:color-mix(in srgb,var(--stroke) 78%,var(--bg))}.piece-card-shimmer .title{display:block;width:62%;height:1.45em;border-radius:7px}.piece-card-shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,253,249,.72) 50%,transparent 70%);transform:translate(-100%);animation:piece-shimmer 1.35s ease-in-out infinite;pointer-events:none}@keyframes piece-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.piece-card-shimmer:after{animation:none;opacity:0}}.studio-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:72px 32px 24px;color:var(--ink-2)}.studio-empty h2{margin:18px 0 8px;font-size:28px;font-weight:560;letter-spacing:-.02em;color:var(--ink)}.studio-empty .portrait-well{color:var(--accent-deep)}.kiln-tag{font-size:12.5px;font-weight:700;background:var(--accent);color:#fff;border-radius:7px;padding:4px 10px;white-space:nowrap}.kiln-tag.muted{background:var(--accent-soft);color:var(--accent-deep)}.empty-state{text-align:center;padding:72px 36px;color:var(--ink-2)}.empty-state .emoji{font-size:46px;margin-bottom:12px}.empty-state h2{margin:0 0 6px}.tab-bar{position:fixed;z-index:40;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--stroke);padding-bottom:var(--safe-bottom);box-shadow:0 -8px 24px #2a24200d}.tab-bar-inner{width:min(100%,560px);margin:0 auto;min-height:52px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:4px}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0;color:var(--ink-2);font-size:11px;font-weight:600;line-height:1.15;padding:0 2px}.tab-item{min-height:48px}.tab-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-item.active{color:var(--accent)}.tab-item:active:not([aria-disabled=true]){color:var(--accent-deep)}.app:not(:has(.screen-home)) .tab-bar{width:min(100%,var(--frame));left:50%;transform:translate(-50%)}.shutter-wrap{position:fixed;bottom:calc(22px + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:6px}.shutter{width:64px;height:64px;border-radius:50%;background:var(--surface);color:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px #2a24201f}.shutter svg{width:28px;height:28px}.shutter:active{transform:scale(.94)}.shutter-label{font-size:13px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--bg) 88%,transparent);padding:2px 8px;border-radius:999px}.journey-head{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;margin:8px 18px 18px}.journey-head .title-input{font-family:var(--font-display);font-size:23px;font-weight:700;border:none;background:transparent;width:100%;padding:0 0 6px}.generic-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.generic-chip{border:1.5px solid var(--stroke);background:var(--bg);border-radius:10px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--ink-2)}.generic-chip.set{border-color:var(--sage);color:var(--ink);background:#eef1ec}.timeline{position:relative;padding:0 18px;display:grid;gap:14px}.tl-item{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;width:100%;text-align:start;color:inherit}.tl-rail{position:relative;display:flex;justify-content:center}.tl-rail:before{content:"";position:absolute;top:26px;bottom:-14px;width:2px;background:var(--stroke)}.tl-item:last-child .tl-rail:before{display:none}.tl-dot{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;z-index:1;margin-top:4px}.tl-card{display:block;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);overflow:hidden}.tl-card .tl-photo{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;background:var(--accent-soft)}.tl-card .tl-body{display:block;padding:12px 15px}.tl-card .tl-head{display:flex;align-items:baseline;gap:10px}.tl-card .tl-stage{font-family:var(--font-display);font-weight:700;font-size:17px;flex:1}.tl-card .tl-date{color:var(--ink-3);font-size:13px}.tl-card .tl-facts{color:var(--ink-2);font-size:14px;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 12px}.tl-next{margin:4px 18px 0;display:flex;justify-content:center}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);overflow:hidden}.section-title{font-size:17px;font-weight:700;margin:20px 0 8px}.settings-header{color:var(--accent-deep);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px}.row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);width:100%;text-align:start}.row+.row{border-top:1px solid var(--stroke)}.row .row-icon{font-size:19px;width:26px;text-align:center;flex-shrink:0}.row .row-main{flex:1;min-width:0}.row .row-label{font-weight:600}.row .row-sub{color:var(--ink-3);font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .row-value{color:var(--ink-2)}.row.is-extra{background:#eef3fb}.recipe-total .row-label{font-style:italic;font-weight:500;color:var(--ink-2)}.recipe-amount{font-variant-numeric:tabular-nums}.row .chevron{color:var(--ink-3);flex-shrink:0}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a242073;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);border-radius:22px 22px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:18px 18px calc(18px + var(--safe-bottom))}.sheet .sheet-title{font-size:19px;font-weight:700;margin:0 0 12px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a242073;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:max(24px,var(--safe-top)) 24px max(24px,var(--safe-bottom))}.dialog-backdrop:has(.dialog-materials){align-items:flex-start}.dialog.dialog-materials{height:calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)));max-height:none}.dialog.dialog-materials .dialog-actions{justify-content:center}.dialog.dialog-glaze-photos{max-width:420px}.dialog.dialog-glaze-photos .glaze-tagged-heading{margin:18px 0 10px;font-size:15px}.dialog.dialog-glaze-photos .glaze-tagged-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 8px}.dialog.dialog-glaze-photos .glaze-tagged-card{margin:0;padding:0;border:none;background:transparent;text-align:start;cursor:pointer}.dialog.dialog-glaze-photos .glaze-tagged-card .title{font-family:var(--font-body, inherit);font-weight:400;font-size:13px;letter-spacing:0}.dialog-materials .radio-row.is-selected{width:100%;margin:0}.dialog{background:var(--surface);border-radius:22px;width:100%;max-width:380px;max-height:calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom)));overflow:hidden;display:flex;flex-direction:column;padding:22px 22px 0}.dialog:not(:has(.dialog-actions)){padding-bottom:22px}.dialog-head{display:flex;align-items:center;gap:8px;margin:0 0 14px;flex:none}.dialog-head h2,.dialog h2{margin:0;flex:1;min-width:0;font-size:21px;text-align:start}.dialog-back{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink);flex-shrink:0}.dialog-clear{flex-shrink:0;margin-inline-start:auto;color:var(--accent);font-weight:700;font-size:15px;white-space:nowrap}.dialog-search{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2)}.dialog-search:active{background:var(--accent-soft);color:var(--ink)}.dialog-head:has(.dialog-search-field) .dialog-tools{position:static;transform:none}.dialog-head:has(.dialog-search-field) .dialog-menu .picker-more{margin-inline-end:0}.dialog-tools{display:flex;align-items:center;flex:none}.dialog-reset{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2)}.dialog-search-field{flex:1;width:100%;min-width:0;display:flex;align-items:center;gap:4px;height:36px;padding-inline:12px 4px;border:1.5px solid var(--stroke);border-radius:6px;background:var(--surface)}.dialog-search-field input{flex:1;min-width:0;width:100%;height:100%;border:0;background:transparent;padding:0;font-size:16px}.dialog-search-clear{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2)}.dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none}.dialog>.dialog-body{flex:1 1 auto;padding-bottom:18px}.dialog:has(.picker-add-link)>.dialog-body{padding-bottom:0}.dialog-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px}.dialog .dialog-actions{flex:none;margin:0 -22px;padding:8px 12px 12px;background:var(--surface)}.dialog-actions .layer-remove-zone{position:static;left:auto;bottom:auto;transform:none;width:100%;padding:4px 10px 0}.layer-drag-host.is-in-dialog{z-index:65}.dialog .dialog-actions:has(.picker-add-link){border-top:0;padding:18px 22px 22px}.dialog .dialog-actions .picker-add-link{flex:1 1 auto;display:block;width:auto;min-width:0;margin:0;padding:2px 0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:16px;font-weight:600;text-align:start;cursor:pointer}.picker-add-link:hover{color:var(--accent-deep)}.dialog-menu{position:relative;flex:none}.dialog-menu .picker-more{position:static;transform:none;justify-content:center;margin-inline-end:-18px}.picker-edit-row{display:flex;align-items:center;gap:10px;padding:8px 16px}.picker-edit-row .text-input{flex:1;min-width:0}.picker-edit-row:has(>.picker-form-edit-icon){gap:0;padding-block:0}.picker-edit-row:has(>.picker-form-edit-icon) .picker-edit-delete{margin-inline-start:10px}.picker-form-edit-icon{flex:none;width:72px;height:72px;object-fit:contain;display:flex;align-items:center;justify-content:center}.picker-form-edit-icon svg{width:56px;height:56px}.picker-edit-delete{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}.dialog.dialog-add{max-width:420px;max-height:min(calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom))),860px)}.dialog .picker-add{display:flex;gap:8px;width:100%}.dialog .picker-add .text-input{flex:1;min-width:0}.dialog .picker-add .btn-action{flex-shrink:0}.dialog-pinned{flex:none;margin-bottom:10px}.picker-results{display:flex;flex-direction:column;gap:10px}.picker-results>.card{padding-top:14px;padding-bottom:14px}.picker-results>.card.picker-flat{border:0;border-radius:0;padding:0}.picker-flat .radio-row,.picker-flat .picker-edit-row{padding-inline:0}.picker-flat .radio-row.is-selected,.picker-flat .picker-own:has(>.radio-row.is-selected){width:100%;margin:0;padding-inline:0;border-radius:0;background:transparent;box-shadow:none}.picker-flat .radio-label,.picker-flat .radio-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-flat .radio-label:has(.radio-name){white-space:normal}.picker-check{flex:none;margin-inline-start:auto;color:var(--ink)}.picker-flat .picker-own>.radio-row.is-selected{width:100%;margin:0;padding-inline:0;border-radius:0;background:transparent}.picker-flat .picker-own:has(>.radio-row.is-selected)>.picker-more{inset-inline-end:0}.picker-flat .picker-section:not([aria-expanded=false]){padding-bottom:2px;margin-bottom:10px}.picker-flat .picker-section{padding-inline:0}.picker-flat .radio-row+.picker-section,.picker-flat .picker-provider+.picker-provider,.picker-flat .picker-own+.picker-section{border-top:0}.picker-results>.card>.picker-section:first-child{padding-top:0}.picker-search{margin-bottom:0}.picker-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.picker-form-tile{position:relative;aspect-ratio:5 / 6;padding:2px 2px 27px;border:1px solid var(--stroke);border-radius:10px;background:#fff;color:var(--ink-2);font:inherit;font-size:16px;font-weight:600;line-height:1.1;cursor:pointer;overflow:hidden}.picker-form-tile .picker-form-ink{position:absolute;top:2px;left:2px;right:2px;bottom:25px;width:calc(100% - 4px);height:calc(100% - 27px);object-fit:contain;object-position:center bottom;display:block;border-radius:6px;background:transparent}.picker-form-tile svg{position:absolute;top:6%;right:10%;bottom:24%;left:10%;width:auto;height:auto;margin:auto}.picker-form-tile>span{position:absolute;inset-inline:4px;bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.picker-form-tile.is-selected{border-color:transparent;background:var(--accent-soft);color:var(--ink)}.picker-form-tile.is-selected>span{color:var(--accent-deep);font-weight:700}.picker-form-tile.is-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;color:var(--accent)}.picker-form-tile.is-add>span{position:static;inset:auto;display:block;overflow:visible;text-overflow:clip;white-space:normal;color:var(--accent);font-weight:700}.picker-more-recents{color:var(--accent);font-weight:600}.picker-section{padding:14px 16px 8px;font-size:18px;font-weight:400;color:var(--ink-3);background:var(--surface);border-bottom:1px solid var(--stroke)}.radio-row+.picker-section{border-top:1px solid var(--stroke)}button.picker-provider{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;text-align:start;color:var(--ink-3)}button.picker-provider[aria-expanded=false]{padding-top:14px;padding-bottom:14px}.picker-provider-mark{width:7px;height:7px;flex-shrink:0;border-inline-end:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}.picker-provider-mark.is-open{transform:rotate(45deg)}.picker-swatch{width:calc(18px * 1.2);height:calc(18px * 1.2);border-radius:4px;flex-shrink:0;border:1px solid var(--stroke);overflow:hidden;background-image:repeating-conic-gradient(#e7dfd6,#e7dfd6 25%,#fffdf9 0%,#fffdf9 50%);background-size:8px 8px}.picker-swatch>span,.picker-swatch>img{display:block;width:100%;height:100%;object-fit:cover}.picker-swatch.is-empty{background:transparent;background-image:none;border:1.5px solid var(--ink-3)}.picker-own{position:relative;display:flex;align-items:center;background:var(--surface)}.picker-own+.picker-section{border-top:1px solid var(--stroke)}.radio-row.picker-own-main{padding-inline-end:38px}.picker-more{position:absolute;top:50%;inset-inline-end:6px;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}.picker-own .picker-more{inset-inline-end:0;width:auto;height:auto;padding:8px 6px;padding-inline-end:16px;border-radius:0;background:transparent;color:var(--ink-2)}.picker-more:active,.picker-more[aria-expanded=true]{background:var(--accent-soft);color:var(--ink)}.picker-own .picker-more:hover,.picker-own .picker-more:focus,.picker-own .picker-more:focus-visible,.picker-own .picker-more:active,.picker-own .picker-more[aria-expanded=true]{background:transparent;color:var(--ink-2);outline:none;box-shadow:none}.picker-menu{position:fixed;z-index:70;min-width:160px;padding:6px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 12px 32px #2a242024}.picker-menu button{display:block;width:100%;padding:11px 14px;border-radius:10px;text-align:start;font-weight:600;font-size:15px}.picker-menu button:active{background:var(--bg)}.picker-menu button.danger:active{background:#f8e8e6}.picker-deleted{flex:1 0 100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:0 4px 4px;color:var(--ink);font-size:15px;font-weight:600}.picker-undo{color:var(--accent);font-weight:700;min-height:36px;padding:6px 8px}.add-material>.field-label:first-child{margin-top:0}.add-material .field-label{margin:10px 0 4px}.add-material .text-input{padding:10px 12px}.add-name-row{display:flex;align-items:stretch;gap:8px}.add-name-row .text-input{flex:1;min-width:0;width:auto}.add-name-preview{width:48px;height:48px;flex:none;align-self:center;border:1.5px solid var(--stroke);border-radius:var(--radius-sm);overflow:hidden;background-color:var(--surface);background-image:repeating-conic-gradient(#e7dfd6,#e7dfd6 25%,#fffdf9 0%,#fffdf9 50%);background-size:8px 8px}.add-name-preview>span{display:block;width:100%;height:100%}.add-name-preview.is-none{background-color:var(--surface);background-image:linear-gradient(to top left,transparent calc(50% - .8px),var(--ink-3) calc(50% - .8px),var(--ink-3) calc(50% + .8px),transparent calc(50% + .8px));background-size:100% 100%;background-repeat:no-repeat}[dir=rtl] .add-name-preview{order:1}label.field-label{display:block}.add-material .add-note{min-height:56px}.color-picker{display:flex;flex-direction:column;gap:8px}.color-grid{position:relative;display:grid;grid-template-columns:repeat(17,minmax(0,1fr));grid-template-rows:repeat(11,minmax(0,1fr));aspect-ratio:17 / 11;gap:0;padding:0;border:none;border-radius:0;line-height:0;overflow:hidden;background:transparent}.color-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;border:none}.color-cell{position:relative;z-index:1;width:100%;height:100%;min-width:0;min-height:0;padding:0;margin:0;border:none;border-radius:0;background:transparent;box-shadow:none}.color-cell:focus,.color-cell:focus-visible{outline:none}.color-cell.is-none{background:transparent}.color-cell.is-white{box-shadow:inset 0 0 0 1px #2a242038}.color-cell.is-selected{box-shadow:inset 0 0 0 2px #fff}.color-cell.is-none.is-selected,.color-cell.is-white.is-selected{box-shadow:inset 0 0 0 2px var(--ink)}.radio-row{display:flex;align-items:center;gap:12px;padding:6px 16px;background:var(--surface);width:100%;text-align:start}.radio-row.is-selected{width:calc(100% - 16px);margin:2px 8px;border:none;border-radius:10px;background:var(--accent-soft);box-shadow:none}.picker-own:has(>.radio-row.is-selected){width:calc(100% - 16px);margin:2px 8px;border-radius:10px;background:var(--accent-soft)}.picker-own:has(>.radio-row.is-selected)>.radio-row.is-selected{width:100%;margin:0;border-radius:inherit;background:transparent}.picker-own:has(>.radio-row.is-selected)>.picker-more{inset-inline-end:-8px}.radio-row .radio-label{flex:1;min-width:0}.radio-name,.radio-note{display:block}.radio-note{margin-top:2px;color:var(--ink-3);font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[dir=rtl] .radio-row .radio-dot{order:-1}.radio-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-3);flex-shrink:0;display:flex;align-items:center;justify-content:center}.radio-dot.checked{border-color:var(--accent)}.radio-dot.checked:after{content:"";width:11px;height:11px;border-radius:50%;background:var(--accent)}.text-input{width:100%;background:var(--surface);border:1.5px solid var(--stroke);border-radius:var(--radius-sm);padding:13px;font-size:17px}.field-label{font-weight:700;font-size:14.5px;margin:16px 0 6px}.bulk-edit-dialog .dialog-head h2{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.02em}.bulk-fields .piece-log{display:contents}.bulk-fields>.text-input:first-child,.bulk-fields>.bulk-error+.text-input{margin-top:0}.bulk-heading.step-name{margin:22px 0 4px;color:var(--ink)}.bulk-error{margin:0 0 12px}textarea.text-input{min-height:100px;resize:vertical}.chip-row{display:flex;gap:10px;flex-wrap:wrap;padding:4px 0 8px}.chip{background:var(--accent-soft);color:var(--accent-deep);font-weight:700;border-radius:10px;padding:10px 16px;font-size:14.5px}.layer-row{display:flex;align-items:center;gap:10px;padding:12px 15px;background:var(--surface)}.layer-row+.layer-row{border-top:1px solid var(--stroke)}.layer-kind{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sage);border:1px solid var(--stroke);padding:2px 7px;border-radius:6px;flex-shrink:0}.piece-log{--log-pad: 20px;--log-column: 600px;--log-timeline-pad: 2px;--log-rail: 22px;--log-gap: 20px;--log-step-gap: 24px;display:flex;flex-direction:column;background:#fbf6ed;padding-bottom:0}.screen.glaze-detail{padding-bottom:0}.screen.glaze-detail.is-editing{padding-bottom:calc(84px + var(--safe-bottom))}.glaze-detail{--log-pad: 20px;--log-column: 600px;display:flex;flex-direction:column;background:#fbf6ed}.glaze-detail .piece-grid-frame{width:min(var(--log-column),100%);padding-inline:var(--log-pad)}.recipe-edit-row{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 0}.recipe-edit-row+.recipe-edit-row{border-top:1px solid var(--stroke)}.recipe-edit-row .recipe-name{flex:1;min-width:0;width:auto;padding:10px 12px;text-align:start;font-size:16px;color:var(--ink)}.recipe-edit-row span.recipe-name{padding-inline:0}.recipe-add-link{display:flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--stroke);background:transparent;color:var(--accent);font:inherit;font-size:16px;font-weight:600;text-align:end;cursor:pointer}.recipe-add-link:hover{color:var(--accent-deep)}.check-box{width:22px;height:22px;border-radius:5px;border:2px solid var(--ink-3);flex-shrink:0;display:flex;align-items:center;justify-content:center}.check-box.checked{border-color:var(--accent);background:var(--accent)}.check-box.checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.recipe-edit-row .recipe-qty{width:88px;flex:none;padding:10px 12px;text-align:end;font-weight:700;font-size:16px}.recipe-remove{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2)}.recipe-block+.recipe-block{margin-top:28px}.recipe-block .step-name,.piece-log-body>.step-name{margin-bottom:4px}.piece-log-body>.step-name{margin-top:28px}.piece-log-body>.tests-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;margin-bottom:4px}.piece-log-body>.tests-heading .step-name{margin:0;min-width:0}.tests-add-link{flex:none;margin:0;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:16px;font-weight:600;line-height:1.2;cursor:pointer}.tests-add-link:hover{color:var(--accent-deep)}.recipe-block .entry{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.recipe-block .entry-value{flex-shrink:0}.recipe-block .entry.is-total{border-bottom:none}.test-fields .layer-row{background:transparent;padding-inline:0;gap:12px;padding-block:4px}.test-fields .decoration-block>.dim-heading{margin-top:12px}.test-fields .chip-row,.test-fields .decoration-add{padding:8px 0 12px}.piece-hero{position:relative;flex:none;height:min(52.9vh,483px);min-height:322px;background:var(--bg)}.piece-hero.is-swipable,.piece-hero.is-swipable .piece-hero-hit{touch-action:pan-y}.piece-hero-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.piece-hero-track{display:flex;height:100%;width:calc(var(--hero-count) * 100%);transform:translate(calc(var(--hero-dir) * var(--hero-index) * 100% / var(--hero-count)));transition:transform .28s ease}.piece-hero-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:color-mix(in srgb,var(--accent-deep) 55%,var(--accent-soft));background:var(--bg)}.piece-hero-placeholder svg{width:min(48vw,260px);height:min(48vw,260px)}.piece-hero-placeholder svg :is(path,circle,ellipse,rect){stroke-width:1.15px;vector-effect:non-scaling-stroke}.piece-hero-placeholder .form-ink{height:min(68%,280px);width:auto;aspect-ratio:1;object-fit:cover;display:block}.piece-hero-slide{position:relative;flex:none;width:calc(100% / var(--hero-count));height:100%;overflow:hidden}.piece-hero-photo-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;filter:blur(28px);transform:scale(1.12);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.piece-hero-photo{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.piece-hero-slide.is-wide .piece-hero-photo{object-fit:cover}.piece-hero-slide.is-wide .piece-hero-photo-bg{visibility:hidden}.photo-uploading-mark{position:absolute;z-index:2;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:4px 8px;border-radius:999px;background:#16100cb8;color:#fffdf9;font-size:12px;font-weight:700;line-height:1}[dir=rtl] .photo-uploading-mark{left:auto;right:12px}.photo-uploading-spin{width:12px;height:12px;flex:none;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:photo-spin .8s linear infinite}.photo-thumb .photo-uploading-mark,.photo-gallery-frame .photo-uploading-mark{top:0;left:0;right:0;bottom:0;max-width:none;border-radius:inherit;justify-content:center;padding:0;background:#16100c59}.photo-thumb .photo-uploading-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes photo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.photo-uploading-spin{animation:none;border-inline-end-color:currentColor}}.piece-hero-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;margin:0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.piece-hero-hit:focus,.piece-hero-hit:focus-visible{outline:none}.piece-hero-photos{--hero-add-half: 28px;position:absolute;z-index:4;inset-inline:16px;bottom:28px;display:flex;flex-direction:column;align-items:center;transform:translateY(var(--hero-add-half));pointer-events:none}.piece-hero-photo-index{position:absolute;z-index:4;inset-inline-end:16px;bottom:40px;margin:0;pointer-events:none;padding:3px 9px;border-radius:999px;background:#16100c94;color:#fffdf9;font-size:12px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.piece-hero-add{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;border-radius:50%;background:var(--accent);color:#fffdf9;box-shadow:0 1px 4px #16100c47}.piece-hero-add:active:not(:disabled){background:var(--accent-deep)}.piece-hero-add svg{width:46.8px;height:46.8px;flex:none;transform:translateY(-2px)}.piece-hero-add:disabled{opacity:.72}.piece-hero-add .photo-uploading-spin{width:18px;height:18px}.piece-hero-bar{--hero-wash-fade: 112px;position:fixed;top:0;inset-inline:0;z-index:12;display:flex;align-items:center;gap:8px;min-height:56px;padding:calc(8px + var(--safe-top)) 10px 10px;background:transparent;pointer-events:none;transition:background-color .18s ease}.piece-hero-bar:before{content:"";position:absolute;inset-inline:0;top:0;height:calc(var(--safe-top) + var(--hero-wash-fade));z-index:-1;pointer-events:none;opacity:1;transition:opacity .18s ease;background:linear-gradient(to bottom,rgba(0,0,0,.3) 0,rgba(0,0,0,.26) var(--safe-top),rgba(0,0,0,.2) calc(var(--safe-top) + 36px),rgba(0,0,0,.1) calc(var(--safe-top) + 64px),rgba(0,0,0,.035) calc(var(--safe-top) + 92px),rgba(0,0,0,0) 100%)}.piece-hero-bar.is-merged{background:#fff}.piece-hero-bar.is-merged:before{opacity:0}.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged):before{opacity:0}.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged) .icon-btn{color:var(--ink)}.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged) .piece-title{color:var(--ink);caret-color:var(--ink)}.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged) .piece-title.placeholder,.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged) .piece-title::placeholder{color:var(--placeholder)}.piece-hero.is-placeholder .piece-hero-bar:not(.is-merged) .detail-actions .piece-card-more{color:var(--ink)}.piece-hero-bar .icon-btn,.piece-hero-bar .piece-menu,.piece-hero-bar .piece-hero-heading,.piece-hero-bar .detail-actions{pointer-events:auto}.piece-hero-heading{flex:1 1 auto;min-width:0;display:flex;align-items:center}.piece-hero .icon-btn{width:44px;height:44px;border-radius:0;display:grid;place-items:center;padding:0;font-size:21px;color:#fffdf9;background:transparent;flex-shrink:0}.piece-hero-bar.is-merged .icon-btn{color:var(--ink)}.piece-hero .icon-btn:active{opacity:.72;background:transparent}.piece-hero .icon-btn.is-favorite,.header .icon-btn.is-favorite{color:#ff8f7a}.piece-hero-bar.is-merged .icon-btn.is-favorite{color:var(--accent)}.detail-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.piece-sheet{position:relative;z-index:1;flex:1;margin-top:-28px;border-radius:28px 28px 0 0;background:#fff;padding-top:52px;transition:border-radius .22s ease}.piece-sheet.is-merged{border-radius:0}.piece-log .piece-sheet{display:flex;flex-direction:column;gap:16px;padding-top:0;padding-bottom:0;background:transparent;transition:border-radius .22s ease,padding-bottom .3s cubic-bezier(.4,0,1,1)}.piece-panel{background:#fff;border-radius:28px;transition:border-radius .22s ease}.piece-log .piece-panel:first-child{padding-top:52px}.piece-log .piece-sheet.is-merged .piece-panel:first-child{border-radius:0 0 28px 28px}.piece-log .piece-panel:only-child{flex:1;border-radius:28px 28px 0 0;padding-bottom:calc(12px + var(--safe-bottom))}.piece-log .piece-sheet.is-merged .piece-panel:only-child{border-radius:0}.piece-panel+.piece-panel{flex:1;border-radius:28px 28px 0 0;padding-bottom:calc(32px + var(--safe-bottom))}.piece-panel+.piece-panel .piece-log-body{padding-top:32px}.piece-panel+.piece-panel .piece-location{margin-top:0}.piece-log.has-savebar .piece-panel:only-child,.piece-log.has-savebar .piece-panel+.piece-panel{padding-bottom:calc(76px + var(--safe-bottom));transition:padding-bottom .3s cubic-bezier(0,0,.2,1)}.glaze-detail .piece-sheet{display:flex;flex-direction:column;gap:16px;padding-top:0;background:transparent}.glaze-panel{background:#fff;border-radius:28px;transition:border-radius .22s ease}.glaze-panel:first-child{padding-top:36px}.glaze-detail .piece-sheet.is-merged .glaze-panel:first-child{border-radius:0 0 28px 28px}.glaze-panel+.glaze-panel{flex:1;margin-bottom:0;padding-bottom:calc(32px + var(--safe-bottom));border-radius:28px 28px 0 0}.glaze-panel .piece-log-body>.tests-heading{margin-top:8px}.piece-log-savebar{position:fixed;bottom:0;inset-inline:0;width:auto;z-index:20;display:flex;justify-content:center;align-items:center;gap:4px;padding:8px 12px calc(8px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--stroke)}.piece-log .piece-log-savebar{transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,1,1);pointer-events:none}.piece-log .piece-log-savebar.is-open{transform:translateY(0);transition:transform .3s cubic-bezier(0,0,.2,1);pointer-events:auto}.piece-log .piece-log-savebar.is-dragging:not(.is-open){transform:none;background:transparent;border-top-color:transparent;pointer-events:none}.piece-log .piece-log-savebar.is-dragging:not(.is-open)>:not(.layer-remove-zone){visibility:hidden}@media (prefers-reduced-motion: reduce){.piece-log .piece-sheet,.piece-log .piece-log-savebar{transition:none}}.piece-log-save-error{position:absolute;inset-inline-start:12px;color:#b3261e;font-size:13px}.piece-saved-toast{position:fixed;z-index:45;left:50%;bottom:calc(76px + var(--safe-bottom));transform:translate(-50%);margin:0;border:0;border-radius:999px;padding:10px 18px;background:#2a2420b8;color:#fff;font:inherit;font-size:14px;font-weight:400;line-height:1.2;letter-spacing:.01em;cursor:pointer}.piece-saved-toast.is-saved,.piece-saved-toast.is-error{animation:piece-saved-toast 2.36s ease forwards}.piece-saved-toast.is-error{background:#b3261ed1;cursor:default}@keyframes piece-saved-toast{0%{opacity:1}92.4%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.piece-saved-toast.is-saved,.piece-saved-toast.is-error{animation-duration:2s}}.piece-log .header{width:auto;margin-inline:0;background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}.piece-log-body{width:min(var(--log-column),100%);margin-inline:auto;padding:4px var(--log-pad) 8px}.timeline{margin-top:0}.piece-stage-picker{display:grid;gap:16px;width:100%;box-sizing:border-box;margin:4px 0 20px;padding-inline:var(--log-timeline-pad)}.piece-meta-row{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer}.piece-meta-row .piece-notes-head{align-items:start}.piece-meta-row .piece-notes-rail{height:1.2em;margin-top:.05em}.piece-meta-copy{display:grid;gap:2px;min-width:0}.piece-meta-copy .step-name{padding:0;line-height:1.2}.piece-stage-picker .piece-meta-copy .step-name{padding:0;color:var(--ink-2);font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:normal;line-height:1.25}.piece-meta-select{color:var(--ink-2);font-size:16px;font-weight:400;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-stage-picker .piece-meta-select:not(.is-placeholder){color:var(--ink);font-weight:700}.piece-meta-select.is-placeholder{color:var(--placeholder)}.piece-log .timeline{padding-inline:var(--log-timeline-pad);gap:var(--log-step-gap)}.timeline-add{display:grid;grid-template-columns:var(--log-rail) minmax(0,1fr);column-gap:var(--log-gap);align-items:center;justify-self:stretch;width:100%;margin:0;padding:0 0 20px;color:var(--accent);font-size:16px;font-weight:600;text-align:start}.timeline-add-mark{justify-self:center;width:22.5px;height:22.5px;border:1.5px solid var(--stroke);border-radius:50%;background:var(--surface)}.piece-log .piece-location,.piece-log .piece-inventory{margin-top:var(--log-step-gap, 28px);padding-inline:var(--log-timeline-pad)}.piece-log .piece-location+.piece-inventory{margin-top:16px}.piece-log .timeline .piece-batch{margin:0;padding:0}.piece-batch .piece-meta-copy,.piece-location .piece-meta-copy,.piece-inventory .piece-meta-copy{gap:8px}.piece-batch-hint{color:var(--placeholder);font-size:14px;font-weight:400;line-height:1.25}.batch-size{display:flex;align-items:center;justify-content:center;gap:8px;min-height:88px}.batch-size-value{min-width:2.2ch;text-align:center;font-family:var(--font-display);font-size:40px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.inventory-counts{display:grid;gap:8px}.inventory-count-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.picker-flat .inventory-count-row{min-height:44px;padding-block:4px}.inventory-stepper{display:flex;align-items:center;gap:8px;flex-shrink:0}.inventory-count-value{min-width:1.6em;text-align:center;font-variant-numeric:tabular-nums;font-weight:400}.inventory-count-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}button.inventory-count-name{border:0;background:transparent;padding:0;font:inherit;color:inherit;text-align:start;cursor:pointer}.inventory-step{width:36px;height:36px;border:1px solid var(--stroke);border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:20px;line-height:1;cursor:pointer}.inventory-step:disabled{opacity:.35;cursor:default}.piece-hero .detail-actions .piece-card-more{position:static;width:44px;height:44px;border-radius:0;background:transparent;color:#fffdf9}.piece-hero-bar.is-merged .detail-actions .piece-card-more{color:var(--ink)}.duplicate-form{display:grid;gap:12px}.duplicate-label{font-weight:400}.duplicate-modes{display:flex;flex-wrap:wrap;gap:8px 20px}.duplicate-count{display:flex;align-items:center;justify-content:space-between;gap:12px}.duplicate-stepper,.duplicate-title-row{display:flex;align-items:center;gap:8px}.duplicate-title{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid var(--stroke);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.duplicate-title::placeholder{color:var(--placeholder)}.duplicate-title:disabled{color:var(--ink-2);background:var(--bg)}.duplicate-numbers{flex-shrink:0;color:var(--ink-2);font-variant-numeric:tabular-nums}.duplicate-rule{margin:0;border:0;border-top:1px solid var(--stroke)}.duplicate-choice{display:flex;align-items:center;gap:10px;min-height:32px}.duplicate-note{margin:0;color:var(--ink-2);font-size:14px}.piece-log .piece-inventory+.piece-notes{margin-top:16px}.piece-log .piece-notes{margin-top:var(--log-step-gap, 28px);padding-inline:var(--log-timeline-pad);padding-bottom:8px}.piece-notes-row{display:grid;gap:10px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:start;cursor:pointer}.piece-notes-head{display:grid;grid-template-columns:var(--log-rail) minmax(0,1fr);column-gap:var(--log-gap);align-items:center;min-width:0}.piece-notes-rail{display:grid;place-items:center;width:var(--log-rail);height:1.2em;color:var(--ink)}.piece-notes-rail svg{width:20px;height:20px}.piece-notes-head .step-name{padding:0;line-height:1.2}.piece-notes-box{margin-inline-start:calc(var(--log-rail) + var(--log-gap));box-sizing:border-box;min-height:72px;padding:12px 13px;border:1.5px solid var(--stroke);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:16px;line-height:1.35;text-align:start;white-space:pre-wrap;overflow-wrap:anywhere}.piece-notes-box.is-empty{color:var(--placeholder)}.step{display:grid;grid-template-columns:var(--log-rail) minmax(0,1fr);column-gap:var(--log-gap)}.piece-log .step{grid-template-rows:auto minmax(0,1fr)}.piece-log .step-rail,.piece-log .step-body{display:grid;grid-row:1 / -1;grid-template-rows:subgrid;min-width:0}.piece-log .step-rail{position:relative;align-items:stretch;justify-items:center}.step-rail{display:flex;flex-direction:column;align-items:center}.step-check{width:22.5px;height:22.5px;border:1.5px solid var(--stroke);border-radius:50%;background:var(--surface);color:var(--placeholder);display:grid;place-items:center;flex-shrink:0;align-self:center;cursor:pointer}.step-check.on{background:var(--accent);border-color:var(--accent);color:#fff}.step-line{position:relative;width:1px;flex:1;margin-top:6px;background:var(--stroke)}.piece-log .step-line:after{content:"";position:absolute;top:100%;left:0;width:100%;height:var(--log-step-gap);background:inherit}.piece-log .step-line.is-dashed{position:absolute;top:28.5px;bottom:calc(var(--log-step-gap) * -1);left:50%;width:1.5px;margin:0;transform:translate(-50%);background-color:transparent;background-image:repeating-linear-gradient(to bottom,var(--stroke) 0 12px,transparent 12px 18px)}.piece-log .step-line.is-dashed:after{content:none}.step-name{margin:0;padding:2px 0 0;border:0;background:transparent;color:inherit;font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:-.02em;text-align:start}button.step-name{cursor:pointer}.piece-log .step-name{align-self:center;padding:0;width:fit-content;max-width:100%}.piece-log .timeline .step-name{line-height:1.2}.piece-log .step-follow{min-width:0}.piece-log .step-status{display:flex;align-items:center;width:fit-content;max-width:100%;gap:6px;min-width:0;margin-top:2px}.piece-log .step-status .step-stamp{margin-top:0}.piece-log .step-status-bar{flex:none;color:var(--ink-2);font-size:13px;line-height:1.3}.piece-log .step-delete{flex:none;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer}.piece-log .step-delete:active{background:var(--accent-soft)}.step-stamp{position:relative;display:inline-flex;width:fit-content;margin-top:2px;color:var(--ink-2);font-size:13px;line-height:1.3;cursor:pointer}.step-stamp input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.entry,.field-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:100%;min-height:52px;padding:12px 0;border-bottom:1px solid var(--stroke);text-align:start;background:transparent}.field-row{flex-direction:row;align-items:center;gap:12px;height:52px;padding:0}.field-row:has(.field-row-value){height:auto;padding:12px 0}.piece-log .timeline>.step:last-child .field-row:not(:has(~.field-row)){border-bottom:none}.field-row-icon{flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.field-row-copy{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.field-row-label{flex:none;color:var(--ink-2);font-size:16px;line-height:1.25}.field-row-value{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:700;font-size:16px;line-height:1.25;text-align:start}.field-row-value.is-plain{font-weight:400}.field-row:not(:has(.field-row-value)) .field-row-chevron{margin-inline-start:auto}.field-row-chevron{flex:none;color:var(--ink-3)}[dir=rtl] .field-row-chevron{transform:scaleX(-1)}textarea.text-input.step-notes-dialog{box-sizing:border-box;height:calc(3 * 1.35em + 26px + 3px);min-height:0;max-height:calc(3 * 1.35em + 26px + 3px);margin-top:4px;line-height:1.35;resize:none;overflow-y:auto}.entry-label{color:var(--ink-2);font-size:16px;line-height:1.25}.entry-value{color:var(--ink);font-weight:700;font-size:16px;line-height:1.25;text-align:start}.entry-value.placeholder{color:var(--placeholder);font-weight:400}.dim-heading{display:block;width:100%;margin:14px 0 0;padding:0;color:var(--ink-2);font-size:16px;text-align:start}.dim-line{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:52px;padding:12px 0;border-bottom:1px solid var(--stroke);gap:10px}.dim-line.under-heading{min-height:0;padding-top:4px}.dim-part{flex:0 1 auto;min-width:0;padding:0;background:transparent;color:var(--ink-2);font-size:16px;line-height:1.25;text-align:start;white-space:nowrap}.dim-part.filled{color:var(--ink-2);font-weight:400}.dim-part.placeholder{color:var(--placeholder);font-weight:400}.dim-colon{white-space:pre}.dim-value{font-weight:700;color:var(--ink)}.dim-x{flex:none;color:color-mix(in srgb,var(--ink-3) 55%,var(--bg));font-size:24px;line-height:1}.step-photos{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:14px;overflow:hidden}.photo-add,.photo-thumb,.photo-pending{width:56px;height:56px;flex:none;border-radius:10px}.photo-add{display:grid;place-items:center;border:none;background:#fff;color:var(--ink-2);box-shadow:0 1px 4px #16100c59}.photo-add svg{width:26px;height:26px}.photo-add:disabled{opacity:.5}.photo-thumb{position:relative;padding:0;overflow:hidden;border:1px solid var(--stroke);background:var(--surface)}.photo-more{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#16100c9e;color:#fffdf9;font-size:16px;font-weight:700;letter-spacing:.02em}.photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}.photo-pending{border:1px dashed var(--stroke);background:var(--accent-soft)}.photo-gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;grid-template-rows:1fr;background:#000;color:#fffdf9}.photo-gallery-chrome{position:absolute;z-index:2;inset-inline:0;display:flex;align-items:center;transition:opacity .18s ease,transform .18s ease;pointer-events:auto}.photo-gallery-header{--gallery-wash-fade: 88px;top:0;gap:10px;min-height:56px;padding:calc(8px + var(--safe-top)) 10px 10px;background:linear-gradient(to bottom,rgba(0,0,0,.72) 0,rgba(0,0,0,.62) var(--safe-top),rgba(0,0,0,.35) calc(var(--safe-top) + 44px),rgba(0,0,0,0) calc(var(--safe-top) + var(--gallery-wash-fade)))}.photo-gallery.chrome-hidden .photo-gallery-header{opacity:0;transform:translateY(-12px);pointer-events:none}.photo-gallery-back,.photo-gallery-action{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;color:#fffdf9;background:transparent}.photo-gallery-back:disabled,.photo-gallery-action:disabled{opacity:.35}.photo-gallery-heading{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.photo-gallery-title{overflow:hidden;font-size:16px;font-weight:600;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.photo-gallery-meta{font-size:12px;line-height:1.25;color:#fffdf9b8}.photo-gallery-actions{flex:none;display:flex;align-items:center;gap:2px}.photo-gallery-stage{position:relative;grid-row:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.photo-gallery-frame{position:relative;width:100%;height:100%;min-width:0;min-height:0}.photo-gallery-frame>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;-webkit-user-drag:none}.photo-gallery-foot{bottom:0;justify-content:center;padding:12px 16px calc(16px + var(--safe-bottom));background:linear-gradient(to top,#0000008c,#0000)}.photo-gallery.chrome-hidden .photo-gallery-foot{opacity:0;transform:translateY(12px);pointer-events:none}.photo-gallery-strip{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;overflow-x:auto;padding:8px 6px;scrollbar-width:none}.photo-gallery-strip::-webkit-scrollbar{display:none}.photo-gallery-strip .photo-thumb{scroll-margin-inline:8px}.photo-gallery-strip .photo-thumb.is-current{outline:2px solid #fffdf9;outline-offset:2px}.photo-thumb-open{display:block;width:100%;height:100%;padding:0}.photo-thumb-delete{position:absolute;z-index:3;top:3px;inset-inline-end:3px;display:grid;place-items:center;width:22px;height:22px;padding:0;border-radius:999px;background:#16100cc7;color:#fffdf9}body:has(.photo-gallery) .dialog-backdrop{z-index:90}.step .chip-row{padding:12px 0 4px}.step .decoration-block>.dim-heading{margin-top:12px}.step .decoration-block .chip-row,.step .decoration-block .decoration-add{padding-top:4px;padding-bottom:12px}.decoration-add{position:relative;align-self:flex-start}.decoration-add-button{display:inline-flex;align-items:center;gap:6px}[dir=rtl] .decoration-add-button svg{transform:scaleX(-1)}.decoration-add-menu{position:absolute;z-index:30;top:calc(100% - 6px);inset-inline-start:0;min-width:180px;padding:6px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 12px 32px #2a242024}.decoration-add-menu button{display:block;width:100%;padding:11px 14px;border-radius:10px;text-align:start;font-weight:600;font-size:15px;color:var(--ink);background:transparent}.decoration-add-menu button:active{background:var(--bg)}.decoration-block+.entry,.decoration-block+.field-row{border-top:1px solid var(--stroke)}.step .layer-row{background:transparent;padding-inline:0;border-bottom:1px solid var(--stroke)}.step .decoration-block .layer-row{border-bottom:none;gap:12px;padding-block:4px}.glaze-options .field-label:first-child{margin-top:0}.glaze-options .radio-row{background:transparent;padding:8px 0}.coat-stepper{display:flex;align-items:center;gap:8px;padding:4px 0 8px;background:transparent}.coat-stepper button{width:36px;height:36px;border:1px solid var(--stroke);border-radius:10px;font-size:20px;line-height:1;color:var(--ink)}.coat-stepper button:disabled{opacity:.35}.coat-stepper span{min-width:1.6em;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.piece-pin{position:sticky;top:calc(var(--header-h) + var(--safe-top));z-index:9;background:var(--bg);margin-inline:-20px;padding:0}.identity-note{display:flex;justify-content:center;align-items:baseline;gap:0;margin:0;padding:0 16px 8px;text-align:center;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden}.identity-part{display:inline-flex;align-items:baseline;min-width:0}.identity-note button{font:inherit;max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-note .identity-value{color:var(--ink);font-weight:500}.identity-note .identity-empty{color:var(--ink-3);font-weight:400}.identity-dot{color:var(--ink-3);flex-shrink:0;margin-inline:7px}.portrait-wrap{margin:0 -20px}.portrait{width:100%;aspect-ratio:5 / 4;border-radius:0;background:var(--accent-soft);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--accent-deep)}.portrait:disabled{opacity:.6}.portrait img{width:100%;height:100%;object-fit:cover;display:block}.portrait-well{width:56px;height:56px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #2a242014}.portrait-well svg{width:28px;height:28px}.portrait-caption{margin:12px 8px 0;text-align:center;color:var(--ink-2);font-size:15px;font-weight:400;line-height:1.4}.piece-hero-bar .piece-title{display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:none;background:transparent;font-family:var(--font-display);font-size:20px;font-weight:560;letter-spacing:-.02em;line-height:1.2;text-align:start;color:#fffdf9;caret-color:#fffdf9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-hero-bar .piece-title.placeholder,.piece-hero-bar .piece-title::placeholder{color:#fffdf9d1;font-weight:500}.piece-hero-bar.is-merged .piece-title{color:var(--ink);caret-color:var(--ink)}.piece-hero-bar.is-merged .piece-title.placeholder,.piece-hero-bar.is-merged .piece-title::placeholder{color:var(--placeholder)}.favorites-label{width:min(100%,960px);margin:16px auto 0;padding-inline:22px;color:var(--ink-2);font-size:13px;font-weight:650}.piece-menu{position:relative;flex-shrink:0}.piece-menu-pop{position:absolute;top:calc(100% - 2px);inset-inline-end:0;z-index:30;min-width:168px;padding:6px;background:var(--surface);border:1px solid var(--stroke);border-radius:14px;box-shadow:0 12px 32px #2a242024}.piece-menu-pop button{display:block;width:100%;padding:11px 14px;border-radius:10px;text-align:start;font-weight:600;font-size:15px}.piece-menu-pop button:active{background:#f8ebe8}.stage-words{display:flex;width:100%;margin:0;padding:0;border-bottom:1px solid var(--stroke)}.stage-word{flex:1 1 0;min-width:0;padding:13px 4px;border-radius:0;font-size:14px;font-weight:500;line-height:1.2;text-align:center;color:var(--ink-3);background:transparent}.stage-word.current{background:var(--accent-soft);color:var(--accent-deep);font-weight:650}.measure-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}.measure-pair{grid-template-columns:1fr 1fr;margin-top:4px}.measure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:52px;padding:6px 4px;text-align:center;background:transparent}.measure-label{font-size:12px;font-weight:500;color:var(--ink-3);max-width:100%}.measure.is-empty .measure-label{font-size:14px}.measure-value{font-size:16px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lifted-card{margin-top:16px;background:var(--surface);border-radius:22px;box-shadow:0 10px 28px #2a24200f;overflow:hidden}.lifted-card:not(.facts-grid) .fact+.fact{border-top:1px solid var(--stroke)}.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.facts-grid .fact{align-items:center;text-align:center;padding:14px 4px 16px;min-width:0}.facts-grid .fact+.fact{border-inline-start:1px solid var(--stroke)}.facts-grid .fact-label,.facts-grid .fact-value,.facts-grid .fact-add{max-width:100%}.facts-grid .fact-value,.facts-grid .fact-add{font-size:15px}.fact{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px 18px;text-align:start;background:transparent}.fact-wide{width:100%}.fact-label{font-size:13px;font-weight:400;color:var(--ink-2)}.fact-value{font-size:18px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.fact-add{font-size:16px;font-weight:600;color:var(--accent)}.piece-section-label{margin:22px 2px 0;font-size:13px;font-weight:500;color:var(--ink-2)}.piece-log .layer-list .layer-row{background:transparent;padding-inline:0}.piece-log .layer-row+.layer-row{border-top:none}.piece-log .layer-kind{color:var(--accent-deep);background:var(--accent-soft);border:none;border-radius:999px;font-weight:600;font-size:13px;letter-spacing:0;text-transform:none}.piece-log .layer-copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.piece-log .layer-line{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.piece-log .layer-meta{display:flex;align-items:center;gap:8px;width:100%;color:var(--ink-2);font-size:14px;font-weight:400;line-height:1.35}.piece-log .layer-meta .layer-kind{margin-inline-start:0}.piece-log .decoration-block{display:flex;flex-direction:column;gap:8px}.piece-log .decoration-block .layer-row{align-items:center;background:var(--bg);border:1px solid var(--stroke);border-radius:14px;padding:12px;gap:12px}.piece-log .decoration-block.is-glaze-layers{--layer-pad: 12px;--layer-gap: calc(var(--layer-pad) / 2);--layer-control: 28px;margin-top:8px}.piece-log .decoration-block.is-glaze-layers .layer-row{border:none;border-radius:var(--radius-sm);padding:var(--layer-pad);gap:var(--layer-pad);touch-action:none;cursor:grab}.piece-log .decoration-block.is-glaze-layers .chip-row,.piece-log .decoration-block.is-glaze-layers .decoration-add{flex-wrap:nowrap;min-width:0;max-width:100%}.piece-log .decoration-block.is-glaze-layers .chip-row::-webkit-scrollbar{display:none}.piece-log .decoration-block.is-glaze-layers .chip{flex-shrink:0}.piece-log .decoration-block.is-glaze-layers .layer-copy{gap:var(--layer-gap)}.piece-log .decoration-block.is-glaze-layers .layer-line{gap:8px}.piece-log .layer-grip{display:grid;place-items:center;flex:none;align-self:center;width:18px;margin-inline-start:-4px;color:var(--ink-3)}.piece-log .decoration-block.is-glaze-layers .layer-line .layer-kind{flex:none;display:inline-flex;align-items:center;height:18px;margin-inline-start:auto;padding:0 7px;font-size:12px;line-height:1;font-weight:600}.piece-log .layer-kind[data-kind=glaze]{color:#a34722;background:#f3e2d7}.piece-log .layer-kind[data-kind=underglaze]{color:#2c5f8a;background:#dce8f3}.piece-log .layer-kind[data-kind=oxide]{color:#3d6b4f;background:#dce8df}.piece-log .layer-kind[data-kind=slip]{color:#8a5a32;background:#f3e6d4}.piece-log .layer-kind[data-kind=stain]{color:#7a3e6d;background:#f3dce9}.piece-log .decoration-block.is-glaze-layers .layer-name{font-size:16px;font-weight:600;line-height:1.15}.piece-log .decoration-block.is-glaze-layers .layer-meta{margin-top:0;gap:4px;line-height:1.15}.piece-log .decoration-block.is-glaze-layers .layer-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-log .layer-menu.is-inline .picker-more{width:var(--layer-control);height:var(--layer-control);margin-block:calc((16px - var(--layer-control)) / 2);margin-inline-start:-2px;color:var(--ink-2)}.piece-log .layer-handle{display:grid;place-items:center;flex:none;align-self:center;width:var(--layer-control);height:var(--layer-control);margin-inline-end:-5px;border-radius:50%;color:var(--ink-2);touch-action:none;cursor:grab}.piece-log .layer-row.is-placeholder{visibility:hidden}.layer-drag-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;display:block;padding:0;background:transparent}.layer-drag-host .layer-row.is-dragging{position:fixed;z-index:1;margin:0;box-shadow:0 8px 20px #2a24201f;cursor:grabbing;transition:transform .18s ease}.piece-log .layer-row.is-shifting{transition:transform .16s ease}.layer-remove-zone{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:min(var(--log-column),calc(100% - 24px));padding-inline:var(--log-pad);pointer-events:none}.layer-remove-zone span{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:var(--accent-soft);color:var(--accent-deep);font-weight:600;text-align:center}.layer-remove-zone.is-over span{border-style:solid;background:var(--accent);color:#fffdf9}.piece-log .layer-menu{position:relative;flex:none}.piece-log .layer-menu .picker-more{position:static;top:auto;inset-inline-end:auto;transform:none}.piece-log .layer-name{flex:1 1 auto;min-width:0;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-log .chip{font-weight:500;background:#fff;color:var(--ink-2);border:1px solid var(--stroke);padding-inline:8px}.clay-swatch{width:100%;height:100%;object-fit:cover;background:radial-gradient(circle at 30% 30%,#e7d3bf,#b08968 70%)}.quiet-notes{width:100%;margin-top:8px;background:transparent;border:none;border-radius:0;box-shadow:none;padding:18px 2px 8px;font-size:16px;font-weight:400;color:var(--ink);min-height:72px;resize:vertical}.quiet-notes::placeholder{color:var(--placeholder);font-weight:400}.pad-backdrop{z-index:60;align-items:center}.pad-sheet{position:relative;background:var(--surface);border-radius:22px;width:100%;max-width:380px;max-height:min(calc(100dvh - max(24px,var(--safe-top)) - max(24px,var(--safe-bottom))),640px);overflow:hidden;display:flex;flex-direction:column}.pad-sheet .dialog-head{position:relative;justify-content:center;margin:0;padding:18px 16px 14px}.pad-sheet .dialog-body{flex:1 1 auto;padding:0 16px 8px}.pad-sheet .dialog-actions{flex:none;margin:0;padding:8px 8px 12px;background:var(--surface)}.pad-close{position:absolute;top:50%;inset-inline-end:8px;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;font-size:20px;color:var(--ink-2)}.pad-title{font-family:var(--font-display);font-size:18px;font-weight:700;text-align:center;padding-inline:44px}.pad-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;padding:4px;background:var(--bg);border-radius:14px}.pad-tab{min-height:44px;border-radius:10px;background:transparent;color:var(--ink-2);font-size:15px;font-weight:700;line-height:1.1;display:flex;align-items:center;justify-content:center}.pad-tab.selected{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #2a242014}.pad-targets{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin-top:12px}.pad-target{border:1.5px solid var(--stroke);background:var(--surface);border-radius:12px;padding:8px 6px;min-height:52px}.pad-target.selected{border-color:var(--accent);background:var(--accent-soft)}.pad-target-label,.pad-target-value{display:block}.pad-target-label{font-size:12px;font-weight:700;color:var(--ink-2)}.pad-target-value{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.pad-figure{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:18px 8px 12px}.pad-number{display:inline-block;min-width:1px;min-height:64px;font-family:var(--font-display);font-size:64px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums}.pad-number.is-unset{color:var(--placeholder)}.pad-unit{font-size:20px;font-weight:700;color:var(--ink-2)}.pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pad-key{min-height:64px;border-radius:16px;background:var(--surface);border:1px solid var(--stroke);font-size:28px;font-weight:650;font-variant-numeric:tabular-nums}.pad-key:active{background:var(--accent-soft)}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.icon-grid button{border:1.5px solid var(--stroke);border-radius:14px;background:var(--surface);padding:10px 0 6px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600}.icon-grid button.selected{border-color:var(--accent)}.capture-stage{padding:18px}.capture-photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);display:block;background:var(--accent-soft)}.capture-prompt{text-align:center;padding:36px 24px}.capture-prompt .big-shutter{width:110px;height:110px;border-radius:50%;background:var(--accent);border:7px solid var(--surface);outline:3px solid var(--accent);color:#fff;font-size:44px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 26px #c65a2e59;margin-bottom:16px}.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pick-grid .pick{border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);border:1.5px solid var(--stroke);text-align:center;padding-bottom:6px}.pick-grid .pick img,.pick-grid .pick .ph{width:100%;aspect-ratio:1;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--accent-soft)}.pick-grid .pick .nm{font-size:12.5px;font-weight:600;padding:5px 6px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shrink-cards{position:relative;display:flex;flex-direction:column;gap:16px;margin-top:40px}.shrink-card{position:relative;display:block;width:100%;background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius);padding:32px 22px;color:inherit;font:inherit;text-align:center}.shrink-card:active{background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.shrink-card-label{font-family:var(--font-display);font-size:20px;font-weight:560;letter-spacing:-.02em;margin-bottom:16px;text-align:center}.shrink-card-line{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;min-height:40px}.shrink-card-line.is-placeholder{min-height:48px;color:var(--placeholder);font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1}.shrink-measures{display:inline-flex;align-items:baseline;max-width:100%}.shrink-measures>.shrink-slot-wrap+.shrink-slot-wrap{margin-inline-start:10px}.shrink-card-line.is-placeholder .shrink-measures>.shrink-slot-wrap+.shrink-slot-wrap{margin-inline-start:12px}.shrink-slot-wrap{display:inline-flex;align-items:baseline;gap:10px}.shrink-slot{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--font-display)}.shrink-slot-label{color:var(--ink-3);font-size:13px;font-weight:500}.shrink-slot-value{color:var(--ink);font-size:28px;font-weight:700;line-height:1.1}.shrink-x{color:color-mix(in srgb,var(--ink-3) 55%,var(--bg));font-size:15px;font-weight:400}.shrink-card-line.is-placeholder .shrink-slot-label,.shrink-card-line.is-placeholder .shrink-x,.shrink-card-line.is-placeholder .shrink-unit{color:var(--placeholder);font-size:22px;font-weight:500}.shrink-card-line.is-placeholder .shrink-x,.shrink-card-line.is-placeholder .shrink-unit{font-size:16px}.shrink-unit{flex:0 0 0px;width:0;min-width:0;overflow:visible;white-space:nowrap;color:var(--ink-3);font-size:14px;margin-inline-start:8px;margin-inline-end:-8px}.shrink-rate-card{margin-top:20px;padding:18px 22px}.shrink-rate-card .shrink-card-line{min-height:0}.shrink-rate-backdrop{padding:8px}.shrink-rate-sheet{width:100%;max-width:420px;max-height:calc(100dvh - 16px)}.shrink-rate-sheet .dialog-body{padding:2px 10px 10px;overflow-y:auto}.shrink-rate-sheet .pad-title{padding-inline:0}.shrink-gauge{padding:12px 8px 8px}.shrink-gauge-readout{font-family:var(--font-display);font-size:56px;font-weight:650;line-height:1;text-align:center;font-variant-numeric:tabular-nums;margin-bottom:16px}.shrink-gauge-track{position:relative;height:44px;margin-inline:14px;display:flex;align-items:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.shrink-gauge-track:active{cursor:grabbing}.shrink-gauge-track:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:8px}.shrink-gauge-track:before,.shrink-gauge-fill{position:absolute;left:0;height:8px;border-radius:999px}.shrink-gauge-track:before{content:"";right:0;background:var(--stroke)}.shrink-gauge-fill{background:var(--accent)}.shrink-gauge-thumb{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);transform:translate(-50%);box-shadow:0 2px 8px #2a242029}.shrink-gauge-ends{display:flex;justify-content:space-between;margin-top:4px;padding-inline:8px;color:var(--ink-3);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}.danger{color:#b3261e}.loading{text-align:center;color:var(--ink-3);padding:60px 0}.piece-loader{min-height:100%;display:flex;align-items:center;justify-content:center;padding-bottom:0;background:#fbf6ed}.piece-loader .loading{padding:0}.ruler-sheet{max-width:420px}.ruler-sheet .dialog-head{justify-content:flex-start;padding:18px 16px 14px;gap:8px}.ruler-sheet .pad-title{flex:0 1 auto;margin:0;padding:6px 8px;text-align:start}.ruler-head-tools{display:flex;align-items:center;margin-inline-start:auto;flex:none}.ruler-head-tools .dialog-reset:active{background:var(--accent-soft);color:var(--ink)}.ruler-sheet .dialog-body{padding-top:10px}.ruler-group{margin-bottom:14px}.ruler-head{position:relative;display:flex;align-items:baseline;gap:8px;padding:2px 2px 6px;min-height:34px}.ruler-group{--ruler-inset: 22px}.ruler-head .ruler-readout{position:absolute;left:0;bottom:6px}.ruler-group.is-origin-right .ruler-head .ruler-readout{left:auto;right:0}.ruler-label{font-size:14px;font-weight:700;color:var(--ink-2)}.ruler-readout{display:inline-flex;align-items:baseline;gap:5px}.ruler-value{font-family:var(--font-display);font-size:28px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}.ruler-fraction{font-size:.55em;font-weight:450;margin-left:.2em}.ruler-unit{font-size:14px;font-weight:700;color:var(--ink-2)}.ruler-viewport{position:relative;height:72px;border-radius:14px;background:var(--bg);border:1px solid var(--stroke);overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.ruler-viewport.is-dragging{cursor:grabbing}.ruler-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ruler-tape{position:absolute;left:var(--ruler-inset);top:0;bottom:0;will-change:transform}.ruler-group.is-origin-right .ruler-tape{left:auto;right:var(--ruler-inset)}.ruler-viewport:not(.is-dragging) .ruler-tape{transition:transform .12s ease-out}.ruler-minor-ticks{position:absolute;left:0;right:0;bottom:0;height:16px;background:repeating-linear-gradient(to right,color-mix(in srgb,var(--ink-2) 32%,transparent) 0 1px,transparent 1px var(--ruler-step))}.ruler-group.is-origin-right .ruler-minor-ticks{background:repeating-linear-gradient(to left,color-mix(in srgb,var(--ink-2) 32%,transparent) 0 1px,transparent 1px var(--ruler-step))}.ruler-tick-half{position:absolute;bottom:0;width:1px;height:26px;background:color-mix(in srgb,var(--ink-2) 48%,transparent)}.ruler-tick-major{position:absolute;bottom:0;width:1.5px;height:38px;background:color-mix(in srgb,var(--ink-2) 40%,transparent)}.ruler-tick-number{position:absolute;bottom:40px;left:0;transform:translate(-50%);font-family:var(--font-display);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink-2) 78%,transparent);white-space:nowrap}.ruler-needle{position:absolute;left:var(--ruler-inset);top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none}.ruler-group.is-origin-right .ruler-needle{left:auto;right:var(--ruler-inset);margin-left:0;margin-right:-1px}.ruler-needle:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--accent)}.scale-readout{display:flex;justify-content:center;padding:0 2px 10px}.scale-sheet .ruler-value{font-size:40px}.scale-sheet .ruler-unit{font-size:16px}.scale-viewport{position:relative;margin-bottom:14px;border-radius:14px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.scale-hit{position:absolute;top:-52px;right:0;bottom:-36px;left:0}.scale-viewport.is-dragging{cursor:grabbing}.scale-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scale-dial{display:block;width:100%;height:auto;overflow:visible}.scale-window{fill:var(--bg)}.scale-window-edge{fill:none;stroke:var(--stroke);stroke-width:1;stroke-linejoin:round}.scale-tick-minor{stroke:color-mix(in srgb,var(--ink-2) 55%,transparent);stroke-width:1;transition:opacity .15s ease-out}.scale-dial.is-fast .scale-tick-minor{opacity:0}.scale-tick-half{stroke:color-mix(in srgb,var(--ink-2) 80%,transparent);stroke-width:1}.scale-tick-major{stroke:var(--ink);stroke-width:1.5}.scale-tick-number{font-family:var(--font-display);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;fill:var(--ink-2)}.scale-tick-number.is-kilo{font-weight:800;fill:var(--ink)}.scale-needle{stroke:var(--accent);stroke-width:2}.scale-needle-head{fill:var(--accent)}
