:root{
  --desktop-blue:#0b5aa8;
  --desktop-blue-dark:#084a8a;
  --win-blue:#082a9a;
  --win-gray:#c0c0c0;
  --win-gray-light:#dfdfdf;
  --win-gray-dark:#808080;
  --win-gray-darker:#404040;
  --taskbar-h:42px;
  --font-main:'MS Sans Serif', Tahoma, Geneva, Verdana, sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:var(--font-main);overflow:hidden;background:var(--desktop-blue);cursor:default}
button,input,select{font:inherit}
body{color:#000}
a{text-decoration:none;color:inherit}
.hidden{display:none !important}
.desktop-wallpaper{
  position:fixed;inset:0;
  background:linear-gradient(180deg,var(--desktop-blue) 0%, #0e5da7 100%);
}
.desktop-wallpaper::after{
  content:'';position:absolute;left:0;bottom:0;width:420px;height:220px;opacity:.34;
  background:radial-gradient(circle at 70px 70px, rgba(255,255,255,.35) 0 18px, transparent 19px),
             radial-gradient(circle at 140px 95px, rgba(255,255,255,.22) 0 26px, transparent 27px),
             radial-gradient(circle at 40px 160px, rgba(255,255,255,.16) 0 34px, transparent 35px),
             linear-gradient(160deg, transparent 0 38%, rgba(255,255,255,.28) 39%, transparent 40%),
             linear-gradient(170deg, transparent 0 55%, rgba(255,255,255,.18) 56%, transparent 57%);
}
.boot-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#0000aa;z-index:10000;color:#fff;gap:14px}
.boot-logo-wrap{text-align:center}
.boot-word{font-size:86px;font-style:italic;font-weight:700;line-height:1;text-shadow:7px 7px 0 rgba(0,0,0,.38)}
.boot-sub{font-size:18px;letter-spacing:.3px;margin-top:8px}
.boot-progress{width:min(670px,72vw);height:34px;border:3px solid #fff;background:transparent;padding:3px}
.boot-fill{height:100%;width:0;background:repeating-linear-gradient(90deg,#fff 0 20px,transparent 20px 24px)}
.boot-line{font-size:21px}
body.booting #desktop,
body.booting #taskbar,
body.booting #startMenu,
body.booting #characterDock,
body.booting #petLayer,
body.booting .window{visibility:hidden !important;opacity:0 !important;pointer-events:none !important}
body.booting .boot-screen{visibility:visible !important;opacity:1 !important}
.desktop{position:relative;height:100vh;padding-bottom:var(--taskbar-h);z-index:2}
.pet-layer{position:fixed;inset:0;pointer-events:none;z-index:50}
.window{
  position:absolute;background:var(--win-gray);
  border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;
  box-shadow:1px 1px 0 var(--win-gray-dark), inset -1px -1px 0 var(--win-gray-dark);
  min-width:260px;min-height:120px;z-index:10;
}
.window.hidden{display:none !important}
.window.active{z-index:80}
.titlebar{
  height:24px;background:linear-gradient(90deg,#0a2fb5 0%, #1f69d5 100%);color:#fff;padding:2px 3px 2px 6px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:13px;user-select:none;cursor:move
}
.titlebar .title-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.title-controls{display:flex;gap:2px;margin-left:auto}
.title-btn{
  width:18px;height:18px;padding:0;background:var(--win-gray);border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #000;border-bottom:1px solid #000;cursor:pointer;
  font-size:12px;font-weight:700;line-height:1
}
.menubar{padding:4px 8px;border-top:1px solid var(--win-gray-light);border-bottom:1px solid var(--win-gray-dark);background:var(--win-gray);font-size:12px}
.window-body{position:absolute;left:0;right:0;top:24px;bottom:0;padding:10px;background:var(--win-gray);overflow:auto}
.window .menubar + .window-body{top:48px}
.no-scroll{overflow:hidden}
.scrollable{overflow:auto}
.group-window .window-body{background:#c7c7c7}
.merged-main-grid{
  display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));grid-auto-rows:98px;gap:10px 8px;align-content:start;padding:16px 18px 12px
}
.blue-group{background:#c7c7c7}
.icon-btn{
  border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:4px 2px;cursor:pointer;color:#000
}
.icon-btn img{width:34px;height:34px;object-fit:contain;image-rendering:auto}
.icon-btn span{text-align:center;font-size:12px;line-height:1.2;max-width:110px}
.icon-btn:hover span{text-decoration:underline}
.doc-window-body,.game-window-body{padding:0}
.doc-frame,.game-frame{width:100%;height:100%;border:0;background:#fff}
.command-body{display:flex;flex-direction:column;gap:10px;background:#c0c0c0;padding:10px}
.terminal{flex:1;background:#000;color:#7cff7c;border:2px inset #999;padding:8px;font-family:'Courier New',monospace;font-size:14px;overflow:auto;white-space:pre-wrap}
.cmd-row{display:flex;align-items:center;gap:8px;font-family:'Courier New',monospace}
.cmd-row input{flex:1;padding:6px;border:2px inset #aaa;background:#fff}
.cmd-help{font-size:12px}
.ui-btn{
  background:var(--win-gray);padding:6px 12px;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;cursor:pointer
}
.ui-btn:active{border-top-color:#000;border-left-color:#000;border-right-color:#fff;border-bottom-color:#fff}
.contract-body{display:flex;gap:16px;align-items:center;padding:18px}
.contract-icon img{width:54px;height:54px}
.contract-copy{display:flex;flex-direction:column;gap:8px;flex:1}
.contract-copy input{width:100%;padding:7px;border:2px inset #aaa;background:#fff}
#contractCopied{font-size:12px}
.prody-body{display:flex;flex-direction:column;gap:8px;padding:10px;background:#c0c0c0}
.prody-session-label,.prody-response-label{font-size:12px}
.prody-voice-toggle{position:absolute;top:12px;right:12px;font-size:12px}
.prody-log{height:128px;border:2px inset #999;background:#efefef;padding:8px;font-family:'Courier New',monospace;overflow:auto;white-space:pre-wrap}
.prody-response-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}
.prody-response-row input{padding:7px;border:2px inset #999}
.prody-toolbar-grid{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:start}
.panel-avatar{display:flex;align-items:center;justify-content:center;border:2px inset #999;background:#efefef;min-height:90px}
.panel-avatar img{max-width:70px;max-height:70px;object-fit:contain}
.prody-actions{display:grid;grid-template-columns:160px 1fr;gap:10px}
.prody-side-tools,.prody-quick-grid{display:grid;gap:8px}
.prody-quick-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
.removed-pet-body{display:flex;flex-direction:column;gap:10px;padding:12px}
.Removed Pet-preview{display:flex;align-items:center;justify-content:center;height:80px;border:2px inset #999;background:#efefef}
.Removed Pet-preview img{width:70px;height:70px;object-fit:contain}
.Removed Pet-actions{display:flex;flex-wrap:wrap;gap:8px}
.pet-help{font-size:12px}
.pet-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pet-gallery .ui-btn{padding:8px}
.bonzi-mini-body{display:flex;flex-direction:column;gap:10px;padding:12px}
.bonzi-mini-row{display:flex;gap:8px;align-items:center}
.bonzi-mini-row select{flex:1;padding:6px;border:2px inset #999;background:#fff}
.bonzi-mini-chat{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.bonzi-mini-chat .bonzi-chat-title,.bonzi-mini-chat label{grid-column:1/-1;font-size:12px}
.bonzi-mini-chat input{padding:7px;border:2px inset #999}
.bonzi-mini-reply,.bonzi-ai-log{border:2px inset #999;background:#efefef;padding:8px;min-height:42px}
.clippy-body,.wizard-body,.rover-body{display:flex;flex-direction:column;gap:12px;padding:14px}
.clippy-scene,.wizard-scene,.rover-scene{display:grid;grid-template-columns:98px 1fr;gap:12px;align-items:center}
.clippy-avatar,.wizard-avatar,.rover-avatar{width:92px;height:92px;object-fit:contain;background:transparent;display:block}
.clippy-bubble,.wizard-bubble,.rover-bubble{background:#fffad0;border:2px solid #444;border-radius:14px;padding:12px 14px;position:relative;line-height:1.35}
.clippy-bubble::after,.wizard-bubble::after,.rover-bubble::after{content:'';position:absolute;left:20px;bottom:-12px;border:6px solid transparent;border-top-color:#444}
.clippy-bubble::before,.wizard-bubble::before,.rover-bubble::before{content:'';position:absolute;left:20px;bottom:-9px;border:6px solid transparent;border-top-color:#fffad0;z-index:1}
.clippy-row,.wizard-actions{display:flex;gap:8px;align-items:center}
.clippy-row input{flex:1;padding:7px;border:2px inset #999}
.clock-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#cfcfcf}
.clock-face{width:132px;height:132px;border-radius:50%;border:6px ridge #eee;position:relative;background:#fff;box-shadow:inset 0 0 0 2px #777}
.clock-face::before{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#000;border-radius:50%}
.clock-face b{position:absolute;left:50%;bottom:50%;transform-origin:bottom center;width:4px;background:#000;display:block;border-radius:2px}
#hourHand{height:34px;transform:translateX(-50%) rotate(0deg)}
#minuteHand{height:48px;transform:translateX(-50%) rotate(0deg)}
.digital-clock{font-size:20px;font-weight:700}
.paint-body{display:flex;flex-direction:column;gap:8px;padding:10px}
.button-row{display:flex;gap:8px;flex-wrap:wrap}
#paintCanvas{flex:1;border:2px inset #999;background:#fff;width:100%;height:100%}
.filemanager{display:flex;flex-direction:column;gap:8px;padding:8px}
.fm-toolbar,.statusbar{display:flex;align-items:center;gap:8px;font-size:12px}
.fm-toolbar .path,.statusbar span:last-child{margin-left:auto}
.fm-content{display:grid;grid-template-columns:150px 1fr;gap:8px;min-height:250px;flex:1}
.fm-tree,.fm-list{border:2px inset #999;background:#fff;padding:8px;overflow:auto}
.fm-tree{display:flex;flex-direction:column;gap:4px}
.fm-tree button,.fm-file{background:#fff;border:none;text-align:left;padding:4px 6px;cursor:pointer;font:inherit}
.fm-tree button.active,.fm-file:hover{background:#0b5aa8;color:#fff}
.fm-file{display:grid;grid-template-columns:22px 1fr 60px 58px;align-items:center;gap:8px;border-bottom:1px solid #ddd}
.fm-file img{width:18px;height:18px;object-fit:contain}
.chart-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}
.chart-grid a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px outset #ddd;background:#efefef}
.chart-grid img{width:56px;height:56px;object-fit:contain}
.assistant-selector{padding:14px}
.assistant-copy{margin-bottom:12px;font-size:13px;line-height:1.35}
.assistant-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.assistant-card{display:grid;grid-template-columns:60px 1fr;gap:10px;background:#efefef;border:2px outset #ddd;padding:10px}
.assistant-card img{width:52px;height:52px;object-fit:contain;align-self:start}
.assistant-card h4{margin:0 0 4px;font-size:14px}
.assistant-card p{margin:0;font-size:12px;line-height:1.3}
.assistant-card .assistant-use{margin-top:5px;color:#123d7b;font-weight:700}
.taskbar{
  position:fixed;left:0;right:0;bottom:0;height:var(--taskbar-h);background:#c0c0c0;border-top:2px solid #fff;box-shadow:inset 0 1px 0 #dfdfdf;display:flex;align-items:center;padding:3px 4px;gap:6px;z-index:200
}
.start-btn,.task-btn{
  height:32px;background:var(--win-gray);border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;display:flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer;font-weight:700
}
.start-btn img{width:18px;height:18px;object-fit:contain}
.task-list{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:auto hidden}
.task-btn{font-weight:400;min-width:120px;max-width:200px;justify-content:flex-start}
.task-btn.active{background:#dadada;border-top-color:#000;border-left-color:#000;border-right-color:#fff;border-bottom-color:#fff}
.task-clock{min-width:118px;height:30px;border:2px inset #9a9a9a;display:flex;align-items:center;justify-content:center;background:#dcdcdc;font-weight:700}
.start-menu{
  position:fixed;left:0;bottom:var(--taskbar-h);display:flex;min-width:340px;z-index:250;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;background:#c0c0c0;
}
.start-sideband{width:46px;background:linear-gradient(180deg,#0f49a9,#0a2f77);color:#fff;display:flex;align-items:flex-end;justify-content:center;padding:10px 0}
.start-band-wrap{writing-mode:vertical-rl;transform:rotate(180deg);font-size:22px;font-weight:700;letter-spacing:.6px}
.start-band-wrap i{font-style:normal;color:#dfe8ff}
.start-mainpanel{position:relative;display:flex;flex-direction:column;min-width:292px;padding:4px}
.start-item{position:relative;display:grid;grid-template-columns:24px 1fr 18px;align-items:center;gap:8px;min-height:34px;padding:4px 10px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:14px}
.start-item img{width:20px;height:20px;object-fit:contain}
.start-item .menu-arrow{justify-self:end;font-size:12px}
.start-item:hover,.start-item.hovering{background:#0b2dbf;color:#fff}
.start-item:not(.has-submenu) .menu-arrow{visibility:hidden}
.start-separator{height:2px;margin:4px 2px;background:#8f8f8f;box-shadow:0 1px 0 #fff}
.start-submenu{
  position:absolute;left:100%;top:0;min-width:284px;background:#c0c0c0;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #000;border-bottom:2px solid #000;padding:4px;display:none;z-index:280
}
.start-submenu.open{display:block}
.start-mainpanel > .start-submenu{left:100%;top:4px}
.start-item.hovering + .start-submenu{display:block}
#characterDock{
  position:fixed;left:0;right:0;bottom:calc(var(--taskbar-h) + 6px);height:108px;display:flex;justify-content:center;align-items:flex-end;gap:24px;padding:0 20px;z-index:120;pointer-events:none
}
.desk-character{position:relative;width:88px;height:96px;pointer-events:auto;display:flex;align-items:flex-end;justify-content:center}
.desk-character button{appearance:none;border:none;background:transparent;padding:0;cursor:pointer;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}
.desk-character img{max-width:86px;max-height:86px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.desk-character.is-slim img{max-width:70px}
.char-bubble{
  position:absolute;bottom:88px;left:50%;transform:translateX(-50%);min-width:150px;max-width:210px;background:#fffad0;border:2px solid #444;border-radius:12px;padding:8px 10px;font-size:12px;line-height:1.25;display:none;box-shadow:2px 2px 0 rgba(0,0,0,.2)
}
.char-bubble::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:-12px;border:6px solid transparent;border-top-color:#444}
.char-bubble::before{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:-9px;border:6px solid transparent;border-top-color:#fffad0;z-index:1}
.desk-character:hover .char-bubble,.desk-character.show-bubble .char-bubble{display:block}
.removed-pet-runner{position:fixed;bottom:calc(var(--taskbar-h) + 4px);left:0;width:56px;height:56px;z-index:130;pointer-events:none}
.removed-pet-runner img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}
.window-mascot{position:absolute;right:8px;bottom:6px;width:32px;height:32px;pointer-events:none;opacity:.9}
.window-mascot img{width:100%;height:100%;object-fit:contain}
.speech-bubble{position:fixed;z-index:500;pointer-events:none;background:#fffad0;border:2px solid #444;padding:8px 10px;border-radius:12px;max-width:200px;font-size:12px;box-shadow:2px 2px 0 rgba(0,0,0,.18)}
@media (max-width:1100px){
  .merged-main-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}
  .assistant-cards{grid-template-columns:1fr}
}
@media (max-width:850px){
  .start-menu{transform:scale(.88);transform-origin:left bottom}
  #characterDock{gap:10px;padding:0 10px;justify-content:space-around}
  .desk-character{width:68px}
  .desk-character img{max-width:62px;max-height:62px}
}

/* === v50 compact Windows 90s layout + original agent dock === */
:root{--taskbar-h:32px;}
.taskbar{height:32px;padding:2px 3px;gap:4px}
.start-btn,.task-btn{height:26px;min-height:26px;padding:0 8px;font-size:13px}
.start-btn img{width:16px;height:16px}.task-clock{height:26px;min-width:98px;font-size:14px}.task-btn{min-width:110px;max-width:170px}
#win-main{max-width:920px!important;min-width:760px!important;min-height:384px!important}
.merged-main-grid{grid-template-columns:repeat(5,minmax(96px,1fr))!important;grid-auto-rows:82px!important;gap:6px 4px!important;padding:14px 14px 8px!important}
.icon-btn{width:100px!important;min-height:74px!important;gap:4px!important}.icon-btn img{width:32px!important;height:32px!important}.icon-btn span{font-size:12px!important;line-height:1.1!important}
.window-body{top:24px}.window .menubar + .window-body{top:46px}.titlebar{height:24px;font-size:13px}.menubar{padding:3px 7px;font-size:12px}
.start-menu{bottom:32px!important;min-width:250px!important;width:250px!important;max-width:250px!important;min-height:0!important}
.start-sideband{width:34px!important;flex:0 0 34px!important;padding:6px 0!important}.start-band-wrap{font-size:20px!important}.start-band-wrap b{font-size:22px!important}.start-band-wrap i{font-size:14px!important}
.start-mainpanel{min-width:214px!important;padding:3px!important}.start-item{min-height:27px!important;height:27px!important;font-size:12px!important;grid-template-columns:20px 1fr 12px!important;padding:2px 7px!important;gap:6px!important}.start-item img{width:18px!important;height:18px!important}
.start-submenu{min-width:220px!important;padding:3px!important}.programs-submenu{min-width:230px!important}.assistant-submenu{min-width:220px!important}
#characterDock{height:82px!important;bottom:calc(var(--taskbar-h) + 2px)!important;gap:10px!important;padding:0 8px!important;z-index:155!important;align-items:flex-end}
.desk-character{width:62px!important;height:78px!important}.desk-character img{max-width:58px!important;max-height:62px!important}.desk-character.agent-loaded .fallback-agent{opacity:0!important;visibility:hidden!important}.desk-character button{height:78px!important}
.char-bubble{bottom:74px!important;min-width:148px!important;max-width:190px!important;font-size:11px!important;line-height:1.2!important;padding:7px 9px!important;z-index:300!important}
.removed-pet-runner{bottom:calc(var(--taskbar-h) + 1px)!important;width:42px!important;height:42px!important;z-index:150!important}.removed-pet-runner img{width:42px!important;height:42px!important}
.prody-body{gap:6px!important;padding:8px!important}.prody-log{height:82px!important}.prody-toolbar-grid{grid-template-columns:74px 1fr!important}.panel-avatar{min-height:72px!important}.panel-avatar img{max-width:62px!important;max-height:62px!important}.prody-actions{grid-template-columns:130px 1fr!important}.prody-side-tools,.prody-quick-grid{gap:5px!important}.prody-response-row{gap:6px!important}.prody-response-row input{padding:5px!important}.ui-btn{padding:4px 8px!important}
.bonzi-mini-body,.clippy-body,.wizard-body,.rover-body{padding:10px!important;gap:8px!important}.clippy-scene,.wizard-scene,.rover-scene{grid-template-columns:76px 1fr!important}.clippy-avatar,.wizard-avatar,.rover-avatar{width:72px!important;height:72px!important}.clippy-bubble,.wizard-bubble,.rover-bubble{padding:9px 11px!important;font-size:12px!important}
.assistant-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.assistant-card{grid-template-columns:46px 1fr!important;padding:8px!important}.assistant-card img{width:40px!important;height:40px!important}.assistant-card h4{font-size:13px!important}.assistant-card p{font-size:11px!important}
body.booting [data-petos-agent], body.booting #characterDock, body.booting #removed-petRunner{display:none!important;opacity:0!important;visibility:hidden!important}
@media (max-width:1100px){#characterDock{gap:4px!important}.desk-character{width:52px!important}.desk-character img{max-width:50px!important;max-height:54px!important}}

/* v2 compact retro refinements */
:root{--taskbar-h:32px}
.taskbar{height:32px;padding:2px 3px;gap:4px}
.start-btn,.task-btn{height:26px;padding:0 8px;font-size:13px}
.task-clock{height:26px;min-width:96px;font-size:14px}
.task-list{gap:3px}
#win-main .titlebar{height:22px}
#win-main .window-body{top:22px}
.window{min-width:220px;min-height:100px}
.titlebar{height:22px;font-size:12px;padding:2px 3px 2px 5px}
.title-btn{width:16px;height:16px;font-size:11px}
.window-body{top:22px}
.window .menubar + .window-body{top:45px}
.menubar{padding:3px 7px;font-size:12px}
#win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(104px,1fr));grid-auto-rows:82px;gap:6px 6px;padding:14px 16px 10px}
#win-main .icon-btn{min-height:74px;width:96px;gap:4px}
#win-main .icon-btn img{width:32px;height:32px}
#win-main .icon-btn span{font-size:12px;line-height:1.1}
.prody-log{height:82px;font-size:12px}
.prody-body{gap:6px;padding:8px;overflow:hidden}
.prody-toolbar-grid{grid-template-columns:70px 1fr;gap:8px}
.panel-avatar{min-height:62px}.panel-avatar img{max-width:58px;max-height:58px}
.prody-actions{grid-template-columns:130px 1fr;gap:6px}.prody-side-tools,.prody-quick-grid{gap:5px}.prody-quick-grid .ui-btn,.prody-side-tools .ui-btn{padding:3px 6px;font-size:12px}
.prody-response-row{grid-template-columns:1fr 72px 56px;gap:6px}.prody-response-row input{padding:5px}
.bonzi-mini-body,.clippy-body,.wizard-body,.rover-body{padding:10px;gap:8px}
.start-menu{min-width:246px;bottom:32px;transform:none}
.start-sideband{width:34px}.start-band-wrap{font-size:18px}.start-band-wrap b{font-size:23px}.start-band-wrap i{font-size:16px}
.start-mainpanel{min-width:210px;padding:3px}.start-item{grid-template-columns:20px 1fr 14px;min-height:27px;height:27px;padding:2px 7px;font-size:12px;gap:6px}.start-item img{width:18px;height:18px}
.start-submenu{min-width:238px;padding:3px}.programs-submenu{min-width:248px}.assistant-submenu{min-width:238px}
#characterDock{bottom:32px;height:86px;gap:12px;padding:0 10px;z-index:150}
.desk-character{width:72px;height:78px}
.desk-character img{max-width:62px;max-height:62px}
.desk-character.is-slim img{max-width:54px}
.desk-character.agent-loaded .dock-fallback{opacity:0;visibility:hidden}
.petos-agent{z-index:155!important;transform-origin:center bottom!important}
.char-bubble{bottom:68px;min-width:138px;max-width:190px;font-size:11px;padding:7px 8px}
.removed-pet-runner{bottom:34px;width:42px;height:42px}.removed-pet-runner img{width:42px;height:42px}
.window-mascot{width:30px;height:30px;right:auto;bottom:auto;z-index:4}
.assistant-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assistant-card{grid-template-columns:52px 1fr;padding:8px}.assistant-card img{width:46px;height:46px}.assistant-card h4{font-size:13px}.assistant-card p{font-size:11px}
body.booting #taskbar,body.booting #characterDock,body.booting .petos-agent,body.booting .removed-pet-runner{display:none!important}
@media(max-width:980px){#win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(90px,1fr));grid-auto-rows:78px}.desk-character{width:58px}.desk-character img{max-width:52px;max-height:52px}#characterDock{gap:4px}.petos-agent{transform:scale(.86)!important}}

/* hotfix: boot screen wider + stronger retro Windows 3.1 look */
.boot-screen{
  gap:18px;
  background:#0000aa;
}
.boot-screen::before{
  content:'';
  position:absolute;
  width:min(960px,88vw);
  height:min(360px,62vh);
  border-top:2px solid #ffffff;
  border-left:2px solid #ffffff;
  border-right:2px solid #000000;
  border-bottom:2px solid #000000;
  box-shadow:inset -1px -1px 0 #808080, inset 1px 1px 0 #dfdfdf;
  background:rgba(0,0,170,0.18);
}
.boot-logo-wrap,.boot-progress,.boot-line{position:relative;z-index:1}
.boot-word{
  font-size:98px;
  letter-spacing:-2px;
  text-shadow:8px 8px 0 rgba(0,0,0,.42);
}
.boot-sub{
  font-size:20px;
}
.boot-progress{
  width:min(860px,82vw);
  height:40px;
  padding:4px;
  border-top:2px solid #ffffff;
  border-left:2px solid #ffffff;
  border-right:2px solid #000000;
  border-bottom:2px solid #000000;
  background:#00007a;
}
.boot-fill{
  background:repeating-linear-gradient(90deg,#ffffff 0 22px, transparent 22px 26px);
}
.boot-line{
  font-size:22px;
  text-align:center;
  min-width:min(860px,82vw);
}
body.booting #desktop,
body.booting #taskbar,
body.booting #startMenu,
body.booting #characterDock,
body.booting #petLayer,
body.booting .window,
body.booting .petos-agent,
body.booting .removed-pet-runner{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* === v53 final compact retro cleanup === */
:root{--taskbar-h:30px}
.boot-screen{gap:12px!important;background:#0000aa!important}
.boot-screen::before{content:none!important;display:none!important}
.boot-word{font-size:74px!important;text-shadow:5px 5px 0 rgba(0,0,0,.38)!important}
.boot-sub{font-size:15px!important;margin-top:2px!important}
.boot-progress{width:min(760px,66vw)!important;height:24px!important;padding:2px!important;border:2px solid #fff!important;background:#00008f!important;box-shadow:none!important}
.boot-fill{transition:width .12s linear!important;background:repeating-linear-gradient(90deg,#fff 0 14px,#d9d9ff 14px 18px,transparent 18px 20px)!important}
.boot-line{font-size:18px!important;min-width:0!important;text-align:center!important}
.window{min-width:220px!important;min-height:110px!important;box-shadow:1px 1px 0 #808080, inset -1px -1px 0 #808080!important}
.titlebar{height:20px!important;padding:1px 3px 1px 5px!important;font-size:12px!important}
.title-btn{width:16px!important;height:16px!important;font-size:11px!important}
.menubar{padding:3px 6px!important;font-size:11px!important}
.window-body{top:20px!important;padding:8px!important;font-size:12px!important}
.window .menubar + .window-body{top:40px!important}
.merged-main-grid{grid-template-columns:repeat(5,minmax(84px,1fr))!important;grid-auto-rows:72px!important;gap:4px 4px!important;padding:10px!important}
.icon-btn{gap:4px!important;padding:2px 1px!important}
.icon-btn img{width:30px!important;height:30px!important}
.icon-btn span{font-size:11px!important;max-width:92px!important}
.prody-body,.bonzi-mini-body,.assistant-selector,.paint-body,.command-body,.filemanager,.clippy-body,.wizard-body,.rover-body,.agent-mini-body{padding:8px!important;gap:8px!important}
.prody-log{height:86px!important;font-size:12px!important}
.prody-toolbar-grid{grid-template-columns:72px 1fr!important;gap:8px!important}
.panel-avatar{min-height:70px!important}.panel-avatar img{max-width:56px!important;max-height:56px!important}
.prody-actions{grid-template-columns:140px 1fr!important;gap:8px!important}
.prody-quick-grid,.pet-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{grid-template-columns:76px 1fr!important;gap:10px!important}
.clippy-avatar,.wizard-avatar,.rover-avatar,.agent-mini-icon{width:68px!important;height:68px!important}
.clippy-bubble,.wizard-bubble,.rover-bubble,.agent-mini-bubble{font-size:12px!important;padding:10px 12px!important;border-radius:12px!important;line-height:1.3!important;background:#fffad0!important;border:2px solid #444!important}
.clippy-row input,.cmd-row input,.contract-copy input,.bonzi-mini-chat input,.prody-response-row input{padding:5px 6px!important}
.ui-btn{padding:4px 10px!important;font-size:12px!important}
.fm-content{grid-template-columns:132px 1fr!important;min-height:220px!important}
.fm-file{grid-template-columns:20px 1fr 54px 46px!important;font-size:11px!important;gap:6px!important}
.chart-grid{padding:12px!important;gap:8px!important}.chart-grid img{width:46px!important;height:46px!important}
.assistant-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.assistant-card{padding:8px!important}.assistant-card img{width:44px!important;height:44px!important}.assistant-card h4{font-size:13px!important}.assistant-card p{font-size:11px!important}
.taskbar{height:30px!important;padding:2px 3px!important;gap:4px!important}
.start-btn,.task-btn{height:26px!important;padding:0 8px!important;font-size:12px!important}.start-btn img{width:16px!important;height:16px!important}.task-btn{min-width:104px!important;max-width:160px!important}
.task-clock{min-width:96px!important;height:24px!important;font-size:11px!important}
.start-menu{min-width:236px!important;bottom:var(--taskbar-h)!important}
.start-sideband{width:36px!important;padding:8px 0!important}.start-band-wrap{font-size:18px!important}
.start-mainpanel{min-width:200px!important;padding:3px!important}
.start-item{grid-template-columns:18px 1fr 12px!important;min-height:26px!important;padding:3px 8px!important;gap:6px!important;font-size:12px!important}.start-item img{width:16px!important;height:16px!important}
.start-submenu{min-width:210px!important;padding:3px!important}
#characterDock{bottom:calc(var(--taskbar-h) + 2px)!important;height:74px!important;gap:8px!important;padding:0 8px!important;z-index:150!important}
.desk-character{width:56px!important;height:70px!important}
.desk-character button{height:70px!important}
.desk-character img{max-width:48px!important;max-height:48px!important;image-rendering:auto!important}
.desk-character.is-slim img{max-width:40px!important}
.dock-fallback{animation:retroBob 2.2s ease-in-out infinite}
.desk-character:nth-child(2) .dock-fallback{animation-delay:.12s}.desk-character:nth-child(3) .dock-fallback{animation-delay:.24s}.desk-character:nth-child(4) .dock-fallback{animation-delay:.36s}.desk-character:nth-child(5) .dock-fallback{animation-delay:.48s}.desk-character:nth-child(6) .dock-fallback{animation-delay:.60s}.desk-character:nth-child(7) .dock-fallback{animation-delay:.72s}.desk-character:nth-child(8) .dock-fallback{animation-delay:.84s}.desk-character:nth-child(9) .dock-fallback{animation-delay:.96s}.desk-character:nth-child(10) .dock-fallback{animation-delay:1.08s}
.char-bubble{bottom:54px!important;min-width:128px!important;max-width:180px!important;padding:6px 8px!important;font-size:11px!important}
.petos-agent{transform:scale(.8)!important;transform-origin:center bottom!important}
.removed-pet-runner{bottom:calc(var(--taskbar-h) + 1px)!important;width:38px!important;height:38px!important;z-index:151!important}.removed-pet-runner img{width:38px!important;height:38px!important}
.window-mascot{right:6px!important;bottom:4px!important;width:24px!important;height:24px!important;opacity:.9!important}
@keyframes retroBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media (max-width:980px){.merged-main-grid{grid-template-columns:repeat(4,minmax(78px,1fr))!important}.assistant-cards{grid-template-columns:1fr!important}#characterDock{gap:4px!important}.desk-character{width:46px!important}.desk-character img{max-width:40px!important;max-height:40px!important}.start-menu{transform:scale(.94)!important;transform-origin:left bottom!important}}


/* ==== v54 local retro polish ==== */
:root{--taskbar-h:30px;--dock-lane:86px}
body.theme-98 .desktop-wallpaper{background:linear-gradient(180deg,#1c62b0 0%,#17569f 100%)}
body.theme-31 .desktop-wallpaper{background:#008080}
body.theme-31 .desktop-wallpaper::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 0,rgba(255,255,255,.03) 50%,transparent 100%);pointer-events:none}
body.theme-31 .window{box-shadow:none;border:2px solid #000}
body.theme-31 .titlebar{background:#000080}
body.theme-31 .start-sideband{background:linear-gradient(180deg,#808080,#5e5e5e)}
body.theme-31 .start-mainpanel,body.theme-31 .start-submenu{background:#c0c0c0}
body.theme-31 .taskbar{background:#c0c0c0}
body.theme-31 .start-btn,body.theme-31 .task-btn,body.theme-31 .task-clock{box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #555}
.boot-screen{padding:0 24px!important}
.boot-logo-wrap{display:flex;flex-direction:column;align-items:center}
.boot-progress{width:min(860px,72vw)!important;height:22px!important;padding:2px!important;background:#00008f!important;border:2px solid #fff!important;box-shadow:none!important}
.boot-fill{height:100%!important;background:repeating-linear-gradient(90deg,#fff 0 18px,#dbdbff 18px 22px,transparent 22px 24px)!important;transition:width .06s linear!important}
.boot-line{font-size:18px!important}
.window{border:2px solid #000!important;box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #6b6b6b!important}
#win-main{min-width:920px!important;min-height:500px!important;max-width:1040px!important}
#win-main .window-body{padding:10px!important}
#win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(90px,1fr))!important;grid-auto-rows:64px!important;gap:6px 8px!important;padding:8px 10px 12px!important;align-content:start}
#win-main .icon-btn{gap:3px!important}
#win-main .icon-btn img{width:30px!important;height:30px!important}
#win-main .icon-btn span{font-size:11px!important;line-height:1.15!important;max-width:96px!important}
.group-window .window-body{overflow:hidden!important}
.taskbar{height:30px!important;padding:2px 4px!important;z-index:220!important}
.start-btn,.task-btn{height:25px!important}
.task-clock{height:24px!important}
.start-menu{bottom:30px!important;min-width:208px!important;max-width:220px!important;z-index:230!important}
.start-mainpanel{min-width:176px!important}
.start-item{min-height:24px!important;padding:3px 7px!important}
.start-submenu{min-width:184px!important}
#characterDock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--taskbar-h) + 18px)!important;height:76px!important;display:flex;align-items:flex-end;justify-content:center;gap:10px!important;padding:0 10px!important;z-index:200!important;pointer-events:none;width:auto!important;max-width:calc(100vw - 150px)}
.desk-character{width:58px!important;height:74px!important;display:flex;align-items:flex-end;justify-content:center;pointer-events:auto;flex:0 0 auto}
.desk-character button{display:flex;align-items:flex-end;justify-content:center;width:100%;height:74px!important}
.desk-character img{max-width:52px!important;max-height:58px!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4))}
.desk-character.is-slim img{max-width:40px!important}
.dock-fallback{animation:agentFloat 2.5s ease-in-out infinite}
.desk-character:nth-child(2) .dock-fallback{animation-delay:.12s}.desk-character:nth-child(3) .dock-fallback{animation-delay:.25s}.desk-character:nth-child(4) .dock-fallback{animation-delay:.38s}.desk-character:nth-child(5) .dock-fallback{animation-delay:.51s}.desk-character:nth-child(6) .dock-fallback{animation-delay:.64s}.desk-character:nth-child(7) .dock-fallback{animation-delay:.77s}.desk-character:nth-child(8) .dock-fallback{animation-delay:.90s}.desk-character:nth-child(9) .dock-fallback{animation-delay:1.03s}.desk-character:nth-child(10) .dock-fallback{animation-delay:1.16s}
.char-bubble{bottom:60px!important;font-size:11px!important;z-index:210!important}
.removed-pet-runner{bottom:calc(var(--taskbar-h) + 76px)!important;width:46px!important;height:46px!important;z-index:205!important}
.removed-pet-runner img{width:46px!important;height:46px!important}
.shimeji-pet{position:fixed;bottom:calc(var(--taskbar-h) + 72px);width:80px;height:80px;z-index:204;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;transform-origin:center bottom;filter:drop-shadow(0 2px 2px rgba(0,0,0,.32))}
.shimeji-pet img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}
.shimeji-pet.classic img{width:76px;height:76px}
.shimeji-pet.ee img{width:84px;height:84px}
body.booting .shimeji-pet{display:none!important}
.titlebar{height:20px!important}
.window-body{font-size:12px!important}
.filemanager .window-body,.doc-window-body,.paint-body,.command-body,.assistant-selector,.prody-body,.bonzi-mini-body,.clippy-body,.wizard-body,.rover-body,.agent-mini-body{font-size:12px!important}
.assistant-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pet-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.window-mascot{display:none!important}
@keyframes agentFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width: 1200px){#win-main{min-width:860px!important}#win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(82px,1fr))!important;gap:4px 6px!important}.desk-character{width:54px!important}.desk-character img{max-width:46px!important;max-height:52px!important}#characterDock{gap:6px!important}}
@media (max-width: 980px){#win-main{min-width:740px!important}#win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(82px,1fr))!important;grid-auto-rows:66px!important}.start-menu{transform:scale(.96);transform-origin:left bottom}.shimeji-pet{width:68px;height:68px}.shimeji-pet img{width:68px!important;height:68px!important}}

/* v55 compact retro refresh */
:root{--taskbar-h:30px}
#bootScreen{background:#0000aa!important}
.boot-logo-wrap{margin-bottom:18px!important}
.boot-word.pixel-word{font-size:88px!important;line-height:1!important;letter-spacing:-2px!important;text-shadow:6px 6px 0 rgba(0,0,0,.34)!important}
.boot-progress{width:min(760px,72vw)!important;height:24px!important;border:2px solid #fff!important;background:#00008c!important;box-shadow:2px 2px 0 #000!important}
.boot-fill{background:repeating-linear-gradient(90deg,#fff 0 22px,transparent 22px 30px)!important;transition:width .12s linear!important}
body.theme-31 #bootScreen .boot-frame, #bootScreen .boot-frame{display:none!important}
.boot-line,.boot-sub{font-size:24px!important;color:#fff!important}

#taskbar{height:30px!important;align-items:center!important;padding:2px 4px!important;gap:6px!important}
.start-btn,.task-btn{height:24px!important;min-height:24px!important;font-size:12px!important;padding:0 7px!important;display:flex!important;align-items:center!important;gap:6px!important}
.start-btn{min-width:82px!important;font-weight:700!important}
.task-list{gap:4px!important;align-items:center!important}
.task-btn{min-width:118px!important;max-width:164px!important;justify-content:space-between!important}
.task-btn .task-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:116px;text-align:left}
.task-btn .task-close{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:11px;line-height:1;border:1px solid #7f7f7f;background:#c7c7c7;box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 #555;flex:0 0 auto}
.task-btn.active .task-close{background:#ddd}
.task-clock{height:24px!important;min-width:92px!important;font-size:12px!important;padding:0 8px!important}

.start-menu{bottom:30px!important;min-width:220px!important;max-width:220px!important;width:220px!important;transform:none!important;z-index:300!important}
.start-sideband{width:28px!important}
.start-band-wrap{font-size:12px!important;letter-spacing:.3px!important}
.start-item{min-height:28px!important;padding:4px 7px!important;font-size:12px!important}
.start-item img{width:18px!important;height:18px!important}
.start-submenu{min-width:214px!important}
body.theme-31 .start-menu{min-width:214px!important;max-width:214px!important;width:214px!important}
body.theme-31 .start-sideband{display:none!important}
body.theme-31 .start-mainpanel{border-left:none!important}

.window{border-width:2px!important}
.window .titlebar{height:22px!important;padding:2px 4px!important;font-size:11px!important}
.window .title-controls .title-btn{width:18px!important;height:16px!important;font-size:12px!important}
.menubar{height:20px!important;font-size:12px!important;padding:1px 6px!important}
.window-body{padding:8px!important}

#win-main{min-width:760px!important;max-width:900px!important;min-height:360px!important;max-height:480px!important}
body.theme-31 #win-main{max-width:850px!important}
#win-main .window-body{padding:10px 14px 12px!important}
#win-main .merged-main-grid{display:grid!important;grid-template-columns:repeat(5,minmax(92px,1fr))!important;grid-auto-rows:72px!important;gap:8px 12px!important;align-content:start!important}
body.theme-31 #win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(86px,1fr))!important;grid-auto-rows:68px!important}
#win-main .icon-btn{padding:2px 4px!important;gap:6px!important;min-width:auto!important}
#win-main .icon-btn img{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important}
#win-main .icon-btn span{font-size:12px!important;line-height:1.1!important;text-align:center!important}

#characterDock{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--taskbar-h) + 24px)!important;height:96px!important;display:flex;align-items:flex-end;justify-content:center;gap:14px!important;padding:0 12px!important;z-index:230!important;pointer-events:none;width:auto!important;max-width:calc(100vw - 64px)!important}
.desk-character{position:relative;width:72px!important;height:92px!important;overflow:visible!important;pointer-events:auto;transform-origin:center bottom;will-change:transform}
.desk-character button{width:72px!important;height:92px!important;display:flex;align-items:flex-end;justify-content:center}
.desk-character img{max-width:68px!important;max-height:78px!important;object-fit:contain!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.38))!important}
.desk-character.is-slim img{max-width:54px!important;max-height:76px!important}
.char-bubble{bottom:82px!important;font-size:11px!important;max-width:180px!important}

.removed-pet-runner{bottom:calc(var(--taskbar-h) + 62px)!important;width:74px!important;height:74px!important;z-index:224!important;transform-origin:center bottom!important}
.removed-pet-runner img{width:74px!important;height:74px!important}

.shimeji-pet{bottom:calc(var(--taskbar-h) + 88px)!important;width:102px!important;height:102px!important;z-index:226!important;transform-origin:center bottom!important}
.shimeji-pet.classic img{width:96px!important;height:96px!important}
.shimeji-pet.ee img{width:102px!important;height:102px!important}
.window-mascot{width:34px!important;height:34px!important}
.window-mascot img{width:34px!important;height:34px!important}
#oneko{z-index:228!important}

#win-prody,#win-dogz,#win-clippy,#win-merlin,#win-rover,#win-links,#win-genius,#win-f1,#win-genie,#win-rocky,#win-command,#win-removed-pet,#win-contract,#win-filemanager{box-sizing:border-box!important}
.bonzi-mini-body,.agent-mini-body,.wizard-body,.rover-body,.clippy-body,.command-body,.removed-pet-body,.filemanager,.assistant-selector{padding:8px!important}

body.theme-31 .desktop-wallpaper{background-image:none!important;background-color:#008080!important}
body.theme-31 #taskbar{background:#bfbfbf!important;border-top:2px solid #fff!important}
body.theme-31 .window{box-shadow:none!important}
body.theme-31 #win-main{border:2px solid #000!important;box-shadow:none!important}
body.theme-31 .titlebar{background:#0000aa!important;color:#fff!important}
body.theme-31 .window-body{background:#c0c0c0!important}

@media (max-width:1200px){
  #win-main{min-width:700px!important;max-width:820px!important}
  #win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(82px,1fr))!important;gap:6px 8px!important}
  #characterDock{gap:10px!important}
  .desk-character{width:64px!important;height:86px!important}
  .desk-character img{max-width:60px!important;max-height:70px!important}
}
@media (max-width:980px){
  #win-main{min-width:620px!important;max-width:720px!important}
  #win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(78px,1fr))!important;grid-auto-rows:66px!important}
  #characterDock{gap:6px!important;max-width:calc(100vw - 24px)!important}
  .desk-character{width:56px!important;height:78px!important}
  .desk-character img{max-width:50px!important;max-height:62px!important}
  .shimeji-pet{width:82px!important;height:82px!important}.shimeji-pet img{width:82px!important;height:82px!important}
}

/* === v56 boot fix + shimeji control panel polish === */
#win-main{width:920px!important;max-width:920px!important;min-width:920px!important}
#win-main .merged-main-grid{grid-template-columns:repeat(5,minmax(86px,1fr))!important;grid-auto-rows:70px!important;gap:6px 10px!important;padding:10px 12px 12px!important}
#characterDock{justify-content:center!important;gap:12px!important;padding:0 10px!important;max-width:calc(100vw - 40px)!important}
.desk-character{width:70px!important;height:88px!important}
.desk-character img{max-width:64px!important;max-height:74px!important;image-rendering:pixelated}
.shimeji-pet,.shimeji-pet img,.removed-pet-runner img,.window-mascot img,.char-bubble,.assistant-card img{image-rendering:pixelated}
#win-shimeji{width:422px!important;min-width:422px!important;min-height:220px!important}
.shimeji-body{display:flex;flex-direction:column;gap:8px;padding:10px!important}
.shimeji-panel-row{display:grid;grid-template-columns:auto 1fr auto 78px;align-items:center;gap:8px}
.shimeji-panel-row select,.shimeji-panel-row input{padding:5px 6px;border:2px inset #999;background:#fff}
.shimeji-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.shimeji-actions-grid .ui-btn{padding:7px 6px}
.shimeji-preview-strip{display:flex;gap:8px;align-items:center;justify-content:flex-start;padding:8px;border:2px inset #999;background:#efefef;min-height:58px}
.shimeji-preview-strip img{width:42px;height:42px;object-fit:contain}
body.theme-31 #win-main{width:760px!important;max-width:760px!important;min-width:760px!important;border:2px solid #000!important;box-shadow:none!important}
body.theme-31 #win-main .menubar{background:#fff!important;border-top:none!important;border-bottom:1px solid #808080!important;padding:3px 8px!important}
body.theme-31 .title-btn{background:#c0c0c0!important;color:#000!important}
body.theme-31 .start-menu{min-width:208px!important;max-width:208px!important;width:208px!important;border:2px solid #000!important}
body.theme-31 .start-item{min-height:28px!important;font-size:13px!important}
body.theme-31 .start-item img{width:18px!important;height:18px!important}
body.theme-31 #characterDock{bottom:calc(var(--taskbar-h) + 10px)!important}
@media (max-width:1200px){#win-main{width:860px!important;max-width:860px!important;min-width:860px!important}}
@media (max-width:980px){#win-main{width:740px!important;max-width:740px!important;min-width:740px!important}#win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(82px,1fr))!important}.shimeji-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shimeji-panel-row{grid-template-columns:1fr 1fr}.shimeji-panel-row label:nth-of-type(2){grid-column:1}.shimeji-panel-row input{grid-column:2}}

/* === v57 github-agent cleanup === */
#win-main{width:790px!important;max-width:790px!important;min-width:790px!important}
#win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(88px,1fr))!important;grid-auto-rows:66px!important;gap:6px 10px!important;padding:10px!important}
body.theme-31 #win-main{width:720px!important;max-width:720px!important;min-width:720px!important}
#characterDock{gap:10px!important}
.desk-character{width:62px!important;height:82px!important}
.desk-character img{max-width:56px!important;max-height:68px!important}
.shimeji-pet{width:78px!important;height:78px!important}
.shimeji-pet img{width:78px!important;height:78px!important;object-fit:contain}
@media (max-width:1200px){#win-main{width:760px!important;max-width:760px!important;min-width:760px!important}}
@media (max-width:980px){#win-main{width:660px!important;max-width:660px!important;min-width:660px!important}#win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(76px,1fr))!important}}

/* === v61 Windows 3.1 Aurora cleanup + animated MS Agent sprites === */
:root{
  --taskbar-h:36px!important;
  --win-gray:#c0c0c0;
  --win-hi:#ffffff;
  --win-mid:#8a8a8a;
  --win-dark:#5f5f5f;
  --win-blue:#0000aa;
}
html,body{background:#008080!important}
.desktop-wallpaper{
  background:#008080 url("assets/wallpaper-green-31.jpg") center center / cover no-repeat!important;
}
.desktop-wallpaper::after{content:none!important;display:none!important}
body.theme-31 .desktop-wallpaper{
  background:#008080 url("assets/wallpaper-green-31.jpg") center center / cover no-repeat!important;
}
.window,
body.theme-31 .window,
body.theme-31 #win-main{
  border-top:2px solid var(--win-hi)!important;
  border-left:2px solid var(--win-hi)!important;
  border-right:2px solid var(--win-dark)!important;
  border-bottom:2px solid var(--win-dark)!important;
  box-shadow:1px 1px 0 var(--win-mid)!important;
  background:var(--win-gray)!important;
}
.titlebar,
body.theme-31 .titlebar{
  height:22px!important;
  background:var(--win-blue)!important;
  color:#fff!important;
  padding:2px 4px 2px 7px!important;
}
.title-btn,
body.theme-31 .title-btn,
.task-btn .task-close{
  border-top:1px solid var(--win-hi)!important;
  border-left:1px solid var(--win-hi)!important;
  border-right:1px solid var(--win-dark)!important;
  border-bottom:1px solid var(--win-dark)!important;
  box-shadow:none!important;
}
.window-body,
body.theme-31 .window-body{
  top:22px!important;
  background:var(--win-gray)!important;
  color:#000!important;
}
.window .menubar + .window-body{top:44px!important}
.menubar,
body.theme-31 #win-main .menubar{
  background:var(--win-gray)!important;
  border-top:1px solid var(--win-hi)!important;
  border-bottom:1px solid var(--win-mid)!important;
}
#win-main,
body.theme-31 #win-main{
  width:min(1180px, calc(100vw - 360px))!important;
  max-width:min(1180px, calc(100vw - 360px))!important;
  min-width:900px!important;
  height:min(560px, calc(100vh - 250px))!important;
}
#win-main .window-body{overflow:auto!important;padding:16px 22px 18px!important}
#win-main .merged-main-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(128px,1fr))!important;
  grid-auto-rows:96px!important;
  gap:12px 28px!important;
  align-content:start!important;
}
#win-main .icon-btn{
  width:128px!important;
  min-height:86px!important;
  padding:4px 6px!important;
  gap:7px!important;
  overflow:visible!important;
}
#win-main .icon-btn img,
#win-main .agent-sprite-main{
  max-width:62px!important;
  max-height:54px!important;
  flex:0 0 auto!important;
}
#win-main .icon-btn span{
  max-width:124px!important;
  font-size:13px!important;
  line-height:1.15!important;
  text-shadow:1px 1px 0 rgba(255,255,255,.35);
  overflow-wrap:anywhere;
}
.clippy-body,.wizard-body,.rover-body,.agent-mini-body,
.bonzi-mini-body,.prody-body,.removed-pet-body,.assistant-selector,
.command-body,.paint-body,.contract-body,.filemanager{
  overflow:auto!important;
}
.agent-mini-body,.wizard-body,.rover-body,.clippy-body{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  padding:14px!important;
}
.agent-mini-body .agent-copy,.wizard-bubble,.rover-bubble,.clippy-bubble{
  min-width:0!important;
  border:2px solid var(--win-dark)!important;
  border-radius:0!important;
  background:#fffbd1!important;
}
.agent-mini-body .agent-actions,.wizard-actions,.clippy-row{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.ui-btn,.start-btn,.task-btn,.start-menu,.start-submenu,.task-clock{
  border-top:2px solid var(--win-hi)!important;
  border-left:2px solid var(--win-hi)!important;
  border-right:2px solid var(--win-dark)!important;
  border-bottom:2px solid var(--win-dark)!important;
  box-shadow:none!important;
}
.taskbar,body.theme-31 #taskbar{
  height:var(--taskbar-h)!important;
  background:var(--win-gray)!important;
  border-top:2px solid var(--win-hi)!important;
}
.char-bubble,.speech-bubble,.assistant-card{
  border:2px solid var(--win-dark)!important;
  border-radius:0!important;
  box-shadow:1px 1px 0 var(--win-mid)!important;
}
#characterDock,
body.theme-31 #characterDock{
  left:50%!important;
  right:auto!important;
  bottom:calc(var(--taskbar-h) + 14px)!important;
  width:auto!important;
  max-width:calc(100vw - 90px)!important;
  height:142px!important;
  transform:translateX(-50%)!important;
  gap:22px!important;
  padding:0 18px!important;
  align-items:flex-end!important;
  overflow:visible!important;
}
.desk-character,
body.theme-31 .desk-character{
  width:118px!important;
  height:136px!important;
  overflow:visible!important;
  flex:0 0 auto!important;
}
.desk-character button{
  width:118px!important;
  height:136px!important;
  overflow:visible!important;
}
.desk-character img{display:none!important}
.agent-sprite{
  display:inline-block;
  background-repeat:no-repeat;
  background-origin:border-box;
  background-clip:border-box;
  image-rendering:auto;
  flex:0 0 auto;
}
.agent-sprite-dock{
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.35));
  transform-origin:center bottom;
}
.agent-sprite-window,.agent-sprite-card{margin:auto}
.agent-sprite-menu{justify-self:center}
.assistant-card{
  background:#efefef!important;
  overflow:visible!important;
}
.assistant-card img{display:none!important}
.fm-list,.fm-tree,.terminal,.prody-log,.bonzi-mini-reply,.bonzi-ai-log,.panel-avatar{
  border:2px inset var(--win-mid)!important;
}
body.theme-31 .start-sideband{display:none!important}
body.theme-31 .start-menu{width:240px!important;min-width:240px!important;max-width:240px!important}
@media (max-width:1250px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 80px)!important;
    max-width:calc(100vw - 80px)!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{grid-template-columns:repeat(4,minmax(110px,1fr))!important;gap:10px 16px!important}
  #characterDock{gap:12px!important}
  .desk-character{width:92px!important}
  .desk-character button{width:92px!important}
}

/* === v62 local-file sprite fix + balanced Program Manager sizing === */
#win-main,
body.theme-31 #win-main{
  width:min(980px, calc(100vw - 180px))!important;
  max-width:min(980px, calc(100vw - 180px))!important;
  min-width:820px!important;
  height:470px!important;
  max-height:calc(100vh - 230px)!important;
}
#win-main .window-body{
  overflow:hidden!important;
  padding:14px 18px 16px!important;
}
#win-main .merged-main-grid{
  grid-template-columns:repeat(5,minmax(116px,1fr))!important;
  grid-auto-rows:78px!important;
  gap:8px 18px!important;
  padding:0!important;
}
#win-main .icon-btn{
  width:116px!important;
  min-height:74px!important;
  justify-content:flex-start!important;
}
#win-main .icon-btn img,
#win-main .agent-sprite-main{
  max-width:50px!important;
  max-height:46px!important;
}
#win-main .icon-btn span{
  font-size:12px!important;
  max-width:112px!important;
}
#characterDock,
body.theme-31 #characterDock{
  height:122px!important;
  bottom:calc(var(--taskbar-h) + 12px)!important;
  gap:18px!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:96px!important;
  height:116px!important;
}
.agent-sprite-dock{
  max-width:104px!important;
  max-height:104px!important;
}
/* === v63 visible main sprites + uniform icon grid === */
#win-main,
body.theme-31 #win-main{
  width:min(1120px, calc(100vw - 210px))!important;
  max-width:min(1120px, calc(100vw - 210px))!important;
  height:500px!important;
  max-height:calc(100vh - 230px)!important;
}
#win-main .window-body{overflow:hidden!important}
#win-main .merged-main-grid{
  grid-template-columns:repeat(5, 1fr)!important;
  grid-auto-rows:86px!important;
  gap:10px 24px!important;
  justify-items:center!important;
}
#win-main .icon-btn{
  width:132px!important;
  min-height:82px!important;
  display:grid!important;
  grid-template-rows:52px auto!important;
  justify-items:center!important;
  align-items:start!important;
  padding:3px 4px!important;
  gap:4px!important;
}
#win-main .icon-btn > img,
#win-main .icon-btn > .agent-sprite-main{
  align-self:end!important;
  justify-self:center!important;
  max-width:56px!important;
  max-height:52px!important;
}
#win-main .icon-btn > span:not(.agent-sprite){
  display:block!important;
  min-height:26px!important;
  max-width:128px!important;
  text-align:center!important;
}
#characterDock,
body.theme-31 #characterDock{
  height:132px!important;
  bottom:calc(var(--taskbar-h) + 8px)!important;
  gap:20px!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:112px!important;
  height:126px!important;
}
.agent-sprite-dock{
  max-width:118px!important;
  max-height:112px!important;
}
@media (max-width:1200px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 64px)!important;
    max-width:calc(100vw - 64px)!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{gap:8px 12px!important}
  #win-main .icon-btn{width:112px!important}
}
@media (max-width:1100px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 54px)!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{
    grid-template-columns:repeat(5,minmax(94px,1fr))!important;
    gap:6px 10px!important;
  }
}

/* === v109 final compact Agent Loader layout: vertical, no stage panel, one native bubble === */
#win-main,
body.theme-31 #win-main{
  width:min(720px, calc(100vw - 132px))!important;
  height:610px!important;
  min-width:620px!important;
  min-height:560px!important;
}
#win-main .window-body.companion-chat{
  position:relative!important;
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:58px 78px 34px 26px minmax(0,1fr) 42px 24px!important;
  gap:7px!important;
  padding:10px!important;
  overflow:visible!important;
  background:#c0c0c0!important;
}
.companion-left{
  display:contents!important;
}
.companion-stage-wrap,
.stage-panel-title,
.stage-grid-glow,
.stage-platform,
.stage-bubble,
.agent-stage .stage-bubble,
.agent-stage .stage-platform{
  display:none!important;
}
.chat-welcome{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 138px 7px 10px!important;
  border:2px inset #f3f3f3!important;
  background:#d4d4d4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:visible!important;
}
.chat-welcome::after{
  content:"petOS"!important;
  position:absolute!important;
  right:10px!important;
  bottom:8px!important;
  padding:2px 7px!important;
  border:2px inset #ededed!important;
  background:#0000aa!important;
  color:#fff!important;
  font:bold 12px Georgia, serif!important;
}
.chat-welcome strong{font-size:21px!important;line-height:1!important}
.chat-welcome span{margin-top:5px!important;font-size:14px!important;line-height:1.15!important}
.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
  overflow:hidden!important;
}
.agent-select-btn{
  height:36px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px 7px!important;
  border:2px outset #ececec!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  text-align:left!important;
}
.agent-select-btn .agent-thumb{width:24px!important;height:24px!important}
.agent-select-btn b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.agent-select-btn.active{background:#0b0086!important;color:#fff!important}
.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 72px 82px!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font:14px Arial, Helvetica, sans-serif!important;
}
.animation-row select{
  height:28px!important;
  min-width:0!important;
  border:2px inset #fff!important;
  background:#fff!important;
}
.speech-option-row{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:0 2px!important;
  font:14px Arial, Helvetica, sans-serif!important;
}
.chat-history{
  min-height:0!important;
  margin:0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  border:2px inset #f1f1f1!important;
  background:#f8f8f8!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.32!important;
}
.chat-message{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 0!important;
  border-bottom:1px solid #ddd!important;
}
.chat-message.user b{color:#06008b!important}
.chat-message.system b,
.chat-message.system span{color:#555!important}
.chat-message.system span{font-style:italic!important}
.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px!important;
  gap:8px!important;
  align-items:center!important;
}
.chat-input-row input{
  height:38px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:17px Arial, Helvetica, sans-serif!important;
}
.chat-input-row .hub-blue-btn{
  height:38px!important;
  border:2px outset #ededed!important;
  background:#0b0086!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:17px!important;
}
.chat-input-row .hub-blue-btn:disabled{
  color:#777!important;
  background:#c0c0c0!important;
}
.chat-statusbar{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 76px minmax(0,1fr) 64px!important;
  gap:4px!important;
  align-items:center!important;
  font:12px Arial, Helvetica, sans-serif!important;
}
.chat-statusbar span{
  min-width:0!important;
  height:20px!important;
  line-height:18px!important;
  padding:0 5px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  border:1px inset #f0f0f0!important;
  background:#d4d4d4!important;
}
.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.2))!important;
}
.petos-clippy-balloon{
  display:block!important;
  z-index:10030!important;
  max-width:280px!important;
  font-size:15px!important;
  line-height:1.2!important;
  border:2px solid #333!important;
  box-shadow:2px 2px 0 #777!important;
}
@media (max-width:860px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 88px)!important;
    min-width:560px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-rows:58px 116px 34px 26px minmax(0,1fr) 42px 24px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:auto!important;
  }
}

/* === v108 compact original ClippyJS rhythm, no duplicate stage bubble === */
#win-main,
body.theme-31 #win-main{
  width:min(720px, calc(100vw - 132px))!important;
  height:610px!important;
  min-width:620px!important;
  min-height:560px!important;
}

#win-main .window-body.companion-chat{
  position:relative!important;
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:58px 78px 34px 26px minmax(0,1fr) 42px 24px!important;
  gap:7px!important;
  padding:10px!important;
  overflow:visible!important;
  background:#c0c0c0!important;
}

.companion-left,
.companion-stage-wrap,
.stage-panel-title,
.stage-grid-glow,
.stage-platform,
.stage-bubble{
  all:unset;
}

.companion-stage-wrap,
.stage-panel-title,
.stage-grid-glow,
.stage-platform,
.stage-bubble{
  display:none!important;
}

.chat-welcome{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 138px 7px 10px!important;
  border:2px inset #f3f3f3!important;
  background:#d4d4d4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:visible!important;
}

.chat-welcome::after{
  content:"petOS"!important;
  position:absolute!important;
  right:10px!important;
  bottom:8px!important;
  padding:2px 7px!important;
  border:2px inset #ededed!important;
  background:#0000aa!important;
  color:#fff!important;
  font:bold 12px Georgia, serif!important;
}

.chat-welcome strong{
  font-size:21px!important;
  line-height:1!important;
}

.chat-welcome span{
  margin-top:5px!important;
  font-size:14px!important;
  line-height:1.15!important;
}

.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
  overflow:hidden!important;
}

.agent-select-btn{
  height:36px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px 7px!important;
  border:2px outset #ececec!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  text-align:left!important;
}

.agent-select-btn .agent-thumb{
  width:24px!important;
  height:24px!important;
}

.agent-select-btn b{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.agent-select-btn.active{
  background:#0b0086!important;
  color:#fff!important;
}

.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 72px 82px!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font:14px Arial, Helvetica, sans-serif!important;
}

.animation-row select{
  height:28px!important;
  min-width:0!important;
  border:2px inset #fff!important;
  background:#fff!important;
}

.speech-option-row{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:0 2px!important;
  font:14px Arial, Helvetica, sans-serif!important;
}

.chat-history{
  min-height:0!important;
  margin:0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  border:2px inset #f1f1f1!important;
  background:#f8f8f8!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.32!important;
}

.chat-message{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 0!important;
  border-bottom:1px solid #ddd!important;
}

.chat-message.user b{color:#06008b!important}
.chat-message.system b,
.chat-message.system span{color:#555!important}
.chat-message.system span{font-style:italic!important}

.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px!important;
  gap:8px!important;
  align-items:center!important;
}

.chat-input-row input{
  height:38px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:17px Arial, Helvetica, sans-serif!important;
}

.chat-input-row .hub-blue-btn{
  height:38px!important;
  border:2px outset #ededed!important;
  background:#0b0086!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:17px!important;
}

.chat-input-row .hub-blue-btn:disabled{
  color:#777!important;
  background:#c0c0c0!important;
}

.chat-statusbar{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 76px minmax(0,1fr) 64px!important;
  gap:4px!important;
  align-items:center!important;
  font:12px Arial, Helvetica, sans-serif!important;
}

.chat-statusbar span{
  min-width:0!important;
  height:20px!important;
  line-height:18px!important;
  padding:0 5px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  border:1px inset #f0f0f0!important;
  background:#d4d4d4!important;
}

.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.2))!important;
}

.petos-clippy-balloon{
  display:block!important;
  z-index:10030!important;
  max-width:280px!important;
  font-size:15px!important;
  line-height:1.2!important;
  border:2px solid #333!important;
  box-shadow:2px 2px 0 #777!important;
}

@media (max-width:860px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 88px)!important;
    min-width:560px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-rows:58px 116px 34px 26px minmax(0,1fr) 42px 24px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:auto!important;
  }
}

/* === v64 compact Program Manager + simple character cards + small boot === */
.boot-screen{gap:8px!important}
.boot-logo-wrap{margin-bottom:8px!important}
.boot-word.pixel-word{
  font-family:"Arial Black", Impact, Arial, sans-serif!important;
  font-size:58px!important;
  font-style:italic!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:.95!important;
  text-shadow:4px 4px 0 rgba(0,0,0,.36)!important;
}
.boot-sub{font-size:16px!important;margin-top:4px!important}
.boot-progress{
  width:min(520px,52vw)!important;
  height:18px!important;
  padding:2px!important;
  border:2px solid #fff!important;
  box-shadow:1px 1px 0 #000!important;
}
.boot-fill{
  background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 18px)!important;
}
.boot-line{font-size:16px!important}

#win-main,
body.theme-31 #win-main{
  width:860px!important;
  max-width:860px!important;
  min-width:760px!important;
  height:430px!important;
  max-height:430px!important;
}
#win-main .window-body{
  overflow:hidden!important;
  padding:12px 14px!important;
}
#win-main .merged-main-grid{
  grid-template-columns:repeat(5, 1fr)!important;
  grid-auto-rows:72px!important;
  gap:4px 8px!important;
  justify-items:center!important;
  align-content:start!important;
}
#win-main .icon-btn{
  width:96px!important;
  min-height:68px!important;
  grid-template-rows:42px 24px!important;
  padding:2px!important;
  gap:2px!important;
}
#win-main .icon-btn > img,
#win-main .icon-btn > .agent-sprite-main{
  max-width:44px!important;
  max-height:40px!important;
}
#win-main .icon-btn > span:not(.agent-sprite){
  font-size:12px!important;
  line-height:1.08!important;
  max-width:96px!important;
  min-height:22px!important;
}

.clippy-body,.wizard-body,.rover-body,.agent-mini-body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:12px!important;
  overflow:hidden!important;
}
.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:92px!important;
}
.clippy-avatar,.wizard-avatar,.rover-avatar,.agent-mini-icon,
.clippy-scene .agent-sprite-window,
.wizard-scene .agent-sprite-window,
.rover-scene .agent-sprite-window,
.agent-mini-scene .agent-sprite-window{
  justify-self:center!important;
  align-self:center!important;
  max-width:86px!important;
  max-height:86px!important;
}
.clippy-bubble,.wizard-bubble,.rover-bubble,.agent-mini-bubble{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  max-height:84px!important;
  overflow:hidden!important;
  padding:10px 12px!important;
  font-size:13px!important;
  line-height:1.25!important;
  border:2px solid var(--win-dark)!important;
  border-radius:0!important;
  background:#fffbd1!important;
}
.wizard-actions,.clippy-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  grid-column:auto!important;
}
.wizard-actions .ui-btn,.clippy-row .ui-btn{
  min-width:118px!important;
  padding:6px 10px!important;
}
.clippy-row input{min-width:0!important}

#characterDock,
body.theme-31 #characterDock{
  height:116px!important;
  bottom:calc(var(--taskbar-h) + 8px)!important;
  gap:14px!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:96px!important;
  height:112px!important;
}
.agent-sprite-dock{
  max-width:100px!important;
  max-height:100px!important;
}
@media (max-width:1100px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 46px)!important;
    max-width:calc(100vw - 46px)!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{gap:4px 4px!important}
  #win-main .icon-btn{width:86px!important}
}

/* === v67 simple Bonzi + fitted character dialogs === */
.bonzi-mini-body{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  gap:10px 12px!important;
  padding:12px!important;
  overflow:hidden!important;
}
.bonzi-mini-body::before{content:none!important;display:none!important}
.bonzi-simple-head{display:contents!important}
.bonzi-simple-head .agent-sprite-window{
  grid-column:1!important;
  grid-row:1 / 4!important;
  align-self:center!important;
  justify-self:center!important;
  max-width:88px!important;
  max-height:88px!important;
}
.bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}
.bonzi-simple-controls select{
  min-width:0!important;
  width:100%!important;
  padding:5px 6px!important;
  border:2px inset var(--win-mid)!important;
  background:#fff!important;
}
.bonzi-mini-chat{
  grid-column:2!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px!important;
  gap:8px!important;
}
.bonzi-mini-chat input{
  min-width:0!important;
  width:100%!important;
}
.bonzi-mini-reply{
  grid-column:2!important;
  grid-row:3!important;
  min-height:44px!important;
  max-height:58px!important;
  overflow:hidden!important;
  padding:8px!important;
}
.bonzi-ai-log,.bonzi-mini-row{display:none!important}

.clippy-body,.wizard-body,.rover-body,.agent-mini-body{
  min-height:0!important;
  overflow:hidden!important;
}
.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{
  min-height:96px!important;
}
.clippy-bubble,.wizard-bubble,.rover-bubble,.agent-mini-bubble{
  max-height:78px!important;
  overflow:hidden!important;
}
.wizard-actions,.clippy-row{
  min-height:34px!important;
}

/* === v66 stable sprite cells + precise Program Manager alignment === */
.boot-logo-wrap{
  transform:translateY(-10px)!important;
  margin-bottom:14px!important;
}
.boot-word.pixel-word{
  font-family:"Arial Black", Impact, Arial, sans-serif!important;
  font-size:50px!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
.boot-sub{margin-top:8px!important}

#win-main,
body.theme-31 #win-main{
  width:820px!important;
  height:408px!important;
}
#win-main .merged-main-grid{
  grid-template-columns:repeat(5, 92px)!important;
  grid-auto-rows:70px!important;
  column-gap:10px!important;
  row-gap:2px!important;
  justify-content:space-between!important;
  align-items:start!important;
}
#win-main .icon-btn{
  width:92px!important;
  height:68px!important;
  min-height:68px!important;
  display:grid!important;
  grid-template-rows:42px 22px!important;
  align-items:start!important;
  justify-items:center!important;
}
#win-main .icon-btn > img,
#win-main .icon-btn > .agent-sprite-main{
  align-self:end!important;
  justify-self:center!important;
  max-width:44px!important;
  max-height:40px!important;
  overflow:visible!important;
}
#win-main .icon-btn > span:not(.agent-sprite){
  align-self:start!important;
  justify-self:center!important;
  text-align:center!important;
  width:92px!important;
}

.agent-sprite{
  overflow:visible!important;
  background-color:transparent!important;
  border:0!important;
}
.agent-sprite-main{
  transform:translateY(1px);
}
.agent-sprite-dock{
  max-width:92px!important;
  max-height:92px!important;
  transform:none!important;
}
#characterDock,
body.theme-31 #characterDock{
  height:104px!important;
  bottom:calc(var(--taskbar-h) + 10px)!important;
  gap:16px!important;
  align-items:flex-end!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:96px!important;
  height:104px!important;
  align-items:flex-end!important;
}
.desk-character[data-key="prody"] .agent-sprite-dock,
.desk-character[data-key="genie"] .agent-sprite-dock,
.desk-character[data-key="f1"] .agent-sprite-dock{
  transform:scale(.92)!important;
}
.desk-character[data-key="rocky"] .agent-sprite-dock{
  transform:scale(.9) translateY(3px)!important;
}
.desk-character[data-key="links"] .agent-sprite-dock{
  transform:scale(.94) translateY(2px)!important;
}

.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{
  grid-template-columns:88px minmax(0,1fr)!important;
}
.clippy-scene .agent-sprite-window,
.wizard-scene .agent-sprite-window,
.rover-scene .agent-sprite-window,
.agent-mini-scene .agent-sprite-window{
  max-width:86px!important;
  max-height:86px!important;
}

/* === v65 no external dock wobble + uncropped character windows === */
.boot-word.pixel-word{font-size:44px!important;text-shadow:3px 3px 0 rgba(0,0,0,.36)!important}
.boot-sub,.boot-line{font-size:13px!important}
.boot-progress{width:min(360px,44vw)!important;height:14px!important}
.boot-fill{background:repeating-linear-gradient(90deg,#fff 0 9px,transparent 9px 14px)!important}

#win-main,
body.theme-31 #win-main{
  width:820px!important;
  max-width:820px!important;
  min-width:760px!important;
  height:408px!important;
  max-height:408px!important;
}
#win-main .window-body{padding:12px 16px!important}
#win-main .merged-main-grid{
  grid-template-columns:repeat(5, 92px)!important;
  grid-auto-rows:68px!important;
  gap:4px 10px!important;
  justify-content:space-between!important;
  justify-items:center!important;
}
#win-main .icon-btn{
  width:92px!important;
  min-height:66px!important;
  grid-template-rows:40px 22px!important;
}
#win-main .icon-btn > img,
#win-main .icon-btn > .agent-sprite-main{
  max-width:44px!important;
  max-height:40px!important;
}
#win-main .icon-btn > span:not(.agent-sprite){
  font-size:12px!important;
  max-width:92px!important;
  min-height:20px!important;
}

#characterDock,
body.theme-31 #characterDock{
  height:112px!important;
  bottom:calc(var(--taskbar-h) + 6px)!important;
  gap:14px!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:100px!important;
  height:110px!important;
  transform:none!important;
}
.agent-sprite-dock{max-width:96px!important;max-height:98px!important;transform:none!important}
.dock-fallback{animation:none!important}

.clippy-body,.wizard-body,.rover-body,.agent-mini-body,.bonzi-mini-body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:12px!important;
  overflow:visible!important;
}
.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  min-height:104px!important;
}
.clippy-scene .agent-sprite-window,
.wizard-scene .agent-sprite-window,
.rover-scene .agent-sprite-window,
.agent-mini-scene .agent-sprite-window{
  max-width:92px!important;
  max-height:96px!important;
  overflow:visible!important;
}
.clippy-bubble,.wizard-bubble,.rover-bubble,.agent-mini-bubble,
.bonzi-mini-reply,.bonzi-ai-log{
  max-height:none!important;
  overflow:visible!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.wizard-actions,.clippy-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.wizard-actions .ui-btn,.clippy-row .ui-btn{min-width:112px!important}

.prody-body{
  display:grid!important;
  grid-template-columns:112px 1fr!important;
  grid-template-rows:auto auto auto!important;
  gap:10px 12px!important;
  padding:12px!important;
  overflow:hidden!important;
}
.prody-session-label,.prody-log,.prody-voice-toggle{display:none!important}
.prody-response-label{grid-column:2;grid-row:1;font-weight:700}
.prody-response-row{grid-column:2;grid-row:2;display:grid!important;grid-template-columns:1fr auto auto!important;gap:8px!important}
.prody-toolbar-grid{display:contents!important}
.panel-avatar{grid-column:1;grid-row:1 / 4;min-height:118px!important;overflow:visible!important}
.panel-avatar .agent-sprite-window{max-width:108px!important;max-height:112px!important}
.prody-actions{grid-column:2;grid-row:3;display:block!important}
.prody-side-tools{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.prody-quick-grid{display:none!important}

.bonzi-mini-row{display:none!important}
.bonzi-mini-chat{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}
.bonzi-mini-chat .bonzi-chat-title,.bonzi-mini-chat label{display:none!important}
@media (max-width:1100px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 72px)!important;
    max-width:calc(100vw - 72px)!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{grid-template-columns:repeat(5, 86px)!important;gap:4px 6px!important}
  #win-main .icon-btn{width:86px!important}
}

/* === v68 final compact Windows 3.1 agents === */
.boot-logo-wrap{
  transform:translateY(-18px)!important;
  margin-bottom:18px!important;
}
.boot-word.pixel-word{
  font-family:Impact,"Arial Black",Arial,sans-serif!important;
  font-size:50px!important;
  font-style:italic!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.boot-sub{margin-top:10px!important}

#win-main,
body.theme-31 #win-main{
  width:790px!important;
  max-width:790px!important;
  min-width:740px!important;
  height:392px!important;
  max-height:392px!important;
}
#win-main .window-body{
  padding:12px 16px!important;
  overflow:hidden!important;
}
#win-main .merged-main-grid{
  display:grid!important;
  grid-template-columns:repeat(5, 92px)!important;
  grid-auto-rows:76px!important;
  column-gap:14px!important;
  row-gap:2px!important;
  justify-content:space-between!important;
  align-items:start!important;
}
#win-main .icon-btn{
  width:92px!important;
  height:74px!important;
  min-height:74px!important;
  display:grid!important;
  grid-template-rows:46px 24px!important;
  justify-items:center!important;
  align-items:start!important;
  overflow:visible!important;
}
#win-main .icon-btn > img,
#win-main .icon-btn > .agent-sprite-main{
  align-self:end!important;
  justify-self:center!important;
  max-width:46px!important;
  max-height:42px!important;
  overflow:visible!important;
}
#win-main .icon-btn > span:not(.agent-sprite){
  width:92px!important;
  min-height:22px!important;
  text-align:center!important;
  align-self:start!important;
  line-height:1.05!important;
}

.agent-sprite{
  display:inline-block!important;
  flex:0 0 auto!important;
  overflow:visible!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  image-rendering:auto!important;
  transform:none!important;
  filter:drop-shadow(1px 2px 1px rgba(0,0,0,.24));
}
.agent-sprite-main{filter:none!important}
#characterDock,
body.theme-31 #characterDock{
  height:132px!important;
  bottom:calc(var(--taskbar-h) + 6px)!important;
  gap:14px!important;
  align-items:flex-end!important;
  overflow:visible!important;
}
.desk-character,
body.theme-31 .desk-character,
.desk-character button{
  width:118px!important;
  height:130px!important;
  overflow:visible!important;
  align-items:flex-end!important;
  justify-content:center!important;
  transform:none!important;
}
.desk-character button{
  display:flex!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.agent-sprite-dock{
  max-width:122px!important;
  max-height:112px!important;
  transform:none!important;
}

#win-dogz,#win-clippy,#win-merlin,#win-rover,
#win-links,#win-genius,#win-f1,#win-genie,#win-rocky{
  width:430px!important;
  height:184px!important;
  min-width:430px!important;
  min-height:184px!important;
  max-width:430px!important;
  max-height:190px!important;
  overflow:visible!important;
}
#win-dogz{
  width:432px!important;
  height:190px!important;
  max-width:432px!important;
  max-height:190px!important;
}
#win-dogz .bonzi-mini-body,
.clippy-body,.wizard-body,.rover-body,.agent-mini-body{
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  grid-template-rows:auto 34px 1fr!important;
  gap:8px 10px!important;
  padding:10px!important;
  overflow:hidden!important;
  min-height:0!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
}
.bonzi-mini-body::before{
  content:none!important;
  display:none!important;
}
.bonzi-simple-head{display:contents!important}
.bonzi-simple-head .agent-sprite-window,
.clippy-scene .agent-sprite-window,
.wizard-scene .agent-sprite-window,
.rover-scene .agent-sprite-window,
.agent-mini-scene .agent-sprite-window{
  grid-column:1!important;
  grid-row:1 / 4!important;
  align-self:center!important;
  justify-self:center!important;
  max-width:104px!important;
  max-height:96px!important;
  overflow:visible!important;
}
.bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.bonzi-simple-controls label{
  display:block!important;
  font-weight:700!important;
}
.bonzi-simple-controls select{
  width:100%!important;
  height:24px!important;
  padding:1px 4px!important;
  border:2px inset #fff!important;
  background:#fff!important;
}
.bonzi-mini-chat{
  grid-column:2!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  gap:8px!important;
  align-items:center!important;
}
.bonzi-mini-chat input{
  min-width:0!important;
  width:100%!important;
  height:28px!important;
  padding:3px 6px!important;
  border:2px inset #fff!important;
}
.bonzi-mini-reply{
  grid-column:2!important;
  grid-row:3!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:7px 8px!important;
  line-height:1.25!important;
  border:2px inset #fff!important;
  background:#fff8c9!important;
}
.bonzi-ai-log,.bonzi-mini-row{display:none!important}

.clippy-scene,.wizard-scene,.rover-scene,.agent-mini-scene{
  display:contents!important;
}
.clippy-bubble,.wizard-bubble,.rover-bubble,.agent-mini-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  line-height:1.25!important;
  border:2px solid #555!important;
  background:#fff8c9!important;
}
.wizard-actions,.clippy-row{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  align-items:end!important;
  min-height:0!important;
}
.clippy-row input{
  min-width:0!important;
  width:100%!important;
  height:28px!important;
  padding:3px 6px!important;
  border:2px inset #fff!important;
}
.wizard-actions .ui-btn,
.clippy-row .ui-btn,
.bonzi-mini-chat .ui-btn{
  height:30px!important;
  min-width:0!important;
  padding:3px 8px!important;
  white-space:nowrap!important;
}

@media (max-width:1100px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 96px)!important;
    max-width:790px!important;
    min-width:0!important;
  }
  #win-main .merged-main-grid{
    grid-template-columns:repeat(5, 86px)!important;
    column-gap:8px!important;
  }
  #win-main .icon-btn,
  #win-main .icon-btn > span:not(.agent-sprite){
    width:86px!important;
  }
}

/* === v69 centered Main + narrative boot === */
.boot-screen{
  cursor:default!important;
  gap:12px!important;
  background:#0000aa!important;
}
.boot-logo-wrap{
  transform:translateY(-8px)!important;
  margin-bottom:8px!important;
}
.boot-word.pixel-word{
  font-family:Impact,"Arial Black",Arial,sans-serif!important;
  font-size:62px!important;
  font-style:italic!important;
  font-weight:900!important;
  line-height:.92!important;
  text-shadow:4px 4px 0 rgba(0,0,0,.42)!important;
}
.boot-sub{
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif!important;
  font-size:14px!important;
  margin-top:12px!important;
  color:#fff!important;
}
.boot-progress{
  display:none!important;
}
.boot-line{
  position:relative!important;
  min-width:min(640px,72vw)!important;
  max-width:min(640px,72vw)!important;
  min-height:34px!important;
  padding:8px 12px 8px 34px!important;
  border:2px solid #fff!important;
  box-shadow:2px 2px 0 #000!important;
  background:#00008f!important;
  color:#fff!important;
  font-family:"MS Sans Serif",Tahoma,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.15!important;
  text-align:left!important;
}
.boot-line::before{
  content:"C:\\>";
  position:absolute;
  left:8px;
  top:8px;
  color:#d8d8ff;
}

#win-main,
body.theme-31 #win-main{
  position:absolute!important;
  width:790px!important;
  max-width:790px!important;
  min-width:790px!important;
  height:392px!important;
  max-height:392px!important;
}
@media (max-width:900px){
  #win-main,body.theme-31 #win-main{
    width:calc(100vw - 36px)!important;
    max-width:calc(100vw - 36px)!important;
    min-width:0!important;
  }
}

/* === v106 character-first petOS Companion Chat === */
#win-main,
body.theme-31 #win-main{
  width:min(980px, calc(100vw - 132px))!important;
  height:620px!important;
  min-width:820px!important;
  min-height:580px!important;
}

#win-main .window-body.companion-chat{
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 40%)!important;
  grid-template-rows:minmax(0, 1fr)!important;
  gap:10px!important;
  padding:10px!important;
  overflow:hidden!important;
  background:#c0c0c0!important;
}

.companion-left{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:58px 78px 34px 26px minmax(0,1fr) 42px 24px!important;
  gap:7px!important;
}

.chat-welcome{
  min-width:0!important;
  min-height:0!important;
  padding:7px 10px!important;
  border:2px inset #f3f3f3!important;
  background:#d4d4d4!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.chat-welcome strong{
  font-size:21px!important;
  line-height:1!important;
}

.chat-welcome span{
  margin-top:5px!important;
  font-size:14px!important;
  line-height:1.15!important;
}

.companion-stage-wrap{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:28px minmax(0,1fr)!important;
  border:2px outset #ededed!important;
  background:#bfbfbf!important;
  overflow:visible!important;
}

.stage-panel-title{
  height:28px!important;
  box-sizing:border-box!important;
  padding:5px 8px!important;
  border-bottom:2px inset #e8e8e8!important;
  background:#d4d4d4!important;
  font:bold 15px Arial, Helvetica, sans-serif!important;
}

.agent-stage{
  position:relative!important;
  min-height:0!important;
  margin:10px!important;
  border:2px inset #ededed!important;
  background:#d8d8d8!important;
  overflow:visible!important;
  isolation:isolate!important;
}

.agent-stage::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  opacity:.24!important;
  background-image:
    linear-gradient(90deg, rgba(128,128,128,.28) 1px, transparent 1px),
    linear-gradient(rgba(128,128,128,.28) 1px, transparent 1px)!important;
  background-size:22px 22px!important;
}

.agent-stage::after{
  content:"petOS"!important;
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  z-index:0!important;
  padding:2px 6px!important;
  border:2px inset #ededed!important;
  background:#0000aa!important;
  color:#fff!important;
  font:bold 12px Georgia, serif!important;
}

.stage-grid-glow{
  position:absolute!important;
  inset:36px 26px 62px!important;
  z-index:0!important;
  border:1px dashed rgba(0,0,0,.16)!important;
  background:rgba(255,255,255,.2)!important;
}

.agent-stage .stage-platform{
  position:absolute!important;
  left:50%!important;
  bottom:76px!important;
  width:178px!important;
  height:28px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.34)!important;
  filter:blur(6px)!important;
  z-index:0!important;
}

.agent-stage .stage-bubble{
  display:block!important;
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  max-width:260px!important;
  min-width:180px!important;
  padding:9px 10px!important;
  border:2px solid #333!important;
  background:#fffcc7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.2!important;
  z-index:1!important;
  box-shadow:2px 2px 0 #777!important;
}

.agent-stage .stage-bubble::after{
  content:""!important;
  position:absolute!important;
  left:42px!important;
  bottom:-12px!important;
  border-width:10px 8px 0 8px!important;
  border-style:solid!important;
  border-color:#333 transparent transparent transparent!important;
}

.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
  overflow:hidden!important;
}

.agent-select-btn{
  height:36px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px 7px!important;
  border:2px outset #ececec!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  text-align:left!important;
}

.agent-select-btn .agent-thumb{
  width:24px!important;
  height:24px!important;
}

.agent-select-btn.active{
  background:#0b0086!important;
  color:#fff!important;
}

.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 72px 82px!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:14px!important;
}

.animation-row select{
  height:28px!important;
  min-width:0!important;
  border:2px inset #fff!important;
  background:#fff!important;
}

.speech-option-row{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:0 2px!important;
  font:14px Arial, Helvetica, sans-serif!important;
}

.chat-history{
  min-height:0!important;
  margin:0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  border:2px inset #f1f1f1!important;
  background:#f8f8f8!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.32!important;
}

.chat-message{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 0!important;
  border-bottom:1px solid #ddd!important;
}

.chat-message.user b{
  color:#06008b!important;
}

.chat-message.system b,
.chat-message.system span{
  color:#555!important;
}

.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 100px!important;
  gap:8px!important;
  align-items:center!important;
}

.chat-input-row input{
  height:38px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:17px Arial, Helvetica, sans-serif!important;
}

.chat-input-row .hub-blue-btn{
  height:38px!important;
  border:2px outset #ededed!important;
  background:#0b0086!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:17px!important;
}

.chat-input-row .hub-blue-btn:disabled{
  color:#777!important;
  background:#c0c0c0!important;
}

.chat-statusbar{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 76px minmax(0,1fr) 64px!important;
  gap:4px!important;
  align-items:center!important;
  font:12px Arial, Helvetica, sans-serif!important;
}

.chat-statusbar span{
  min-width:0!important;
  height:20px!important;
  line-height:18px!important;
  padding:0 5px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  border:1px inset #f0f0f0!important;
  background:#d4d4d4!important;
}

.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.22))!important;
}

.petos-clippy-balloon{
  z-index:10030!important;
  max-width:280px!important;
  font-size:15px!important;
  line-height:1.2!important;
  border:2px solid #333!important;
  box-shadow:2px 2px 0 #777!important;
}

@media (max-width:980px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 88px)!important;
    min-width:720px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-columns:minmax(0,1fr) minmax(280px,38%)!important;
  }
  .companion-left{
    grid-template-rows:58px 116px 34px 26px minmax(0,1fr) 42px 24px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
    overflow:auto!important;
  }
}

/* === v70 Bonzi opens normal window + larger talking stage === */
#win-dogz,
body.theme-31 #win-dogz{
  width:560px!important;
  height:312px!important;
  min-width:560px!important;
  min-height:312px!important;
  max-width:560px!important;
  max-height:312px!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  grid-template-rows:36px 42px 1fr!important;
  gap:10px 12px!important;
  padding:12px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:1!important;
  grid-row:1 / 4!important;
  align-self:center!important;
  justify-self:center!important;
  max-width:210px!important;
  max-height:190px!important;
  overflow:visible!important;
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.32))!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:2!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  gap:8px!important;
  align-items:center!important;
}
#win-dogz .bonzi-mini-chat input{
  height:32px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  height:34px!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:3!important;
  max-height:none!important;
  min-height:0!important;
  overflow:hidden!important;
  font-size:14px!important;
  line-height:1.25!important;
  padding:10px 12px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:"";
  position:absolute;
  left:-12px;
  top:22px;
  width:18px;
  height:18px;
  background:#fff8c9;
  border-left:2px solid #555;
  border-bottom:2px solid #555;
  transform:rotate(45deg);
}
@media (max-width:720px){
  #win-dogz,body.theme-31 #win-dogz{
    width:calc(100vw - 28px)!important;
    min-width:0!important;
    max-width:calc(100vw - 28px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:170px minmax(0,1fr)!important;
  }
}

/* === v71 Bonzi talk bubble + bigger simple chat === */
#win-dogz,
body.theme-31 #win-dogz{
  width:560px!important;
  height:336px!important;
  min-width:560px!important;
  min-height:336px!important;
  max-width:560px!important;
  max-height:336px!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  grid-template-rows:88px 1fr 44px!important;
  gap:8px 12px!important;
  padding:10px 12px 12px!important;
  overflow:hidden!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:1!important;
  grid-row:2 / 4!important;
  align-self:end!important;
  justify-self:center!important;
  max-width:248px!important;
  max-height:210px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.3))!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
}
#win-dogz .bonzi-simple-controls label{
  font-size:12px!important;
  line-height:1!important;
}
#win-dogz .bonzi-simple-controls select{
  height:28px!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  font-size:13px!important;
  line-height:1.18!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
}
#win-dogz .bonzi-mini-reply::before{
  left:52px!important;
  top:auto!important;
  bottom:-10px!important;
  width:16px!important;
  height:16px!important;
  border-left:0!important;
  border-top:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:" _";
  color:#000;
  animation:bonziCursorBlink .7s steps(1,end) infinite;
}
@keyframes bonziCursorBlink{
  50%{opacity:0}
}
#win-dogz .bonzi-mini-chat{
  grid-column:2!important;
  grid-row:2 / 4!important;
  align-self:end!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 84px!important;
  grid-template-rows:1fr 36px!important;
  gap:8px!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1 / -1!important;
  grid-row:1!important;
  align-self:end!important;
  height:34px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:2!important;
  height:34px!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:"Ask Bonzi";
  grid-column:1!important;
  grid-row:2!important;
  align-self:center!important;
  font-weight:700!important;
}
@media (max-width:720px){
  #win-dogz,body.theme-31 #win-dogz{
    width:calc(100vw - 28px)!important;
    min-width:0!important;
    max-width:calc(100vw - 28px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:210px minmax(0,1fr)!important;
  }
}

/* === v72 Bonzi Buddy minimal chat window === */
#win-dogz,
body.theme-31 #win-dogz{
  width:480px!important;
  height:360px!important;
  min-width:480px!important;
  min-height:360px!important;
  max-width:480px!important;
  max-height:360px!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:1fr 196px!important;
  grid-template-rows:92px 1fr 48px!important;
  gap:8px 10px!important;
  padding:10px 12px 12px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:1 / -1!important;
  grid-row:2!important;
  align-self:end!important;
  justify-self:center!important;
  max-width:292px!important;
  max-height:232px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.3))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:13px!important;
  line-height:1.18!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:auto!important;
  bottom:-10px!important;
  width:16px!important;
  height:16px!important;
  margin-left:-8px!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
  transform:rotate(45deg)!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:" _";
  animation:bonziCursorBlink .7s steps(1,end) infinite;
}
#win-dogz .bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:18px 30px!important;
  gap:4px!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  height:30px!important;
  width:100%!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1 / -1!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 86px!important;
  grid-template-rows:1fr!important;
  gap:8px!important;
  align-self:end!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  height:34px!important;
  min-width:0!important;
  width:100%!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  height:34px!important;
  padding:3px 10px!important;
}
@media (max-width:560px){
  #win-dogz,body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:1fr 170px!important;
  }
}

/* === v73 Bonzi compact right-character layout === */
#win-dogz,
body.theme-31 #win-dogz{
  width:430px!important;
  height:252px!important;
  min-width:430px!important;
  min-height:252px!important;
  max-width:430px!important;
  max-height:252px!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 178px!important;
  grid-template-rows:86px 48px 42px!important;
  gap:8px 10px!important;
  padding:10px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:1 / 4!important;
  align-self:end!important;
  justify-self:center!important;
  max-width:170px!important;
  max-height:182px!important;
  overflow:visible!important;
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.3))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:13px!important;
  line-height:1.16!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:auto!important;
  right:-10px!important;
  top:40px!important;
  bottom:auto!important;
  width:16px!important;
  height:16px!important;
  margin-left:0!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-top:2px solid #555!important;
  transform:rotate(45deg)!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:30px!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:30px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 70px!important;
  grid-template-rows:34px!important;
  gap:8px!important;
  align-self:end!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:34px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:70px!important;
  height:34px!important;
  padding:3px 8px!important;
}
@media (max-width:520px){
  #win-dogz,body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:minmax(0,1fr) 152px!important;
  }
}

/* === v74 Bonzi centered window with left mascot and right chat === */
#win-dogz,
body.theme-31 #win-dogz{
  width:540px!important;
  height:340px!important;
  min-width:540px!important;
  min-height:340px!important;
  max-width:540px!important;
  max-height:340px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:248px minmax(0,1fr)!important;
  grid-template-rows:96px minmax(0,1fr) 54px!important;
  gap:8px 12px!important;
  padding:10px 12px 12px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:1!important;
  grid-row:2 / 4!important;
  align-self:end!important;
  justify-self:center!important;
  max-width:230px!important;
  max-height:214px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.3))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:13px!important;
  line-height:1.16!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:-10px!important;
  width:16px!important;
  height:16px!important;
  margin-left:-8px!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
  transform:rotate(45deg)!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:" _";
  animation:bonziCursorBlink .7s steps(1,end) infinite;
}
#win-dogz .bonzi-simple-controls{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:18px 32px!important;
  gap:5px!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:32px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:2!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:1fr 36px!important;
  gap:8px!important;
  align-self:stretch!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:"Chat with Bonzi";
  display:block!important;
  grid-column:1 / -1!important;
  grid-row:1!important;
  align-self:end!important;
  padding-bottom:40px!important;
  font-weight:700!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1 / -1!important;
  grid-row:1!important;
  align-self:end!important;
  min-width:0!important;
  width:100%!important;
  height:34px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:2!important;
  width:72px!important;
  height:34px!important;
  padding:3px 8px!important;
  justify-self:end!important;
}
@media (max-width:620px){
  #win-dogz,body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
}

/* === v75 BonziBuddy classic control panel === */
#win-dogz,
body.theme-31 #win-dogz{
  width:600px!important;
  height:348px!important;
  min-width:600px!important;
  min-height:348px!important;
  max-width:600px!important;
  max-height:348px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:minmax(0,340px) 220px!important;
  grid-template-rows:92px 52px minmax(0,88px) 44px!important;
  gap:8px 12px!important;
  padding:10px 12px 12px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:210px!important;
  height:210px!important;
  max-width:210px!important;
  max-height:210px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:13px!important;
  line-height:1.15!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:-10px!important;
  width:16px!important;
  height:16px!important;
  margin-left:-8px!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
  transform:rotate(45deg)!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:" _";
  animation:bonziCursorBlink .7s steps(1,end) infinite;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-rows:32px!important;
  gap:8px!important;
  align-items:center!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:32px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:34px!important;
  gap:8px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  width:100%!important;
  height:34px!important;
  padding:3px 8px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 74px!important;
  grid-template-rows:36px!important;
  gap:8px!important;
  align-self:end!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  min-width:0!important;
  width:100%!important;
  height:36px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:74px!important;
  height:36px!important;
  padding:3px 8px!important;
  justify-self:end!important;
}
@media (max-width:660px){
  #win-dogz,
  body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:minmax(0,1fr) 190px!important;
  }
  #win-dogz .bonzi-simple-head .agent-sprite-window{
    width:188px!important;
    height:188px!important;
    max-width:188px!important;
    max-height:188px!important;
  }
}

/* === v76 BonziBuddy tighter wide layout === */
#win-dogz,
body.theme-31 #win-dogz{
  width:560px!important;
  height:244px!important;
  min-width:560px!important;
  min-height:244px!important;
  max-width:560px!important;
  max-height:244px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:minmax(0,338px) 184px!important;
  grid-template-rows:64px 38px 72px 36px!important;
  gap:6px 12px!important;
  padding:8px 10px 10px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:184px!important;
  height:170px!important;
  max-width:184px!important;
  max-height:170px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 5px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1!important;
  align-self:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:7px 9px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:12px!important;
  line-height:1.12!important;
  position:relative!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:-8px!important;
  width:14px!important;
  height:14px!important;
  margin-left:-7px!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
  transform:rotate(45deg)!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:30px!important;
  gap:8px!important;
  align-items:center!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:30px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:6px 8px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  width:100%!important;
  height:30px!important;
  padding:2px 8px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 70px!important;
  grid-template-rows:32px!important;
  gap:8px!important;
  align-self:end!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:32px!important;
  padding:3px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:70px!important;
  height:32px!important;
  padding:2px 8px!important;
  justify-self:end!important;
}
@media (max-width:620px){
  #win-dogz,
  body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:minmax(0,1fr) 166px!important;
  }
  #win-dogz .bonzi-simple-head .agent-sprite-window{
    width:166px!important;
    height:158px!important;
    max-width:166px!important;
    max-height:158px!important;
  }
}

/* === v79 compact Bonzi + Peedy assistant panels === */
#win-dogz,
body.theme-31 #win-dogz,
#win-prody,
body.theme-31 #win-prody{
  width:500px!important;
  height:250px!important;
  min-width:500px!important;
  min-height:250px!important;
  max-width:500px!important;
  max-height:250px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body,
#win-prody .prody-body{
  display:grid!important;
  grid-template-columns:minmax(0,286px) 174px!important;
  grid-template-rows:34px 68px 34px 34px!important;
  gap:7px 12px!important;
  padding:8px 10px 10px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-prody .menubar{
  display:none!important;
}
#win-dogz .bonzi-simple-head,
#win-prody .prody-toolbar-grid{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window,
#win-prody .panel-avatar .agent-sprite-window,
#win-prody .panel-avatar img{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:170px!important;
  height:150px!important;
  max-width:170px!important;
  max-height:150px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 5px 2px rgba(0,0,0,.28))!important;
}
#win-prody .panel-avatar{
  display:contents!important;
  border:0!important;
  background:transparent!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-reply,
#win-prody .prody-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:158px!important;
  min-height:48px!important;
  max-height:76px!important;
  overflow:hidden!important;
  padding:8px 9px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  box-shadow:1px 1px 0 #fff inset!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.12!important;
  position:relative!important;
  z-index:3!important;
}
#win-dogz .bonzi-mini-reply::before,
#win-prody .prody-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:0!important;
  height:0!important;
  margin-left:-8px!important;
  background:transparent!important;
  border-left:8px solid transparent!important;
  border-right:8px solid transparent!important;
  border-top:13px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
#win-dogz .bonzi-mini-reply::after,
#win-prody .prody-bubble::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-9px!important;
  width:0!important;
  height:0!important;
  margin-left:-6px!important;
  background:transparent!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:10px solid #fff8c9!important;
  z-index:2!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:""!important;
  animation:none!important;
}
#win-dogz .bonzi-simple-controls,
#win-prody .prody-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  grid-template-rows:30px!important;
  gap:8px!important;
  align-items:center!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label,
#win-prody .prody-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select,
#win-prody .prody-simple-controls select{
  width:100%!important;
  height:30px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions,
#win-prody .prody-side-tools{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:31px!important;
  gap:6px 8px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn,
#win-prody .prody-side-tools .ui-btn{
  width:100%!important;
  height:31px!important;
  padding:2px 8px!important;
  font-size:13px!important;
}
#win-prody .prody-actions{
  display:contents!important;
}
#win-prody #prodyPing::after{content:"";}
#win-prody .prody-session-label,
#win-prody .prody-response-label,
#win-prody .prody-log,
#win-prody .prody-voice-toggle,
#win-prody .prody-quick-grid{
  display:none!important;
}
#win-dogz .bonzi-mini-chat,
#win-prody .prody-response-row{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:33px!important;
  gap:8px!important;
  align-self:end!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input,
#win-prody .prody-response-row input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:33px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-mini-chat .ui-btn,
#win-prody .prody-response-row .ui-btn{
  grid-row:1!important;
  width:72px!important;
  height:33px!important;
  padding:3px 8px!important;
  justify-self:end!important;
}
#win-prody #prodyAsk{
  grid-column:2!important;
}
#win-prody #prodyStop{
  display:none!important;
}

/* === v81 compact assistants no clipping + plain centered boot text === */
#win-dogz,
body.theme-31 #win-dogz,
#win-prody,
body.theme-31 #win-prody{
  width:440px!important;
  height:250px!important;
  min-width:440px!important;
  min-height:250px!important;
  max-width:440px!important;
  max-height:250px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body,
#win-prody .prody-body{
  display:grid!important;
  grid-template-columns:minmax(0,252px) 148px!important;
  grid-template-rows:28px 56px 54px 34px!important;
  gap:5px 10px!important;
  align-content:start!important;
  padding:8px 9px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-prody .menubar{
  display:none!important;
}
#win-dogz .bonzi-simple-head,
#win-prody .prody-toolbar-grid,
#win-prody .prody-actions,
#win-prody .panel-avatar{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window,
#win-prody .panel-avatar .agent-sprite-window,
#win-prody .panel-avatar img{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:144px!important;
  height:132px!important;
  max-width:144px!important;
  max-height:132px!important;
  overflow:visible!important;
  filter:drop-shadow(2px 4px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply,
#win-prody .prody-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:136px!important;
  min-height:40px!important;
  max-height:62px!important;
  overflow:hidden!important;
  padding:7px 8px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  box-shadow:1px 1px 0 #fff inset!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.08!important;
  position:relative!important;
  z-index:3!important;
}
#win-dogz .bonzi-mini-reply::before,
#win-prody .prody-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-12px!important;
  width:0!important;
  height:0!important;
  margin-left:-7px!important;
  background:transparent!important;
  border-left:7px solid transparent!important;
  border-right:7px solid transparent!important;
  border-top:12px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
#win-dogz .bonzi-mini-reply::after,
#win-prody .prody-bubble::after,
#win-dogz .bonzi-mini-reply.talking::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-8px!important;
  width:0!important;
  height:0!important;
  margin-left:-5px!important;
  background:transparent!important;
  border-left:5px solid transparent!important;
  border-right:5px solid transparent!important;
  border-top:9px solid #fff8c9!important;
  animation:none!important;
  z-index:2!important;
}
#win-dogz .bonzi-simple-controls,
#win-prody .prody-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:28px!important;
  gap:7px!important;
  align-items:center!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label,
#win-prody .prody-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select,
#win-prody .prody-simple-controls select{
  width:100%!important;
  height:28px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions,
#win-prody .prody-side-tools{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:5px 7px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn,
#win-prody .prody-side-tools .ui-btn{
  width:100%!important;
  height:28px!important;
  padding:2px 6px!important;
  font-size:12px!important;
}
#win-prody .prody-session-label,
#win-prody .prody-response-label,
#win-prody .prody-log,
#win-prody .prody-voice-toggle,
#win-prody .prody-quick-grid{
  display:none!important;
}
#win-dogz .bonzi-mini-chat,
#win-prody .prody-response-row{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  grid-template-rows:30px!important;
  gap:7px!important;
  align-self:start!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat input,
#win-prody .prody-response-row input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:30px!important;
  padding:3px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-mini-chat .ui-btn,
#win-prody .prody-response-row .ui-btn{
  grid-row:1!important;
  width:64px!important;
  height:30px!important;
  padding:2px 6px!important;
  justify-self:end!important;
  font-size:12px!important;
}
#win-prody #prodyAsk{
  grid-column:2!important;
}
#win-prody #prodyStop{
  display:none!important;
}
#bootScreen.boot-screen{
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
}
#bootScreen .boot-progress,
#bootScreen .boot-fill{
  display:none!important;
}
#bootScreen .boot-line{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  max-width:min(780px,80vw)!important;
  padding:0!important;
  margin:12px auto 0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  text-align:center!important;
  font-size:24px!important;
  line-height:1.2!important;
}
#bootScreen .boot-line::before,
#bootScreen .boot-line::after{
  content:none!important;
  display:none!important;
}

/* === v82 Peedy body offset fix === */
#win-prody .prody-body,
body.theme-31 #win-prody .prody-body{
  top:24px!important;
  bottom:0!important;
  height:calc(100% - 24px)!important;
  overflow:hidden!important;
}
#win-prody .menubar,
body.theme-31 #win-prody .menubar{
  display:none!important;
  height:0!important;
  padding:0!important;
  border:0!important;
}
@media (max-width:560px){
  #win-dogz,
  body.theme-31 #win-dogz,
  #win-prody,
  body.theme-31 #win-prody{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body,
  #win-prody .prody-body{
    grid-template-columns:minmax(0,1fr) 150px!important;
  }
  #win-dogz .bonzi-simple-head .agent-sprite-window,
  #win-prody .panel-avatar .agent-sprite-window,
  #win-prody .panel-avatar img{
    width:150px!important;
    height:142px!important;
    max-width:150px!important;
    max-height:142px!important;
  }
  #win-dogz .bonzi-mini-reply,
  #win-prody .prody-bubble{
    width:138px!important;
  }
}

/* === v80 equal compact assistant panels === */
#win-dogz,
body.theme-31 #win-dogz,
#win-prody,
body.theme-31 #win-prody{
  width:460px!important;
  height:236px!important;
  min-width:460px!important;
  min-height:236px!important;
  max-width:460px!important;
  max-height:236px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body,
#win-prody .prody-body{
  display:grid!important;
  grid-template-columns:minmax(0,268px) 154px!important;
  grid-template-rows:30px 64px 60px 32px!important;
  gap:5px 10px!important;
  padding:8px 9px 9px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-prody .menubar{
  display:none!important;
}
#win-dogz .bonzi-simple-head,
#win-prody .prody-toolbar-grid,
#win-prody .prody-actions,
#win-prody .panel-avatar{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window,
#win-prody .panel-avatar .agent-sprite-window,
#win-prody .panel-avatar img{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:150px!important;
  height:140px!important;
  max-width:150px!important;
  max-height:140px!important;
  overflow:visible!important;
  filter:drop-shadow(2px 4px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply,
#win-prody .prody-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:140px!important;
  min-height:42px!important;
  max-height:64px!important;
  overflow:hidden!important;
  padding:7px 8px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  box-shadow:1px 1px 0 #fff inset!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.08!important;
  position:relative!important;
  z-index:3!important;
}
#win-dogz .bonzi-mini-reply::before,
#win-prody .prody-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-12px!important;
  width:0!important;
  height:0!important;
  margin-left:-7px!important;
  background:transparent!important;
  border-left:7px solid transparent!important;
  border-right:7px solid transparent!important;
  border-top:12px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
#win-dogz .bonzi-mini-reply::after,
#win-prody .prody-bubble::after,
#win-dogz .bonzi-mini-reply.talking::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-8px!important;
  width:0!important;
  height:0!important;
  margin-left:-5px!important;
  background:transparent!important;
  border-left:5px solid transparent!important;
  border-right:5px solid transparent!important;
  border-top:9px solid #fff8c9!important;
  animation:none!important;
  z-index:2!important;
}
#win-dogz .bonzi-simple-controls,
#win-prody .prody-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr)!important;
  grid-template-rows:28px!important;
  gap:7px!important;
  align-items:center!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label,
#win-prody .prody-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select,
#win-prody .prody-simple-controls select{
  width:100%!important;
  height:28px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions,
#win-prody .prody-side-tools{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:29px!important;
  gap:5px 7px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn,
#win-prody .prody-side-tools .ui-btn{
  width:100%!important;
  height:29px!important;
  padding:2px 7px!important;
  font-size:13px!important;
}
#win-prody .prody-session-label,
#win-prody .prody-response-label,
#win-prody .prody-log,
#win-prody .prody-voice-toggle,
#win-prody .prody-quick-grid{
  display:none!important;
}
#win-dogz .bonzi-mini-chat,
#win-prody .prody-response-row{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 66px!important;
  grid-template-rows:30px!important;
  gap:7px!important;
  align-self:start!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat input,
#win-prody .prody-response-row input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:30px!important;
  padding:3px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-mini-chat .ui-btn,
#win-prody .prody-response-row .ui-btn{
  grid-row:1!important;
  width:66px!important;
  height:30px!important;
  padding:2px 7px!important;
  justify-self:end!important;
}
#win-prody #prodyAsk{
  grid-column:2!important;
}
#win-prody #prodyStop{
  display:none!important;
}

/* === v77 Bonzi fit: speech bubble above head, no clipped controls === */
#win-dogz,
body.theme-31 #win-dogz{
  width:560px!important;
  height:286px!important;
  min-width:560px!important;
  min-height:286px!important;
  max-width:560px!important;
  max-height:286px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:minmax(0,338px) 180px!important;
  grid-template-rows:78px 36px 84px 36px!important;
  gap:6px 12px!important;
  padding:8px 10px 10px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:180px!important;
  height:168px!important;
  max-width:180px!important;
  max-height:168px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 5px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:center!important;
  width:166px!important;
  min-height:54px!important;
  max-height:72px!important;
  overflow:hidden!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:9px 9px 5px 9px!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:12px!important;
  line-height:1.12!important;
  position:relative!important;
  z-index:2!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:-10px!important;
  width:16px!important;
  height:16px!important;
  margin-left:-8px!important;
  background:#fff8c9!important;
  border:0!important;
  border-right:2px solid #555!important;
  border-bottom:2px solid #555!important;
  transform:rotate(45deg)!important;
  z-index:-1!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:" _";
  animation:bonziCursorBlink .7s steps(1,end) infinite;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:30px!important;
  gap:8px!important;
  align-items:center!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:30px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:32px!important;
  gap:7px 8px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  width:100%!important;
  height:32px!important;
  padding:2px 8px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:34px!important;
  gap:8px!important;
  align-self:end!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:34px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:72px!important;
  height:34px!important;
  padding:3px 8px!important;
  justify-self:end!important;
}
@media (max-width:620px){
  #win-dogz,
  body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:minmax(0,1fr) 164px!important;
  }
  #win-dogz .bonzi-simple-head .agent-sprite-window{
    width:164px!important;
    height:160px!important;
    max-width:164px!important;
    max-height:160px!important;
  }
  #win-dogz .bonzi-mini-reply{
    width:150px!important;
  }
}

/* === v91 petOS launch polish final override === */
.char-bubble,
body.theme-31 .char-bubble{
  bottom:78px!important;
  min-width:150px!important;
  max-width:190px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  padding:8px 10px!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.12!important;
  box-shadow:1px 1px 0 #fff inset, 2px 2px 0 rgba(0,0,0,.18)!important;
  z-index:320!important;
}
.char-bubble::after,
body.theme-31 .char-bubble::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:0!important;
  height:0!important;
  margin-left:-8px!important;
  border-left:8px solid transparent!important;
  border-right:8px solid transparent!important;
  border-top:13px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
.char-bubble::before,
body.theme-31 .char-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-9px!important;
  width:0!important;
  height:0!important;
  margin-left:-6px!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:10px solid #fff8c9!important;
  transform:none!important;
  z-index:2!important;
}
#win-contract .contract-icon img,
.icon-btn.open-window[data-target="contract"] img,
.start-item.open-window[data-target="contract"] img{
  border-radius:0!important;
  image-rendering:auto!important;
  background:#0500bf!important;
  box-shadow:1px 1px 0 rgba(0,0,0,.28)!important;
}
#win-contract .contract-copy p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.22!important;
}
#win-contract .contract-copy{
  gap:7px!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  z-index:72!important;
}

/* === petOS launch polish: contained removed-pet, Bonzi-style dock bubbles, petOS CA logo === */
.char-bubble,
body.theme-31 .char-bubble{
  bottom:78px!important;
  min-width:150px!important;
  max-width:190px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  padding:8px 10px!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.12!important;
  box-shadow:1px 1px 0 #fff inset, 2px 2px 0 rgba(0,0,0,.18)!important;
  z-index:320!important;
}
.char-bubble::after,
body.theme-31 .char-bubble::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:0!important;
  height:0!important;
  margin-left:-8px!important;
  border-left:8px solid transparent!important;
  border-right:8px solid transparent!important;
  border-top:13px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
.char-bubble::before,
body.theme-31 .char-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-9px!important;
  width:0!important;
  height:0!important;
  margin-left:-6px!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:10px solid #fff8c9!important;
  transform:none!important;
  z-index:2!important;
}
#win-contract .contract-icon img,
.icon-btn.open-window[data-target="contract"] img{
  border-radius:0!important;
  image-rendering:auto!important;
  background:#0500bf!important;
  box-shadow:1px 1px 0 rgba(0,0,0,.28)!important;
}
#win-contract .contract-copy p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.22!important;
}
#win-contract .contract-copy{
  gap:7px!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  z-index:72!important;
}

/* === v88 compact docs and Bonzi final fit === */

#win-info,
#win-readme,
body.theme-31 #win-info,
body.theme-31 #win-readme{
  width:760px!important;
  height:430px!important;
  overflow:hidden!important;
}
#win-info .doc-window-body,
#win-readme .doc-window-body{
  height:calc(100% - var(--titlebar-h) - 20px)!important;
  padding:0!important;
  overflow:hidden!important;
}
#win-info .doc-frame,
#win-readme .doc-frame{
  width:100%!important;
  height:100%!important;
  border:0!important;
}

#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:500px!important;
  height:286px!important;
  min-width:500px!important;
  min-height:286px!important;
  max-width:500px!important;
  max-height:286px!important;
  overflow:hidden!important;
}
#win-removed-pet .removed-pet-body{
  height:calc(100% - var(--titlebar-h))!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  grid-template-rows:74px 38px 1fr!important;
  gap:7px 9px!important;
  overflow:hidden!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  margin:0!important;
  border:2px inset #fff!important;
  background:#eee!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:92px!important;
  height:92px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn{
  height:32px!important;
  min-width:0!important;
  padding:2px 5px!important;
  font-size:12px!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:5px 7px!important;
  border:2px inset #fff!important;
  background:#f4f4f4!important;
  font-size:12px!important;
  line-height:1.15!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-choice{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:4px!important;
  height:36px!important;
  min-width:0!important;
  padding:2px 4px!important;
  font-size:11px!important;
  text-align:left!important;
}
#win-removed-pet .pet-choice img{
  width:24px!important;
  height:24px!important;
  object-fit:contain!important;
}
#win-removed-pet .pet-choice span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#win-removed-pet .pet-choice.active{
  background:#000080!important;
  color:#fff!important;
  border-color:#fff #404040 #404040 #fff!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  width:52px!important;
  height:52px!important;
  z-index:238!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  width:52px!important;
  height:52px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}

#win-dogz,
body.theme-31 #win-dogz{
  width:520px!important;
  height:268px!important;
  min-width:520px!important;
  min-height:268px!important;
  max-width:520px!important;
  max-height:268px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  height:calc(100% - var(--titlebar-h))!important;
  padding:8px 10px 10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,304px) 176px!important;
  grid-template-rows:34px 70px 54px 34px!important;
  gap:6px 10px!important;
  overflow:hidden!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:188px!important;
  height:176px!important;
  max-width:188px!important;
  max-height:176px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:164px!important;
  min-height:54px!important;
  max-height:72px!important;
  padding:8px 10px!important;
  font-size:12px!important;
  line-height:1.12!important;
  overflow:visible!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:8px!important;
}
#win-dogz .bonzi-simple-controls select{
  height:30px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:7px!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  height:30px!important;
  padding:2px 7px!important;
  font-size:12px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 70px!important;
  gap:8px!important;
}
#win-dogz .bonzi-mini-chat input{
  height:32px!important;
  padding:4px 8px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  width:70px!important;
  height:32px!important;
}

/* === v89 Bonzi tighter buddy panel === */
#win-dogz,
body.theme-31 #win-dogz{
  width:486px!important;
  height:236px!important;
  min-width:486px!important;
  min-height:236px!important;
  max-width:486px!important;
  max-height:236px!important;
  overflow:visible!important;
}
#win-dogz .window-mascot{
  display:none!important;
}
#win-dogz .bonzi-mini-body{
  height:calc(100% - var(--titlebar-h))!important;
  padding:7px 8px 8px!important;
  display:grid!important;
  grid-template-columns:minmax(0,278px) 176px!important;
  grid-template-rows:30px 62px 44px 34px!important;
  gap:6px 8px!important;
  overflow:hidden!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:204px!important;
  height:194px!important;
  max-width:204px!important;
  max-height:194px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 5px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window img,
#win-dogz .bonzi-avatar{
  width:204px!important;
  height:194px!important;
  max-width:204px!important;
  max-height:194px!important;
  object-fit:contain!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:158px!important;
  min-height:48px!important;
  max-height:62px!important;
  padding:7px 9px!important;
  font-size:12px!important;
  line-height:1.08!important;
  overflow:visible!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
}
#win-dogz .bonzi-simple-controls label{
  font-size:12px!important;
  line-height:1!important;
}
#win-dogz .bonzi-simple-controls select{
  height:28px!important;
  padding:2px 6px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:6px!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  height:28px!important;
  padding:1px 6px!important;
  font-size:12px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  gap:7px!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat input{
  height:30px!important;
  padding:3px 7px!important;
  font-size:12px!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  width:64px!important;
  height:30px!important;
  padding:2px 6px!important;
  font-size:12px!important;
}

/* === v90 removed-pet four-pet picker final fit === */
#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:424px!important;
  height:220px!important;
  min-width:424px!important;
  min-height:220px!important;
  max-width:424px!important;
  max-height:220px!important;
  overflow:hidden!important;
}
#win-removed-pet .removed-pet-body{
  height:calc(100% - var(--titlebar-h))!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  grid-template-rows:34px 38px 74px!important;
  gap:7px 8px!important;
  overflow:hidden!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px inset #fff!important;
  background:#eee!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:76px!important;
  height:76px!important;
  max-width:76px!important;
  max-height:76px!important;
  object-fit:contain!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn{
  height:30px!important;
  padding:2px 4px!important;
  font-size:11px!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  padding:5px 7px!important;
  font-size:11px!important;
  line-height:1.12!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:66px!important;
  gap:6px!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-choice{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:36px 16px!important;
  place-items:center!important;
  height:66px!important;
  padding:3px!important;
  font-size:10px!important;
  text-align:center!important;
}
#win-removed-pet .pet-choice img{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
}
#win-removed-pet .pet-choice span{
  width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  width:50px!important;
  height:50px!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  width:50px!important;
  height:50px!important;
  max-width:50px!important;
  max-height:50px!important;
  object-fit:contain!important;
}

/* === v87 no-flash boot and selector/info fit === */
body.preload #desktop,
body.preload #taskbar,
body.preload #startMenu,
body.preload #characterDock,
body.preload #petLayer{
  visibility:hidden!important;
  opacity:0!important;
}

#win-assistants,
body.theme-31 #win-assistants{
  width:900px!important;
  height:430px!important;
  min-width:900px!important;
  min-height:430px!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 88px)!important;
  overflow:hidden!important;
}
#win-assistants .menubar{
  display:none!important;
}
#win-assistants .assistant-selector{
  height:calc(100% - var(--titlebar-h))!important;
  padding:10px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#win-assistants .assistant-copy{
  margin:0 0 8px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
#win-assistants .assistant-cards{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#win-assistants .assistant-card{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:8px!important;
  min-height:82px!important;
  padding:7px!important;
  overflow:hidden!important;
}
#win-assistants .assistant-card img{
  display:block!important;
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
  align-self:start!important;
}
#win-assistants .assistant-card h4{
  margin:0 0 2px!important;
  font-size:13px!important;
  line-height:1!important;
}
#win-assistants .assistant-card p{
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.12!important;
}
#win-assistants .assistant-card .assistant-use{
  margin-top:2px!important;
  color:#000!important;
  font-weight:700!important;
}

#win-info,
#win-readme,
body.theme-31 #win-info,
body.theme-31 #win-readme{
  width:760px!important;
  height:430px!important;
  min-width:640px!important;
  min-height:360px!important;
  overflow:hidden!important;
}
#win-info .doc-window-body,
#win-readme .doc-window-body{
  height:calc(100% - var(--titlebar-h) - 20px)!important;
  padding:0!important;
}
#win-info .doc-frame,
#win-readme .doc-frame{
  width:100%!important;
  height:100%!important;
  display:block!important;
}

@media (max-width:980px){
  #win-assistants .assistant-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #win-assistants,
  body.theme-31 #win-assistants{
    height:520px!important;
    min-width:0!important;
  }
}

/* === v85 final pet sizing/order override === */
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  width:52px!important;
  height:52px!important;
  z-index:236!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  width:52px!important;
  height:52px!important;
  object-fit:contain!important;
}
.shimeji-pet,
body.theme-31 .shimeji-pet{
  width:86px!important;
  height:86px!important;
  z-index:226!important;
  pointer-events:none!important;
  cursor:default!important;
  transition:none!important;
  will-change:left,top,transform!important;
}
.shimeji-pet.dragging,
body.theme-31 .shimeji-pet.dragging{
  cursor:default!important;
  z-index:245!important;
}
.shimeji-pet img,
body.theme-31 .shimeji-pet img{
  width:86px!important;
  height:86px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
#oneko{
  z-index:2147483647!important;
  transform:scale(1.7)!important;
  transform-origin:center center!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(1px 2px 1px rgba(0,0,0,.35))!important;
}

/* === v84 richer desktop pet behavior === */
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  width:52px!important;
  height:52px!important;
  z-index:236!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  width:52px!important;
  height:52px!important;
  object-fit:contain!important;
}
.removed-pet-runner.sleeping{
  filter:grayscale(.1) drop-shadow(0 2px 2px rgba(0,0,0,.28))!important;
  opacity:.88!important;
}
.removed-pet-runner.sleeping::after{
  content:"Z";
  position:absolute;
  right:-2px;
  top:-10px;
  color:#fff;
  font:bold 13px Arial,sans-serif;
  text-shadow:1px 1px #000;
}
.shimeji-pet,
body.theme-31 .shimeji-pet{
  width:86px!important;
  height:86px!important;
  z-index:226!important;
  pointer-events:none!important;
  cursor:default!important;
  transition:none!important;
  will-change:left,top,transform!important;
}
.shimeji-pet.dragging,
body.theme-31 .shimeji-pet.dragging{
  cursor:default!important;
  z-index:245!important;
}
.shimeji-pet img,
body.theme-31 .shimeji-pet img{
  width:86px!important;
  height:86px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
#oneko{
  z-index:2147483647!important;
  transform:scale(1.7)!important;
  transform-origin:center center!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(1px 2px 1px rgba(0,0,0,.35))!important;
}
#win-shimeji,
body.theme-31 #win-shimeji{
  width:452px!important;
  min-width:452px!important;
  max-width:452px!important;
  height:252px!important;
  min-height:252px!important;
  max-height:252px!important;
}
#win-shimeji .menubar{
  display:none!important;
}
#win-shimeji .shimeji-body{
  top:24px!important;
  height:calc(100% - 24px)!important;
  display:grid!important;
  grid-template-rows:36px 70px 56px 1fr!important;
  gap:6px!important;
  padding:8px!important;
  overflow:hidden!important;
}
#win-shimeji .shimeji-panel-row{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px 54px!important;
  gap:7px!important;
}
#win-shimeji .shimeji-actions-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:6px!important;
}
#win-shimeji .shimeji-actions-grid .ui-btn{
  height:30px!important;
  padding:2px 4px!important;
  font-size:12px!important;
}
#win-shimeji .shimeji-preview-strip{
  min-height:0!important;
  height:56px!important;
  padding:5px 7px!important;
  overflow:hidden!important;
}
#win-shimeji .shimeji-preview-strip img{
  width:42px!important;
  height:42px!important;
  object-fit:contain!important;
}
#win-shimeji .pet-help{
  margin:0!important;
  padding:2px 4px!important;
  font-size:11px!important;
  line-height:1.1!important;
  overflow:hidden!important;
}

/* === removed-pet + Shimeji desktop pet pass === */
#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:430px!important;
  min-width:430px!important;
  max-width:430px!important;
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
  overflow:hidden!important;
}
#win-removed-pet .titlebar{
  height:22px!important;
  line-height:22px!important;
}
#win-removed-pet .removed-pet-body{
  top:24px!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:calc(100% - 24px)!important;
  padding:8px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  grid-template-rows:76px 34px 1fr!important;
  gap:7px 9px!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border:2px inset #fff!important;
  background:#eee!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:92px!important;
  height:92px!important;
  max-width:92px!important;
  max-height:92px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:32px!important;
  gap:6px!important;
  align-content:start!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn,
#win-removed-pet .pet-gallery .ui-btn{
  width:100%!important;
  min-width:0!important;
  height:32px!important;
  padding:3px 6px!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:normal!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:4px 6px!important;
  min-height:0!important;
  border:2px inset #fff!important;
  background:#f4f4f4!important;
  font-size:11px!important;
  line-height:1.15!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:6px!important;
  overflow:hidden!important;
  align-content:start!important;
}
.removed-pet-runner{
  position:fixed!important;
  bottom:auto!important;
  width:64px!important;
  height:64px!important;
  z-index:236!important;
  pointer-events:none!important;
  transform-origin:center bottom!important;
}
.removed-pet-runner img{
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))!important;
}
#win-shimeji,
body.theme-31 #win-shimeji{
  width:430px!important;
  min-width:430px!important;
  height:236px!important;
  min-height:236px!important;
  overflow:hidden!important;
}
#win-shimeji .window-body{
  top:24px!important;
  height:calc(100% - 24px)!important;
  overflow:hidden!important;
}

/* === v84 final Peedy clipping override at EOF === */
#win-prody,
body.theme-31 #win-prody{
  width:440px!important;
  height:250px!important;
  min-width:440px!important;
  min-height:250px!important;
  max-width:440px!important;
  max-height:250px!important;
  overflow:visible!important;
}
#win-prody .menubar,
body.theme-31 #win-prody .menubar{
  display:none!important;
  height:0!important;
  padding:0!important;
  border:0!important;
}
#win-prody .prody-body,
body.theme-31 #win-prody .prody-body{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:24px!important;
  bottom:0!important;
  height:calc(100% - 24px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,252px) 148px!important;
  grid-template-rows:28px 56px 54px 34px!important;
  gap:5px 10px!important;
  align-content:start!important;
  padding:8px 9px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-prody .prody-toolbar-grid,
#win-prody .prody-actions,
#win-prody .panel-avatar{
  display:contents!important;
}
#win-prody .prody-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:28px!important;
  gap:7px!important;
  align-items:center!important;
}
#win-prody .prody-simple-controls label{font-size:12px!important;font-weight:700!important}
#win-prody .prody-simple-controls select{height:28px!important;width:100%!important}
#win-prody .prody-side-tools{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:5px 7px!important;
  align-self:start!important;
}
#win-prody .prody-side-tools .ui-btn{
  width:100%!important;
  height:28px!important;
  padding:2px 6px!important;
  font-size:12px!important;
}
#win-prody .prody-response-row{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  grid-template-rows:30px!important;
  gap:7px!important;
  align-self:start!important;
  min-height:0!important;
}
#win-prody .prody-response-row input{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:30px!important;
  padding:3px 8px!important;
  box-sizing:border-box!important;
}
#win-prody #prodyAsk{
  grid-column:2!important;
  grid-row:1!important;
  width:64px!important;
  height:30px!important;
}
#win-prody #prodyStop,
#win-prody .prody-session-label,
#win-prody .prody-response-label,
#win-prody .prody-log,
#win-prody .prody-voice-toggle,
#win-prody .prody-quick-grid{
  display:none!important;
}
#win-prody .prody-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:136px!important;
  min-height:40px!important;
  max-height:62px!important;
}
#win-prody .panel-avatar .agent-sprite-window,
#win-prody .panel-avatar img{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:144px!important;
  height:132px!important;
  max-width:144px!important;
  max-height:132px!important;
}

/* === v86 final pet sizing/order override after removed-pet pass === */
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  width:52px!important;
  height:52px!important;
  z-index:236!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  width:52px!important;
  height:52px!important;
  object-fit:contain!important;
}
.shimeji-pet,
body.theme-31 .shimeji-pet{
  width:86px!important;
  height:86px!important;
  z-index:226!important;
  pointer-events:none!important;
  cursor:default!important;
  transition:none!important;
  will-change:left,top,transform!important;
}
.shimeji-pet.dragging,
body.theme-31 .shimeji-pet.dragging{
  cursor:default!important;
  z-index:245!important;
}
.shimeji-pet img,
body.theme-31 .shimeji-pet img{
  width:86px!important;
  height:86px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
}
#oneko{
  z-index:2147483647!important;
  transform:scale(1.7)!important;
  transform-origin:center center!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(1px 2px 1px rgba(0,0,0,.35))!important;
}

/* === v83 final Peedy clipping override === */
#win-prody,
body.theme-31 #win-prody{
  width:440px!important;
  height:250px!important;
  min-width:440px!important;
  min-height:250px!important;
  max-width:440px!important;
  max-height:250px!important;
  overflow:visible!important;
}
#win-prody .menubar,
body.theme-31 #win-prody .menubar{
  display:none!important;
  height:0!important;
  padding:0!important;
  border:0!important;
}
#win-prody .prody-body,
body.theme-31 #win-prody .prody-body{
  top:24px!important;
  bottom:0!important;
  height:calc(100% - 24px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,252px) 148px!important;
  grid-template-rows:28px 56px 54px 34px!important;
  gap:5px 10px!important;
  align-content:start!important;
  padding:8px 9px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-prody .prody-toolbar-grid,
#win-prody .prody-actions,
#win-prody .panel-avatar{
  display:contents!important;
}
#win-prody .prody-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:28px!important;
  gap:7px!important;
  align-items:center!important;
}
#win-prody .prody-side-tools{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:5px 7px!important;
  align-self:start!important;
}
#win-prody .prody-side-tools .ui-btn{
  width:100%!important;
  height:28px!important;
  padding:2px 6px!important;
  font-size:12px!important;
}
#win-prody .prody-response-row{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 64px!important;
  grid-template-rows:30px!important;
  gap:7px!important;
  align-self:start!important;
  min-height:0!important;
}
#win-prody .prody-response-row input{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  height:30px!important;
  padding:3px 8px!important;
  box-sizing:border-box!important;
}
#win-prody #prodyAsk{
  grid-column:2!important;
  grid-row:1!important;
  width:64px!important;
  height:30px!important;
}
#win-prody #prodyStop,
#win-prody .prody-session-label,
#win-prody .prody-response-label,
#win-prody .prody-log,
#win-prody .prody-voice-toggle,
#win-prody .prody-quick-grid{
  display:none!important;
}
#win-prody .prody-bubble{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:136px!important;
  min-height:40px!important;
  max-height:62px!important;
}
#win-prody .panel-avatar .agent-sprite-window,
#win-prody .panel-avatar img{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:144px!important;
  height:132px!important;
  max-width:144px!important;
  max-height:132px!important;
}

/* === v78 Bonzi bubble pointer and cleaner control fit === */
#win-dogz,
body.theme-31 #win-dogz{
  width:560px!important;
  height:300px!important;
  min-width:560px!important;
  min-height:300px!important;
  max-width:560px!important;
  max-height:300px!important;
  overflow:visible!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:minmax(0,338px) 180px!important;
  grid-template-rows:84px 36px 82px 40px!important;
  gap:7px 12px!important;
  padding:8px 10px 14px!important;
  overflow:hidden!important;
  height:calc(100% - var(--titlebar-h))!important;
  box-sizing:border-box!important;
  background:#c0c0c0!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:180px!important;
  height:166px!important;
  max-width:180px!important;
  max-height:166px!important;
  overflow:visible!important;
  filter:drop-shadow(3px 5px 2px rgba(0,0,0,.28))!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1!important;
  align-self:end!important;
  justify-self:center!important;
  width:166px!important;
  min-height:50px!important;
  max-height:68px!important;
  overflow:visible!important;
  padding:8px 10px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  box-shadow:1px 1px 0 #fff inset!important;
  font-size:12px!important;
  line-height:1.12!important;
  position:relative!important;
  z-index:3!important;
}
#win-dogz .bonzi-mini-reply::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:0!important;
  height:0!important;
  margin-left:-8px!important;
  background:transparent!important;
  border-left:8px solid transparent!important;
  border-right:8px solid transparent!important;
  border-top:13px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
#win-dogz .bonzi-mini-reply::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-9px!important;
  width:0!important;
  height:0!important;
  margin-left:-6px!important;
  background:transparent!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:10px solid #fff8c9!important;
  z-index:2!important;
}
#win-dogz .bonzi-mini-reply.talking::after{
  content:""!important;
  animation:none!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  grid-template-rows:30px!important;
  gap:8px!important;
  align-items:center!important;
  align-self:start!important;
  min-width:0!important;
}
#win-dogz .bonzi-simple-controls label{
  display:block!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
}
#win-dogz .bonzi-simple-controls select{
  width:100%!important;
  height:30px!important;
  padding:2px 6px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:13px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2 / 4!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:32px!important;
  gap:7px 8px!important;
  align-self:start!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  width:100%!important;
  height:32px!important;
  padding:2px 8px!important;
  font-size:13px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:34px!important;
  gap:8px!important;
  align-self:start!important;
  min-height:0!important;
}
#win-dogz .bonzi-mini-chat::before{
  content:none!important;
  display:none!important;
}
#win-dogz .bonzi-mini-chat input{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  height:34px!important;
  padding:4px 8px!important;
  border:2px inset #fff!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-mini-chat .ui-btn{
  grid-column:2!important;
  grid-row:1!important;
  width:72px!important;
  height:34px!important;
  padding:3px 8px!important;
  justify-self:end!important;
}
@media (max-width:620px){
  #win-dogz,
  body.theme-31 #win-dogz{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:calc(100vw - 24px)!important;
  }
  #win-dogz .bonzi-mini-body{
    grid-template-columns:minmax(0,1fr) 164px!important;
  }
  #win-dogz .bonzi-simple-head .agent-sprite-window{
    width:164px!important;
    height:158px!important;
    max-width:164px!important;
    max-height:158px!important;
  }
  #win-dogz .bonzi-mini-reply{
    width:150px!important;
  }
}

/* === v97 compact-wide removed-pet + mixed spawns + tighter Bonzi === */
.window.active{
  z-index:260!important;
}
.char-bubble,
body.theme-31 .char-bubble{
  bottom:78px!important;
  min-width:150px!important;
  max-width:190px!important;
  background:#fff8c9!important;
  border:2px solid #555!important;
  border-radius:8px!important;
  padding:8px 10px!important;
  color:#000!important;
  font-size:12px!important;
  line-height:1.12!important;
  box-shadow:1px 1px 0 #fff inset, 2px 2px 0 rgba(0,0,0,.18)!important;
  z-index:320!important;
}
.char-bubble::after,
body.theme-31 .char-bubble::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-13px!important;
  width:0!important;
  height:0!important;
  margin-left:-8px!important;
  border-left:8px solid transparent!important;
  border-right:8px solid transparent!important;
  border-top:13px solid #555!important;
  border-bottom:0!important;
  transform:none!important;
  z-index:1!important;
}
.char-bubble::before,
body.theme-31 .char-bubble::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-9px!important;
  width:0!important;
  height:0!important;
  margin-left:-6px!important;
  border-left:6px solid transparent!important;
  border-right:6px solid transparent!important;
  border-top:10px solid #fff8c9!important;
  transform:none!important;
  z-index:2!important;
}
#win-contract,
body.theme-31 #win-contract{
  width:430px!important;
  height:198px!important;
  min-width:430px!important;
  min-height:198px!important;
  max-width:430px!important;
  max-height:198px!important;
  overflow:hidden!important;
}
#win-contract .contract-body{
  top:45px!important;
  bottom:0!important;
  height:calc(100% - 45px)!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#win-contract .contract-icon img{
  width:54px!important;
  height:54px!important;
  object-fit:contain!important;
  image-rendering:pixelated!important;
  background:transparent!important;
  box-shadow:none!important;
}
.icon-btn.open-window[data-target="contract"] img,
.start-item.open-window[data-target="contract"] img{
  background:transparent!important;
  box-shadow:none!important;
  image-rendering:pixelated!important;
}
#win-contract .contract-copy p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.18!important;
}
#win-contract .contract-copy{
  gap:7px!important;
  min-width:0!important;
}
#win-contract .contract-copy input{
  height:30px!important;
  padding:4px 8px!important;
  box-sizing:border-box!important;
}
#win-contract .contract-copy .ui-btn{
  height:30px!important;
  padding:3px 8px!important;
}
#win-contract #contractCopied{
  display:none!important;
}
#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:900px!important;
  height:292px!important;
  min-width:900px!important;
  min-height:292px!important;
  max-width:900px!important;
  max-height:292px!important;
  overflow:hidden!important;
}
#win-removed-pet .window-mascot{
  display:none!important;
}
#win-removed-pet .removed-pet-body{
  top:24px!important;
  height:calc(100% - 24px)!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:196px minmax(0,1fr)!important;
  grid-template-rows:64px 48px 124px!important;
  gap:10px 12px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  width:100%!important;
  height:100%!important;
  border:2px inset #9a9a9a!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:126px!important;
  height:126px!important;
  max-width:126px!important;
  max-height:126px!important;
  object-fit:contain!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:8px 10px!important;
  align-content:start!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn{
  height:28px!important;
  padding:3px 8px!important;
  font-size:13px!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:6px 10px!important;
  border:2px inset #9a9a9a!important;
  background:#d6d6d6!important;
  font-size:12px!important;
  line-height:1.2!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:116px!important;
  grid-auto-rows:116px!important;
  gap:10px!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
#win-removed-pet .pet-choice{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:68px 24px!important;
  align-items:center!important;
  justify-items:center!important;
  gap:6px!important;
  width:100%!important;
  height:116px!important;
  min-height:116px!important;
  padding:7px 6px!important;
  font-size:12px!important;
  line-height:1.1!important;
  text-align:center!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-choice img{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  max-height:64px!important;
  object-fit:contain!important;
  align-self:center!important;
  justify-self:center!important;
  display:block!important;
}
#win-removed-pet .pet-choice span{
  width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  align-self:center!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  z-index:136!important;
}
.shimeji-pet,
body.theme-31 .shimeji-pet{
  z-index:70!important;
}

#win-dogz,
body.theme-31 #win-dogz{
  width:620px!important;
  height:250px!important;
  min-width:620px!important;
  min-height:250px!important;
  max-width:620px!important;
  max-height:250px!important;
  overflow:hidden!important;
}
#win-dogz .window-mascot{
  display:none!important;
}
#win-dogz .bonzi-mini-body{
  display:grid!important;
  grid-template-columns:360px 220px!important;
  grid-template-rows:34px 72px 34px 50px!important;
  gap:6px 12px!important;
  padding:8px 12px!important;
  height:calc(100% - 24px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#win-dogz .bonzi-simple-controls{
  grid-column:1!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}
#win-dogz .bonzi-simple-controls select{
  height:30px!important;
}
#win-dogz .bonzi-quick-actions{
  grid-column:1!important;
  grid-row:2!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:7px 9px!important;
}
#win-dogz .bonzi-quick-actions .ui-btn{
  height:30px!important;
}
#win-dogz .bonzi-mini-chat{
  grid-column:1!important;
  grid-row:4!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 76px!important;
  gap:8px!important;
}
#win-dogz .bonzi-mini-chat input,
#win-dogz .bonzi-mini-chat .ui-btn{
  height:34px!important;
}
#win-dogz .bonzi-mini-reply{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:start!important;
  justify-self:center!important;
  width:194px!important;
  min-height:58px!important;
  max-height:78px!important;
  margin-top:6px!important;
}
#win-dogz .bonzi-simple-head{
  display:contents!important;
}
#win-dogz .bonzi-simple-head .agent-sprite-window{
  grid-column:2!important;
  grid-row:2 / 5!important;
  align-self:end!important;
  justify-self:center!important;
  width:210px!important;
  height:188px!important;
  max-width:210px!important;
  max-height:188px!important;
}

/* === v98 static Program Manager icons for lighter load === */
#win-main .agent-sprite-main{
  display:none!important;
}
#win-main .icon-btn > img{
  display:block!important;
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  object-fit:contain!important;
  image-rendering:auto!important;
  filter:none!important;
}
#win-main .icon-btn{
  transform:none!important;
  animation:none!important;
}

/* === v99 six removed-pet variants, wide-short removed-pet panel === */
#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:1080px!important;
  height:260px!important;
  min-width:1080px!important;
  min-height:260px!important;
  max-width:calc(100vw - 28px)!important;
  max-height:260px!important;
  overflow:hidden!important;
}
#win-removed-pet .removed-pet-body{
  top:24px!important;
  height:calc(100% - 24px)!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:168px minmax(0,1fr)!important;
  grid-template-rows:56px 42px 112px!important;
  gap:8px 12px!important;
  overflow:hidden!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  background:transparent!important;
  border:2px inset #9a9a9a!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  object-fit:contain!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:28px!important;
  gap:8px!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn{
  height:28px!important;
  padding:3px 8px!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  padding:6px 10px!important;
  background:#d6d6d6!important;
  border:2px inset #9a9a9a!important;
  font-size:12px!important;
  line-height:1.15!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  grid-template-rows:106px!important;
  grid-auto-rows:106px!important;
  gap:8px!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-choice{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:60px 24px!important;
  justify-items:center!important;
  align-items:center!important;
  width:100%!important;
  height:106px!important;
  min-height:106px!important;
  padding:6px 4px!important;
  overflow:hidden!important;
  font-size:12px!important;
  line-height:1.1!important;
  text-align:center!important;
}
#win-removed-pet .pet-choice img{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
}
#win-removed-pet .pet-choice span{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* === v100 compact Windows 90s removed-pet manager === */
#win-removed-pet,
body.theme-31 #win-removed-pet{
  width:720px!important;
  height:372px!important;
  min-width:720px!important;
  min-height:372px!important;
  max-width:720px!important;
  max-height:calc(100vh - 96px)!important;
  overflow:hidden!important;
}
#win-removed-pet .removed-pet-body{
  top:24px!important;
  height:calc(100% - 24px)!important;
  padding:12px!important;
  display:grid!important;
  grid-template-columns:174px minmax(0,1fr)!important;
  grid-template-rows:70px 56px 1fr!important;
  gap:10px 12px!important;
  background:#c0c0c0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#win-removed-pet .Removed Pet-preview{
  grid-column:1!important;
  grid-row:1 / 4!important;
  border:2px inset #808080!important;
  background:#bfbfbf!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#win-removed-pet .Removed Pet-preview img{
  width:120px!important;
  height:120px!important;
  max-width:120px!important;
  max-height:120px!important;
}
#win-removed-pet .Removed Pet-actions{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:30px!important;
  gap:8px!important;
}
#win-removed-pet .Removed Pet-actions .ui-btn{
  height:30px!important;
  font-size:13px!important;
  padding:3px 8px!important;
}
#win-removed-pet .pet-help{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:8px 10px!important;
  border:2px inset #808080!important;
  background:#d7d7d7!important;
  font-size:12px!important;
  line-height:1.2!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-gallery{
  grid-column:2!important;
  grid-row:3!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,86px)!important;
  grid-auto-rows:86px!important;
  gap:8px!important;
  overflow:hidden!important;
}
#win-removed-pet .pet-choice{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  gap:8px!important;
  align-items:center!important;
  justify-items:start!important;
  height:86px!important;
  min-height:86px!important;
  padding:6px 9px!important;
  font-size:12px!important;
  line-height:1.1!important;
  text-align:left!important;
}
#win-removed-pet .pet-choice img{
  width:48px!important;
  height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
}
#win-removed-pet .pet-choice span{
  width:100%!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* === v101 petOS desktop shortcuts + ClippyJS loader === */
.desktop-icons{
  position:absolute;
  left:28px;
  top:34px;
  z-index:4;
  display:grid;
  grid-template-columns:88px;
  grid-auto-rows:82px;
  gap:4px;
}
.desktop-icon{
  width:84px;
  min-height:78px;
  border:0;
  padding:4px 2px;
  background:transparent;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  text-shadow:1px 1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, -1px -1px 0 #000;
  cursor:pointer;
}
.desktop-icon img{
  width:38px;
  height:38px;
  object-fit:contain;
  image-rendering:auto;
}
.desktop-icon span{
  max-width:84px;
  text-align:center;
  font-size:13px;
  line-height:1.05;
  word-break:break-word;
}
.desktop-icon:hover span,
.desktop-icon:focus-visible span{
  background:#000080;
  color:#fff;
  text-shadow:none;
  outline:1px dotted #fff;
}
#win-main,
body.theme-31 #win-main{
  width:690px!important;
  height:342px!important;
  min-width:690px!important;
  min-height:342px!important;
  max-width:690px!important;
  max-height:342px!important;
}
#win-main .window-body.clippy-loader{
  top:24px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  background:#c0c0c0!important;
  display:grid!important;
  grid-template-rows:auto auto auto 1fr!important;
  gap:12px!important;
}
.agent-hero{
  display:grid;
  grid-template-columns:1fr 152px;
  align-items:start;
  gap:12px;
  border:2px inset #fff;
  padding:12px;
  background:#d0d0d0;
}
.agent-hero h1{
  margin:0 0 6px;
  font-size:20px;
  line-height:1.1;
}
.agent-hero p{
  margin:0;
  font-size:13px;
  line-height:1.26;
}
.agent-status{
  border:2px inset #fff;
  background:#e8e8e8;
  padding:7px 8px;
  min-height:34px;
  font-size:12px;
  align-self:center;
}
.agent-buttons{
  display:grid;
  grid-template-columns:repeat(10, minmax(0,1fr));
  gap:7px;
  border:2px inset #fff;
  background:#b8b8b8;
  padding:8px;
}
.agent-buttons .ui-btn{
  width:auto;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
}
.agent-buttons .ui-btn.active{
  background:#000080!important;
  color:#fff!important;
}
.agent-checks{
  display:flex;
  align-items:center;
  gap:18px;
  border:2px inset #fff;
  background:#d0d0d0;
  padding:8px 10px;
}
.agent-check{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
}
.agent-check input{
  width:18px;
  height:18px;
}
.agent-chat{
  display:grid;
  grid-template-columns:1fr 118px;
  gap:8px;
  align-self:end;
  border:2px inset #fff;
  background:#d0d0d0;
  padding:10px;
}
.agent-chat input{
  min-width:0;
  height:38px;
  border:2px inset #fff;
  background:#fff;
  padding:6px 9px;
  font-size:14px;
}
.agent-chat .ui-btn{
  height:38px;
}
.petos-clippy-agent{
  pointer-events:none!important;
  z-index:10001!important;
  image-rendering:auto!important;
}
.petos-clippy-agent *{
  pointer-events:none!important;
}
.petos-clippy-balloon{
  pointer-events:none!important;
  border-radius:0!important;
  border:2px solid #404040!important;
  box-shadow:2px 2px 0 rgba(0,0,0,.45)!important;
}
@media (max-width:980px){
  .desktop-icons{left:12px;top:20px;grid-template-columns:repeat(2,78px);grid-auto-rows:76px}
  .desktop-icon{width:76px}
  #win-main,body.theme-31 #win-main{
    width:min(680px, calc(100vw - 28px))!important;
    min-width:min(680px, calc(100vw - 28px))!important;
    max-width:min(680px, calc(100vw - 28px))!important;
  }
  .agent-buttons{grid-template-columns:repeat(5, minmax(0,1fr))}
}

/* === v102 petOS Companion Hub === */
#win-main,
body.theme-31 #win-main{
  width:800px!important;
  height:462px!important;
  min-width:740px!important;
  min-height:430px!important;
  max-width:calc(100vw - 120px)!important;
  max-height:calc(100vh - 130px)!important;
  border-color:#f8f8f8 #202020 #202020 #f8f8f8!important;
}
#win-main .titlebar{
  height:26px!important;
  background:#11119a!important;
  border-bottom:1px solid #05055d!important;
}
#win-main .titlebar .title-text{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
}
.petos-title-paw{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:17px;
  padding:0 4px;
  background:#0000c8;
  color:#fff;
  border:1px solid #9ea7ff;
  font-size:10px;
  line-height:1;
}
#win-main .window-body.companion-hub{
  top:26px!important;
  padding:7px!important;
  overflow:hidden!important;
  background:#bdbdbd!important;
  display:grid!important;
  grid-template-columns:172px minmax(300px,1fr) 166px!important;
  grid-template-rows:minmax(0,1fr) 88px!important;
  gap:7px!important;
}
.hub-panel{
  border:2px solid;
  border-color:#f7f7f7 #555 #555 #f7f7f7;
  background:#c7c7c7;
  box-shadow:inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #8b8b8b;
  min-width:0;
  min-height:0;
}
.hub-panel-title{
  height:21px;
  padding:3px 7px;
  background:#d9d9d9;
  border-bottom:2px solid #8a8a8a;
  font-weight:700;
  font-size:12px;
  letter-spacing:.1px;
}
.hub-directory{
  grid-column:1;
  grid-row:1;
  display:grid;
  grid-template-rows:21px minmax(0,1fr) 32px;
}
.pet-directory-list{
  overflow:auto;
  padding:5px;
  display:grid;
  align-content:start;
  gap:4px;
}
.pet-row{
  min-width:0;
  height:40px;
  padding:3px 5px;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 10px;
  gap:6px;
  align-items:center;
  text-align:left;
  color:#000;
  background:#c6c6c6;
  border:2px solid;
  border-color:#f8f8f8 #5a5a5a #5a5a5a #f8f8f8;
}
.pet-row.active{
  background:#000080;
  color:#fff;
  border-color:#b7c4ff #000040 #000040 #b7c4ff;
}
.pet-row-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.pet-row-copy b{
  font-size:12px;
  line-height:1;
}
.pet-row-copy small{
  font-size:9px;
  opacity:.82;
}
.online-dot{
  width:8px;
  height:8px;
  border:1px solid #06480f;
  background:#35d155;
  box-shadow:inset 1px 1px 0 #bcffc7;
}
.agent-thumb{
  width:28px!important;
  height:28px!important;
  overflow:hidden;
  display:grid;
  place-items:center;
  background-color:#dedede;
  background-repeat:no-repeat;
  image-rendering:auto;
  border:1px inset #fff;
  color:#11119a;
  font-weight:700;
  font-size:14px;
  position:relative;
}
.agent-thumb-large{
  width:54px!important;
  height:54px!important;
  border:2px inset #fff;
}
.thumb-sprite{
  display:block;
  flex:0 0 auto;
  background-repeat:no-repeat;
  transform-origin:left top;
  image-rendering:auto;
}
.directory-footer{
  display:grid;
  grid-template-columns:24px 24px 1fr;
  gap:4px;
  padding:4px 5px;
  border-top:2px solid #8a8a8a;
}
.hub-mini-btn,.hub-more-btn,.hub-blue-btn,.hub-tool-btn{
  border:2px solid;
  border-color:#fff #404040 #404040 #fff;
  background:#c6c6c6;
  color:#000;
  padding:2px 6px;
  min-width:0;
}
.hub-mini-btn:active,.hub-more-btn:active,.hub-blue-btn:active,.hub-tool-btn:active,
.pet-row:active{
  border-color:#404040 #fff #fff #404040;
}
.hub-blue-btn{
  background:#000080;
  color:#fff;
  font-weight:700;
  border-color:#9ea7ff #000030 #000030 #9ea7ff;
}
.hub-stage{
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-rows:21px minmax(0,1fr) 34px;
}
.stage-preview{
  position:relative;
  margin:6px;
  overflow:hidden;
  border:2px inset #fff;
  background-color:#d7d7d7;
  background-image:
    radial-gradient(circle at 14px 12px, rgba(80,80,80,.09) 0 2px, transparent 3px),
    radial-gradient(circle at 24px 18px, rgba(80,80,80,.07) 0 2px, transparent 3px),
    radial-gradient(circle at 20px 8px, rgba(80,80,80,.06) 0 2px, transparent 3px);
  background-size:48px 38px;
}
.stage-bubble{
  position:absolute;
  left:12px;
  top:10px;
  max-width:67%;
  min-height:34px;
  padding:6px 8px;
  background:#fff9c8;
  border:2px solid #303030;
  box-shadow:2px 2px 0 rgba(0,0,0,.38);
  font-size:12px;
  line-height:1.25;
  z-index:2;
}
.stage-bubble::after{
  content:"";
  position:absolute;
  left:34px;
  bottom:-13px;
  border:7px solid transparent;
  border-top-color:#303030;
}
.stage-bubble::before{
  content:"";
  position:absolute;
  left:35px;
  bottom:-9px;
  border:6px solid transparent;
  border-top-color:#fff9c8;
  z-index:2;
}
.stage-bubble.talking{
  animation:stageBubbleBlink .22s steps(1,end) 1;
}
@keyframes stageBubbleBlink{50%{filter:brightness(1.08)}}
.stage-platform{
  position:absolute;
  left:50%;
  bottom:22px;
  width:132px;
  height:22px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.36) 0 35%, rgba(0,0,0,.13) 60%, transparent 72%);
}
.stage-controls{
  display:grid;
  grid-template-columns:28px 28px minmax(0,1fr) 52px 58px;
  gap:4px;
  padding:4px 6px 6px;
  border-top:2px solid #8a8a8a;
}
.stage-controls select{
  min-width:0;
  height:24px;
  border:2px inset #fff;
  background:#fff;
}
.hub-status{
  grid-column:3;
  grid-row:1;
  display:grid;
  grid-template-rows:21px auto auto auto;
  align-content:start;
  gap:6px;
  padding-bottom:6px;
}
.hub-status .hub-panel-title{margin-bottom:0}
.status-card{
  margin:6px 6px 0;
  padding:6px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:7px;
  align-items:center;
  border:2px inset #fff;
  background:#d7d7d7;
}
.status-card strong,.status-card span,.status-card small{display:block}
.status-card strong{font-size:16px}
.status-card span{font-size:10px}
.status-card small{font-size:10px;margin-top:2px}
.mood-box{
  margin:0 6px;
  padding:6px;
  border:2px inset #fff;
  background:#d7d7d7;
}
.mood-label{
  display:flex;
  gap:6px;
  align-items:center;
  margin-bottom:5px;
  font-size:12px;
}
.mood-meter{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:3px;
}
.mood-meter i{
  height:10px;
  border:1px solid #333;
  background:#9a9a9a;
}
.mood-meter i.on{
  background:#1010a8;
  box-shadow:inset 1px 1px 0 #7f8cff;
}
.quick-grid{
  margin:0 6px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.quick-grid .ui-btn{
  height:28px;
  padding:3px;
}
.tool-grid{
  margin:0 6px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
}
.hub-tool-btn{
  height:26px;
  padding:2px 4px;
  font-size:11px;
}
.hub-tool-btn.active{
  background:#000080;
  color:#fff;
  border-color:#9ea7ff #000030 #000030 #9ea7ff;
}
.hub-tool-btn.loading{
  outline:1px dotted #fff;
  filter:brightness(1.16);
}
.hub-bottom{
  grid-column:1 / 4;
  grid-row:2;
  border:2px solid;
  border-color:#f7f7f7 #555 #555 #f7f7f7;
  background:#c7c7c7;
  display:grid;
  grid-template-rows:28px 1fr;
  padding:5px;
  gap:4px;
}
.hub-tabs{
  display:flex;
  gap:3px;
}
.hub-tabs button{
  min-width:78px;
  padding:3px 9px;
  border:2px solid;
  border-color:#fff #555 #555 #fff;
  background:#bdbdbd;
}
.hub-tabs button.active{
  background:#000080;
  color:#fff;
  border-color:#9ea7ff #000030 #000030 #9ea7ff;
}
.hub-chat-row{
  display:grid;
  grid-template-columns:1fr 92px;
  gap:6px;
}
.hub-chat-row input{
  min-width:0;
  border:2px inset #fff;
  background:#fff;
  padding:5px 8px;
  font-size:13px;
}
.petos-clippy-agent{
  pointer-events:none!important;
  z-index:10001!important;
  image-rendering:auto!important;
}
.petos-clippy-agent *{pointer-events:none!important}
.petos-clippy-balloon{display:none!important}
@media (max-width:1100px){
  #win-main .window-body.companion-hub{
    grid-template-columns:160px minmax(280px,1fr) 156px!important;
  }
  .agent-buttons{grid-template-columns:repeat(5,1fr)}
}

/* === v103 desktop pets + cleaner hub footer === */
.desktop-icons{
  grid-template-columns:88px!important;
  grid-auto-rows:82px!important;
  gap:4px!important;
}
.hub-bottom{
  grid-template-rows:26px minmax(0,1fr)!important;
}
.hub-chat-row input{
  height:36px!important;
}
.hub-chat-row .hub-blue-btn{
  height:36px!important;
}
.removed-pet-runner,
body.theme-31 .removed-pet-runner{
  display:none!important;
}
.removed-pet-runner img,
body.theme-31 .removed-pet-runner img{
  display:none!important;
}
.shimeji-pet,
body.theme-31 .shimeji-pet{
  z-index:244!important;
  pointer-events:none!important;
}

/* === v104 petOS Companion Chat: real clippyjs chat-first panel === */
#win-main,
body.theme-31 #win-main{
  width:min(980px, calc(100vw - 148px))!important;
  height:620px!important;
  min-width:760px!important;
  min-height:560px!important;
}

#win-main .window-body.companion-chat{
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:46px 66px minmax(0,1fr) 40px 48px!important;
  gap:8px!important;
  padding:10px!important;
  overflow:hidden!important;
  background:#c0c0c0!important;
  font-family:Arial, Helvetica, sans-serif!important;
}

.chat-welcome{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:6px 10px!important;
  border:2px inset #f2f2f2!important;
  background:#d6d6d6!important;
  line-height:1.15!important;
}

.chat-welcome strong{
  font-size:20px!important;
  color:#111!important;
}

.chat-welcome span{
  font-size:14px!important;
  color:#111!important;
}

.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(10, minmax(0,1fr))!important;
  gap:6px!important;
  overflow:hidden!important;
}

.agent-select-btn{
  min-width:0!important;
  height:62px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-rows:1fr 1fr!important;
  align-items:center!important;
  column-gap:5px!important;
  padding:5px!important;
  border:2px outset #ededed!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:14px Arial, Helvetica, sans-serif!important;
  text-align:left!important;
}

.agent-select-btn .agent-thumb{
  grid-row:1 / span 2!important;
}

.agent-select-btn b,
.agent-select-btn small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.agent-select-btn small{
  color:#222!important;
  font-size:11px!important;
}

.agent-select-btn.active{
  background:#0b0086!important;
  color:#fff!important;
}

.agent-select-btn.active small{
  color:#fff!important;
}

.chat-main-grid{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:10px!important;
}

.agent-preview-panel,
.chat-history-panel{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:26px minmax(0,1fr)!important;
  border:2px outset #eee!important;
  background:#bfbfbf!important;
}

.agent-preview-panel .hub-panel-title,
.chat-history-panel .hub-panel-title{
  padding:4px 8px!important;
  border-bottom:2px inset #e8e8e8!important;
  background:#d4d4d4!important;
  font-weight:700!important;
}

.compact-stage{
  position:relative!important;
  min-height:0!important;
  height:auto!important;
  margin:8px!important;
  border:2px inset #ededed!important;
  background:#d5d5d5!important;
  overflow:visible!important;
}

.compact-stage::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  opacity:.22!important;
  background-image:radial-gradient(#999 1.4px, transparent 1.8px)!important;
  background-size:18px 18px!important;
}

.compact-stage .stage-platform{
  width:116px!important;
  height:20px!important;
  left:50%!important;
  bottom:28px!important;
  transform:translateX(-50%)!important;
  opacity:.46!important;
}

.stage-bubble{
  position:absolute!important;
  left:10px!important;
  top:10px!important;
  max-width:210px!important;
  min-width:150px!important;
  padding:7px 9px!important;
  z-index:2!important;
  font-size:13px!important;
  line-height:1.15!important;
}

.chat-history{
  min-height:0!important;
  margin:8px!important;
  padding:8px!important;
  overflow:auto!important;
  border:2px inset #efefef!important;
  background:#f7f7f7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.3!important;
}

.chat-message{
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:8px!important;
  padding:6px 4px!important;
  border-bottom:1px solid #d7d7d7!important;
}

.chat-message b{
  color:#111!important;
}

.chat-message.user b{
  color:#06008b!important;
}

.chat-message.system{
  color:#555!important;
  font-size:13px!important;
}

.chat-message span{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}

.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 82px 92px auto auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:5px 8px!important;
  border:2px inset #eee!important;
  background:#d2d2d2!important;
  font-size:14px!important;
}

.animation-row select{
  height:28px!important;
  min-width:0!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:14px!important;
}

.check-line{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}

.check-line input{
  width:18px!important;
  height:18px!important;
}

.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 124px!important;
  gap:8px!important;
}

.chat-input-row input{
  min-width:0!important;
  height:40px!important;
  box-sizing:border-box!important;
  padding:0 12px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:18px!important;
}

.chat-input-row .hub-blue-btn{
  height:40px!important;
  border:2px outset #e8e8e8!important;
  background:#0b0086!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:18px!important;
}

.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
}

.petos-clippy-balloon,
.clippy-balloon{
  display:block!important;
  z-index:10030!important;
}

@media (max-width:1100px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 116px)!important;
    min-width:680px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(5, minmax(0,1fr))!important;
    overflow:auto!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-rows:46px 132px minmax(0,1fr) 40px 48px!important;
  }
  .chat-main-grid{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
}

/* === v105 compact ClippyJS-inspired Companion Chat === */
#win-main,
body.theme-31 #win-main{
  width:min(760px, calc(100vw - 132px))!important;
  height:590px!important;
  min-width:660px!important;
  min-height:540px!important;
}

#win-main .window-body.companion-chat{
  height:calc(100% - 28px)!important;
  display:grid!important;
  grid-template-rows:72px 78px 34px 26px minmax(0,1fr) 42px 24px!important;
  gap:7px!important;
  padding:10px!important;
  overflow:hidden!important;
  background:#c0c0c0!important;
  font-family:Arial, Helvetica, sans-serif!important;
}

.chat-top{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px!important;
  gap:10px!important;
  align-items:stretch!important;
}

.chat-welcome{
  min-width:0!important;
  padding:8px 10px!important;
  border:2px inset #f3f3f3!important;
  background:#d1d1d1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.chat-welcome strong{
  font-size:22px!important;
  line-height:1!important;
}

.chat-welcome span{
  margin-top:6px!important;
  font-size:14px!important;
  line-height:1.15!important;
}

.agent-stage{
  position:relative!important;
  border:2px inset #ededed!important;
  background:#d8d8d8!important;
  overflow:visible!important;
}

.agent-stage .stage-platform{
  position:absolute!important;
  width:82px!important;
  height:14px!important;
  left:50%!important;
  bottom:8px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.28)!important;
  filter:blur(3px)!important;
}

.agent-stage .stage-bubble{
  display:none!important;
}

.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
  overflow:hidden!important;
}

.agent-select-btn{
  height:36px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  padding:4px 7px!important;
  border:2px outset #ececec!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  text-align:left!important;
}

.agent-select-btn .agent-thumb{
  width:24px!important;
  height:24px!important;
  grid-row:auto!important;
}

.agent-select-btn b{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.agent-select-btn small{
  display:none!important;
}

.agent-select-btn.active{
  background:#0b0086!important;
  color:#fff!important;
}

.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 76px 86px!important;
  align-items:center!important;
  gap:8px!important;
  padding:3px 0!important;
  border:0!important;
  background:transparent!important;
  font-size:14px!important;
}

.animation-row select{
  height:28px!important;
  min-width:0!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:15px Arial, Helvetica, sans-serif!important;
}

.animation-row .ui-btn,
.speech-option-row .ui-btn{
  height:28px!important;
}

.speech-option-row{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  min-height:0!important;
  padding:0 2px!important;
  font:14px Arial, Helvetica, sans-serif!important;
}

.check-line{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap!important;
}

.check-line input{
  width:17px!important;
  height:17px!important;
}

.chat-history{
  min-height:0!important;
  margin:0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  border:2px inset #f1f1f1!important;
  background:#f8f8f8!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.32!important;
}

.chat-message{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 0!important;
  border-bottom:1px solid #ddd!important;
}

.chat-message b{
  color:#222!important;
}

.chat-message.user b{
  color:#06008b!important;
}

.chat-message.system b{
  color:#555!important;
}

.chat-message.system span{
  color:#555!important;
  font-style:italic!important;
}

.chat-message span{
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
}

.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 104px!important;
  gap:8px!important;
  align-items:center!important;
}

.chat-input-row input{
  height:38px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:17px Arial, Helvetica, sans-serif!important;
}

.chat-input-row .hub-blue-btn{
  height:38px!important;
  border:2px outset #ededed!important;
  background:#0b0086!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:17px!important;
}

.chat-input-row .hub-blue-btn:disabled{
  color:#777!important;
  background:#c0c0c0!important;
}

.chat-statusbar{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) 84px minmax(0,1fr) 70px!important;
  gap:4px!important;
  align-items:center!important;
  font:13px Arial, Helvetica, sans-serif!important;
}

.chat-statusbar span{
  min-width:0!important;
  height:20px!important;
  line-height:18px!important;
  padding:0 6px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  border:1px inset #f0f0f0!important;
  background:#d4d4d4!important;
}

.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
}

.petos-clippy-balloon,
.clippy-balloon{
  display:block!important;
  z-index:10030!important;
}

@media (max-width:900px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 96px)!important;
    min-width:560px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-rows:72px 116px 34px 26px minmax(0,1fr) 42px 24px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(3, minmax(0,1fr))!important;
    overflow:auto!important;
  }
}

/* === v180 final high character dock, shorter cleaner window === */
#win-main,
body.theme-31 #win-main{
  width:min(820px,calc(100vw - 210px))!important;
  height:432px!important;
  min-width:680px!important;
  min-height:404px!important;
  border:1px solid #5f5f5f!important;
  outline:0!important;
  box-shadow:none!important;
  background:#c0c0c0!important;
}
#win-main .titlebar{
  height:21px!important;
  line-height:21px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
#win-main .window-body.companion-chat{
  height:calc(100% - 21px)!important;
  padding:6px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.companion-left{
  grid-template-rows:74px 62px 29px 22px minmax(0,1fr) 32px 18px!important;
  gap:4px!important;
}
.chat-welcome{
  padding:9px 216px 7px 12px!important;
  border:1px solid #8c8c8c!important;
  outline:0!important;
  box-shadow:none!important;
  background:#d6d6d6!important;
}
.chat-welcome strong{
  font-size:18px!important;
}
.chat-welcome span{
  margin-top:4px!important;
  font-size:12px!important;
}
.companion-stage-wrap{
  top:-2px!important;
  right:28px!important;
  width:186px!important;
  height:76px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
}
.stage-shadow{
  bottom:0!important;
  width:116px!important;
  height:12px!important;
  opacity:.58!important;
}
.stage-bubble{
  top:-92px!important;
  left:-28px!important;
  width:230px!important;
  min-height:44px!important;
  max-height:86px!important;
  padding:8px 10px!important;
  font-size:13px!important;
  line-height:1.15!important;
  z-index:10060!important;
}
.stage-bubble::after{
  left:136px!important;
  bottom:-18px!important;
  border-width:18px 9px 0 9px!important;
}
.stage-bubble::before{
  left:138px!important;
  bottom:-14px!important;
  border-width:15px 7px 0 7px!important;
}
.agent-button-bar{
  grid-auto-rows:29px!important;
  gap:4px!important;
}
.agent-select-btn{
  height:29px!important;
  border:1px solid!important;
  border-color:#f5f5f5 #777 #777 #f5f5f5!important;
  box-shadow:none!important;
}
.animation-row select,
.animation-row .ui-btn{
  height:26px!important;
}
.chat-history{
  font-size:12px!important;
  padding:6px 8px!important;
}
.chat-input-row input,
.chat-input-row .hub-blue-btn{
  height:31px!important;
  font-size:14px!important;
}
.chat-statusbar span{
  height:17px!important;
  line-height:15px!important;
}
.petos-clippy-agent{
  z-index:10050!important;
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.22))!important;
}
@media (max-width:980px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 120px)!important;
    min-width:650px!important;
  }
  .chat-welcome{
    padding-right:198px!important;
  }
  .companion-stage-wrap{
    right:14px!important;
    width:174px!important;
  }
}

/* === v170 short wide layout, top-right agent dock === */
#win-main,
body.theme-31 #win-main{
  width:min(760px,calc(100vw - 260px))!important;
  height:438px!important;
  min-width:650px!important;
  min-height:410px!important;
}
#win-main .window-body.companion-chat{
  height:calc(100% - 22px)!important;
  padding:6px!important;
}
.companion-left{
  grid-template-rows:78px 62px 30px 22px minmax(0,1fr) 34px 19px!important;
  gap:4px!important;
}
.chat-welcome{
  padding:10px 192px 8px 12px!important;
  border:2px solid!important;
  border-color:#858585 #f7f7f7 #f7f7f7 #858585!important;
  background:#d9d9d9!important;
}
.chat-welcome strong{
  font-size:18px!important;
}
.chat-welcome span{
  margin-top:4px!important;
  font-size:12px!important;
}
.companion-stage-wrap{
  top:5px!important;
  right:18px!important;
  width:168px!important;
  height:68px!important;
  overflow:visible!important;
}
.stage-shadow{
  bottom:0!important;
  width:92px!important;
  height:10px!important;
}
.stage-bubble{
  top:-54px!important;
  left:-18px!important;
  width:202px!important;
  min-height:38px!important;
  max-height:76px!important;
  padding:7px 9px!important;
  font-size:12px!important;
  line-height:1.14!important;
  border-radius:7px!important;
}
.stage-bubble::after{
  left:116px!important;
  bottom:-18px!important;
  border-width:18px 9px 0 9px!important;
}
.stage-bubble::before{
  left:118px!important;
  bottom:-14px!important;
  border-width:15px 7px 0 7px!important;
}
.agent-button-bar{
  grid-auto-rows:29px!important;
  gap:4px!important;
}
.agent-select-btn{
  height:29px!important;
  grid-template-columns:23px minmax(0,1fr)!important;
  gap:5px!important;
  padding:2px 7px!important;
  font-size:12px!important;
}
.agent-select-btn .agent-thumb{
  width:21px!important;
  height:21px!important;
}
.animation-row{
  grid-template-columns:auto minmax(0,1fr) 58px 68px!important;
  gap:5px!important;
  font-size:12px!important;
}
.animation-row select,
.animation-row .ui-btn{
  height:26px!important;
  font-size:12px!important;
}
.speech-option-row{
  gap:16px!important;
  font-size:12px!important;
}
.chat-history{
  font-size:12px!important;
  padding:6px 8px!important;
}
.chat-message{
  grid-template-columns:66px minmax(0,1fr)!important;
  padding:3px 0!important;
}
.chat-input-row{
  grid-template-columns:minmax(0,1fr) 78px!important;
}
.chat-input-row input,
.chat-input-row .hub-blue-btn{
  height:32px!important;
  font-size:14px!important;
}
.chat-statusbar{
  grid-template-columns:minmax(0,1fr) 112px 62px minmax(0,1fr) 52px!important;
  font-size:11px!important;
}
.chat-statusbar span{
  height:18px!important;
  line-height:16px!important;
}
.petos-clippy-agent{
  z-index:10035!important;
}
@media (max-width:920px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 124px)!important;
    min-width:620px!important;
  }
  .chat-welcome{
    padding-right:176px!important;
  }
  .companion-stage-wrap{
    right:10px!important;
    width:156px!important;
  }
}

/* === v107 final character-first override === */
#win-main,
body.theme-31 #win-main{
  width:min(980px, calc(100vw - 132px))!important;
  height:620px!important;
  min-width:820px!important;
  min-height:580px!important;
}
#win-main .window-body.companion-chat{
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,40%)!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px!important;
  overflow:hidden!important;
  background:#c0c0c0!important;
}
.companion-left{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:58px 78px 34px 26px minmax(0,1fr) 42px 24px!important;
  gap:7px!important;
}
.companion-stage-wrap{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:28px minmax(0,1fr)!important;
  border:2px outset #ededed!important;
  background:#bfbfbf!important;
  overflow:visible!important;
}
.stage-panel-title{
  height:28px!important;
  box-sizing:border-box!important;
  padding:5px 8px!important;
  border-bottom:2px inset #e8e8e8!important;
  background:#d4d4d4!important;
  font:bold 15px Arial, Helvetica, sans-serif!important;
}
.agent-stage{
  position:relative!important;
  min-height:0!important;
  margin:10px!important;
  border:2px inset #ededed!important;
  background:#d8d8d8!important;
  overflow:visible!important;
  isolation:isolate!important;
}
.agent-stage::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  opacity:.24!important;
  background-image:linear-gradient(90deg, rgba(128,128,128,.28) 1px, transparent 1px),linear-gradient(rgba(128,128,128,.28) 1px, transparent 1px)!important;
  background-size:22px 22px!important;
}
.agent-stage::after{
  content:"petOS"!important;
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  z-index:0!important;
  padding:2px 6px!important;
  border:2px inset #ededed!important;
  background:#0000aa!important;
  color:#fff!important;
  font:bold 12px Georgia, serif!important;
}
.stage-grid-glow{
  position:absolute!important;
  inset:36px 26px 62px!important;
  z-index:0!important;
  border:1px dashed rgba(0,0,0,.16)!important;
  background:rgba(255,255,255,.2)!important;
}
.agent-stage .stage-platform{
  position:absolute!important;
  left:50%!important;
  bottom:76px!important;
  width:178px!important;
  height:28px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.34)!important;
  filter:blur(6px)!important;
  z-index:0!important;
}
.agent-stage .stage-bubble{
  display:block!important;
  position:absolute!important;
  left:18px!important;
  top:18px!important;
  max-width:260px!important;
  min-width:180px!important;
  padding:9px 10px!important;
  border:2px solid #333!important;
  background:#fffcc7!important;
  color:#111!important;
  font:15px Arial, Helvetica, sans-serif!important;
  line-height:1.2!important;
  z-index:1!important;
  box-shadow:2px 2px 0 #777!important;
}
.agent-stage .stage-bubble::after{
  content:""!important;
  position:absolute!important;
  left:42px!important;
  bottom:-12px!important;
  border-width:10px 8px 0 8px!important;
  border-style:solid!important;
  border-color:#333 transparent transparent transparent!important;
}
.chat-welcome{
  min-height:0!important;
  padding:7px 10px!important;
}
.chat-welcome strong{font-size:21px!important}
.chat-welcome span{font-size:14px!important}
.agent-button-bar{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:36px!important;
  gap:6px!important;
}
.agent-select-btn{
  height:36px!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  padding:4px 7px!important;
  font-size:15px!important;
}
.agent-select-btn small{display:none!important}
.animation-row{
  grid-template-columns:auto minmax(0,1fr) 72px 82px!important;
  gap:7px!important;
  padding:0!important;
}
.speech-option-row{
  gap:16px!important;
  padding:0 2px!important;
}
.chat-history{
  margin:0!important;
  padding:8px 10px!important;
  font-size:15px!important;
}
.chat-message{
  grid-template-columns:74px minmax(0,1fr)!important;
}
.chat-input-row{
  grid-template-columns:minmax(0,1fr) 100px!important;
}
.chat-statusbar{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 76px minmax(0,1fr) 64px!important;
  font-size:12px!important;
}
.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.22))!important;
}
.petos-clippy-balloon{
  display:block!important;
  z-index:10030!important;
  max-width:280px!important;
  font-size:15px!important;
  line-height:1.2!important;
  border:2px solid #333!important;
  box-shadow:2px 2px 0 #777!important;
}
@media (max-width:980px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 88px)!important;
    min-width:720px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-columns:minmax(0,1fr) minmax(280px,38%)!important;
  }
  .companion-left{
    grid-template-rows:58px 116px 34px 26px minmax(0,1fr) 42px 24px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    overflow:auto!important;
  }
}


/* === v110 absolute-final compact Agent Loader layout === */
#win-main,body.theme-31 #win-main{width:min(720px,calc(100vw - 132px))!important;height:610px!important;min-width:620px!important;min-height:560px!important}
#win-main .window-body.companion-chat{position:relative!important;height:calc(100% - 28px)!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:58px 78px 34px 26px minmax(0,1fr) 42px 24px!important;gap:7px!important;padding:10px!important;overflow:visible!important;background:#c0c0c0!important}
.companion-left{display:contents!important}.companion-stage-wrap,.stage-panel-title,.stage-grid-glow,.stage-platform,.stage-bubble,.agent-stage .stage-bubble,.agent-stage .stage-platform{display:none!important}
.chat-welcome{position:relative!important;min-width:0!important;min-height:0!important;padding:7px 138px 7px 10px!important;border:2px inset #f3f3f3!important;background:#d4d4d4!important;display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:visible!important}.chat-welcome::after{content:"petOS"!important;position:absolute!important;right:10px!important;bottom:8px!important;padding:2px 7px!important;border:2px inset #ededed!important;background:#0000aa!important;color:#fff!important;font:bold 12px Georgia,serif!important}.chat-welcome strong{font-size:21px!important;line-height:1!important}.chat-welcome span{margin-top:5px!important;font-size:14px!important;line-height:1.15!important}
.agent-button-bar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:36px!important;gap:6px!important;overflow:hidden!important}.agent-select-btn{height:36px!important;min-width:0!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;padding:4px 7px!important;border:2px outset #ececec!important;background:#c7c7c7!important;color:#111!important;font:15px Arial,Helvetica,sans-serif!important;text-align:left!important}.agent-select-btn .agent-thumb{width:24px!important;height:24px!important}.agent-select-btn b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.agent-select-btn.active{background:#0b0086!important;color:#fff!important}
.animation-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) 72px 82px!important;align-items:center!important;gap:7px!important;padding:0!important;border:0!important;background:transparent!important;font:14px Arial,Helvetica,sans-serif!important}.animation-row select{height:28px!important;min-width:0!important;border:2px inset #fff!important;background:#fff!important}.speech-option-row{display:flex!important;align-items:center!important;gap:16px!important;padding:0 2px!important;font:14px Arial,Helvetica,sans-serif!important}
.chat-history{min-height:0!important;margin:0!important;padding:8px 10px!important;overflow:auto!important;border:2px inset #f1f1f1!important;background:#f8f8f8!important;color:#111!important;font:15px Arial,Helvetica,sans-serif!important;line-height:1.32!important}.chat-message{display:grid!important;grid-template-columns:74px minmax(0,1fr)!important;gap:8px!important;padding:5px 0!important;border-bottom:1px solid #ddd!important}.chat-message.user b{color:#06008b!important}.chat-message.system b,.chat-message.system span{color:#555!important}.chat-message.system span{font-style:italic!important}
.chat-input-row{display:grid!important;grid-template-columns:minmax(0,1fr) 100px!important;gap:8px!important;align-items:center!important}.chat-input-row input{height:38px!important;min-width:0!important;box-sizing:border-box!important;padding:0 10px!important;border:2px inset #fff!important;background:#fff!important;font:17px Arial,Helvetica,sans-serif!important}.chat-input-row .hub-blue-btn{height:38px!important;border:2px outset #ededed!important;background:#0b0086!important;color:#fff!important;font-weight:700!important;font-size:17px!important}.chat-input-row .hub-blue-btn:disabled{color:#777!important;background:#c0c0c0!important}
.chat-statusbar{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) 76px minmax(0,1fr) 64px!important;gap:4px!important;align-items:center!important;font:12px Arial,Helvetica,sans-serif!important}.chat-statusbar span{min-width:0!important;height:20px!important;line-height:18px!important;padding:0 5px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;border:1px inset #f0f0f0!important;background:#d4d4d4!important}
.petos-clippy-agent{z-index:10020!important;pointer-events:none!important;image-rendering:auto!important;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.2))!important}.petos-clippy-balloon{display:block!important;z-index:10030!important;max-width:280px!important;font-size:15px!important;line-height:1.2!important;border:2px solid #333!important;box-shadow:2px 2px 0 #777!important}
@media (max-width:860px){#win-main,body.theme-31 #win-main{width:calc(100vw - 88px)!important;min-width:560px!important}#win-main .window-body.companion-chat{grid-template-rows:58px 116px 34px 26px minmax(0,1fr) 42px 24px!important}.agent-button-bar{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:auto!important}}

/* === v120 wide petOS Companion Chat with right-side character showcase === */
#win-main,
body.theme-31 #win-main{
  width:min(1080px,calc(100vw - 150px))!important;
  height:560px!important;
  min-width:900px!important;
  min-height:520px!important;
}
#win-main .window-body.companion-chat{
  position:relative!important;
  height:calc(100% - 28px)!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 330px!important;
  grid-template-rows:1fr!important;
  gap:10px!important;
  padding:10px!important;
  overflow:visible!important;
  background:#c0c0c0!important;
}
.companion-left{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:64px 84px 36px 28px minmax(0,1fr) 48px 25px!important;
  gap:7px!important;
}
.companion-stage-wrap{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  border:2px inset #f2f2f2!important;
  background:
    radial-gradient(circle at 22px 22px,rgba(255,255,255,.55) 0 2px,transparent 3px),
    linear-gradient(135deg,#d9d9d9,#c9c9c9)!important;
  background-size:34px 34px,100% 100%!important;
  overflow:visible!important;
}
.stage-panel-title{
  display:block!important;
  height:25px!important;
  line-height:23px!important;
  padding:0 9px!important;
  border-bottom:2px groove #f3f3f3!important;
  background:#d1d1d1!important;
  color:#111!important;
  font:bold 14px Arial,Helvetica,sans-serif!important;
}
.stage-hint{
  position:absolute!important;
  right:9px!important;
  bottom:8px!important;
  padding:2px 7px!important;
  border:2px inset #efefef!important;
  background:#0000aa!important;
  color:#fff!important;
  font:bold 12px Georgia,serif!important;
  opacity:.78!important;
}
.stage-shadow{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  bottom:62px!important;
  width:178px!important;
  height:24px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.34) 0,rgba(0,0,0,.16) 42%,rgba(0,0,0,0) 72%)!important;
  filter:blur(1px)!important;
}
.chat-welcome{
  position:relative!important;
  padding:10px 12px!important;
  border:2px inset #f3f3f3!important;
  background:linear-gradient(90deg,#e5e5e5,#d2d2d2)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.chat-welcome::after{display:none!important}
.chat-welcome strong{font-size:22px!important;line-height:1.05!important}
.chat-welcome span{margin-top:6px!important;font-size:15px!important;line-height:1.15!important}
.agent-button-bar{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:39px!important;
  gap:7px!important;
  overflow:hidden!important;
}
.agent-select-btn{
  height:39px!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  padding:4px 9px!important;
  border:2px outset #efefef!important;
  background:#c7c7c7!important;
  color:#111!important;
  font:700 15px Arial,Helvetica,sans-serif!important;
  text-align:left!important;
}
.agent-select-btn .agent-thumb{width:26px!important;height:26px!important}
.agent-select-btn.active{
  background:#0b0086!important;
  color:#fff!important;
}
.animation-row{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 78px 88px!important;
  gap:8px!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font:15px Arial,Helvetica,sans-serif!important;
}
.animation-row select{
  height:31px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font-size:16px!important;
}
.animation-row .ui-btn{height:31px!important;font-size:15px!important}
.speech-option-row{
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  padding:0 2px!important;
  font:15px Arial,Helvetica,sans-serif!important;
}
.chat-history{
  min-height:0!important;
  margin:0!important;
  padding:8px 10px!important;
  overflow:auto!important;
  border:2px inset #f1f1f1!important;
  background:#fbfbfb!important;
  color:#111!important;
  font:15px Arial,Helvetica,sans-serif!important;
  line-height:1.34!important;
}
.chat-message{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:8px!important;
  padding:5px 0!important;
  border-bottom:1px solid #ddd!important;
}
.chat-message b{font-weight:700!important}
.chat-message.user b{color:#06008b!important}
.chat-message.system b,
.chat-message.system span{color:#555!important}
.chat-message.system span{font-style:italic!important}
.chat-input-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  gap:8px!important;
  align-items:center!important;
}
.chat-input-row input{
  height:40px!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:0 10px!important;
  border:2px inset #fff!important;
  background:#fff!important;
  font:17px Arial,Helvetica,sans-serif!important;
}
.chat-input-row .hub-blue-btn{
  height:40px!important;
  border:2px outset #ededed!important;
  background:#0b0086!important;
  color:#fff!important;
  font:bold 17px Arial,Helvetica,sans-serif!important;
}
.chat-input-row .hub-blue-btn:disabled{color:#777!important;background:#c0c0c0!important}
.chat-statusbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px 82px minmax(0,1.1fr) 64px!important;
  gap:4px!important;
  align-items:center!important;
  font:12px Arial,Helvetica,sans-serif!important;
}
.chat-statusbar span{
  min-width:0!important;
  height:21px!important;
  line-height:19px!important;
  padding:0 6px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  border:1px inset #f0f0f0!important;
  background:#d4d4d4!important;
}
.stage-bubble{
  display:block!important;
  position:absolute!important;
  top:48px!important;
  left:18px!important;
  right:18px!important;
  min-height:66px!important;
  box-sizing:border-box!important;
  padding:12px 14px!important;
  border:3px solid #1f1f1f!important;
  border-radius:12px!important;
  background:#fff8bd!important;
  color:#111!important;
  font:19px/1.18 Arial,Helvetica,sans-serif!important;
  box-shadow:3px 3px 0 #777!important;
  z-index:10025!important;
}
.stage-bubble.hidden{display:none!important}
.stage-bubble::after{
  content:""!important;
  position:absolute!important;
  left:54%!important;
  bottom:-29px!important;
  width:0!important;
  height:0!important;
  border-style:solid!important;
  border-width:29px 15px 0 15px!important;
  border-color:#1f1f1f transparent transparent transparent!important;
}
.stage-bubble::before{
  content:""!important;
  position:absolute!important;
  left:calc(54% + 3px)!important;
  bottom:-22px!important;
  width:0!important;
  height:0!important;
  border-style:solid!important;
  border-width:23px 12px 0 12px!important;
  border-color:#fff8bd transparent transparent transparent!important;
  z-index:1!important;
}
.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  image-rendering:auto!important;
  filter:drop-shadow(3px 8px 3px rgba(0,0,0,.24))!important;
}
.petos-clippy-native-balloon{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media (max-width:1120px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 96px)!important;
    min-width:820px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-columns:minmax(0,1fr) 300px!important;
  }
  .agent-button-bar{grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:auto!important}
  .companion-left{grid-template-rows:64px 92px 36px 28px minmax(0,1fr) 48px 25px!important}
}

/* === v130 tighter wide companion window, larger fitted agent === */
#win-main,
body.theme-31 #win-main{
  width:min(940px,calc(100vw - 190px))!important;
  height:486px!important;
  min-width:820px!important;
  min-height:456px!important;
}
#win-main .window-body.companion-chat{
  grid-template-columns:minmax(0,1fr) 264px!important;
  gap:8px!important;
  padding:8px!important;
}
.companion-left{
  grid-template-rows:56px 70px 32px 25px minmax(0,1fr) 39px 22px!important;
  gap:6px!important;
}
.chat-welcome{
  padding:7px 10px!important;
}
.chat-welcome strong{
  font-size:20px!important;
}
.chat-welcome span{
  margin-top:4px!important;
  font-size:14px!important;
}
.agent-button-bar{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:32px!important;
  gap:5px!important;
}
.agent-select-btn{
  height:32px!important;
  grid-template-columns:25px minmax(0,1fr)!important;
  gap:6px!important;
  padding:3px 7px!important;
  font-size:14px!important;
}
.agent-select-btn .agent-thumb{
  width:23px!important;
  height:23px!important;
}
.animation-row{
  grid-template-columns:auto minmax(0,1fr) 68px 78px!important;
  gap:6px!important;
  font-size:14px!important;
}
.animation-row select,
.animation-row .ui-btn{
  height:29px!important;
  font-size:14px!important;
}
.speech-option-row{
  gap:18px!important;
  font-size:14px!important;
}
.chat-history{
  padding:7px 9px!important;
  font-size:14px!important;
}
.chat-message{
  grid-template-columns:72px minmax(0,1fr)!important;
  padding:4px 0!important;
}
.chat-input-row{
  grid-template-columns:minmax(0,1fr) 96px!important;
  gap:7px!important;
}
.chat-input-row input,
.chat-input-row .hub-blue-btn{
  height:36px!important;
  font-size:16px!important;
}
.chat-statusbar{
  grid-template-columns:minmax(0,1fr) 132px 74px minmax(0,1fr) 58px!important;
  font-size:12px!important;
}
.chat-statusbar span{
  height:20px!important;
  line-height:18px!important;
}
.companion-stage-wrap{
  background:
    radial-gradient(circle at 18px 18px,rgba(255,255,255,.62) 0 2px,transparent 3px),
    linear-gradient(135deg,#dedede,#cacaca)!important;
  background-size:30px 30px,100% 100%!important;
}
.stage-panel-title{
  display:none!important;
}
.stage-hint{
  display:none!important;
}
.stage-shadow{
  bottom:42px!important;
  width:176px!important;
  height:25px!important;
}
.stage-bubble{
  top:16px!important;
  left:14px!important;
  right:14px!important;
  min-height:58px!important;
  padding:10px 12px!important;
  font-size:16px!important;
  border-width:2px!important;
  border-radius:9px!important;
  box-shadow:2px 2px 0 #777!important;
}
.stage-bubble::after{
  left:56%!important;
  bottom:-24px!important;
  border-width:24px 13px 0 13px!important;
}
.stage-bubble::before{
  left:calc(56% + 2px)!important;
  bottom:-19px!important;
  border-width:20px 11px 0 11px!important;
}
.petos-clippy-agent{
  filter:drop-shadow(4px 9px 3px rgba(0,0,0,.24))!important;
}
@media (max-width:1080px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 104px)!important;
    min-width:780px!important;
  }
  #win-main .window-body.companion-chat{
    grid-template-columns:minmax(0,1fr) 238px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:auto!important;
  }
  .companion-left{
    grid-template-rows:56px 70px 32px 25px minmax(0,1fr) 39px 22px!important;
  }
}

/* === v140 paw-print retro companion backdrop === */
.companion-stage-wrap{
  background-color:#d3d3d3!important;
  background-image:
    radial-gradient(ellipse at 14px 18px,rgba(255,255,255,.72) 0 4px,transparent 4.6px),
    radial-gradient(ellipse at 27px 18px,rgba(255,255,255,.72) 0 4px,transparent 4.6px),
    radial-gradient(ellipse at 20px 8px,rgba(255,255,255,.72) 0 3.2px,transparent 3.8px),
    radial-gradient(ellipse at 11px 8px,rgba(255,255,255,.72) 0 2.8px,transparent 3.4px),
    radial-gradient(ellipse at 29px 8px,rgba(255,255,255,.72) 0 2.8px,transparent 3.4px),
    radial-gradient(ellipse at 56px 50px,rgba(122,122,122,.16) 0 4px,transparent 4.8px),
    radial-gradient(ellipse at 69px 50px,rgba(122,122,122,.16) 0 4px,transparent 4.8px),
    radial-gradient(ellipse at 62px 40px,rgba(122,122,122,.16) 0 3.2px,transparent 3.8px),
    radial-gradient(ellipse at 53px 40px,rgba(122,122,122,.16) 0 2.8px,transparent 3.4px),
    radial-gradient(ellipse at 71px 40px,rgba(122,122,122,.16) 0 2.8px,transparent 3.4px),
    linear-gradient(135deg,#dcdcdc 0%,#c8c8c8 100%)!important;
  background-size:92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,92px 78px,100% 100%!important;
  background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0!important;
}

/* === v150 no side slot: floating character inside compact top band === */
#win-main,
body.theme-31 #win-main{
  width:min(780px,calc(100vw - 210px))!important;
  height:520px!important;
  min-width:680px!important;
  min-height:480px!important;
}
#win-main .window-body.companion-chat{
  display:block!important;
  height:calc(100% - 28px)!important;
  padding:8px!important;
  overflow:visible!important;
  background:#c0c0c0!important;
}
.companion-left{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:112px 70px 32px 25px minmax(0,1fr) 39px 22px!important;
  gap:6px!important;
}
.companion-top-band{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:visible!important;
}
.chat-welcome{
  position:absolute!important;
  inset:0!important;
  padding:12px 222px 12px 14px!important;
  box-sizing:border-box!important;
  border:2px inset #f3f3f3!important;
  background:linear-gradient(90deg,#e4e4e4,#d0d0d0)!important;
}
.chat-welcome strong{
  font-size:22px!important;
}
.chat-welcome span{
  font-size:14px!important;
}
.companion-stage-wrap{
  position:absolute!important;
  top:5px!important;
  right:18px!important;
  width:188px!important;
  height:104px!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.companion-stage-wrap::before,
.companion-stage-wrap::after,
.stage-panel-title,
.stage-hint{
  display:none!important;
}
.stage-shadow{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  bottom:4px!important;
  width:112px!important;
  height:14px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.28) 0,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 74%)!important;
  filter:blur(1px)!important;
}
.stage-bubble{
  display:block!important;
  position:absolute!important;
  top:-72px!important;
  left:-16px!important;
  right:auto!important;
  width:218px!important;
  min-height:48px!important;
  max-height:96px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  padding:9px 11px!important;
  border:2px solid #1f1f1f!important;
  border-radius:8px!important;
  background:#fff8bd!important;
  color:#111!important;
  font:14px/1.18 Arial,Helvetica,sans-serif!important;
  box-shadow:2px 2px 0 #777!important;
  z-index:10025!important;
  pointer-events:none!important;
}
.stage-bubble.hidden{
  display:none!important;
}
.stage-bubble::after{
  content:""!important;
  position:absolute!important;
  left:132px!important;
  bottom:-20px!important;
  width:0!important;
  height:0!important;
  border-style:solid!important;
  border-width:20px 10px 0 10px!important;
  border-color:#1f1f1f transparent transparent transparent!important;
}
.stage-bubble::before{
  content:""!important;
  position:absolute!important;
  left:134px!important;
  bottom:-16px!important;
  width:0!important;
  height:0!important;
  border-style:solid!important;
  border-width:17px 8px 0 8px!important;
  border-color:#fff8bd transparent transparent transparent!important;
  z-index:1!important;
}
.agent-button-bar{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-auto-rows:32px!important;
  gap:5px!important;
}
.petos-clippy-agent{
  z-index:10020!important;
  pointer-events:none!important;
  filter:drop-shadow(3px 6px 2px rgba(0,0,0,.22))!important;
}
@media (max-width:920px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 116px)!important;
    min-width:640px!important;
  }
  .chat-welcome{
    padding-right:190px!important;
  }
  .companion-stage-wrap{
    right:8px!important;
    width:172px!important;
  }
  .agent-button-bar{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:auto!important;
  }
}

/* === v160 compact welcome band and clean Win90 bevel === */
#win-main,
body.theme-31 #win-main{
  width:min(760px,calc(100vw - 220px))!important;
  height:492px!important;
  min-width:660px!important;
  min-height:456px!important;
  border:2px solid!important;
  border-color:#f4f4f4 #4f4f4f #4f4f4f #f4f4f4!important;
  box-shadow:1px 1px 0 #101010!important;
  background:#c0c0c0!important;
}
#win-main .titlebar{
  height:22px!important;
  line-height:22px!important;
  border:0!important;
  box-shadow:none!important;
}
#win-main .window-body.companion-chat{
  height:calc(100% - 22px)!important;
  padding:7px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.companion-left{
  grid-template-rows:86px 70px 32px 25px minmax(0,1fr) 38px 21px!important;
  gap:5px!important;
}
.companion-top-band{
  overflow:visible!important;
}
.chat-welcome{
  padding:12px 208px 10px 14px!important;
  border:2px solid!important;
  border-color:#8a8a8a #f2f2f2 #f2f2f2 #8a8a8a!important;
  box-shadow:none!important;
  background:#d8d8d8!important;
}
.chat-welcome strong{
  font-size:20px!important;
  line-height:1.05!important;
}
.chat-welcome span{
  margin-top:5px!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.companion-stage-wrap{
  top:8px!important;
  right:24px!important;
  width:176px!important;
  height:72px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.stage-shadow{
  left:50%!important;
  bottom:2px!important;
  width:104px!important;
  height:12px!important;
  opacity:.65!important;
}
.stage-bubble{
  top:-60px!important;
  left:-24px!important;
  width:210px!important;
  min-height:42px!important;
  max-height:86px!important;
  padding:8px 10px!important;
  font-size:13px!important;
}
.stage-bubble::after{
  left:126px!important;
}
.stage-bubble::before{
  left:128px!important;
}
.agent-button-bar{
  grid-auto-rows:31px!important;
  gap:5px!important;
}
.agent-select-btn{
  height:31px!important;
  font-size:13px!important;
  padding:3px 7px!important;
  border-color:#f2f2f2 #777 #777 #f2f2f2!important;
  box-shadow:none!important;
}
.animation-row select,
.animation-row .ui-btn{
  height:28px!important;
}
.chat-history,
.chat-input-row input,
.chat-input-row .hub-blue-btn,
.chat-statusbar span{
  box-shadow:none!important;
}
.petos-clippy-agent{
  filter:drop-shadow(2px 5px 2px rgba(0,0,0,.22))!important;
}
@media (max-width:900px){
  #win-main,
  body.theme-31 #win-main{
    width:calc(100vw - 116px)!important;
    min-width:640px!important;
  }
  .chat-welcome{
    padding-right:184px!important;
  }
  .companion-stage-wrap{
    right:12px!important;
    width:162px!important;
  }
}

/* === v181 absolute final: raised larger agents, clean compact window === */
#win-main,
body.theme-31 #win-main{
  width:min(820px,calc(100vw - 210px))!important;
  height:432px!important;
  min-width:680px!important;
  min-height:404px!important;
  border:1px solid #5f5f5f!important;
  outline:0!important;
  box-shadow:none!important;
  background:#c0c0c0!important;
}
#win-main .titlebar{height:21px!important;line-height:21px!important;border:0!important;outline:0!important;box-shadow:none!important}
#win-main .window-body.companion-chat{height:calc(100% - 21px)!important;padding:6px!important;border:0!important;outline:0!important;box-shadow:none!important;overflow:visible!important;background:#c0c0c0!important}
.companion-left{grid-template-rows:74px 62px 29px 22px minmax(0,1fr) 32px 18px!important;gap:4px!important}
.chat-welcome{padding:9px 216px 7px 12px!important;border:1px solid #8c8c8c!important;outline:0!important;box-shadow:none!important;background:#d6d6d6!important}
.chat-welcome strong{font-size:18px!important;line-height:1.05!important}.chat-welcome span{margin-top:4px!important;font-size:12px!important;line-height:1.15!important}
.companion-stage-wrap{top:-2px!important;right:28px!important;width:186px!important;height:76px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;pointer-events:none!important}
.stage-shadow{bottom:0!important;width:116px!important;height:12px!important;opacity:.58!important}
.stage-bubble{top:-92px!important;left:-28px!important;width:230px!important;min-height:44px!important;max-height:86px!important;padding:8px 10px!important;font-size:13px!important;line-height:1.15!important;z-index:10060!important}
.stage-bubble::after{left:136px!important;bottom:-18px!important;border-width:18px 9px 0 9px!important}.stage-bubble::before{left:138px!important;bottom:-14px!important;border-width:15px 7px 0 7px!important}
.agent-button-bar{grid-auto-rows:29px!important;gap:4px!important}.agent-select-btn{height:29px!important;border:1px solid!important;border-color:#f5f5f5 #777 #777 #f5f5f5!important;box-shadow:none!important}
.animation-row select,.animation-row .ui-btn{height:26px!important}.chat-history{font-size:12px!important;padding:6px 8px!important}.chat-input-row input,.chat-input-row .hub-blue-btn{height:31px!important;font-size:14px!important}.chat-statusbar span{height:17px!important;line-height:15px!important}.petos-clippy-agent{z-index:10050!important;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.22))!important}
@media (max-width:980px){#win-main,body.theme-31 #win-main{width:calc(100vw - 120px)!important;min-width:650px!important}.chat-welcome{padding-right:198px!important}.companion-stage-wrap{right:14px!important;width:174px!important}}

/* === v190 narrow 3D retro window, bigger top agent === */
#win-main,
body.theme-31 #win-main{
  width:min(660px,calc(100vw - 300px))!important;
  height:430px!important;
  min-width:600px!important;
  min-height:398px!important;
  border:2px solid!important;
  border-color:#ffffff #5f5f5f #5f5f5f #ffffff!important;
  outline:1px solid #202020!important;
  box-shadow:2px 2px 0 rgba(0,0,0,.38)!important;
  background:#c0c0c0!important;
}
#win-main .titlebar{height:22px!important;line-height:22px!important;border-bottom:1px solid #808080!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important}
#win-main .window-body.companion-chat{height:calc(100% - 22px)!important;padding:6px!important;border:1px solid!important;border-color:#808080 #f5f5f5 #f5f5f5 #808080!important;outline:0!important;box-shadow:inset 1px 1px 0 #9a9a9a,inset -1px -1px 0 #e8e8e8!important;overflow:visible!important;background:#c0c0c0!important}
.companion-left{grid-template-rows:66px 60px 29px 22px minmax(0,1fr) 32px 18px!important;gap:4px!important}
.chat-welcome{padding:9px 178px 7px 11px!important;border:1px solid!important;border-color:#8a8a8a #f6f6f6 #f6f6f6 #8a8a8a!important;box-shadow:none!important;background:#d8d8d8!important}
.chat-welcome strong{font-size:17px!important;line-height:1.05!important}.chat-welcome span{margin-top:3px!important;font-size:11px!important;line-height:1.15!important}
.companion-stage-wrap{top:-22px!important;right:30px!important;width:142px!important;height:88px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;pointer-events:none!important}
.stage-shadow{bottom:2px!important;width:108px!important;height:13px!important;opacity:.55!important}
.stage-bubble{top:-110px!important;left:-88px!important;width:226px!important;min-height:48px!important;max-height:94px!important;overflow:visible!important;padding:9px 11px!important;border:2px solid #1e1e1e!important;border-radius:6px!important;background:#fff8bd!important;font:13px/1.15 Arial,Helvetica,sans-serif!important;box-shadow:3px 3px 0 #777!important;z-index:10070!important}
.stage-bubble::after{content:""!important;position:absolute!important;left:150px!important;bottom:-24px!important;width:0!important;height:0!important;border-style:solid!important;border-width:24px 11px 0 11px!important;border-color:#1e1e1e transparent transparent transparent!important}.stage-bubble::before{content:""!important;position:absolute!important;left:152px!important;bottom:-19px!important;width:0!important;height:0!important;border-style:solid!important;border-width:20px 9px 0 9px!important;border-color:#fff8bd transparent transparent transparent!important;z-index:1!important}
.agent-button-bar{grid-auto-rows:28px!important;gap:4px!important}.agent-select-btn{height:28px!important;grid-template-columns:22px minmax(0,1fr)!important;font-size:12px!important;padding:2px 6px!important;border:2px solid!important;border-color:#f6f6f6 #777 #777 #f6f6f6!important;box-shadow:none!important}.agent-select-btn .agent-thumb{width:20px!important;height:20px!important}
.animation-row{grid-template-columns:auto minmax(0,1fr) 56px 66px!important;font-size:12px!important}.animation-row select,.animation-row .ui-btn{height:25px!important;font-size:12px!important}.speech-option-row{font-size:12px!important;gap:14px!important}.chat-history{font-size:12px!important;padding:6px 8px!important}.chat-message{grid-template-columns:62px minmax(0,1fr)!important;padding:3px 0!important}.chat-input-row{grid-template-columns:minmax(0,1fr) 74px!important}.chat-input-row input,.chat-input-row .hub-blue-btn{height:31px!important;font-size:13px!important}.chat-statusbar{grid-template-columns:minmax(0,1fr) 100px 58px minmax(0,1fr) 48px!important;font-size:10px!important}.chat-statusbar span{height:17px!important;line-height:15px!important}.petos-clippy-agent{z-index:10060!important;filter:drop-shadow(2px 5px 2px rgba(0,0,0,.24))!important}
@media (max-width:860px){#win-main,body.theme-31 #win-main{width:calc(100vw - 136px)!important;min-width:580px!important}.chat-welcome{padding-right:162px!important}.companion-stage-wrap{right:16px!important;width:132px!important}.agent-button-bar{grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:auto!important}}

/* === v191 voice test control + higher Bonzi clearance === */
.speech-option-row{display:flex!important;align-items:center!important;gap:10px!important;white-space:nowrap!important}
.compact-voice-test{height:23px!important;min-width:74px!important;padding:1px 8px!important;font-size:11px!important;line-height:18px!important}
.companion-stage-wrap{top:-30px!important}
.stage-bubble{top:-118px!important}

/* === v192 bubble text containment and male-voice control polish === */
.stage-bubble{
  height:auto!important;
  min-height:42px!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
}
.stage-bubble[data-length="medium"]{font-size:12px!important;width:238px!important;left:-94px!important}
.stage-bubble[data-length="long"]{font-size:11px!important;line-height:1.12!important;width:252px!important;left:-106px!important;padding:8px 10px!important}
.stage-bubble[data-length="long"]::after{left:168px!important}.stage-bubble[data-length="long"]::before{left:170px!important}
.compact-voice-test{font-size:11px!important;font-weight:400!important}

/* === v195 Windows 3.1 green desktop wallpaper + eSheep === */
.desktop-wallpaper,
body.theme-31 .desktop-wallpaper,
body.theme-98 .desktop-wallpaper{
  background:#008080 url("assets/wallpaper-green-31.jpg") center center / cover no-repeat!important;
}
.desktop-wallpaper::after,
body.theme-31 .desktop-wallpaper::after,
body.theme-98 .desktop-wallpaper::after{
  content:none!important;
  display:none!important;
}
.desktop-sheep{
  position:fixed!important;
  left:0;
  top:0;
  width:64px;
  height:64px;
  z-index:9010!important;
  pointer-events:none!important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  transform-origin:center bottom;
  will-change:left,top,transform;
  overflow:visible!important;
  filter:drop-shadow(2px 3px 1px rgba(0,0,0,.35));
}
.pet-layer,
body.theme-31 .pet-layer{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.desktop-sheep .sheep-frame-scale{
  position:absolute;
  left:0;
  top:0;
  transform-origin:left top;
  background:transparent;
  border:0;
  box-shadow:none;
}
.desktop-sheep .sheep-frame{
  display:block;
  position:relative;
  background-repeat:no-repeat;
  background-color:transparent;
  border:0;
  box-shadow:none;
  image-rendering:pixelated;
  transform-origin:left top;
  overflow:visible;
}
.desktop-sheep .sheep-frame-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  image-rendering:pixelated;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  user-select:none;
  -webkit-user-drag:none;
}
body:not(.booting):not(.preload) #petLayer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.desktop-sheep,
.desktop-sheep *{
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#win-esheep,
body.theme-31 #win-esheep{
  width:360px!important;
  height:286px!important;
  min-width:340px!important;
  min-height:260px!important;
}
.esheep-body{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto 20px!important;
  gap:7px!important;
  padding:8px!important;
  background:#c0c0c0!important;
  font-size:12px!important;
}
.esheep-preview{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:center;
  gap:8px;
  border:2px solid;
  border-color:#808080 #fff #fff #808080;
  background:#d8d8d8;
  padding:6px;
}
.esheep-preview img{
  width:48px;
  height:48px;
  object-fit:contain;
}
.esheep-preview b,
.esheep-preview span{
  display:block;
}
.esheep-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px 8px;
  border:2px solid;
  border-color:#808080 #fff #fff #808080;
  background:#ededed;
  padding:7px;
  overflow:auto;
}
.esheep-options label{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.esheep-actions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:6px;
}

/* === compact desktop icon rail === */
.desktop-icons,
body.theme-31 .desktop-icons,
body.theme-98 .desktop-icons{
  left:24px!important;
  top:52px!important;
  width:70px!important;
  display:grid!important;
  grid-template-columns:68px!important;
  grid-auto-rows:58px!important;
  grid-auto-flow:row!important;
  gap:6px!important;
  justify-items:center!important;
  align-content:start!important;
}
.desktop-icon,
body.theme-31 .desktop-icon,
body.theme-98 .desktop-icon{
  width:68px!important;
  min-height:56px!important;
  padding:1px 2px!important;
}
.desktop-icon img,
body.theme-31 .desktop-icon img,
body.theme-98 .desktop-icon img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
}
.desktop-icon span,
body.theme-31 .desktop-icon span,
body.theme-98 .desktop-icon span{
  max-width:68px!important;
  font-size:12px!important;
  line-height:1.05!important;
}

/* === v196 desktop icon rail + centered companion thumbnails === */
.desktop-icons,
body.theme-31 .desktop-icons,
body.theme-98 .desktop-icons{
  left:24px!important;
  top:18px!important;
  width:78px!important;
  display:grid!important;
  grid-template-columns:76px!important;
  grid-auto-rows:76px!important;
  grid-auto-flow:row!important;
  gap:2px!important;
  justify-items:center!important;
  align-content:start!important;
}

.desktop-icon,
body.theme-31 .desktop-icon,
body.theme-98 .desktop-icon{
  width:76px!important;
  min-height:72px!important;
  padding:2px 2px!important;
  gap:3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.desktop-icon img,
body.theme-31 .desktop-icon img,
body.theme-98 .desktop-icon img{
  width:34px!important;
  height:34px!important;
  display:block!important;
  object-fit:contain!important;
  margin:0 auto!important;
}

.desktop-icon span,
body.theme-31 .desktop-icon span,
body.theme-98 .desktop-icon span{
  max-width:76px!important;
  min-height:24px!important;
  font-size:12px!important;
  line-height:1.05!important;
  text-align:center!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

.agent-select-btn{
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
}

.agent-select-btn .agent-thumb{
  width:22px!important;
  height:22px!important;
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  justify-self:center!important;
  align-self:center!important;
  background:#eee!important;
  border:1px solid #fff!important;
  box-shadow:inset -1px -1px #888!important;
}

.agent-select-btn .agent-thumb > span:not(.thumb-sprite){
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
}

.agent-select-btn .agent-thumb .thumb-sprite{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  background-repeat:no-repeat!important;
  transform-origin:center center!important;
}

/* === v197 tall one-column Windows 90s Start menu === */
.start-menu,
body.theme-31 .start-menu,
body.theme-98 .start-menu{
  left:0!important;
  bottom:var(--taskbar-h)!important;
  width:252px!important;
  min-width:252px!important;
  max-width:252px!important;
  max-height:calc(100vh - var(--taskbar-h) - 8px)!important;
  overflow:visible!important;
  display:flex!important;
  border:2px solid!important;
  border-color:#fff #000 #000 #fff!important;
  background:#c0c0c0!important;
  box-shadow:1px 1px 0 #6b6b6b!important;
  transform:none!important;
}

.start-menu.hidden{
  display:none!important;
}

.start-menu .start-sideband,
body.theme-31 .start-menu .start-sideband,
body.theme-98 .start-menu .start-sideband{
  width:34px!important;
  flex:0 0 34px!important;
  padding:6px 0!important;
  background:linear-gradient(180deg,#0f49a9,#092767)!important;
}

.start-menu .start-band-wrap{
  font-size:20px!important;
  line-height:1!important;
}

.start-menu .start-mainpanel,
.start-menu .start-icon-list,
body.theme-31 .start-menu .start-mainpanel,
body.theme-98 .start-menu .start-mainpanel{
  width:214px!important;
  min-width:214px!important;
  max-width:214px!important;
  padding:4px!important;
  display:flex!important;
  flex-direction:column!important;
}

.start-menu .start-item,
.start-menu a.start-item,
body.theme-31 .start-menu .start-item,
body.theme-98 .start-menu .start-item{
  width:100%!important;
  min-height:30px!important;
  height:30px!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:3px 8px!important;
  border:0!important;
  background:transparent!important;
  color:#111!important;
  text-align:left!important;
  text-decoration:none!important;
  font:14px Arial,Helvetica,sans-serif!important;
  cursor:pointer!important;
}

.start-menu .start-item img{
  width:20px!important;
  height:20px!important;
  object-fit:contain!important;
  justify-self:center!important;
}

.start-menu .start-item span{
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.start-menu .start-item:hover,
.start-menu .start-item:focus-visible,
.start-menu .start-item.hovering{
  background:#0b0086!important;
  color:#fff!important;
  outline:0!important;
}

.start-menu .start-item .menu-arrow,
.start-menu .start-submenu{
  display:none!important;
}

.start-menu .start-separator{
  height:2px!important;
  margin:5px 2px!important;
  background:#808080!important;
  box-shadow:0 1px 0 #fff!important;
  flex:0 0 auto!important;
}

#startMenu.hidden,
#startMenu[hidden],
body.booting #startMenu,
body.preload #startMenu{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

#startMenu:not(.hidden):not([hidden]){
  display:flex!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.desktop-icon:hover,
.desktop-icon:focus-visible{
  background:rgba(0,0,128,.18)!important;
  outline:1px dotted #fff!important;
}

.desktop-icon:hover span,
.desktop-icon:focus-visible span{
  background:#000080!important;
  color:#fff!important;
  text-shadow:none!important;
}

/* Windows 90s desktop icon hover / selection feel */
.desktop-icon,
body.theme-31 .desktop-icon,
body.theme-98 .desktop-icon{
  position:relative!important;
  border:1px solid transparent!important;
  background:transparent!important;
  outline:0!important;
  transition:none!important;
  user-select:none!important;
}

.desktop-icon::before,
body.theme-31 .desktop-icon::before,
body.theme-98 .desktop-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px dotted transparent;
  pointer-events:none;
}

.desktop-icon:hover,
.desktop-icon:focus-visible,
body.theme-31 .desktop-icon:hover,
body.theme-31 .desktop-icon:focus-visible,
body.theme-98 .desktop-icon:hover,
body.theme-98 .desktop-icon:focus-visible{
  background:transparent!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:inset 1px 1px rgba(255,255,255,.5), inset -1px -1px rgba(0,0,0,.4)!important;
}

.desktop-icon:hover::before,
.desktop-icon:focus-visible::before,
body.theme-31 .desktop-icon:hover::before,
body.theme-31 .desktop-icon:focus-visible::before,
body.theme-98 .desktop-icon:hover::before,
body.theme-98 .desktop-icon:focus-visible::before{
  border-color:#fff!important;
}

.desktop-icon span,
body.theme-31 .desktop-icon span,
body.theme-98 .desktop-icon span{
  padding:1px 3px 2px!important;
  border:1px dotted transparent!important;
}

.desktop-icon:hover span,
.desktop-icon:focus-visible span,
body.theme-31 .desktop-icon:hover span,
body.theme-31 .desktop-icon:focus-visible span,
body.theme-98 .desktop-icon:hover span,
body.theme-98 .desktop-icon:focus-visible span{
  background:#000080!important;
  color:#fff!important;
  border-color:#fff!important;
  text-shadow:none!important;
}

.desktop-icon:active img,
.desktop-icon:active span{
  transform:translate(1px,1px)!important;
}

@media (prefers-reduced-motion:no-preference){
  .desktop-icon:hover img,
  .desktop-icon:focus-visible img{
    animation:win95IconTick .22s steps(2,end) 1;
  }
}

@keyframes win95IconTick{
  0%{filter:none;transform:translate(0,0)}
  50%{filter:contrast(1.15);transform:translate(1px,0)}
  100%{filter:none;transform:translate(0,0)}
}

/* Keep desktop icons clean on mouse hover: no white selection box, no blue label. */
.desktop-icon:hover,
.desktop-icon:focus-visible,
body.theme-31 .desktop-icon:hover,
body.theme-31 .desktop-icon:focus-visible,
body.theme-98 .desktop-icon:hover,
body.theme-98 .desktop-icon:focus-visible{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}

.desktop-icon:hover::before,
.desktop-icon:focus-visible::before,
body.theme-31 .desktop-icon:hover::before,
body.theme-31 .desktop-icon:focus-visible::before,
body.theme-98 .desktop-icon:hover::before,
body.theme-98 .desktop-icon:focus-visible::before{
  border-color:transparent!important;
}

.desktop-icon:hover span,
.desktop-icon:focus-visible span,
body.theme-31 .desktop-icon:hover span,
body.theme-31 .desktop-icon:focus-visible span,
body.theme-98 .desktop-icon:hover span,
body.theme-98 .desktop-icon:focus-visible span{
  background:transparent!important;
  color:#fff!important;
  border-color:transparent!important;
  text-shadow:1px 1px 0 #000!important;
}

.desktop-icon:hover img,
.desktop-icon:focus-visible img{
  animation:none!important;
  filter:none!important;
  transform:none!important;
}

.start-menu .start-item:hover,
.start-menu .start-item:focus-visible,
.start-menu .start-item.hovering{
  background:#000080!important;
  color:#fff!important;
}

.start-menu .start-item:hover span,
.start-menu .start-item:focus-visible span,
.start-menu .start-item.hovering span{
  color:#fff!important;
}

