/* Shared frame geometry; application panels own their navigation and content. */
/* Desktop controls stay reachable above native and external windows. */
#system-controls { z-index:2147483100!important; }
#start-menu { z-index:2147483200!important; }
.pt-external-content :where(button) { min-height:36px; padding:8px 12px; cursor:pointer; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell:is(#pt-workspace-specificity,.pt-shell).pt-shell { position:fixed!important; padding:0!important; margin:0!important; min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important; overflow:hidden!important; flex-direction:column!important; box-sizing:border-box!important; container:pt-window / inline-size; font-size:15px; --pt-border:#87dfff25; --pt-cyan:#57f5ff; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell:not(.maximized):not(.panthorium-window-fullscreen):not(.pw-maximized-workspace):not(.pt-snapped) { max-width:calc(100vw - 24px)!important; max-height:calc(100dvh - 90px)!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .window-titlebar { display:flex!important; align-items:center; justify-content:space-between; height:70px!important; min-height:70px!important; padding:0 23px!important; cursor:grab; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .window-titlebar:active { cursor:grabbing; }
.pt-brand { display:flex; align-items:center; gap:13px; min-width:0; }
.pt-brand > div { min-width:0; overflow:hidden; }
.pt-brand > .pt-brand-logo { width:38px!important; height:42px!important; object-fit:contain; flex-shrink:0; }
.pt-brand strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:20px; letter-spacing:.3px; font-weight:600; }
.pt-brand small { font-size:10px; color:#89a6bf; display:block; letter-spacing:3px; margin-top:4px; max-width:35vw; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
:where(.pt-shell,.pt-overlay) svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.pt-window-tools { display:flex; align-items:center; gap:8px; flex-shrink:0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-window-tools button { display:grid; place-items:center; width:34px!important; height:32px!important; min-width:34px!important; padding:0!important; border:1px solid #81d7f21c!important; border-radius:8px!important; background:#132a3e50!important; color:#d4e9f7!important; box-shadow:none!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .win-btn::before, :is(#pt-workspace-specificity,.pt-shell).pt-shell .win-btn::after { display:none!important; content:none!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-window-tools button svg { width:14px; height:14px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-window-tools .close:hover { background:#92344f!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell > .pt-workspace { display:flex!important; flex-direction:row; flex:1 1 0; width:100%; min-width:0; min-height:0; overflow:hidden; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-main { padding:0!important; min-width:0; min-height:0; overflow:hidden!important; flex:1 1 0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-content { box-sizing:border-box; width:100%; padding:12px; flex:1 1 0; min-height:0; min-width:0; overflow:auto; background:transparent; color:#e8f5ff; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-content.pt-app-contained { display:flex; flex-direction:column; padding:0; overflow:hidden; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-contained > .pt-app-surface { flex:1 1 0; min-height:0; min-width:0; height:auto!important; align-self:stretch; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-content > .app-content { background:transparent; padding:0; height:auto; flex:1; min-height:0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-content.pt-external-content { display:flex; flex-direction:column; gap:12px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-external-content > * { min-width:0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-app-content.pt-external-content > :first-child { flex-shrink:0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-legacy-close { display:none!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat-window, .pt-chat { min-height:0; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell.pt-chat-window .pt-app-content { display:flex; flex-direction:column; padding:0; overflow:hidden; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat { display:flex; flex-direction:column; flex:1; height:100%; overflow:hidden; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .chat-messages { display:block; flex:1; min-height:0; min-width:0; overflow:auto; overflow-x:hidden; padding:0 12px 16px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-hero { isolation:isolate; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-action { cursor:pointer; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg { position:relative; display:table; max-width:calc(100% - 44px); margin:15px 0 15px 44px; padding:17px 20px; border:1px solid #63defb43; border-radius:0 13px 13px 13px; background:linear-gradient(120deg,#0e31435e,#0d1a2c8c); box-shadow:inset 0 1px #befaff0a; line-height:1.8; font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; color:#c0d3e2; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg.ai::before { content:''; position:absolute; left:-44px; top:0; width:31px; height:31px; border:1px solid #5ddfe857; border-radius:10px; background:#10364c80 url('/panthorium-logo.svg?v=original-orange-20261015') center / 27px 27px no-repeat; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg.user { margin-left:auto; margin-right:0; background:#192a3d8c; border-color:#b1cfff25; border-radius:13px 0 13px 13px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .msg strong { display:block; font-size:10px; color:#74e2ee; font-weight:500; margin-bottom:5px; letter-spacing:.6px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer.chat-input-area { display:block; padding:0; gap:0; background:linear-gradient(120deg,#16364be6,#0b192cfa 65%,#202440df); border:1px solid #77e0ff6a; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer #chat-input { display:block; width:100%; background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; resize:none; padding:18px 20px 8px; min-height:63px; max-height:120px; outline-offset:-3px; font-size:14px; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer .pt-tool { width:34px; height:32px; padding:0; background:transparent!important; border:0!important; box-shadow:none!important; color:#94bacf; cursor:pointer; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer .chat-mic[aria-pressed=true] { color:#57f5ff; background:#17dce91a!important; box-shadow:0 0 10px #13d9ff33!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer .pt-send { width:40px; height:36px; padding:0; border:1px solid #b4ffff80!important; background:linear-gradient(140deg,#8affff,#2bd4ed 70%,#52a1ff)!important; color:#003e52!important; box-shadow:0 0 17px #3be9ff33!important; cursor:pointer; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell.pt-snapped { top:max(12px,var(--panthorium-safe-area-top,0px))!important; bottom:var(--panthorium-shell-dock-clearance,68px)!important; width:calc(50vw - 18px)!important; height:auto!important; left:12px!important; right:auto!important; border-radius:18px!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell.pt-snapped[data-pt-snap=right] { left:auto!important; right:12px!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell:is(.maximized,.panthorium-window-fullscreen,.pw-maximized-workspace) { border-radius:0!important; }
:is(#pt-workspace-specificity,.pt-shell).pt-shell:is(.maximized,.panthorium-window-fullscreen) { padding-top:var(--panthorium-safe-area-top,0px)!important; padding-bottom:var(--panthorium-shell-dock-clearance,68px)!important; }
.pt-snapped .window-resize { display:none; }
.pt-overlay { position:fixed; inset:0; z-index:2147483600; display:grid; align-items:start; justify-items:center; padding:12vh 20px 24px; background:#010711b3; backdrop-filter:blur(18px); color:#e8f5ff; font:14px 'Segoe UI',Tahoma,sans-serif; overflow:auto; color-scheme:dark; }
.pt-overlay * { box-sizing:border-box; }
.pt-command-panel { width:min(620px,100%); border:1px solid #71dcff65; border-radius:22px; padding:22px; background:linear-gradient(125deg,#102336,#050d1b 62%,#11152b); box-shadow:0 25px 90px #000b,0 0 35px #08baff15,inset 0 1px #c7f5ff35; }
.pt-command-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.pt-command-head h2 { margin:0; font-size:20px; font-weight:500; }
.pt-icon-button { display:grid; place-items:center; width:32px; height:32px; border:1px solid #81d7f22c; border-radius:8px; background:#132a3e; color:#b9d9e9; cursor:pointer; }
.pt-command-input { width:100%; height:48px; font:inherit; color:#e8f7ff; border:1px solid #77e0ff6a; border-radius:12px; background:#11283b; padding:0 15px; }
.pt-command-results { max-height:45vh; overflow:auto; margin-top:14px; scrollbar-width:thin; }
.pt-command-item { display:flex; align-items:center; gap:14px; width:100%; border:1px solid transparent; background:transparent; color:#cee5f2; font:inherit; border-radius:10px; padding:13px; text-align:left; cursor:pointer; }
.pt-command-item small { margin-left:auto; font-size:10px; color:#7aa9c0; }
.pt-command-item[aria-selected=true], .pt-command-item:hover { background:#133c514f; border-color:#52e5f56b; color:#9affff; }
.pt-command-hint, .pt-shortcut-note { font-size:11px; color:#7f9caf; margin:16px 0 0; line-height:1.8; white-space:pre-line; }
.pt-shortcut-intro { font-size:12px; color:#94bacf; }
.pt-shortcut-list { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:20px 0; border-block:1px solid #87dfff25; }
.pt-shortcut-list dt { font:12px ui-monospace,monospace; color:#8ef6ff; }
.pt-shortcut-list dd { margin:0; font-size:13px; }
.pt-overlay :focus-visible { outline:2px solid #57f5ff; outline-offset:3px; }
.pt-empty { text-align:center; color:#8dabc0; padding:28px 0; }
.pt-main{display:flex;flex-direction:column;min-height:0;position:relative;overflow:hidden}
.pt-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#34617b transparent;position:relative;z-index:1;padding:0 12px 16px}
.pt-hero{position:relative;padding:45px 0 28px;min-height:260px}
.pt-eyebrow{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:3px;color:#6ad9e9;margin-bottom:15px}
.pt-hero h1{font-weight:400;font-size:clamp(30px,3.3vw,48px);letter-spacing:-1.2px;line-height:1.2;margin:0 0 13px}
.pt-hero h1 span{background:linear-gradient(100deg,#fff 8%,#a4f7ff 50%,#b3a1ff);background-clip:text;color:transparent}
.pt-hero p{color:#95afc3;font-size:13px;line-height:1.7;margin:0}
.pt-hero-line{height:1px;background:linear-gradient(90deg,#6aeaff7f,#9a89ff40,transparent);margin:27px 0 0;width:70%;box-shadow:0 0 13px #3eeaff33}
.pt-hero-art{position:absolute;inset:0 -6% 0 15%;z-index:-1;overflow:hidden;opacity:.8;pointer-events:none}
.pt-hero-art svg{width:100%;height:100%;stroke-width:1;overflow:visible}
.pt-flow{animation:pt-flow 8s ease-in-out infinite alternate;transform-origin:center}
.pt-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:6px}
.pt-action{position:relative;overflow:hidden;text-align:left;background:linear-gradient(130deg,#17394c9c,#0d1c31bd 70%);border:1px solid #8be4ff32;border-radius:13px;padding:17px;color:#ebfaff;box-shadow:inset 0 1px #c8f5ff13,0 10px 25px #0002;min-height:110px}
.pt-action:before{content:'';position:absolute;top:0;left:12%;width:65%;height:1px;background:linear-gradient(90deg,transparent,#6de9fba0,transparent)}
.pt-action:nth-child(2){background:linear-gradient(130deg,#222440bb,#101b30);border-color:#b4a3ff30}
.pt-action:nth-child(3){background:linear-gradient(130deg,#10333ebb,#101b30)}
.pt-action:hover{transform:translateY(-3px);box-shadow:0 8px 25px #18ccff15;border-color:#5acde88c}
.pt-action .pt-action-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#71e8f6}
.pt-action:nth-child(2) .pt-action-top{color:#b6a6ff}
.pt-action strong{font-size:13px;font-weight:500;display:block}
.pt-action small{font-size:10px;color:#82a3ba;display:block;margin-top:6px}
.pt-arrow{opacity:.5;width:14px}
.pt-conversation-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 15px;color:#7898ad;font-size:9px;letter-spacing:2px}
.pt-conversation-head:after{content:'';height:1px;background:var(--pt-border);flex:1;margin-left:16px}
.pt-messages{display:flex;flex-direction:column;gap:15px}
.pt-message{display:flex;gap:13px;max-width:93%;align-items:flex-start}
.pt-message.user{align-self:flex-end}
.pt-message-avatar{width:31px;height:31px;border:1px solid #5ddfe857;border-radius:10px;background:#10364c80;display:grid;place-items:center;color:var(--pt-cyan);flex-shrink:0}
.pt-message-avatar svg{width:19px}
.pt-bubble{padding:17px 20px;border:1px solid #63defb43;border-radius:0 13px 13px 13px;background:linear-gradient(120deg,#0e31435e,#0d1a2c8c);box-shadow:inset 0 1px #befaff0a;line-height:1.8;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.pt-bubble strong{display:block;font-size:10px;color:#74e2ee;font-weight:500;margin-bottom:5px;letter-spacing:.6px}
.pt-message.user .pt-bubble{background:#192a3d8c;border-color:#b1cfff25;border-radius:13px 0 13px 13px}
.pt-message.user .pt-bubble strong{color:#acbdd2}
.pt-bubble p{margin:0;color:#c0d3e2}
.pt-bubble-tools{margin-top:12px;display:flex;gap:10px;color:#658a9f}
.pt-bubble-tools svg{width:14px;height:14px}
.pt-compose-area{position:relative;z-index:3;min-width:0;padding:12px;background:linear-gradient(0deg,#081323 40%,#08132300)}
.pt-attachment-tag{color:#92daee;font-size:11px;padding:0 10px 9px}
.pt-attachment-tag:empty{display:none}
.pt-composer{border-radius:16px;border:1px solid #77e0ff6a;background:linear-gradient(120deg,#16364be6,#0b192cfa 65%,#202440df);box-shadow:0 0 25px #0ecfff0a,inset 0 1px #bcffff25;overflow:hidden}
.pt-composer textarea{display:block;width:100%;background:transparent;border:0;resize:none;color:#e8f7ff;padding:18px 20px 8px;min-height:63px;max-height:120px;outline:none;font-size:14px}
.pt-composer textarea::placeholder{color:#6e92ac}
.pt-compose-tools{display:flex;align-items:center;justify-content:space-between;padding:5px 11px 11px}
.pt-left-tools,.pt-right-tools{display:flex;align-items:center;gap:8px}
.pt-tool{width:34px;height:32px;background:transparent;border:0;border-radius:8px;display:grid;place-items:center;color:#94bacf}
.pt-tool:hover{background:#70e8ff12}
.pt-tool svg{width:18px}
.pt-mode{display:flex;gap:7px;align-items:center;color:#8aacbe;font-size:10px;padding-left:7px;border-left:1px solid var(--pt-border)}
.pt-mode svg{width:12px;height:12px}
.pt-send{width:40px;height:36px;display:grid;place-items:center;border:1px solid #b4ffff80;border-radius:10px;background:linear-gradient(140deg,#8affff,#2bd4ed 70%,#52a1ff);color:#003e52;box-shadow:0 0 17px #3be9ff33}
.pt-send svg{width:19px}
.pt-mic.on{color:var(--pt-cyan);background:#17dce91a;box-shadow:0 0 10px #13d9ff33}
.pt-foot{display:flex;justify-content:space-between;color:#647f94;font-size:9px;margin-top:10px;padding:0 3px}
.pt-foot b{font-weight:400;color:#87a7b9}
@keyframes pt-flow { to { transform:translateY(15px) scaleY(1.12); opacity:.6; } }
@media(min-width:1600px) {
 .pt-hero { padding-top:60px; min-height:290px; }
 .pt-action { min-height:125px; }
}
@media(max-height:800px) and (min-width:761px) {
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .window-titlebar { height:60px!important; min-height:60px!important; }
 .pt-hero { min-height:210px; padding-top:30px; padding-bottom:20px; }
 .pt-hero h1 { font-size:35px; }
 .pt-action { min-height:100px; padding:13px; }
 .pt-conversation-head { margin-top:20px; }
}
@container pt-window (max-width:900px) {
 .pt-hero h1 { font-size:32px; }
 .pt-action small { line-height:1.5; }
 .pt-window-tools { gap:7px; }
}
@container pt-window (max-width:600px) {
 :is(#pt-workspace-specificity,.pt-shell).pt-shell > .pt-workspace:has(> .window-sidebar) { flex-direction:column; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell > .pt-workspace > .window-sidebar { display:flex; flex-direction:row; width:100%; min-width:0; max-width:none; max-height:30%; padding:8px; gap:6px; overflow:auto; border-right:0; border-bottom:1px solid var(--pt-border); }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell > .pt-workspace > .window-sidebar .sidebar-item { flex-shrink:0; white-space:nowrap; padding:8px 10px; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell > .pt-workspace > .window-sidebar .sidebar-item span:not(.ico) { display:inline; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .window-titlebar { padding:0 13px!important; height:62px!important; min-height:62px!important; }
 .pt-brand strong { font-size:16px; }
 .pt-brand small { font-size:8px; letter-spacing:2px; }
 .pt-brand > .pt-brand-logo { width:30px!important; height:38px!important; }
 .pt-brand { gap:8px; }
 .pt-window-tools { gap:5px; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-window-tools button { width:28px!important; min-width:28px!important; }
 .pt-mode, .pt-action small, .pt-action .pt-arrow, .pt-foot span:last-child { display:none; }
 .pt-hero { padding-top:32px; min-height:228px; }
 .pt-hero h1 { font-size:28px; letter-spacing:-.6px; }
 .pt-hero p { font-size:12px; max-width:240px; }
 .pt-eyebrow { font-size:8px; letter-spacing:2px; }
 .pt-shortcuts { gap:7px; }
 .pt-action { padding:11px 9px; min-height:93px; }
 .pt-action strong { font-size:11px; }
 .pt-action-top { margin-bottom:14px!important; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg { max-width:calc(100% - 33px); margin-left:33px; padding:13px; font-size:12px; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg.ai:before { left:-33px; width:25px; height:25px; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-chat .msg.user { margin-left:auto; }
 .pt-compose-area { padding-bottom:12px; }
 .pt-foot { font-size:8px; gap:10px; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell .pt-composer #chat-input { font-size:13px; }
 .pt-conversation-head { margin-top:22px; }
}
@media(max-width:600px) {
 :is(#pt-workspace-specificity,.pt-shell).pt-shell:is(#pt-workspace-specificity,.pt-shell).pt-shell { inset:var(--panthorium-safe-area-top,0px) 0 var(--panthorium-shell-dock-clearance,68px) 0!important; width:100vw!important; height:auto!important; max-width:none!important; max-height:none!important; border-radius:0!important; }
 :is(#pt-workspace-specificity,.pt-shell).pt-shell.pt-snapped { inset:var(--panthorium-safe-area-top,0px) 0 var(--panthorium-shell-dock-clearance,68px) 0!important; width:100vw!important; }
 .pt-overlay { padding:20px 12px; }
 .pt-command-panel { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
 :is(#pt-workspace-specificity,.pt-shell).pt-shell *, .pt-overlay * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
