:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden}a{font-weight:500;color:#3b82f6;text-decoration:inherit}a:hover{color:#2563eb}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover:not(:disabled){border-color:#3b82f6}button:focus{outline:none}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#2563eb}button{background-color:#f9f9f9}}:root{--accent: #3b82f6;--accent-hover: #2563eb;--accent-muted: #2e6fd4;--accent-on-fill: #e8ecf4;--sidebar-width: 240px;--gallery-select-max-width: 18rem;--section-gap: 1.25rem}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#1a1a1c;color:#e8e6e3}.header{padding:1rem 2rem;border-bottom:1px solid #2d2d30;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.header-content{display:flex;align-items:center;gap:1rem}.hint-top-right{flex-shrink:0;margin:0;padding:.55rem .9rem;border:1px solid rgba(250,204,21,.35);border-radius:6px;background:#facc1514;font-size:.8rem;color:#facc15;text-align:left;line-height:1.35;max-width:36rem;box-sizing:border-box}.hint-top-right a{color:inherit;text-decoration:underline;text-decoration-color:#facc15a6;text-underline-offset:2px}.header-logo{width:64px;height:64px;flex-shrink:0;object-fit:cover;aspect-ratio:1 / 1;border-radius:8px}.header h1{margin:0;font-size:1.35rem;font-weight:500;letter-spacing:-.02em}.subtitle{margin:.15rem 0 0;font-size:.85rem;color:#8e8e93}.main{flex:1;min-height:0;display:flex;align-items:flex-start;gap:2.75rem;padding:1rem 2rem 2.5rem;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.sidebar{flex-shrink:0;width:var(--sidebar-width);display:flex;flex-direction:column;gap:var(--section-gap);transition:width .2s ease;overflow:hidden}.sidebar-section{margin-bottom:0}.sidebar h2{margin:0 0 1rem}.sidebar h2,.experience-header h3,.reflection-history h3,.reflection-section h3{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.035em;color:#8e8e93}.sidebar-section-models h2,.sidebar-section-viewer h2{margin-bottom:.6rem}.viewer-section-caption{display:none}.viewer-controls-compact-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.viewer-controls-toggle{display:none;flex:0 0 auto;padding:.34rem .72rem;font-size:.78rem;line-height:1.2;background:#27272b;border:1px solid #343438;border-radius:6px;color:#bdbdc4;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.viewer-controls-toggle:hover:not(:disabled){background:#303036;border-color:#3e3e44;color:#d5d5db}.viewer-controls-toggle:focus{outline:none}.viewer-controls-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(min-width:1201px){.sidebar-section-viewer{display:contents}.viewer-section-caption{display:flex;flex-direction:column;gap:.2rem;min-width:0;color:#8e8e93;font-size:.78rem;line-height:1.25}.viewer-section-caption>div{white-space:normal;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.viewer-controls-toggle{display:inline-flex;align-items:center;justify-content:flex-start}.viewer-controls-compact-row{order:0;flex-direction:column;align-items:flex-start;gap:.75rem}.sidebar-section-models{order:1}.viewer-controls-body{order:2}.sidebar[data-settings-expanded=false] .sidebar-section-models,.sidebar[data-settings-expanded=false] .viewer-controls-body{display:none}}.viewer-unified-card{display:flex;flex-direction:column;gap:0}.viewer-artifact-row{display:flex;flex-direction:column;gap:.6rem;padding:0}.viewer-artifact-row+.viewer-artifact-row,.artifact-detail-block+.viewer-artifact-row{margin-top:var(--section-gap)}.sidebar .viewer-unified-card .viewer-artifact-row+.viewer-artifact-row,.sidebar .viewer-unified-card .artifact-detail-block+.viewer-artifact-row{margin-top:.85rem}.viewer-artifact-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.035em;color:#8e8e93}.viewer-artifact-row .artifact-select{width:100%}.voice-settings-section{margin-top:1.5rem}.model-select{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.2rem}.model-option{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.model-option input{accent-color:var(--accent)}.sidebar-api-keys-btn{display:block;margin-top:.75rem;padding:0;margin-bottom:0;border:none;background:transparent;color:#8e8e93;font-size:.75rem;font-weight:400;text-decoration:underline;cursor:pointer}.sidebar-api-keys-btn:hover{color:#e8e6e3}.model-label{color:#8e8e93;font-size:.85em}.viewer-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.viewer-artifact-group{margin-top:0}.viewer-artifact-group+.viewer-artifact-group{margin-top:1.4rem;padding-top:.6rem}.sidebar-section-viewer .viewer-config-block{margin-bottom:.9rem}.sidebar-section-viewer .viewer-artifact-group+.viewer-artifact-group{margin-top:.9rem;padding-top:.75rem;border-top:1px solid #2a2a2e}.sidebar-section-viewer .viewer-artifact-group-header{margin-bottom:.2rem}.sidebar-section-viewer .viewer-artifact-group-title{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.035em;color:#8e8e93}.viewer-artifact-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.viewer-artifact-actions{display:flex;gap:.4rem;width:auto;flex:0 0 auto;justify-content:flex-end;flex-wrap:wrap}.viewer-artifact-actions .load-profile-btn,.viewer-artifact-actions .generate-viewer-btn{width:auto;margin:0;min-width:0;padding:.22rem .4rem;font-size:.7rem;line-height:1.15}.viewer-artifact-group-title{font-size:.75rem;font-weight:500;letter-spacing:.035em;text-transform:uppercase;color:#8e8e93;margin-bottom:.2rem}.artifact-picklist-section{margin-top:.6rem}.artifact-select{width:100%;padding:.45rem .6rem;background:#1a1a1a;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;font-size:.88rem;cursor:pointer}.artifact-select:hover:not(:disabled){border-color:#3d3d40}.artifact-select:focus{outline:none;border-color:var(--accent)}.artifact-select:disabled{opacity:.6;cursor:not-allowed}.viewer-unified-card .viewer-artifact-row{padding-bottom:0}.artifact-detail-block{margin:.2rem 0 0;padding:0}.artifact-detail-block .profile-selector-summary{margin-bottom:0;white-space:pre-wrap;font-size:.73rem;line-height:1.55;color:#7a7a80}.artifact-detail-text--clamped{display:none}.artifact-detail-block .viewer-profile-toggle-ghost{margin-top:.15rem}.viewer-config-block{margin:0 0 1.1rem;padding:.6rem .75rem;background:#222225;border:1px solid #2d2d30;border-radius:6px}.viewer-config-title{font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#9b9ba1;margin-bottom:.35rem}.viewer-config-definition{margin:0 0 .5rem;font-size:.82rem;line-height:1.6;color:#cfcfd6}.viewer-config-subtitle{margin:.5rem 0 .35rem;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#9b9ba1}.viewer-config-list{margin:0;padding-left:1rem;font-size:.82rem;line-height:1.5;color:#dadade}.viewer-config-list li{margin:.15rem 0}.viewer-config-key{font-weight:650;color:#e8e6e3}.viewer-artifact-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650;box-shadow:0 1px #ffffff0f,0 6px 14px color-mix(in srgb,var(--accent) 22%,transparent)}.viewer-artifact-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.viewer-artifact-btn-secondary{background:transparent;border-color:#161618;color:#3d3d42}.viewer-artifact-btn-secondary:hover:not(:disabled){background:#3d3d40;border-color:#4a4a4e;color:#e8e6e3}.viewer-artifact-btn-secondary:focus-visible{outline:1px solid #3d3d40;outline-offset:1px}.viewer-profile-toggle-ghost{display:inline-flex;align-items:center;gap:.28rem;padding:0;background:transparent;border:none;color:#6e6e73;font-size:.72rem;font-weight:400;line-height:1.2;cursor:pointer}.viewer-profile-toggle-ghost:hover:not(:disabled){color:#9b9ba1}.viewer-profile-toggle-ghost:disabled{opacity:.6;cursor:not-allowed}.viewer-profile-toggle-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.viewer-profile-toggle-chevron{display:inline-block;width:.95rem;font-size:.95rem;line-height:1;transform:rotate(0);transition:transform .15s ease;opacity:.9}.viewer-profile-toggle-ghost[data-expanded=true] .viewer-profile-toggle-chevron{transform:rotate(90deg)}.new-profile-wrap,.export-menu-wrap{position:relative}.new-profile-menu{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:.2rem;background:#1a1a1c;border:1px solid #3a3a40;border-radius:6px;box-shadow:0 10px 24px #0000008c;z-index:10}.new-profile-menu-item{display:block;width:100%;margin:0;padding:.42rem .68rem;background:transparent;border:none;border-radius:4px;color:#e8e6e3;font-size:.88rem;line-height:1.25;text-align:left;cursor:pointer}.new-profile-menu-item:hover{background:#2b2b2f}.export-menu{position:absolute;top:100%;left:0;right:auto;margin-top:.25rem;padding:.2rem;background:#1a1a1c;border:1px solid #3a3a40;border-radius:6px;box-shadow:0 10px 24px #0000008c;z-index:10;min-width:13.5rem;width:max-content;max-width:min(22rem,calc(100vw - 2rem))}.export-menu-item{display:block;width:100%;margin:0;padding:.42rem .68rem;background:transparent;border:none;border-radius:4px;color:#e8e6e3;font-size:.88rem;line-height:1.25;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-menu-item:hover{background:#2b2b2f}.profile-loader-section{margin-top:.5rem}.profile-language-filter{display:flex;align-items:center;gap:.45rem;margin-top:.35rem;font-size:.75rem;color:#8e8e93;-webkit-user-select:none;user-select:none}.profile-language-filter input{accent-color:var(--accent)}.sidebar-guidance{margin:.3rem 0 .65rem;padding:0 .1rem;font-size:.84rem;line-height:1.4;color:#9b9ba1}.sidebar-guidance-keys{margin-top:.8rem;margin-bottom:.7rem}.generate-viewer-btn,.load-profile-btn{width:100%;min-width:0;padding:.6rem .75rem;cursor:pointer;font-size:.9rem;white-space:nowrap}.generate-viewer-btn,.load-profile-btn,.walkthrough-btn,.speak-btn,.history-toggle-btn,.image-nav button{background:#2d2d30;border:1px solid #3d3d40;border-radius:6px;color:#e8e6e3;transition:background .15s,border-color .15s,color .15s}.generate-viewer-btn:hover:not(:disabled),.load-profile-btn:hover:not(:disabled){background:#3d3d40;border-color:#4a4a4e}.walkthrough-btn:hover:not(:disabled),.speak-btn:hover:not(:disabled),.history-toggle-btn:hover:not(:disabled),.image-nav button:hover:not(:disabled){background:#3d3d40;border-color:#4a4a4e}.generate-viewer-btn:disabled,.load-profile-btn:disabled{opacity:.6;cursor:not-allowed}.generate-viewer-btn:focus,.load-profile-btn:focus,.profile-selector-item:focus,.gallery-btn:focus,.reflect-btn:focus,.walkthrough-btn:focus,.speak-btn:focus,.history-toggle-btn:focus,.export-btn:focus,.image-nav button:focus{outline:none}.generate-viewer-btn:focus-visible,.load-profile-btn:focus-visible,.profile-selector-item:focus-visible,.gallery-btn:focus-visible,.reflect-btn:focus-visible,.walkthrough-btn:focus-visible,.speak-btn:focus-visible,.history-toggle-btn:focus-visible,.export-btn:focus-visible,.image-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-artifact-actions .generate-viewer-btn.viewer-artifact-btn-secondary:focus-visible{outline:1px solid #3d3d40;outline-offset:1px}.profile-list{margin-top:.6rem;padding:0;background:transparent;border:none;border-radius:0;max-height:340px;overflow-y:auto;scrollbar-gutter:stable}.profile-loader-section{min-height:2.5rem}.loading-profiles,.no-profiles{padding:.5rem;font-size:.85rem;color:#8e8e93;text-align:center}.profile-selector-list{list-style:none;margin:0;padding:0}.profile-selector-list li{margin-bottom:0}.profile-selector-list li:last-child{margin-bottom:0}.profile-selector-item{width:100%;padding:.6rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;background:transparent;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;cursor:pointer;font-size:.88rem;text-align:left;transition:background .15s,border-color .15s}.profile-selector-item:hover:not(:disabled):not(.active){background:#2d2d30;border-color:var(--accent)}.profile-selector-item.active{background:#323238;border-color:#56565c;box-shadow:inset 2px 0 0 var(--accent)}.profile-selector-chevron{flex-shrink:0;width:.75rem;display:inline-block;text-align:center;line-height:1;font-weight:400;color:#8e8e93;transform-origin:50% 50%;transform:translateY(1px) rotate(0);transition:transform .15s ease,color .15s ease;visibility:hidden}.profile-selector-chevron[data-visible=true]{visibility:visible}.profile-selector-item[data-expanded=true] .profile-selector-chevron{transform:translateY(1px) rotate(90deg);color:#e8e6e3}.profile-selector-details{margin-top:.35rem;margin-bottom:.25rem;padding:.6rem .7rem;background:#1a1a1a;border:1px solid #252529;border-radius:6px}.profile-selector-summary{margin:0 0 .5rem;font-size:.78rem;line-height:1.5;color:#e8e6e3}.profile-selector-item:disabled{opacity:.6;cursor:not-allowed}.profile-selector-label{font-size:.86rem;color:#e8e6e3;font-weight:500;margin-bottom:0;line-height:1.3}.profile-selector-label-row{display:flex;align-items:center;gap:.45rem;min-width:0}.profile-locale-badge{flex-shrink:0;font-size:.7rem;line-height:1;padding:.18rem .4rem;border-radius:999px;border:1px solid #2d2d30;color:#8e8e93}.profile-selector-id{font-family:monospace;font-size:.7rem;color:#6e6e73;margin-bottom:.25rem;word-break:break-all}.generation-status{margin-top:.75rem;padding:.5rem .75rem;background:#1a1a1a;border-radius:6px;border:1px solid #2d2d30;font-size:.85rem;color:#8e8e93;text-align:left}.generation-status-hint{margin-top:.35rem;font-size:.75rem;color:#facc15;font-weight:500}.generation-error{margin-top:.75rem;padding:.75rem;background:#2d1a1a;border-radius:6px;border:1px solid #7f1d1d;font-size:.85rem;color:#f87171;line-height:1.4}.sidebar-llm-error.generation-error{margin-top:.5rem}.viewer-profile-block{margin-top:.65rem;padding:0;background:#1a1a1a;border:1px solid #252529;border-radius:6px;overflow:hidden}.viewer-profile-block.expanded .viewer-profile-full{max-height:300px;overflow-y:auto;scrollbar-gutter:stable;padding:.72rem .6rem .72rem .72rem;border-top:1px solid #252529}.viewer-profile-summary{margin:0;padding:.6rem .65rem;background:transparent;border:none}.viewer-profile-block.expanded .viewer-profile-summary{margin-bottom:0}.viewer-profile-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.viewer-profile-label-header{margin:0;font-size:.92rem;font-weight:600;color:#e8e6e3;line-height:1.3}.viewer-profile-id{margin:0;font-size:.7rem;font-family:monospace;color:#67676c;word-break:break-all}.viewer-profile-date{margin:0;font-size:.76rem;color:#83838a}.viewer-profile-toggle{margin:0;flex-shrink:0;white-space:nowrap}.viewer-profile-toggle.history-toggle-btn{padding:.2rem .5rem;font-size:.72rem;color:#7f8088;background:#1f2024;border-color:#2a2b31}.viewer-profile-toggle.history-toggle-btn:hover:not(:disabled){background:#26272c;border-color:#32343a;color:#9ea0a8}.viewer-profile-full{margin-top:0}.viewer-profile-meta{margin:0 0 .65rem;display:grid;gap:.12rem}.viewer-profile-meta-row{display:flex;align-items:center;gap:.5rem;min-width:0}.viewer-profile-meta-row .viewer-profile-plus-btn{margin-left:auto}.viewer-profile-section-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:0 0 .35rem}.viewer-profile-section-header-compact{justify-content:flex-end;margin:0 0 .25rem}.viewer-profile-section-title{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.viewer-artifact-label-pill{display:inline-block;max-width:16rem;padding:.18rem .5rem;border-radius:999px;border:1px solid #2a2b31;background:#1f2024;color:#cfcfd6;font-size:.72rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-profile-section-header .viewer-profile-label{margin:0}.viewer-profile-plus-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:999px;background:#1f2024;border:1px solid #2a2b31;color:#7f8088;font-size:.95rem;line-height:1;flex-shrink:0;cursor:pointer}.viewer-profile-plus-btn:hover:not(:disabled){background:#26272c;border-color:#32343a;color:#9ea0a8}.viewer-profile-label{margin:0 0 .35rem;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:#8e8e93}.viewer-profile-label+.viewer-profile-text,.viewer-profile-section-header+.viewer-profile-text{margin-top:0}.viewer-profile-text{margin:0 0 .75rem;font-size:.8rem;line-height:1.6;color:#e8e6e3;white-space:pre-wrap}.viewer-profile-text-full{color:#cfcfd6;border-left:2px solid #252529;padding-left:.55rem}.viewer-profile-text:last-child{margin-bottom:0}.gallery-list{list-style:none;margin:0;padding:0;max-height:340px;overflow-y:auto;scrollbar-gutter:stable}.gallery-list li{margin-bottom:0}.sidebar-attribution{margin:1.5rem 0 0;font-size:.75rem;color:#8e8e93;line-height:1.45}.sidebar-about-link{display:inline-flex;align-items:center;padding:0;margin:0 0 .25rem;border:none;background:transparent;color:#8e8e93;font-size:.75rem;line-height:1.2;text-decoration:underline;cursor:pointer}.sidebar-about-link.active{color:#e8e6e3;text-decoration:none;font-weight:500}.sidebar-about-link:hover{color:#e8e6e3}.sidebar-locale-toggle{display:inline-flex;align-items:center;gap:0;background:#1a1a1e;border:1px solid #2d2d30;border-radius:4px;overflow:hidden;line-height:1.2}.sidebar-locale-toggle button{padding:.18rem .5rem;border:none;background:transparent;color:#6e6e73;font-size:.72rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s,color .15s;margin:0}.sidebar-locale-toggle button:hover:not(.active){background:#222226;color:#a0a0a6}.sidebar-locale-toggle button.active{background:#2d2d30;color:#e8e6e3;font-weight:600;text-decoration:none}.sidebar-attribution a{color:var(--accent)}.sidebar-attribution a:hover{text-decoration:underline}.gallery-btn{width:100%;padding:.72rem .8rem;text-align:left;background:transparent;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;cursor:pointer;transition:background .15s,border-color .15s}.gallery-btn:hover:not(:disabled):not(.active){background:#2d2d30;border-color:var(--accent)}.gallery-btn.active{background:#323238;border-color:#56565c;box-shadow:inset 2px 0 0 var(--accent)}.gallery-btn:disabled{opacity:.6;cursor:not-allowed}.about-btn{width:100%;padding:.6rem .75rem;background:#2d2d30;border:1px solid #3d3d40;border-radius:6px;color:#e8e6e3;cursor:pointer;font-size:.9rem;text-align:center}.about-btn:hover{background:#3d3d40}.api-keys-link{display:inline-block;margin-top:.5rem;padding:0;background:none;border:none;font-size:.8rem;color:var(--accent);cursor:pointer;text-decoration:none}.api-keys-link:hover{text-decoration:underline}.about-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow:hidden}.app.overlay-open .main{overflow:hidden}.about-modal{background:#1a1a1c;border:1px solid #2d2d30;border-radius:8px;max-width:720px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.about-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #2d2d30}.about-modal-header h2{margin:0;font-size:1.25rem;font-weight:500;color:#e8e6e3}.about-close{background:transparent;border:none;color:#8e8e93;font-size:2rem;line-height:1;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s,color .15s}.about-close:hover{background:#2d2d30;color:#e8e6e3}.about-modal-content{padding:1.5rem;font-size:.95rem;line-height:1.7;color:#e8e6e3}.about-modal-content h3{margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600;color:#e8e6e3}.about-modal-content h3:first-child{margin-top:0}.about-modal-content p{margin:0 0 1rem}.about-modal-content p:last-child{margin-bottom:0}.about-modal-content ul{margin:.5rem 0 1rem;padding-left:1.5rem}.about-modal-content li{margin-bottom:.5rem;line-height:1.6}.about-modal-content li:last-child{margin-bottom:0}.about-modal-content strong{font-weight:600;color:#e8e6e3}.about-modal-content code{background:#0d0d0e;padding:.15rem .4rem;border-radius:4px;font-size:.85em;font-family:monospace;color:#8e8e93}.about-modal-content a{color:var(--accent);text-decoration:none}.about-modal-content a:hover{text-decoration:underline}.api-keys-intro{margin-bottom:1.25rem;color:#a0a0a0;font-size:.9rem}.api-keys-form label{display:block;margin-bottom:1rem}.api-keys-form label span{display:block;margin-bottom:.35rem;font-size:.9rem;color:silver}.api-keys-form input{width:100%;padding:.5rem .6rem;font-size:.9rem;background:#1a1a1b;border:1px solid #3d3d40;border-radius:4px;color:#e8e6e3;box-sizing:border-box}.api-keys-form input::placeholder{color:#6d6d70}.api-keys-actions{margin-top:1.25rem;display:flex;gap:.75rem}.personalized-modal .about-modal-content{max-width:100%}.personalized-intro{margin:0 0 1.25rem;font-size:.95rem;color:silver;line-height:1.5}.personalized-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.personalized-question{display:flex;flex-direction:column;gap:.35rem}.personalized-question-label{font-size:.9rem;color:#e8e6e3}.personalized-question-label .optional{color:#8e8e93;font-weight:400}.personalized-input{width:100%;padding:.5rem .6rem;font-size:.9rem;background:#1a1a1b;border:1px solid #3d3d40;border-radius:4px;color:#e8e6e3;box-sizing:border-box}.personalized-input::placeholder{color:#6d6d70}.personalized-actions{display:flex;gap:.75rem;flex-wrap:wrap}.personalized-actions .generate-viewer-btn{flex:1;min-width:10rem}.personalized-actions .about-btn{flex-shrink:0}.image-modal{background:#1a1a1c;border:1px solid #2d2d30;border-radius:8px;max-width:90vw;height:calc(100vh - 4rem);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.image-modal-header{display:flex;justify-content:flex-end;padding:.75rem;border-bottom:1px solid #2d2d30;flex-shrink:0}.image-modal-content{display:flex;flex-direction:column;align-items:center;padding:1rem 1rem .45rem;flex:1;min-height:0;overflow:hidden}.image-modal-image-wrap{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;width:100%;position:relative}.image-modal-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}.image-modal-caption{flex-shrink:0;margin-top:.45rem;padding:.4rem 1rem;color:#e8e6e3;font-size:.85rem;font-style:italic;line-height:1.35;text-align:center;max-width:100%}.gallery-name{display:block;font-size:.94rem;line-height:1.28}.gallery-era{display:block;font-size:.77rem;color:#75757b;margin-top:.15rem;line-height:1.2}.viewer{flex:1;display:flex;flex-direction:column;gap:1.5rem;min-width:0;container-type:inline-size}.viewer-gallery-selector{margin-bottom:0}.viewer-gallery-selector .viewer-artifact-group-title{margin-bottom:.35rem}.viewer-gallery-selector .gallery-select{margin-top:.4rem}.gallery-select{width:100%;max-width:var(--gallery-select-max-width);padding:.45rem .6rem;background:#1a1a1a;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;font-size:.88rem;cursor:pointer}.gallery-select:hover:not(:disabled){border-color:#3d3d40}.gallery-select:focus{outline:none;border-color:var(--accent)}.gallery-select:disabled{opacity:.6;cursor:not-allowed}.viewer-gallery-top{display:flex;align-items:flex-start;gap:1.6rem;margin-top:-.5rem}.viewer-gallery-meta{flex:0 0 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.viewer-gallery-name{margin:0;font-size:1.05rem;font-weight:600;color:#e8e6e3;line-height:1.28}.viewer-gallery-subtitle{margin:0;font-size:.8rem;color:#8e8e93;line-height:1.2}.gallery-thumbnails{flex:1;min-width:0;padding-bottom:.65rem}.gallery-thumbnails-row{display:flex;align-items:flex-start;gap:.85rem;min-width:0}.thumbnails-strip{display:flex;gap:.5rem;padding:.25rem 0;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden}.thumbnails-strip::-webkit-scrollbar{height:6px}.thumbnails-strip::-webkit-scrollbar-track{background:#0d0d0e;border-radius:3px}.thumbnails-strip::-webkit-scrollbar-thumb{background:#2d2d30;border-radius:3px}.thumbnails-strip::-webkit-scrollbar-thumb:hover{background:#3d3d40}.profile-list,.gallery-list,.viewer-profile-full,.reflection-content,.history-list{scrollbar-width:thin;scrollbar-color:#343438 transparent}.profile-list::-webkit-scrollbar,.gallery-list::-webkit-scrollbar,.viewer-profile-full::-webkit-scrollbar,.reflection-content::-webkit-scrollbar,.history-list::-webkit-scrollbar{width:6px}.profile-list::-webkit-scrollbar-track,.gallery-list::-webkit-scrollbar-track,.viewer-profile-full::-webkit-scrollbar-track,.reflection-content::-webkit-scrollbar-track,.history-list::-webkit-scrollbar-track{background:transparent}.profile-list::-webkit-scrollbar-thumb,.gallery-list::-webkit-scrollbar-thumb,.viewer-profile-full::-webkit-scrollbar-thumb,.reflection-content::-webkit-scrollbar-thumb,.history-list::-webkit-scrollbar-thumb{background:#2f2f33;border-radius:3px}.profile-list::-webkit-scrollbar-thumb:hover,.gallery-list::-webkit-scrollbar-thumb:hover,.viewer-profile-full::-webkit-scrollbar-thumb:hover,.reflection-content::-webkit-scrollbar-thumb:hover,.history-list::-webkit-scrollbar-thumb:hover{background:#3a3a3f}.thumbnail-item{flex-shrink:0;position:relative;width:80px;height:80px;padding:0;background:transparent;border:2px solid #2d2d30;border-radius:6px;cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s}.thumbnail-item:hover{border-color:#3d3d40;transform:scale(1.05)}.thumbnail-item.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.thumbnail-item:focus{outline:none}.thumbnail-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.thumbnail-item:disabled{opacity:.6;cursor:not-allowed;transform:none}.thumbnail-item:disabled:hover{border-color:#2d2d30}.experience-panel-hint{margin:0 0 .7rem;padding:.55rem .7rem;border:1px solid rgba(250,204,21,.35);border-radius:6px;background:#facc1514;font-size:.8rem;color:#facc15;text-align:left;line-height:1.35}.experience-panel-hint a,.generation-status-hint a{color:inherit;text-decoration:underline;text-decoration-color:#facc15a6;text-underline-offset:2px}.thumbnail-image{width:100%;height:100%;object-fit:cover;display:block}.is-sensitive-blurred{filter:blur(14px) brightness(.75)}.thumbnail-sensitive-chip{position:absolute;left:.3rem;bottom:.3rem;padding:.1rem .35rem;border-radius:999px;font-size:.62rem;font-weight:600;letter-spacing:.02em;color:#f3f4f6;background:#000000b8;pointer-events:none}@media(max-width:1100px){.gallery-thumbnails-row{flex-direction:column;gap:.45rem;align-items:stretch}}.placeholder{display:flex;align-items:center;justify-content:center;min-height:300px}.viewer-three-panes{display:flex;flex-direction:row;gap:2.75rem;align-items:flex-start;flex:1;min-width:0}.viewer-center-pane{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--section-gap)}.gallery-thumbnails-contained{flex:0 0 auto;max-width:100%;margin-top:-.5rem}.gallery-thumbnails-contained .thumbnails-strip{flex:0 1 auto}.experience-panel-right{flex:0 0 480px;min-width:320px;max-width:560px;align-self:flex-start}.viewer-main-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,460px);gap:2.1rem;align-items:start}.image-focus-column{min-width:0}.experience-panel{display:flex;flex-direction:column;gap:0;padding:0;min-width:0}.experience-panel>*+*{padding-top:var(--section-gap);border-top:1px solid #232327}.experience-header{padding:0;background:transparent;border:none;border-radius:0}.experience-header h3{margin:0 0 .9rem}.experience-profile-label{margin:0 0 .85rem;font-size:.84rem;color:#c5c5cb}.image-section{display:flex;flex-direction:column;gap:var(--section-gap)}.image-container{position:relative;aspect-ratio:4 / 3;max-height:76vh;background:#0d0d0e;border-radius:8px;overflow:hidden}.sensitive-image-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem;text-align:center;background:#0a0a0c80}.sensitive-image-text{margin:0;font-size:.86rem;color:#e5e7eb}.sensitive-reveal-btn{padding:.4rem .75rem;background:#1f2937;border:1px solid #374151;border-radius:6px;color:#f9fafb;font-size:.8rem;cursor:pointer}.sensitive-reveal-btn:hover{background:#273549;border-color:#4b5563}.sensitive-hide-btn{margin-top:.35rem}.gallery-image{width:100%;height:100%;object-fit:contain}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:.65rem .9rem;background:linear-gradient(transparent,#000c);color:#e8e6e3;font-size:.85rem;font-style:italic}.image-nav{display:flex;align-items:center;justify-content:center;gap:1.25rem}.image-nav button{padding:.5rem 1rem;cursor:pointer;font-size:.875rem}.image-nav button:hover:not(:disabled){background:#3d3d40}.image-nav button:disabled{opacity:.4;cursor:not-allowed}.image-counter{font-size:.875rem;color:#8e8e93}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.experience-controls{gap:.6rem}.experience-controls .reflect-btn,.experience-controls .walkthrough-btn,.experience-controls .export-btn{padding:.5rem .8rem;font-size:.9rem;white-space:nowrap}.experience-controls .export-btn{padding:.4rem .72rem;font-size:.82rem}.experience-auto-advance{margin-top:.6rem}.action-buttons:not(.experience-controls) .export-btn{padding:.75rem 1.5rem;font-size:.95rem}.reflect-btn{padding:.75rem 1.5rem;background:var(--accent-muted);border:none;border-radius:6px;color:var(--accent-on-fill);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s}.reflect-btn:hover:not(:disabled){background:var(--accent)}.reflect-btn:disabled{opacity:.6;cursor:not-allowed}.walkthrough-btn{padding:.75rem 1.5rem;font-size:.9rem;cursor:pointer}.walkthrough-btn.stop{background:#7f1d1d;border-color:#991b1b}.walkthrough-btn.stop:hover{background:#991b1b}.auto-advance-label{display:flex;align-items:center;gap:.35rem;font-size:.74rem;color:#8e8e93;cursor:pointer;white-space:nowrap}.reflection-history{background:transparent;border:none;border-radius:0}.experience-history{margin-top:0}.reflection-history h3{margin:0}.history-list{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.history-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;text-align:left;background:transparent;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;cursor:pointer;transition:background .15s}.history-item:hover{background:#2d2d30}.history-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.history-item:disabled{opacity:.6;cursor:not-allowed}.history-item:disabled:hover{background:transparent}.history-thumbnail{flex-shrink:0;width:50px;height:50px;object-fit:cover;border-radius:4px;background:#0d0d0e}.history-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.history-index{display:block;font-size:.75rem;color:#8e8e93}.history-preview{font-size:.85rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reflection-section{background:transparent;border:none;border-radius:0}.experience-current{flex:1;max-height:56vh;display:flex;flex-direction:column;min-height:0}.reflection-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:1rem}.reflection-section .reflection-header-row h3{margin:0}.reflection-voice-toolbar{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.2rem}.reflection-voice-toolbar-row{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;flex-wrap:wrap}.reflection-auto-voice-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:#8e8e93;cursor:pointer;white-space:nowrap}.reflection-auto-voice-toggle input{margin:0}.reflection-voice-select-label{display:inline-flex;align-items:center;gap:.4rem;min-width:0;flex:0 1 auto}.reflection-voice-select-label span{font-size:.78rem;font-weight:500;color:#8e8e93;white-space:nowrap;flex-shrink:0}.reflection-voice-select{flex:0 1 auto;min-width:0;width:18rem;max-width:100%;padding:.28rem .5rem;background:#1a1a1a;border:1px solid #2d2d30;border-radius:6px;color:#e8e6e3;font-size:.78rem;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reflection-voice-select:hover:not(:disabled){border-color:#3d3d40}.reflection-voice-select:focus{outline:none;border-color:var(--accent)}.reflection-voice-select:disabled{opacity:.6;cursor:not-allowed}.reflection-voice-select option{white-space:normal}.reflection-voice-toolbar .speak-btn{padding:.38rem .85rem;font-size:.8rem;letter-spacing:.01em}.reflection-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem}.reflection-viewer-chip{margin:0 0 .45rem;display:inline-block;padding:.16rem .5rem;font-size:.72rem;line-height:1.25;color:#84848b;background:#16161a;border:1px solid #242429;border-radius:999px}.reflection-auto-advance{margin:0}.reflection-action-buttons .reflect-btn,.reflection-action-buttons .walkthrough-btn{width:100%;justify-self:stretch}@media(max-width:900px){.reflection-action-buttons{grid-template-columns:1fr}}.experience-history-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.9rem}.experience-history-header h3{margin:0}.reflection-history-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.35rem 0 .85rem}.reflection-history-actions .export-btn{padding:.34rem .72rem;font-size:.78rem}.history-toggle-btn{padding:.34rem .72rem;font-size:.78rem;background:#27272b;border-color:#343438;color:#bdbdc4;cursor:pointer}.history-toggle-btn:hover:not(:disabled){background:#303036;border-color:#3e3e44;color:#d5d5db}.experience-history-summary{margin:0;color:#8e8e93;font-size:.8rem}.reflection-header{display:flex;flex-direction:column;gap:.75rem}.reflection-section h3{margin:0 0 .75rem}.internal-state{padding:.5rem .75rem;background:#131319;border-radius:6px;border-left:3px solid var(--accent)}.internal-state-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#8e8e93;margin-bottom:.25rem}.internal-state-value{font-size:.85rem;font-style:italic;color:#c5c5cb}.internal-state-block{margin-top:1.4rem;padding:.8rem .85rem;background:#131319;border-radius:6px;border-left:3px solid var(--accent)}.internal-state-text{margin:0;font-size:.85rem;font-style:italic;line-height:1.7;color:#c5c5cb}.reflection-actions{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.tts-options{display:flex;flex-direction:column;gap:.75rem}.tts-option{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#8e8e93}.tts-option span:first-child{min-width:3rem}.tts-option input[type=range]{flex:1;max-width:120px}.tts-value{min-width:2rem;text-align:right}.tts-option select{flex:1;min-width:0;padding:.25rem .5rem;background:#0d0d0e;border:1px solid #2d2d30;border-radius:4px;color:#e8e6e3;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tts-option select:focus{outline:none;border-color:#3d3d40}.tts-option select option{white-space:normal}.speak-btn{padding:.4rem .9rem;font-size:.82rem;background:#27272b;border-color:#343438;color:#bdbdc4;cursor:pointer}.speak-btn:hover:not(:disabled){background:#303036;border-color:#3e3e44;color:#d5d5db}.speak-btn:disabled{opacity:.55;cursor:not-allowed}@container (max-width: 700px){.viewer-three-panes{flex-direction:column;align-items:stretch;gap:var(--section-gap)}.gallery-select{max-width:none}.reflection-voice-select-label{flex:1 1 0;width:100%}.reflection-voice-select{flex:1 1 auto;width:100%;max-width:none}.viewer-center-pane{flex:1;min-height:0;width:100%;max-width:100%}.experience-panel-right{flex:1;min-width:0;width:100%;max-width:100%;min-height:0}}@media(max-width:1200px)and (min-width:769px){.main{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 2rem}.sidebar{width:100%;display:grid;gap:var(--section-gap) 2rem;align-items:start;justify-content:start}.sidebar[data-settings-expanded=true]{grid-template-columns:fit-content(22rem) fit-content(22rem) fit-content(32rem)}.sidebar-section{margin-bottom:0}.sidebar-section-viewer{display:contents}.viewer-controls-compact-row{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;max-width:22rem;justify-self:start}.viewer-controls-body{grid-column:3;grid-row:1;min-width:0;justify-self:start;max-width:32rem}.sidebar-section-models{grid-column:2;grid-row:1;min-width:0;justify-self:start;max-width:22rem}.sidebar[data-settings-expanded=false] .sidebar-section-models{display:none}.viewer-section-caption{display:flex;flex-direction:column;gap:.2rem;min-width:0;color:#8e8e93;font-size:.78rem;line-height:1.25}.viewer-section-caption>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-controls-toggle{display:inline-flex;align-items:center;justify-content:flex-start}.sidebar[data-settings-expanded=false] .viewer-controls-body{display:none}.sidebar-section-viewer .artifact-select{max-width:var(--sidebar-width)}.viewer{width:100%}.experience-panel-right{flex:0 0 360px;min-width:280px}}@media(max-width:768px){.app{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.header{padding:.75rem 1rem;flex-wrap:wrap}.hint-top-right{width:100%;max-width:520px;text-align:left;margin-left:auto;margin-right:auto}.main{flex-direction:column;align-items:center;gap:1rem;padding:1rem;overflow:visible}.sidebar{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.sidebar-section-viewer{display:contents}.viewer-controls-compact-row{order:0}.sidebar-section-models{order:1}.viewer-controls-body{order:2}.viewer-controls-body .viewer-artifact-row+.viewer-artifact-row,.viewer-controls-body .artifact-detail-block+.viewer-artifact-row{margin-top:.85rem}.viewer-section-caption{display:flex;flex-direction:column;gap:.2rem;min-width:0;color:#8e8e93;font-size:.78rem;line-height:1.25}.viewer-section-caption>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-controls-compact-row{flex-direction:column;align-items:stretch}.viewer-controls-toggle{display:inline-flex;justify-content:center;width:100%}.sidebar[data-settings-expanded=false] .sidebar-section-models,.sidebar[data-settings-expanded=false] .viewer-controls-body{display:none}.sidebar{width:100%;max-width:520px;margin:0 auto}.sidebar .sidebar-section:last-of-type{margin-bottom:0}.viewer{width:100%;max-width:520px;margin:0 auto}.viewer-three-panes{width:100%;flex-direction:column;gap:var(--section-gap);align-items:stretch}.viewer-center-pane{flex:1;min-height:0;width:100%;max-width:none}.experience-panel-right{flex:1;width:100%;min-width:0;max-width:none;min-height:0}.image-container{width:100%;max-height:56vh;max-height:56dvh}}@media(max-height:900px){.profile-list,.gallery-list{max-height:280px}.image-container{max-height:68vh}}.reflection-content{flex:1;min-height:0;overflow-y:auto;padding:0 .6rem 0 .35rem;font-size:.9rem;line-height:1.82}.reflection-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.reflection-content p+p{margin-top:1.05rem}.reflection-placeholder{margin:0;color:#9b9ba1;font-size:.84rem;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.reflection-placeholder-pre-actions{margin:0 0 .55rem}.loading-dots{display:inline-block}.loading-dots span{animation:dot-pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.3}40%{opacity:1}}.footer{padding:1rem 2rem;border-top:1px solid #2d2d30;font-size:.8rem;color:#8e8e93}.app-footer{flex-shrink:0}.app-footer-content{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;text-align:center;line-height:1.2}.app-footer-sep{color:#5f6066;margin:0 .75rem}.app-footer .sidebar-about-link{margin:0}.export-buttons{display:flex;gap:.5rem}.export-btn{padding:.4rem .8rem;background:#27272b;border:1px solid #343438;border-radius:6px;color:#bdbdc4;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.export-btn:hover:not(:disabled){background:#303036;border-color:#3e3e44;color:#d5d5db}.export-btn:disabled{opacity:.6;cursor:not-allowed}.trajectory-summary-block{margin-top:.75rem;padding:.75rem 1rem;background:#252528;border-radius:8px;border-left:3px solid var(--accent);max-width:56rem}.trajectory-summary-text{margin:0;font-size:.9rem;line-height:1.5;color:#e8e6e3}.trajectory-summary-error{margin:0;font-size:.85rem;color:#f87171}.footer a{color:var(--accent)}.footer a:hover{text-decoration:underline}
