*{box-sizing:border-box}body{margin:0;overflow:hidden;font-family:Georgia,Times New Roman,serif;color:#f5e6d3}.scene-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#6a4a3c;background-image:url(/assets/work-station-DwQTGk2N.png);background-size:cover;background-position:center;background-repeat:no-repeat}.scene-layer canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;z-index:1;pointer-events:auto;cursor:grab;touch-action:none}.scene-layer canvas.dragging{cursor:grabbing}.avatar-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#f5e6d3;font-size:1.25rem;pointer-events:none;z-index:2;background:#1e140e59}.avatar-loading.hidden{display:none}.glass-panel{background:#1e161047;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(240,217,168,.22);border-radius:16px;box-shadow:0 8px 32px #00000040}.ui-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:transparent;display:grid;grid-template-columns:minmax(220px,50%) minmax(0,1fr);grid-template-rows:1fr;align-items:stretch}.ui-layer.layout-match{grid-template-columns:minmax(200px,33.333%) minmax(0,1fr)}.ui-layer.layout-puzzle{grid-template-columns:minmax(220px,42%) minmax(0,1fr)}.ui-avatar-column{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:2rem;min-width:0;pointer-events:none}.ui-game-column{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:0;overflow:hidden;pointer-events:none}.ui-layer.layout-puzzle .ui-game-column{justify-content:stretch}.screen-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;background:transparent;pointer-events:none}.workshop-panel{flex:1;margin:0;padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;max-width:520px;align-self:center;width:100%;pointer-events:auto}.menu-title{font-size:clamp(1.75rem,3.5vw,2.75rem);margin:0 0 .5rem;color:#f0d9a8;text-shadow:0 2px 12px rgba(0,0,0,.5)}.menu-subtitle{font-size:1rem;color:#f5e6d3bf;margin:0 0 2rem;font-style:italic}.activity-list{display:flex;flex-direction:column;gap:.85rem}.activity-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid rgba(240,217,168,.2);border-radius:12px;background:#ffffff0f;color:#f5e6d3;cursor:pointer;transition:background .2s,border-color .2s,transform .15s;font-family:inherit;text-align:left}.activity-card:hover{background:#f0d9a81f;border-color:#c9a2278c;transform:translate(4px)}.activity-icon{font-size:1.75rem;line-height:1;flex-shrink:0}.activity-info{display:flex;flex-direction:column;gap:.2rem}.activity-title{font-size:1.1rem;font-weight:700;color:#f0d9a8}.activity-desc{font-size:.82rem;color:#f5e6d3a6;line-height:1.35}.chatbox{position:relative;z-index:1;width:100%;max-width:100%;padding:1rem 1.25rem;pointer-events:auto}.chatbox-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#c9a227e6;margin-bottom:.5rem}.chatbox-text{font-size:.95rem;font-style:italic;line-height:1.5;color:#f5e6d3e6;min-height:2.5rem}.chatbox-input{flex:1;min-width:0;padding:.55rem .75rem;border:1px solid rgba(240,217,168,.3);border-radius:8px;background:#00000040;color:#f5e6d3;font-family:inherit;font-size:.9rem}.chatbox-input::placeholder{color:#f5e6d373}.chatbox-input:focus{outline:none;border-color:#c9a2278c}.chatbox-actions{display:flex;gap:.4rem;flex-shrink:0}.chat-btn{padding:.55rem .85rem;border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.chat-btn.ask{border:1px solid rgba(201,162,39,.5);background:#8b69148c;color:#fff}.chat-btn.exit{border:1px solid rgba(240,217,168,.3);background:#ffffff0f;color:#f0d9a8}.chat-btn:disabled{opacity:.5;cursor:wait}.quiz-panel{flex:1;margin:2rem 2rem 2rem 0;padding:2rem 2rem 2.5rem;display:flex;flex-direction:column;overflow-y:auto;max-width:560px;align-self:center;width:100%;min-height:0;pointer-events:auto}.quiz-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.quiz-progress{font-size:.9rem;color:#f5e6d3b3;letter-spacing:.03em}.back-btn{padding:.45rem .9rem;border:1px solid rgba(240,217,168,.3);border-radius:6px;background:#ffffff0f;color:#f5e6d3d9;font-family:inherit;font-size:.85rem;cursor:pointer}.back-btn:hover{background:#f0d9a81f;color:#f0d9a8}.quiz-question{font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.45;color:#f0d9a8;margin:0 0 .75rem;text-shadow:0 1px 8px rgba(0,0,0,.4)}.quiz-options{display:flex;flex-direction:column;gap:.75rem;flex:1}.quiz-option{padding:.9rem 1.15rem;border:1px solid rgba(240,217,168,.25);border-radius:10px;background:#ffffff14;color:#f5e6d3;font-family:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .1s}.quiz-option:hover:not(:disabled){background:#f0d9a824;border-color:#c9a22780;transform:translate(3px)}.quiz-option:disabled{cursor:default}.quiz-option.awaiting-narration{opacity:.55;cursor:wait}.quiz-option.correct{background:#2d8a4ebf!important;border-color:#1e6b3a!important;color:#fff}.quiz-option.incorrect{background:#c0392bbf!important;border-color:#96281b!important;color:#fff}.quiz-option.dimmed{opacity:.4}.quiz-next-btn{align-self:flex-start;margin-top:1.25rem;padding:.75rem 1.75rem;border:1px solid rgba(201,162,39,.5);border-radius:8px;background:#8b69148c;color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.quiz-next-btn:hover{background:#a67c1ab3}.quiz-results{text-align:center;padding:1rem 0}.quiz-results h2{font-size:1.75rem;color:#f0d9a8;margin:0 0 .75rem}.results-score{font-size:2.5rem;font-weight:700;color:#c9a227;margin:0 0 .75rem}.results-message{font-size:1rem;color:#f5e6d3bf;font-style:italic;margin:0 0 1.5rem}.menu-btn{display:inline-block;margin:.4rem;padding:.75rem 1.5rem;border-radius:8px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer}.menu-btn.primary{border:1px solid rgba(201,162,39,.5);background:#8b69148c;color:#fff}.menu-btn.secondary{border:1px solid rgba(240,217,168,.3);background:#ffffff0f;color:#f0d9a8}.menu-btn:hover{opacity:.9}.match-panel{flex:1;margin:1rem 1rem 1rem 0;padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;overflow:hidden;max-width:none;align-self:stretch;width:100%;min-height:0;pointer-events:auto}.match-intro{margin:0 0 .65rem;font-size:.82rem;color:#f5e6d3cc;font-style:italic;line-height:1.4;flex-shrink:0}.match-board{flex:1;display:grid;grid-template-columns:1.15fr .85fr;gap:.85rem;min-height:0;overflow:hidden}.match-col{display:flex;flex-direction:column;min-height:0;overflow:hidden}.match-col-label{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#c9a227d9;flex-shrink:0}.match-grid{flex:1;display:grid;gap:.55rem;min-height:0;overflow:hidden}.match-grid-descriptions{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr))}.match-grid-paintings{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(0,1fr))}.match-desc-card{display:flex;flex-direction:row;align-items:stretch;gap:.55rem;padding:.55rem;border:1px solid rgba(240,217,168,.2);border-radius:10px;background:#ffffff0a;min-height:0;overflow:hidden}.match-desc-card.filled{border-color:#f0d9a859}.match-desc-card.correct{border-color:#2d8a4ebf;background:#2d8a4e1f}.match-desc-card.incorrect{border-color:#c0392bbf;background:#c0392b1f;animation:match-shake .4s ease}@keyframes match-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.match-desc-body{flex:1 1 50%;min-width:0;overflow:hidden}.match-number{font-size:.7rem;color:#c9a227cc;font-weight:700}.match-title{margin:.1rem 0 .2rem;font-size:.78rem;color:#f0d9a8;line-height:1.2}.match-where,.match-story{margin:0 0 .2rem;font-size:.64rem;line-height:1.3;color:#f5e6d3bf}.match-where strong,.match-story strong{color:#c9a227e6}.match-story{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.match-drop-slot{flex:1 1 50%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(240,217,168,.45);border-radius:8px;background:#00000038;padding:.35rem;transition:border-color .2s,background .2s}.match-drop-slot.filled{border-style:solid;border-color:#f0d9a880}.match-drop-slot.correct{border-color:#2d8a4ed9;background:#2d8a4e26}.match-drop-slot.incorrect{border-color:#c0392bd9;background:#c0392b26}.match-drop-hint{font-size:.58rem;line-height:1.25;text-align:center;color:#f5e6d373;font-style:italic;padding:.2rem;pointer-events:none}.match-drop-slot img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;pointer-events:none}.match-painting-card{display:flex;flex-direction:column;min-height:0;border:2px solid rgba(240,217,168,.35);border-radius:10px;overflow:hidden;cursor:grab;background:#ffffff0f;transition:transform .15s,border-color .15s,box-shadow .15s}.match-painting-card:hover:not(.disabled){transform:scale(1.03);border-color:#c9a22799;box-shadow:0 4px 12px #0000004d}.match-painting-card:active:not(.disabled){cursor:grabbing}.match-painting-card.disabled{opacity:.5;cursor:wait}.match-painting-frame{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;background:#00000059;padding:.25rem}.match-painting-card img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;pointer-events:none}.match-pool-empty{grid-column:1 / -1;margin:0;font-size:.88rem;color:#f5e6d3a6;font-style:italic;text-align:center;padding:1rem}.match-results{display:flex;flex-direction:column;align-items:center;min-height:0;overflow:hidden;padding:.5rem 0 0}.match-results .results-message{margin-bottom:1rem}.match-results-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;width:100%;max-width:100%;margin:0 0 1.25rem}.match-results-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.match-results-thumb{width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;background:#00000059;border:1px solid rgba(240,217,168,.3);border-radius:8px;padding:.3rem;overflow:hidden}.match-results-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}.match-results-name{font-size:.62rem;line-height:1.2;text-align:center;color:#f5e6d3e6}.puzzle-panel{flex:1;margin:1rem 2rem 1rem 0;padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;overflow:hidden;max-width:none;align-self:stretch;width:100%;min-height:0;pointer-events:auto}.puzzle-intro{margin:0 0 .65rem;font-size:.82rem;color:#f5e6d3cc;font-style:italic;line-height:1.4;flex-shrink:0}.puzzle-error{margin:0;color:#c0392be6;font-size:.9rem}.puzzle-board-wrap{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:.85rem;min-height:0;overflow:hidden}.puzzle-col{display:flex;flex-direction:column;min-height:0;overflow:hidden;align-items:center}.puzzle-col-label{margin:0 0 .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#c9a227d9;flex-shrink:0;align-self:flex-start;width:100%}.puzzle-grid{flex:1;display:grid;gap:0;width:100%;max-width:100%;max-height:100%;min-height:0;min-width:0;overflow:hidden;padding:0;border:1px solid rgba(240,217,168,.25);border-radius:10px;background:#00000038;line-height:0;align-self:center}.puzzle-grid-board,.puzzle-grid-pieces{height:auto}.puzzle-slot{position:relative;display:block;width:100%;height:100%;min-height:0;min-width:0;margin:0;padding:0;border:none;outline:1px dashed rgba(240,217,168,.15);outline-offset:-1px;background:#ffffff05;overflow:hidden}.puzzle-slot.filled{outline:none;background:transparent}.puzzle-slot.incorrect{outline:2px solid rgba(192,57,43,.9);outline-offset:-2px;background:#c0392b38;box-shadow:inset 0 0 0 1px #c0392b59}.puzzle-slot.incorrect.filled{background:#c0392b2e}.puzzle-slot img{display:block;width:100%;height:100%;object-fit:fill;object-position:center;margin:0;padding:0;pointer-events:auto;cursor:grab;vertical-align:top}.puzzle-slot img:active{cursor:grabbing}.puzzle-slot-hint{display:block;width:100%;height:100%;pointer-events:none}.puzzle-piece-card{position:relative;display:block;width:100%;height:100%;min-height:0;min-width:0;margin:0;padding:0;border:none;background:transparent;cursor:grab;overflow:hidden;line-height:0;transition:filter .15s}.puzzle-piece-card.empty{cursor:default;background:#ffffff05;outline:1px dashed rgba(240,217,168,.12);outline-offset:-1px}.puzzle-piece-card:hover:not(.disabled):not(.empty){filter:brightness(1.08);z-index:2}.puzzle-piece-card:active:not(.disabled):not(.empty){cursor:grabbing}.puzzle-piece-card.disabled{opacity:.55;cursor:default}.puzzle-piece-card img{display:block;width:100%;height:100%;object-fit:fill;object-position:center;margin:0;padding:0;pointer-events:auto;cursor:grab}.puzzle-piece-card img:active{cursor:grabbing}.puzzle-piece-card.disabled img{pointer-events:none;cursor:default}.puzzle-pool-empty{grid-column:1 / -1;grid-row:1 / -1;margin:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;color:#f5e6d399;font-style:italic;text-align:center;padding:.5rem}.puzzle-actions{display:flex;justify-content:center;gap:.5rem;flex-shrink:0;margin-top:.75rem}.puzzle-actions .menu-btn{margin:0}.ui-layer.layout-talk{grid-template-columns:1fr}.ui-layer.layout-talk .ui-game-column{grid-column:1;justify-content:stretch;position:relative}.talk-screen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:0;pointer-events:none}.talk-back-btn{position:absolute;top:1rem;right:1.25rem;z-index:3;pointer-events:auto}.talk-dock{position:absolute;left:50%;bottom:2rem;transform:translate(-50%);width:min(720px,calc(100% - 3rem));z-index:3;pointer-events:auto;padding:1rem 1.25rem 1.1rem}.talk-dock-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.talk-dock-title{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f0d9a8d1}.talk-exit-btn{flex-shrink:0;border:1px solid rgba(192,57,43,.55);border-radius:999px;padding:.35rem .85rem;background:#c0392b24;color:#ffd8d2;font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.talk-exit-btn:hover:not(:disabled){background:#c0392b47;border-color:#c0392bcc;color:#fff}.talk-exit-btn:disabled{opacity:.55;cursor:default}.talk-transcript{max-height:11.5rem;overflow-y:auto;margin-bottom:.85rem;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.45) rgba(0,0,0,.15)}.talk-transcript::-webkit-scrollbar{width:8px}.talk-transcript::-webkit-scrollbar-thumb{background:#c9a22773;border-radius:999px}.talk-msg{margin-bottom:.8rem}.talk-msg:last-child{margin-bottom:0}.talk-msg-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem}.talk-msg-user .talk-msg-label{color:#c9a227d9}.talk-msg-assistant .talk-msg-label{color:#f0d9a8e6}.talk-msg-text{font-size:.92rem;line-height:1.45;color:#e8dcc8}.talk-msg-user .talk-msg-text{font-style:italic}.talk-msg-status .talk-msg-text{color:#f0d9a8bf;font-style:italic}.talk-input-row{display:flex;gap:.5rem;margin-top:.75rem;align-items:stretch}.talk-input{flex:1;min-width:0;padding:.55rem .75rem;border:1px solid rgba(240,217,168,.3);border-radius:8px;background:#00000040;color:#f5e6d3;font-family:inherit;font-size:.9rem}.talk-input:focus{outline:none;border-color:#c9a2278c}.talk-input-actions{display:flex;gap:.4rem;flex-shrink:0}.chat-btn.mic{border:1px solid rgba(240,217,168,.35);background:#ffffff14;color:#f0d9a8;min-width:2.75rem;padding:.55rem .65rem}.chat-btn.mic.listening{border-color:#c0392bbf;background:#c0392b40;color:#fff;animation:talk-mic-pulse 1.2s ease-in-out infinite}@keyframes talk-mic-pulse{0%,to{opacity:1}50%{opacity:.65}}.talk-mic-hint{margin:.55rem 0 0;font-size:.75rem;color:#f5e6d38c;font-style:italic}
