@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--bg-primary:#0f0f12;--bg-secondary:#1a1a1f;--bg-tertiary:#2a2a2f;--text-primary:#fff;--text-secondary:#a0a0a0;--accent-color:#00f0ff;--accent-hover:#4df4ff;--button-text-color:#000;--input-color-scheme:dark;--json-key-color:#9cdcfe;--json-string-color:#ce9178;--json-number-color:#b5cea8;--json-literal-color:#569cd6;--json-punctuation-color:#d4d4d4;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--border-subtle:#444;--search-bg:#ffffff0d;--color-error:#f55;--color-error-bg:#ff55551a;--color-success:#69db7c;--color-warning:#ffa94d;--scrollbar-track:color-mix(in srgb, var(--bg-primary) 88%, #000);--scrollbar-thumb:color-mix(in srgb, var(--bg-tertiary) 82%, var(--text-secondary));--scrollbar-thumb-hover:color-mix(in srgb, var(--bg-tertiary) 68%, var(--text-secondary));--pdf-viewer-bg:#080a0d;--pdf-page-backdrop:#0d1015;--pdf-viewer-muted-text:#f5f7fbc7;--selection-border:var(--accent-color);--selection-bg:color-mix(in srgb, var(--accent-color) 15%, transparent);--selection-bg-strong:color-mix(in srgb, var(--accent-color) 30%, transparent);--selection-glow:color-mix(in srgb, var(--accent-color) 50%, transparent);--font-family:"Noto Sans JP", system-ui, Avenir, Helvetica, Arial, sans-serif;--font-size-xs:.75rem;--font-size-sm:.85rem;--font-size-md:1rem;--font-size-lg:1.1rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 32px #0006;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem}html{background-color:var(--bg-primary);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html,body{overscroll-behavior:none;width:100%;height:100%}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0;padding:0;overflow:hidden}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{background-color:var(--scrollbar-track)}::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background-color:var(--scrollbar-track)}#root{overscroll-behavior:none;flex-direction:column;height:100%;min-height:100dvh;display:flex}a{color:var(--accent-color);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input[type=date],input[type=number]{color-scheme:var(--input-color-scheme)}input[type=date]::-webkit-calendar-picker-indicator{opacity:.75}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input-control{box-sizing:border-box;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);width:100%;min-width:0;min-height:2rem;color:var(--text-primary);grid-template-columns:minmax(0,1fr) 1.45rem;align-items:stretch;transition:border-color .2s,background-color .15s,opacity .15s;display:grid;overflow:hidden}.number-input-control:focus-within{border-color:var(--accent-color)}.number-input-control[data-disabled=true]{opacity:.58}.number-input-field{box-sizing:border-box;width:100%;min-width:0;height:100%;color:inherit;font:inherit;font-size:var(--font-size-sm);background:0 0;border:0;outline:0;padding:0 .75rem;line-height:1}.number-input-field:disabled{cursor:not-allowed}.number-input-stepper{border-left:1px solid var(--glass-border);background:color-mix(in srgb, var(--bg-tertiary) 55%, transparent);grid-template-rows:1fr 1fr;min-width:0;display:grid}.number-input-stepper-button{min-width:0;min-height:0;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:0;transition:background-color .15s,color .15s;display:flex}.number-input-stepper-button svg{width:11px;height:11px;display:block}.number-input-stepper-button:first-child{border-bottom:1px solid var(--glass-border)}@media (hover:hover){.number-input-stepper-button:not(:disabled):hover{background:color-mix(in srgb, var(--accent-color) 12%, transparent);color:var(--accent-color)}}.number-input-stepper-button:not(:disabled):active{background:color-mix(in srgb, var(--accent-color) 18%, transparent);color:var(--accent-color)}.number-input-stepper-button:focus-visible{outline:1px solid var(--accent-color);outline-offset:-2px}.number-input-stepper-button:disabled{cursor:not-allowed}:root[data-color-scheme=light]{--scrollbar-track:color-mix(in srgb, var(--bg-primary) 92%, #000);--scrollbar-thumb:color-mix(in srgb, var(--bg-tertiary) 66%, var(--text-secondary));--scrollbar-thumb-hover:color-mix(in srgb, var(--bg-tertiary) 44%, var(--text-secondary));--item-card-checkbox-bg:#ffffffe0;--item-card-checkbox-border:#1118279e;--item-card-checkbox-checked-bg:var(--accent-color);--item-card-checkbox-checked-border:color-mix(in srgb, var(--accent-color) 76%, #000);--item-card-checkbox-check-color:var(--button-text-color);--item-card-checkbox-check-scale:2;--item-card-checkbox-shadow:0 1px 4px #00000047;--pdf-viewer-bg:#d1d5db;--pdf-page-backdrop:#e5e7eb;--pdf-viewer-muted-text:#111827b8}.pdf-viewer-frame--immersive{--pdf-viewer-bg:#080a0d;--pdf-page-backdrop:#0d1015;--pdf-viewer-muted-text:#f5f7fbc7}.pdf-viewer-frame:fullscreen{--pdf-viewer-bg:#080a0d;--pdf-page-backdrop:#0d1015;--pdf-viewer-muted-text:#f5f7fbc7}.pdf-viewer-frame:-webkit-full-screen{--pdf-viewer-bg:#080a0d;--pdf-page-backdrop:#0d1015;--pdf-viewer-muted-text:#f5f7fbc7}.pdf-viewer-scroller{flex-direction:column;justify-content:center;align-items:center;min-width:100%;min-height:100%;display:flex}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.btn-primary{background:var(--accent-color);color:var(--button-text-color);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:600;transition:all .2s}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px color-mix(in srgb, var(--accent-color) 30%, transparent);transform:translateY(-1px)}.dialog-button{min-height:2.35rem;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:500;line-height:1;transition:background .2s,color .2s,opacity .2s;display:inline-flex}.dialog-button:disabled{cursor:not-allowed;opacity:.6}.dialog-button-secondary{background:var(--border-subtle);color:var(--text-primary)}.dialog-button-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--border-subtle) 82%, var(--text-primary))}.dialog-button-primary{background:var(--accent-color);color:var(--button-text-color);font-weight:600}.dialog-button-primary:hover:not(:disabled){background:var(--accent-hover)}.dialog-button-danger{background:var(--color-error);color:#fff;font-weight:600}.dialog-button-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-error) 85%, var(--text-primary))}.dialog-button-compact{gap:.4rem;min-height:2rem;padding:.45rem .75rem}.input-field{background:var(--bg-secondary);border:1px solid var(--glass-border);color:var(--text-primary);padding:var(--spacing-md);border-radius:var(--radius-md);box-sizing:border-box;width:100%;transition:border-color .2s}.input-field:focus{border-color:var(--accent-color);outline:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes file-tile-progress-indeterminate{0%{transform:translate(-110%)}to{transform:translate(260%)}}.file-tile-progress-bar{position:relative;overflow:hidden}.file-tile-progress-bar--indeterminate:before{content:"";border-radius:inherit;background:var(--accent-color);width:42%;animation:1.15s ease-in-out infinite file-tile-progress-indeterminate;position:absolute;inset:0 auto 0 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pulse{animation:1.5s ease-in-out infinite pulse}.btn-primary .btn-text{display:inline}.item-card:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--accent-color) 20%, transparent);transform:translateY(-2px)}.editable-field{border:1px solid #0000;border-bottom:1px solid var(--glass-border,#ffffff1a);transition:border-color .15s,border-radius .15s}.editable-field:hover{border:1px solid var(--glass-border,#ffffff26);border-radius:4px}.editable-field.bold{font-weight:600}.item-metadata-control{border:1px solid #0000;border-bottom:1px solid var(--glass-border,#ffffff1a);color-scheme:var(--input-color-scheme,dark);transition:border-color .15s,border-radius .15s}select.item-metadata-control option{background-color:var(--bg-secondary);color:var(--text-primary)}select.item-metadata-control option:checked{background-color:var(--accent-color);color:var(--button-text-color)}.item-metadata-control:hover{border:1px solid var(--glass-border,#ffffff26);border-radius:4px}.item-metadata-control:focus{border:1px solid var(--accent-color);border-radius:var(--radius-sm)}.item-metadata-control::placeholder{color:var(--text-secondary,#888);opacity:1}[draggable=true]{cursor:grab}[draggable=true]:active{cursor:grabbing}.clickable-tag{transition:transform .15s,background-color .15s,box-shadow .15s!important}.clickable-tag:hover{transform:scale(1.08);box-shadow:0 2px 8px #0000004d;background-color:var(--tag-bg-hover,#505050)!important}.hover-bg{transition:background-color .15s}.hover-bg:hover{background-color:var(--hover-bg,#ffffff1a)!important}.project-tree-node{transition:background-color .15s}.project-tree-node:not(.active):hover{background-color:var(--hover-bg,#ffffff0d)!important}.model-load-button{transition:transform .18s,background-color .18s,border-color .18s,filter .18s}.model-load-button:active{transform:scale(.97)}.item-card-action-btn{transition:transform .15s,background-color .15s,opacity .15s}@media (hover:hover){.model-load-button:hover{transform:scale(1.06);filter:drop-shadow(0 12px 24px #00000075)brightness(1.08)!important;background-color:#0000004d!important;border-color:#fff!important}.item-card-action-btn:hover,.item-card-checkbox-btn:hover{transform:scale(1.15);background-color:#000000b3!important}.item-card-checkbox-btn:not(.checked):hover{border-color:var(--accent-color)!important}:root[data-color-scheme=light] .item-card-checkbox-btn:hover{transform:scale(1.08);background-color:var(--item-card-checkbox-bg)!important}:root[data-color-scheme=light] .item-card-checkbox-btn.checked:hover{background-color:var(--accent-hover)!important;border-color:var(--accent-hover)!important}}.item-card-action-btn:active{transform:scale(.95)}.item-card-checkbox-btn{transition:transform .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s}.item-card-checkbox-btn:active{transform:scale(.95)}.project-link{transition:color .15s}@media (hover:hover){.project-link:hover{color:var(--accent-color)!important}}.storage-usage-text-button{text-decoration:none}@media (hover:hover){.storage-usage-text-button:hover{background-color:color-mix(in srgb, var(--accent-color) 10%, transparent)!important;color:var(--accent-color)!important}}.storage-usage-text-button:focus-visible{outline:1px solid var(--accent-color);outline-offset:2px;background-color:color-mix(in srgb, var(--accent-color) 10%, transparent)!important;color:var(--accent-color)!important}.storage-usage-save-button{transition:background-color .15s,color .15s,opacity .15s,transform .1s}@media (hover:hover){.storage-usage-save-button:not(:disabled):hover{background-color:color-mix(in srgb, var(--accent-color) 10%, transparent)!important;color:var(--accent-color)!important}}.storage-usage-save-button:not(:disabled):active{transform:scale(.94);background-color:color-mix(in srgb, var(--accent-color) 16%, transparent)!important;color:var(--accent-color)!important}.storage-usage-save-button:focus-visible{outline:1px solid var(--accent-color);outline-offset:2px}.project-menu-btn{opacity:.4;transition:opacity .15s,background-color .15s,transform .15s}.project-tree-node.context-menu-open .project-menu-btn{opacity:1}@media (hover:hover){.project-tree-node:hover .project-menu-btn{opacity:1}.project-menu-btn:hover{opacity:1;transform:scale(1.1);background-color:var(--hover-bg,#ffffff26)!important;color:var(--text-primary,#fff)!important}}.project-menu-btn:active{transform:scale(.95)}@media (width<=768px){.btn-primary.compact{padding:.5rem}.btn-primary.compact .btn-text,.app-title{display:none}.app-footer{display:none!important}.content-area{padding-bottom:env(safe-area-inset-bottom,0)}.page-header{gap:.5rem}.page-header-title{flex:1;min-width:0}.page-header-title h1{font-size:1rem!important}.page-header-actions{flex-shrink:0}}
