:root{--bg:#f8f7f3;--ink:#34372f;--muted:#73766b;--line:#dedfd5;--accent:#555e46;--surface:#fffefa;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .18s,color .18s,box-shadow .18s}a{color:inherit;text-decoration:none}.header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 5.2%}.brand{font-family:Georgia,"Times New Roman",serif;font-size:32px;letter-spacing:5px;line-height:1}.brand span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:2.2px;margin-top:10px}.header-note{font-size:11px;letter-spacing:2px;color:var(--muted)}.text-button{border:0;background:none;font-size:12px;padding:12px 4px}.text-button span{margin-left:18px}main{max-width:1480px;margin:auto;padding:0 5.2%}.intro{display:flex;justify-content:space-between;align-items:center;padding:50px 0 38px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--accent);margin:0 0 16px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:36px;letter-spacing:4px;margin:0 0 18px}h1 span{display:inline-block}.intro-copy{font-size:12px;color:var(--muted);letter-spacing:.5px;line-height:1.9;margin:0}.intro-aside{font-family:Georgia,serif;font-size:13px;letter-spacing:1px;line-height:1.6}.intro-aside span{display:block;font:9px Arial,sans-serif;letter-spacing:2px;color:var(--muted);margin-top:17px}.studio{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--surface)}.preview-panel{background:#ebe8df;position:relative;border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.preview-top{display:flex;align-items:center;justify-content:space-between;padding:13px 25px;z-index:1}.preview-top>span{font-size:10px;letter-spacing:1.7px}.live-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:9px}.canvas{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.canvas>svg{display:block;width:100%;height:100%;max-height:615px}.hand-target{cursor:pointer;outline:none}.canvas-caption{padding:14px 25px 21px;display:flex;justify-content:space-between;align-items:center;color:#6d6f62;font-size:10px}.canvas-caption span:last-child{font-size:8px;letter-spacing:1.5px}.skin-controls{background:#f0eee7;border-top:1px solid #dcd9d0;padding:15px 25px;display:flex;align-items:center;gap:20px;font-size:11px}.skin-controls>div{display:flex;gap:10px}.skin-swatch{width:26px;height:26px;border:3px solid #f0eee7;background:var(--skin);border-radius:50%;outline:1px solid transparent}.skin-swatch.active{outline-color:var(--accent)}.illustration-note{margin-left:auto;font-size:10px;color:var(--muted)}.collection-panel{padding:29px 28px 18px;min-width:0}.step-heading{display:flex;align-items:center;gap:12px}.step{font-family:Georgia,serif;color:#929881;font-size:16px}h2{font-size:14px;letter-spacing:1.1px;font-weight:500;margin:0}.step-heading>span:last-child:not(.step){margin-left:auto;color:var(--muted);font-size:10px;letter-spacing:1px}.finger-tabs{display:flex;gap:7px;margin-top:19px}.finger-tab{flex:1;min-width:0;padding:12px 3px;border:1px solid var(--line);background:transparent;font-size:12px}.finger-tab span{display:block;margin-top:7px;font-size:9px;color:var(--muted)}.finger-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.finger-tab.active span{color:#dfe1d6}.collection-heading{margin-top:31px}.filters{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0}.material-tabs{display:flex;gap:4px}.material-tabs button{border:1px solid transparent;background:transparent;padding:8px 10px;font-family:Georgia,serif;font-size:13px}.material-tabs button.active{border-color:#c6cabb;background:#f1f2eb}.metal-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.gold{background:linear-gradient(135deg,#b29453,#f2dfa2,#ab8541)}.silver{background:linear-gradient(135deg,#919ca1,#f4f7f8,#969da0)}select{border:0;border-bottom:1px solid var(--line);padding:8px 2px;background:transparent;font-size:10px;max-width:145px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.product{min-width:0}.product-image{position:relative;background:#f4f2ed;border:1px solid transparent;aspect-ratio:1.15;display:grid;place-items:center}.selected .product-image{border-color:#a7af98;background:#f1f1e9}.product-image>svg{width:100%}.selected-badge{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:8px;color:var(--accent)}.product-info{position:relative;padding:12px 0 7px}.product-info p{font-family:Georgia,serif;font-size:14px;margin:0 0 6px}.product-info h3{font-size:10px;font-weight:400;color:var(--muted);margin:0 0 10px}.product-info>span{font-size:11px;display:block;padding-right:28px}.product-info small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.add-button{width:29px;height:29px;position:absolute;right:0;bottom:9px;background:transparent;border:1px solid #cbcec1;border-radius:50%;font-size:17px;line-height:1}.add-button:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent)}.collection-note{font-size:10px;color:var(--muted);margin:23px 0 0;line-height:1.8}.selection{padding:33px 0 0}.selection-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.selection-title .eyebrow{font-size:9px;margin-bottom:11px}.selection-title h2{font-size:17px}.selection-title h2 span{display:inline-grid;place-items:center;font-size:10px;border:1px solid var(--line);border-radius:50%;width:23px;height:23px;margin-left:9px;vertical-align:2px}.selection-hint{font-size:11px;color:var(--muted)}.empty-selection{display:flex;align-items:center;gap:16px;border:1px dashed #cdd0c1;padding:24px;color:var(--muted)}.empty-selection>span{font-size:24px;font-weight:200}.empty-selection p{font-size:12px;margin:0;line-height:1.7}.empty-selection small{display:block;font-size:10px;margin-top:5px}.selection-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 33px;border-bottom:1px solid var(--line)}.selection-footer p{font-size:11px;line-height:1.8}.selection-footer small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.save-actions{display:flex;gap:8px;flex-wrap:wrap}.button{border:1px solid var(--accent);padding:13px 17px;font-size:11px;min-height:44px;line-height:1.5}.primary{background:var(--accent);color:#fff}.primary:hover{background:#404a31}.secondary{background:transparent}.secondary:hover{background:#e9ebdf}.button span{margin-left:15px}footer{display:flex;justify-content:space-between;align-items:center;padding:29px 0 35px}.footer-brand{font-size:22px}footer p{font:italic 13px Georgia,serif;color:var(--muted)}footer>span:last-child{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.selected-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.selected-group{border:1px solid var(--line);background:var(--surface);padding:15px}.selected-group h3{font-size:11px;font-weight:500;display:flex;justify-content:space-between;margin:0 0 9px}.selected-group h3 span{color:var(--muted);font-size:10px}.selected-item{display:flex;gap:8px;align-items:center;padding:5px 0;border-top:1px solid #eeeee6}.mini-ring{width:45px;flex-shrink:0}.mini-ring svg{display:block;width:100%}.item-label{flex:1;font-size:11px}.item-label small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.selected-item button{border:0;background:transparent;min-width:28px;min-height:36px}.total{display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:11px;padding-top:20px}.total strong{font:22px Georgia,serif}.total span{font-size:9px;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:15px 24px;font-size:12px;border-radius:3px;z-index:10;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);width:max-content}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:var(--bg);border:1px solid var(--line);padding:38px;max-width:480px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#24281f88;backdrop-filter:blur(3px)}dialog h2{font-family:"Yu Mincho",serif;font-size:24px}dialog ol{padding-left:20px;font-size:13px;line-height:2}dialog p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8}dialog .button{margin-top:13px}.close-dialog.text-button{position:absolute;top:12px;right:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1440px){.product-image{aspect-ratio:1.3}.collection-panel{padding:34px}.product-grid{gap:22px 16px}.product-info p{font-size:17px}.product-info h3{font-size:12px}.product-info>span{font-size:13px}.collection-heading{margin-top:38px}.filters{margin:25px 0}}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-image{aspect-ratio:1.6}.product-image svg{max-width:125px}.collection-panel{padding:22px 20px}.preview-panel{justify-content:center}.canvas{flex:0}.skin-controls{margin-top:auto}.preview-top{margin-bottom:auto}.selection-footer{align-items:flex-start;flex-direction:column}.selected-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.header{height:77px;padding:0 22px}.header-note{display:none}.brand{font-size:27px}.brand span{font-size:7px;letter-spacing:1.7px}main{padding:0 20px}.intro{padding:34px 0 27px}.intro-aside{display:none}h1{font-size:28px;letter-spacing:2px;margin-bottom:13px}.eyebrow{font-size:9px;margin-bottom:12px}.intro-copy{font-size:11px;max-width:295px}.studio{grid-template-columns:1fr}.preview-panel{border-right:0;border-bottom:1px solid var(--line)}.preview-top{padding:8px 17px}.canvas>svg{height:380px}.canvas-caption{padding:5px 17px 15px}.skin-controls{padding:13px 17px;gap:16px}.collection-panel{padding:25px 18px 20px}.finger-tab{min-height:55px}.collection-heading{margin-top:27px}.product-image{aspect-ratio:1.4}.product-image svg{max-width:150px}.product-info p{font-size:16px}.product-info h3{font-size:11px}.product-info>span{font-size:12px}.product-info small{font-size:9px}.add-button{width:36px;height:36px;bottom:10px}.product-grid{gap:16px}.selection{padding-top:29px}.selection-hint{display:none}.selection-title h2{font-size:16px}.selection-footer{gap:8px;padding-bottom:25px}.save-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.save-actions .primary{grid-column:1/-1}.button{padding:13px 9px}.selected-groups{grid-template-columns:1fr}.selected-item button{min-width:40px;min-height:44px}.skin-swatch{width:30px;height:30px}.selected-badge{font-size:9px}footer{flex-wrap:wrap;gap:17px;padding:25px 0}footer p{font-size:12px;margin:0}footer>span:last-child{width:100%;font-size:8px}.toast{font-size:11px;bottom:17px;padding:13px 17px}.empty-selection{padding:19px 14px}.empty-selection p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1050px){.canvas{flex:0 0 auto}}
.stage-wrap{position:relative;width:min(100%,547px);aspect-ratio:560/630}.stage-wrap>canvas,#markers,#markers>svg{position:absolute;inset:0;width:100%;height:100%;display:block}.hand-target{cursor:pointer}.demo-notice{margin:0;padding:10px 25px;background:#f3efe2;border-top:1px solid #e3ddc9;color:#5d5541;font-size:12px;line-height:1.6}.hand-controls{border-top:1px solid #dcd9d0;padding:13px 25px;display:flex;align-items:center;gap:14px;font-size:11px;flex-wrap:wrap}#hand-options{display:flex;gap:8px;flex-wrap:wrap}.hand-option{border:1px solid var(--line);background:var(--surface);padding:7px 12px;font-size:11px;min-height:36px}.hand-option.active{background:var(--accent);color:#fff;border-color:var(--accent)}.hand-option small{display:block;font-size:9px}[hidden]{display:none!important}.add-note{min-height:1.6em;margin:14px 0 0;font-size:11px;color:#7a4b2c}.product-image>img{width:100%;height:100%;object-fit:contain;display:block}.mini-ring img{display:block;width:100%;height:auto}.status-badge{position:absolute;top:7px;left:7px;font-size:9px;background:#fff;border:1px solid var(--line);padding:2px 6px}.load-error{border:1px solid #d9c3b4;background:#fbf4ef;padding:28px;margin:0 0 40px}.load-error h2{font-size:18px;margin:0 0 12px}.load-error pre{white-space:pre-wrap;font-size:11px;color:#6b4a38;margin:0 0 12px}
@media(max-width:700px){.stage-wrap{width:min(100%,338px)}.demo-notice,.hand-controls{padding:10px 17px}}
.stage-wrap{touch-action:none}.product-image{cursor:grab}.product-image img{-webkit-user-drag:none;user-select:none}body.is-dragging,body.is-dragging *{cursor:grabbing}
