/* Product demonstration: question → source gathering → answer → provenance.
   Every transform and reveal is a position on the film's own timeline. */
.film-dialog.dg-enhanced{gap:0;min-height:0}
.dg-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dg-shell{width:100%;display:flex;flex-direction:column;gap:8px;--dg-ink:#2d2d2d;--dg-soft:#6c6c6c;font-family:var(--sans,system-ui,sans-serif);font-weight:400;letter-spacing:0}
/* The outside frame stays still. Inside it, the conversation grows upward from the input. */
.dg-flow{height:306px;position:relative;transform:translateY(var(--dg-exit-y,0px));will-change:transform}
.dg-label{position:absolute;inset-inline:3px;bottom:var(--dg-label-bottom,10px);height:20px;display:flex;align-items:center;gap:7px;color:#ffffffe8;font-size:9px;line-height:1.4;letter-spacing:.065em;text-transform:uppercase;text-shadow:0 1px 12px #0008;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:var(--dg-label-opacity,.76);will-change:bottom}
.dg-label svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linejoin:round}
.dg-label-text{overflow:hidden;text-overflow:ellipsis}
.dg-question{position:absolute;right:0;bottom:var(--dg-question-bottom,0px);width:max-content;max-width:94%;padding:11px 15px;border:1px solid #ffffff35;border-radius:20px 20px var(--dg-question-radius,6px) 20px;background:rgba(250,250,250,.97);color:#2e2e2e;font-size:12px;line-height:1.48;box-shadow:0 5px 20px #13131318;transform-origin:right bottom;opacity:var(--dg-question-opacity,0);transform:translateY(var(--dg-question-y,49px)) scale(var(--dg-question-scale,.86));will-change:transform,bottom,opacity}
.dg-panel{position:absolute;bottom:0;left:0;width:100%;height:var(--dg-panel-height,0px);border-radius:var(--dg-panel-radius,18px) var(--dg-panel-radius,18px) var(--dg-panel-radius,18px) 6px;background:rgba(18,18,18,.88);color:#f5f5f5;box-shadow:inset 0 0 0 .5px #ffffff3c,0 12px 36px #0e0e0e24;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transform-origin:left bottom;transform:scale(var(--dg-panel-scale,1));opacity:var(--dg-panel-opacity,0);overflow:hidden;will-change:height,transform,opacity}
.dg-context{position:absolute;top:0;left:0;width:100%;padding:15px 16px 12px;opacity:var(--dg-context-opacity,1);transform:translateY(var(--dg-context-y,0px)) scale(var(--dg-context-scale,1));transform-origin:center top}
.dg-context-heading{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#f2f2f2;font-size:11px;line-height:1.2}
.dg-context-orbit{display:grid;place-items:center;width:16px;height:16px;flex:none;transform:rotate(var(--dg-context-orbit,0deg))}
.dg-context-orbit svg{width:16px;height:16px;fill:none;stroke:#e0e0e0;stroke-width:1;stroke-linejoin:round}
.dg-context-count{margin-left:auto;font-size:8px;color:#c8c8c8;letter-spacing:.075em;font-variant-numeric:tabular-nums}
.dg-source-list{display:flex;flex-direction:column;gap:6px}
.dg-source-row{display:flex;align-items:center;gap:10px;padding:7px 9px 7px 7px;border-radius:10px;border:1px solid #ffffff13;background:linear-gradient(100deg,#dedede0d,#dedede04);opacity:var(--dg-source-opacity,0);transform:translate(var(--dg-source-x,23px),var(--dg-source-y,7px))}
.dg-source-icon{position:relative;display:grid;place-items:center;flex:none;width:27px;height:29px;border:1px solid #e2e2e230;border-radius:4px;background:#e2e2e20e;color:#e8e8e8}
.dg-source-icon>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1;stroke-linejoin:round;opacity:calc(1 - var(--dg-source-check,0));transform:scale(calc(1 - .15 * var(--dg-source-check,0)))}
.dg-source-icon i{position:absolute;inset:0;display:grid;place-items:center;background:#e2e2e21a;opacity:var(--dg-source-check,0)}
.dg-source-icon i svg{width:14px;height:14px;fill:none;stroke:#e2e2e2;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:15;stroke-dashoffset:var(--dg-source-check-offset,15)}
.dg-source-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}
.dg-source-name{font-size:10px;line-height:1.15;color:#f3f3f3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-source-track{height:2px;background:#ffffff13;border-radius:2px;overflow:hidden;width:100%;max-width:145px}
.dg-source-track:after{content:"";display:block;width:100%;height:100%;background:linear-gradient(90deg,#a7a7a7,#e6e6e6);transform-origin:left;transform:scaleX(var(--dg-source-progress,0));opacity:var(--dg-source-active,1)}
.dg-source-state{width:34px;flex:none;text-align:right;color:#d3d3d3;font-size:8px;line-height:1.2;font-variant-numeric:tabular-nums}
.dg-context-foot{display:flex;align-items:center;gap:7px;height:12px;margin-top:12px;color:#c8c8c8;font-size:8px;line-height:1}
.dg-thinking{display:flex;gap:3px;align-items:center;flex:none}
.dg-thinking i{width:3px;height:3px;background:#eaeaea;border-radius:50%;opacity:var(--dg-dot-opacity,1);transform:translateY(var(--dg-dot-y,0px))}
.dg-context-rule{width:33px;height:2px;margin-left:auto;border-radius:3px;overflow:hidden;background:#ffffff25}
.dg-context-rule:after{content:"";display:block;height:100%;background:#dfdfdf;transform-origin:left;transform:scaleX(var(--dg-context-progress,0))}
.dg-answer{position:absolute;top:0;left:0;width:100%;padding:15px 17px 13px;opacity:var(--dg-answer-opacity,0);transform:translateY(var(--dg-answer-y,17px));display:flex;flex-direction:column}
.dg-answer-heading{display:flex;align-items:center;gap:7px;flex:none;margin-bottom:9px;font-size:8px;line-height:1;letter-spacing:.105em;text-transform:uppercase;color:#e9e9e9db;opacity:var(--dg-heading-opacity,0)}
.dg-answer-heading svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;flex:none}
.dg-answer-status{margin-left:auto;font-size:7px;letter-spacing:0;text-transform:none;color:#cbcbcb}
.dg-answer-title{font-family:var(--serif,Georgia,serif);font-size:20px;font-weight:400;line-height:1.1;letter-spacing:-.015em;margin:0 0 7px!important;text-wrap:pretty}
.dg-answer-body{font-size:12px;line-height:1.5;color:#e6e6e6;margin:0!important;letter-spacing:-.005em;text-wrap:pretty}
.dg-word{position:relative;display:inline-block;opacity:var(--dg-word-opacity,0);transform:translateY(var(--dg-word-y,5px));clip-path:inset(-4px var(--dg-word-mask,100%) -4px 0);transition:none}
.dg-stream-head{color:#f9f9f9}
.dg-citations{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;padding-top:11px;opacity:var(--dg-citations-opacity,0)}
.dg-citations:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff26;transform-origin:left;transform:scaleX(var(--dg-citation-rule,0))}
.dg-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;border:1px solid #e2e2e232;border-radius:6px;padding:4px 6px;color:#ebebeb;font-size:8px;line-height:1.2;background:#e8e8e80c;opacity:var(--dg-chip-opacity,0);transform:translateY(var(--dg-chip-y,12px)) scale(var(--dg-chip-scale,.91));transform-origin:left center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-chip-number{font-size:7px;color:#cecece;font-variant-numeric:tabular-nums}
.dg-chip span:last-child{overflow:hidden;text-overflow:ellipsis}
.dg-panel-scan{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#e8e8e8,transparent);box-shadow:0 0 12px #dfdfdf49;opacity:var(--dg-scan-opacity,0);transform:translateY(var(--dg-scan-y,0px));pointer-events:none}
.dg-composer{height:44px;flex:none;position:relative;z-index:2;display:flex;align-items:center;gap:9px;padding:6px 7px 6px 11px;border-radius:999px;background:#fcfcfc;color:#2e2e2e;box-shadow:0 2px 16px #0e0e0e13;overflow:hidden}
.dg-composer-plus{width:21px;height:21px;flex:none;display:grid;place-items:center;color:#8d8d8d;font-size:18px;line-height:1;font-weight:300}
.dg-composer-line{height:23px;position:relative;flex:1;min-width:0;display:flex;align-items:center;overflow:hidden}
.dg-placeholder{position:absolute;inset:0;display:flex;align-items:center;font-family:var(--serif,Georgia,serif);font-size:16px;font-style:italic;line-height:1;color:#8c8c8c;white-space:nowrap;opacity:var(--dg-placeholder-opacity,1);transform:translateY(var(--dg-placeholder-y,0px))}
.dg-typing{position:absolute;left:0;top:0;right:0;height:23px;display:block;padding-top:4px;overflow:hidden;white-space:nowrap;font-size:12px;line-height:16px;color:#353535;opacity:var(--dg-typing-opacity,0);transform:translateY(var(--dg-typing-y,0px));scrollbar-width:none}
.dg-typing::-webkit-scrollbar{display:none}
.dg-caret{display:inline-block;width:1px;height:13px;margin-left:1px;vertical-align:-2px;background:#636363;opacity:var(--dg-caret-opacity,1)}
.dg-send{width:31px;height:31px;flex:none;border-radius:50%;display:grid;place-items:center;background:#353535;color:#fff;transform:scale(var(--dg-send-scale,1));opacity:var(--dg-send-opacity,.6);box-shadow:0 0 0 var(--dg-send-ring,0px) #99999926}
.dg-send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:translateY(var(--dg-arrow-y,0px));opacity:var(--dg-arrow-opacity,1)}
@media(max-width:1150px){.dg-answer-title{font-size:19px}.dg-answer-body{font-size:11.5px}.dg-chip{font-size:7.5px;padding-inline:5px}}
@media(max-width:600px){
 .dg-shell{gap:6px}.dg-label{height:16px;font-size:8px;letter-spacing:.045em}.dg-label svg{width:11px;height:11px}.dg-flow{height:276px}.dg-question{font-size:11px;padding:9px 13px;line-height:1.45;max-width:94%}.dg-context{padding:13px 14px 11px}.dg-context-heading{font-size:10px;margin-bottom:10px;gap:7px}.dg-context-orbit,.dg-context-orbit svg{width:14px;height:14px}.dg-source-row{padding:6px;gap:8px}.dg-source-icon{width:24px;height:26px}.dg-source-icon>svg{width:16px;height:16px}.dg-source-name{font-size:9px}.dg-source-state{font-size:7px;width:29px}.dg-context-foot{font-size:7px;margin-top:10px}.dg-answer{padding:13px 15px 11px}.dg-answer-heading{font-size:7px;margin-bottom:8px;gap:6px}.dg-answer-heading svg{width:10px;height:10px}.dg-answer-status{font-size:6.5px}.dg-answer-title{font-size:18px;line-height:1.08;margin-bottom:7px!important}.dg-answer-body{font-size:11px;line-height:1.5}.dg-citations{padding-top:9px;gap:4px}.dg-chip{font-size:7.5px;padding:3px 5px;gap:4px}.dg-chip-number{font-size:6.5px}.dg-composer{height:38px;padding:4px 5px 4px 9px;gap:7px}.dg-composer-plus{font-size:17px;width:18px}.dg-placeholder{font-size:15px}.dg-typing{font-size:11px}.dg-send{height:29px;width:29px}.dg-send svg{height:14px;width:14px}
}
@media(prefers-reduced-motion:reduce){.dg-shell *{transition:none!important;animation:none!important;will-change:auto}}
/* Keep the proven mobile geometry: copy, conversation, then film controls. */
@media(max-width:900px){
 .cinema:has(.dg-enhanced){height:auto;min-height:100svh;max-height:none}
 .cinema:has(.dg-enhanced) .film-dialog.dg-enhanced{position:relative;inset:auto;width:min(360px,calc(100% - 64px));max-width:none;margin:32px 32px 136px auto}
}
@media(max-width:600px){
 .cinema:has(.dg-enhanced) .film-dialog.dg-enhanced{width:min(330px,calc(100% - 48px));margin:24px 24px 132px auto}
}
@media(max-width:360px){.dg-flow{height:288px}}

/* Final neutral surface language: readable type, quiet glass, no nested outlines. */
.dg-source-row,.dg-source-icon,.dg-chip{border:0;background:#ffffff0d}
.dg-source-row{border-radius:10px}.dg-source-icon{background:transparent;border-radius:0}.dg-chip{border-radius:100px;padding-inline:8px;background:#ffffff13}
.dg-placeholder{font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:-.015em}
.dg-panel-scan{box-shadow:none}
@media(max-width:600px){.dg-placeholder{font-size:12px}.dg-chip{padding-inline:6px}}

.dg-question{border:0}.dg-panel{box-shadow:0 12px 36px #00000024}

.dg-milo-mark{fill:currentColor!important;stroke:none!important}.dg-is-milo .dg-context-orbit{transform:none!important}

.dg-context-orbit{transform:none!important}

.dg-label .dg-milo-mark{width:16px;height:16px}.dg-answer-heading .dg-milo-mark{width:15px;height:15px}
@media(max-width:600px){.dg-label .dg-milo-mark{width:14px;height:14px}.dg-answer-heading .dg-milo-mark{width:13px;height:13px}}

/* Frost the actual film. An opacity layer on the flow would isolate the backdrop
   and make this look like unblurred tinted plastic; each child owns its exit fade. */
.dg-label{opacity:calc(var(--dg-label-opacity,.76) * var(--dg-exit-opacity,1))}
.dg-question{opacity:calc(var(--dg-question-opacity,0) * var(--dg-exit-opacity,1))}
.dg-panel{background:rgb(255 255 255 / .1);backdrop-filter:blur(28px) brightness(.32) saturate(.85);-webkit-backdrop-filter:blur(28px) brightness(.32) saturate(.85);opacity:calc(var(--dg-panel-opacity,0) * var(--dg-exit-opacity,1));box-shadow:0 10px 30px -18px #0005}
.dg-answer-body{color:#f3f3f3}
.dg-answer-heading{color:#ededed}
.dg-answer-status,.dg-context-count,.dg-context-foot,.dg-source-state,.dg-chip-number{color:#e6e6e6}
.dg-chip{background:#ffffff10;color:#f3f3f3}
@media(max-width:600px){.dg-panel{backdrop-filter:blur(24px) brightness(.32) saturate(.85);-webkit-backdrop-filter:blur(24px) brightness(.32) saturate(.85)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.dg-panel{background:#303030}}
@media(prefers-reduced-transparency:reduce){.dg-panel{background:#303030;backdrop-filter:none;-webkit-backdrop-filter:none}}
