@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #f3efe4;--panel: #fffaf2;--panel-2: #f6f4ed;--line: #d4c7aa;--ink: #1e2b2e;--muted: #5f6e72;--accent: #d26c22;--accent-2: #1f7f63;--danger: #b83c3c;--shadow: 0 12px 28px rgba(40, 35, 25, .12)}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}body{font-family:IBM Plex Sans JP,Yu Gothic,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 10%,rgba(210,108,34,.18) 0,transparent 40%),radial-gradient(circle at 90% 20%,rgba(31,127,99,.2) 0,transparent 42%),linear-gradient(180deg,#f8f4e8,#ece8dc)}h1,h2,h3,h4,summary,button{font-family:Space Grotesk,IBM Plex Sans JP,sans-serif}.app-shell{display:grid;grid-template-rows:auto 1fr;width:100%;height:100%}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1.2rem;border-bottom:1px solid var(--line);background:#fffaf1cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar-left h1{margin:0;font-size:1.25rem}.topbar-left p{margin:.1rem 0 0;font-size:.85rem;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:.6rem}.file-pick{position:relative;overflow:hidden;display:inline-flex;align-items:center;border:1px dashed var(--line);border-radius:8px;padding:.5rem .8rem;background:#fff;cursor:pointer;font-size:.88rem}.file-pick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.run-btn,.cancel-btn,.output-buttons button{border:none;border-radius:8px;padding:.55rem .9rem;font-size:.88rem;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.run-btn{background:var(--accent);color:#fff}.cancel-btn{background:#d7ddd8;color:#243236}.run-btn:disabled,.cancel-btn:disabled,.output-buttons button:disabled{opacity:.6;cursor:not-allowed}.run-btn:not(:disabled):hover,.cancel-btn:not(:disabled):hover,.output-buttons button:not(:disabled):hover{transform:translateY(-1px)}.layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:.9rem;padding:.9rem;min-height:0}.sidebar{display:flex;flex-direction:column;gap:.8rem;min-height:0;overflow:auto;padding-right:.2rem}.main-view{min-height:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.85rem;box-shadow:var(--shadow)}.settings-panel h2,.panel h3,.panel h4{margin-top:0}.settings-panel{display:grid;gap:.62rem}.settings-panel label{display:grid;gap:.22rem;font-size:.85rem}.settings-panel input,.settings-panel select,.settings-panel details,.settings-panel button{font:inherit}.settings-panel input[type=number],.settings-panel select,.settings-panel input[type=color]{border:1px solid var(--line);border-radius:8px;padding:.34rem .45rem;background:#fff}.settings-panel input[type=color]{width:100%;min-height:2rem}.settings-panel details{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:.45rem}.settings-panel summary{cursor:pointer;font-size:.85rem;font-weight:600}.detail-block{display:grid;gap:.5rem;margin-top:.55rem}.sub-block{display:grid;gap:.45rem;padding:.5rem;border-radius:8px;border:1px dashed var(--line);background:#fff}.scene-sun-block{border-style:solid;background:#fff9ed}.scene-sun-block button{border:1px solid var(--line);border-radius:8px;background:#f7ead7;color:var(--ink);padding:.45rem .6rem;cursor:pointer}.inline-grid{display:grid;gap:.4rem}.inline-grid.two-col{grid-template-columns:1fr 1fr}.vec-input{display:grid;gap:.3rem;grid-template-columns:repeat(3,1fr)}.check-row{display:flex!important;align-items:center;gap:.45rem}.material-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.material-item{display:flex;justify-content:space-between;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:8px;padding:.35rem .45rem;background:#fff}.material-item.is-active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);background:#fff5eb}.material-active-label,.material-check-label{display:flex;align-items:center;gap:.3rem;font-size:.82rem}.material-name{font-weight:600}.material-index{color:var(--muted)}.material-detail-card{margin-top:.7rem;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.65rem;display:grid;gap:.55rem}.material-detail-card h4{margin:0}.detail-grid{display:grid;gap:.35rem .8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid>div{display:grid;gap:.15rem}.detail-label{font-size:.72rem;color:var(--muted)}.detail-value{font-size:.83rem}.detail-section{display:grid;gap:.35rem;border-top:1px dashed var(--line);padding-top:.4rem}.detail-list{margin:0;padding-left:1rem;display:grid;gap:.2rem;font-size:.8rem}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.tag-chip,.link-chip{border-radius:999px;border:1px solid var(--line);background:#f8f2e8;padding:.2rem .55rem;font-size:.75rem}.link-chip{cursor:pointer;background:#eef7f2;border-color:#a6ccb9}.link-chip:hover{background:#dff1e8}.viewer-panel{height:100%;display:grid;grid-template-rows:auto 1fr;gap:.45rem}.viewer-head{display:flex;justify-content:space-between;align-items:baseline}.viewer-head h3{margin:0}.scene-sun-hint{margin:0;padding:.32rem .5rem;border:1px dashed var(--line);border-radius:8px;background:#fffdf7}.viewer-stage{position:relative;min-height:320px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f8f8f5}.viewer-label{position:absolute;top:8px;left:8px;z-index:2;background:#ffffffe0;border:1px solid var(--line);border-radius:999px;padding:.18rem .52rem;font-size:.72rem}.viewer-stage canvas{display:block;width:100%;height:100%}.output-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.output-buttons button{background:var(--accent-2);color:#fff}.progress-wrap progress{width:100%;accent-color:var(--accent)}.bake-result-list{margin:.5rem 0;padding-left:1rem;display:grid;gap:.18rem;font-size:.83rem}.log-box{white-space:pre-wrap;font-family:IBM Plex Mono,Consolas,monospace;font-size:.75rem;background:#f1eee6;border:1px solid var(--line);border-radius:8px;padding:.5rem;max-height:240px;overflow:auto}.muted{color:var(--muted)}.small{font-size:.78rem}.mono{font-family:IBM Plex Mono,Consolas,monospace}.error-text{color:var(--danger);margin:.3rem 0}@media (max-width: 1080px){.layout,.detail-grid{grid-template-columns:1fr}.main-view{min-height:420px}.viewer-stage{min-height:360px}}@media (max-width: 680px){.topbar{flex-direction:column;align-items:stretch}.topbar-actions{flex-wrap:wrap}}
