@font-face{font-family:LINE Seed TW;src:url(/fonts/LINESeedTW_OTF_Rg_UI.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:LINE Seed TW;src:url(/fonts/LINESeedTW_OTF_Bd_UI.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:LINE Seed TW Full;src:url(/fonts/LINESeedTW_OTF_Rg.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:LINE Seed TW Full;src:url(/fonts/LINESeedTW_OTF_Bd.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:700}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:#f7f2ee;--surface-default:#fffcf8;--surface-muted:#f3ece8;--surface-sunken:#e6deda;--color-text:#2b2228;--color-text-muted:#5c5156;--color-border:#ddd1d3;--color-border-strong:#b9aaad;--color-accent:#b8436b;--color-accent-hover:#963653;--color-accent-soft:#f8e4eb;--color-accent-border:#d88aa6;--color-focus-ring:#963653;--color-focus-halo:#fffcf8;--color-success:#2f7248;--color-success-soft:#e8f3eb;--color-danger:#af3548;--color-danger-soft:#fbe8eb;--color-warning:#8a5a12;--color-warning-soft:#fff1d9;--radius-tag:8px;--radius-control:12px;--radius-card:18px;--radius-panel:24px;--radius-full:999px;--shadow-canvas:0 1px 2px #412b3412, 0 18px 46px #412b341f;--font-line-seed:"LINE Seed TW", "LINE Seed TW Full", "PingFang TC", "Hiragino Sans", "Microsoft JhengHei", sans-serif;--shelf:#c4b0b4;--cavity:#f4ece8;--plank:#b9a49c}*{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}html,body{background:var(--surface-page);color:var(--color-text);font-family:var(--font-line-seed);font-synthesis:none;font-size:16px;font-weight:400;line-height:1.55}button,input{font:inherit;color:inherit}button{transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform .14s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,input:focus-visible,a:focus-visible{box-shadow:0 0 0 2px var(--color-focus-halo), 0 0 0 4px var(--color-focus-ring);outline:0}h1,h2,h3,p{margin:0}.app{min-height:100dvh;padding:12px 12px calc(12px + env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;gap:10px;display:grid}.top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow{color:var(--color-accent-hover);letter-spacing:.1em;white-space:nowrap;margin:0 0 3px;font-size:13px;font-weight:700}h1{letter-spacing:-.035em;font-size:24px;font-weight:700;line-height:1.15}.lead{color:var(--color-text-muted);max-width:28em;font-size:13px}.shelf-chip{border:1px solid var(--color-border);background:var(--surface-default);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;padding:8px 14px;font-size:13px;font-weight:700}.workspace{grid-template-columns:1fr;gap:12px;min-height:0;display:grid}.canvas-col{background:var(--surface-default);border-radius:var(--radius-panel);min-width:0;min-height:0;box-shadow:var(--shadow-canvas);border:1px solid #d5c6ca;flex-direction:column;display:flex;overflow:hidden}.view-tabs-row{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 8px 0;display:flex}.view-tabs{gap:8px;display:flex}.view-tabs .btn{min-height:0;padding:6px 12px;line-height:1.15;display:grid}.view-tabs .btn small{opacity:.78;font-size:10px;font-weight:400}.canvas-expand{margin-left:auto;display:none}.landscape-hint{color:var(--color-text-muted);align-self:center;margin:0;font-size:12px;font-weight:700;display:none}.canvas-stack{flex-direction:column;flex:1;min-height:0;display:flex}.canvas-front,.canvas-top{flex-direction:column;flex:1;min-height:0;display:none}.canvas-front.is-active,.canvas-top.is-active{display:flex}.canvas-front .canvas-stage,.canvas-top .canvas-stage{flex:1;width:100%;height:100%;min-height:0}.demo-bar{border-top:1px solid var(--color-border);background:var(--surface-default);color:var(--color-text);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:700;display:flex}.view-key-hint,.view-chip{display:none}.canvas-stage{background:var(--surface-sunken);flex:1;justify-content:center;align-items:center;height:100%;min-height:280px;padding:8px 12px 12px;display:flex}.shelf-svg{border-radius:var(--radius-control);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.shelf-board{fill:var(--shelf)}.shelf-cavity{fill:var(--cavity)}.shelf-plank{fill:var(--plank)}.dim{fill:var(--color-text-muted);font-size:14px}.dim.depth{font-size:11px}.merch{cursor:grab;opacity:.92}.merch.is-selected{opacity:1;filter:saturate(1.2)}.merch:active{cursor:grabbing}.selection{fill:none;stroke:var(--color-accent);stroke-width:2px}.occluded{stroke:#963653d9;stroke-width:1px}.vis-label{fill:var(--color-accent-hover);pointer-events:none;font-size:12px;font-weight:700}.cavity-hint{fill:var(--color-text-muted);font-size:13px}.warn{color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-tag);padding:8px 10px;font-size:13px;font-weight:700}.site-footer{color:var(--color-text-muted);justify-content:space-between;align-items:center;gap:12px;padding:4px 0 0;font-size:14px;display:flex}.site-footer-copy{flex:1}.site-footer p{margin:0}.site-footer p a{color:var(--color-accent-hover);font-weight:700}.site-footer-tip{margin-top:4px;font-size:12px}.site-footer-actions{flex-wrap:wrap;gap:8px;display:flex}.site-credit{border:1px solid var(--color-border);border-radius:var(--radius-full);min-height:34px;color:var(--color-text-muted);white-space:nowrap;background:#fffcf89e;align-items:center;gap:4px;padding:0 11px;font-weight:400;text-decoration:none;display:inline-flex}.site-credit:hover{border-color:var(--color-border-strong);background:var(--surface-default);color:var(--color-text)}.panel{background:var(--surface-default);border:1px solid var(--color-border);border-radius:var(--radius-panel);align-content:start;gap:10px;min-height:0;padding:16px;display:grid;overflow:auto;box-shadow:inset 0 1px #ffffffb8}.panel h2{letter-spacing:-.015em;font-size:18px;font-weight:700}.panel h3{color:var(--color-text-muted);font-size:13px;font-weight:700}.concept-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--surface-default);border-left-width:4px;gap:8px;padding:12px;display:grid}.concept-card header h3{color:var(--color-text);margin:0 0 2px;font-size:15px}.concept-card header p{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:400}.concept-card.is-outer{border-left-color:var(--color-border-strong)}.concept-card.is-insert{border-left-color:var(--color-accent)}.concept-card.is-visible{border-left-color:var(--color-warning)}.result-chips{flex-wrap:wrap;gap:6px;display:flex}.result-chip{border-radius:var(--radius-full);align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.result-chip.ok{background:var(--color-success-soft);color:var(--color-success)}.result-chip.warn{background:var(--color-warning-soft);color:var(--color-warning)}.result-chip.danger{background:var(--color-danger-soft);color:var(--color-danger)}.spec-quantity input{min-height:48px;font-size:18px;font-weight:700}.hint{color:var(--color-text-muted);font-size:14px}.type-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn{border:1px solid var(--color-accent-hover);background:var(--color-accent);color:#fff;border-radius:var(--radius-control);cursor:pointer;min-height:42px;padding:0 16px;font-size:15px;font-weight:700}.btn:hover:not(:disabled){background:var(--color-accent-hover)}.btn.ghost{color:var(--color-text);border:1px solid var(--color-border-strong);background:#fff}.btn.ghost:hover:not(:disabled){background:var(--surface-muted)}.btn.danger{background:var(--color-danger);color:#fff;border:1px solid #92293a}.btn.tiny{min-height:34px;padding:0 12px;font-size:13px}.btn.type{background:var(--surface-muted);color:var(--color-text);border:1px solid var(--color-border);text-align:left;gap:2px;min-height:0;padding:8px 12px;display:grid}.btn.type small{color:var(--color-text-muted);font-size:12px;font-weight:400}.btn.type.active{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-hover)}.btn.type.invite{border-color:var(--color-accent-border)}.front-arrow{fill:var(--color-accent)}.field{color:var(--color-text-muted);gap:6px;font-size:14px;display:grid}.field span{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.field small{color:var(--color-text-muted);font-size:12px;font-weight:400}.field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);width:100%;min-height:40px;color:var(--color-text);background:#fff;padding:0 10px}.row-actions{gap:8px;display:flex}.row-actions .btn{flex:1}.spec-list{gap:8px;display:grid}.spec-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.spec-glyph{flex-shrink:0;width:16px;height:16px}.spec-row>div{flex:1;min-width:0}.catalog-note{color:var(--color-text-muted);margin-top:8px;font-size:13px}.catalog-note a{color:var(--color-accent-hover);font-weight:700}.spec-row .row-actions,.spec-row .row-actions .btn{flex:none}.spec-row p{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.desktop-only{display:none}.mobile-bar{display:flex}.mobile-bar .btn{width:100%}.sheet{background:var(--surface-default);border:1px solid var(--color-border);box-shadow:var(--shadow-canvas);border-radius:24px 24px 18px 18px;gap:8px;max-height:48dvh;padding:8px 12px 12px;display:grid;position:sticky;bottom:0}.sheet-handle{background:var(--color-border-strong);border-radius:999px;width:40px;height:4px;margin:4px auto 0}.sheet-body{min-height:0;overflow:auto}.sheet .panel{box-shadow:none;background:0 0;border:0;padding:4px 0 0}.sheet-close{width:100%}@media (width<=899px){.app{padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px}.top{align-items:center;gap:8px}h1{margin:0;font-size:20px}.lead{display:none}.canvas-expand{display:inline-flex}.canvas-col.is-expanded{z-index:80;border-radius:0;position:fixed;inset:0}.canvas-col.is-expanded .landscape-hint,.canvas-col.is-expanded .demo-bar{display:none}.canvas-stage{align-items:flex-start}.shelf-svg{height:auto}.site-footer{flex-direction:column;align-items:flex-start}}@media (width<=899px) and (orientation:portrait){.landscape-hint{display:block}}@media (width>=900px){.app{grid-template-rows:auto 1fr auto;height:100dvh;padding:16px}h1{font-size:28px}.workspace{grid-template-columns:220px minmax(0,1fr) 240px}.view-tabs-row{display:none}.view-key-hint{color:var(--color-accent-hover);margin:0;padding:6px 12px 0;font-size:12px;font-weight:700;display:block}.view-chip{color:var(--color-text-muted);margin:0;padding:4px 8px 0;font-size:11px;font-weight:700;display:block}.canvas-front.is-active .view-chip,.canvas-top.is-active .view-chip{color:var(--color-accent-hover)}.canvas-stack{gap:8px;padding:8px}.canvas-front,.canvas-top{display:flex}.canvas-front{flex:.72}.canvas-top{flex:.28}.desktop-only{min-height:0;display:block}.desktop-only.col,.desktop-only .panel{height:100%}.mobile-bar,.sheet{display:none}.canvas-stage{height:100%;min-height:0}}
