.model-project .model-card-preview{display:block;position:relative;color:var(--ink);text-decoration:none}
.model-project .model-card-preview img{display:block;width:100%;height:auto}
.model-project h3 a{color:inherit;text-decoration:none}
.model-card-action{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:13px;font-weight:600;color:var(--green);text-underline-offset:4px}
.model-project{cursor:pointer}
.model-panel{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden;transform-origin:top left}
.model-panel[open]{display:flex;flex-direction:column}
.model-panel::backdrop{background:transparent}
.model-panel-toolbar{display:flex;align-items:center;gap:20px;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--line);flex:none;font-size:13px}
.model-panel-toolbar>span{font-weight:600;margin-right:auto}
.model-panel-toolbar>a{color:var(--muted);font-size:12px}
.model-panel-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--ink);font:inherit;cursor:pointer}
.model-panel-close span{font-size:22px;line-height:1}
.model-panel-content{flex:1;min-height:0;position:relative}
.model-panel-content iframe{display:block;width:100%;height:100%;border:0;background:transparent}
html.model-panel-open{overflow:hidden}
@media(max-width:640px){.model-panel-toolbar{gap:10px;padding:8px 12px}.model-panel-toolbar>span{font-size:12px;max-width:160px;line-height:1.3}.model-panel-toolbar>a{font-size:11px}.model-panel-close{padding-inline:10px}}

.model-project .model-card-preview{width:100%;height:100%}

.model-panel-toolbar{justify-content:flex-end}

.model-panel-close{width:44px;min-width:44px;padding:8px;justify-content:center}

.model-panel-toolbar{position:absolute;z-index:2;top:48px;right:max(60px,calc((100% - 1120px)/2 + 60px));padding:0;border:0;background:transparent}
.model-panel-toolbar>a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
@media(max-width:640px){.model-panel-toolbar{top:24px;right:33px;padding:0}}

/* Carry the actual research card's shape and content into the model surface. */
.model-panel{background:transparent}
.model-panel-content iframe{opacity:0}
.model-panel .model-panel-close{opacity:0}
.model-panel.model-ready{background:transparent}
.model-panel.model-ready .model-panel-content iframe,.model-panel.model-ready .model-panel-close{opacity:1}
.model-morph{position:fixed;z-index:2;margin:0;overflow:hidden;pointer-events:none;border:1px solid;box-shadow:var(--elevation-2);box-sizing:border-box;will-change:left,top,width,height,border-radius}
.model-morph-copy{display:block!important;margin:0}
.model-morph-copy>.current-project{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
.model-panel-toolbar{z-index:3}
@media(prefers-reduced-motion:reduce){.model-morph{will-change:auto}}

/* A physical floating card: the surrounding page remains visible. */
.model-panel{background:transparent}
.model-project .model-card-preview .play-label{background:var(--button-bg);color:var(--button-fg);border-color:transparent}
.model-project .model-card-preview:is(:hover,:focus-visible) .play-label{background:var(--button-bg);color:var(--button-fg);filter:brightness(1.08)}

/* The original card is the expanded surface: reserve its slot, not a duplicate. */
.model-morph-source{visibility:hidden!important}
.model-morph-copy .project-meta{text-transform:none;letter-spacing:0}
