.grh-app-window{--app-glass:linear-gradient(130deg,#ffffffc9,#f1edf3b3);--app-border:#ffffffa6;--app-ink:#27222a;--app-muted:#79707e;position:fixed;inset:104px 32px auto auto;z-index:1000000;width:min(1000px,74vw);height:min(760px,calc(100dvh - 140px));max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:0;padding:0;border:1px solid var(--app-border);border-radius:22px;background:var(--app-glass);color:var(--app-ink);backdrop-filter:blur(26px) saturate(1.3);-webkit-backdrop-filter:blur(26px) saturate(1.3);box-shadow:0 26px 80px #2216242b,0 7px 22px #22162417,inset 0 1px 0 #fff9;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.grh-app-window:not([open]){display:none}.grh-app-window *{box-sizing:border-box}
.grh-app-window.is-maximized{inset:10px!important;width:calc(100vw - 20px)!important;height:calc(100dvh - 20px)!important;margin:0!important;border-radius:18px}
.grh-app-shell{height:100%;display:grid;grid-template-rows:48px minmax(0,1fr) 27px;overflow:hidden}
.grh-app-titlebar{display:grid;grid-template-columns:94px minmax(0,1fr) 94px;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid #342c3a10;user-select:none;touch-action:none;cursor:grab}
.grh-app-controls{display:flex;align-items:center;gap:3px}
.grh-app-control{position:relative;display:grid;place-items:center;width:25px;height:30px;min-height:30px;margin:0;padding:0;border:0;background:transparent!important;box-shadow:none!important;border-radius:7px;cursor:pointer}
.grh-app-control::before{content:'';position:absolute;inset:8px 5px;width:14px;height:14px;border:1px solid #00000014;border-radius:50%;box-shadow:inset 0 .5px 0 #fff4}
.grh-app-close::before{background:#ff6058}.grh-app-minimize::before{background:#ffbd2e}.grh-app-maximize::before{background:#28c840}
.grh-app-control span{position:relative;z-index:1;opacity:0;font:13px/1 Arial,sans-serif;color:#352c30;pointer-events:none;transition:opacity .15s}
.grh-app-controls:hover span,.grh-app-control:focus-visible span{opacity:1}.grh-app-control:active::before{filter:brightness(.9)}
.grh-app-title{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;font-size:12px;font-weight:600;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grh-app-title img{width:18px;height:18px;object-fit:contain;flex-shrink:0;pointer-events:none}
.grh-app-external{justify-self:end;display:grid;place-items:center;width:28px;height:28px;border:1px solid #35283c10;border-radius:8px;background:#ffffff38;color:var(--app-muted);text-decoration:none;font-size:16px}
.grh-app-external:hover{background:#ffffff90;color:var(--app-ink)}
.grh-app-content{position:relative;min-height:0;margin:0 6px;background:var(--bg,#f6f4f7);border:1px solid #342c3a0b;border-radius:10px;overflow:hidden}
.grh-app-content iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#f6f4f7}
.grh-app-loading{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--bg,#f6f4f7);color:var(--app-muted);font-size:13px;pointer-events:none}
.grh-app-loading[hidden]{display:none}.grh-app-loading img{border-radius:12px;box-shadow:0 12px 28px #bf233417}
.grh-app-statusbar{display:flex;align-items:center;gap:6px;min-width:0;padding:0 16px;font-size:9px;color:var(--app-muted)}
.grh-app-status-dot{width:4px;height:4px;border-radius:50%;background:#bf2334;flex-shrink:0}
.grh-app-fallback{margin-inline-start:auto;color:var(--app-muted);font-size:9px;text-decoration:none;white-space:nowrap}.grh-app-fallback:hover{text-decoration:underline}
.grh-app-window.is-dragging{user-select:none}.grh-app-window.is-dragging iframe{pointer-events:none}.grh-app-window.is-dragging .grh-app-titlebar{cursor:grabbing}
.grh-app-resize{position:absolute;right:2px;bottom:2px;width:22px;height:22px;min-height:0;margin:0;padding:0;border:0;background:linear-gradient(135deg,transparent 60%,#8f83963b 61%,transparent 68%,#8f83963b 70%,transparent 77%);border-radius:0;cursor:nwse-resize;touch-action:none;box-shadow:none}
.grh-app-window.is-maximized .grh-app-resize{display:none}
.grh-app-dock{position:fixed;bottom:22px;right:24px;z-index:1000000;display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 17px;border:1px solid #ffffffa6;border-radius:19px;background:linear-gradient(130deg,#ffffffe0,#f2edf7bf);color:#302535;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 15px 45px #21182720,inset 0 1px 0 #fffa;font:600 12px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}
.grh-app-dock[hidden]{display:none}.grh-app-dock img{width:32px;height:32px;object-fit:contain;border-radius:9px}.grh-app-dock:hover{transform:translateY(-3px);box-shadow:0 18px 45px #2118272b}
.grh-dock-indicator{position:absolute;bottom:5px;left:31px;width:4px;height:4px;border-radius:50%;background:#bf2334}
.grh-app-confirm{position:fixed;inset:0;margin:auto;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:30px;border:1px solid #ffffffb3;border-radius:24px;background:#f9f6faf2;color:#28222d;box-shadow:0 28px 90px #21172740;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.grh-app-confirm::backdrop{background:#19111f30;backdrop-filter:blur(5px)}
.grh-app-confirm>img{display:block;margin:0 auto 18px;border-radius:12px}.grh-app-confirm h2{margin:0 0 12px;font-size:20px;line-height:1.25;text-align:center;letter-spacing:-.025em}.grh-app-confirm p{margin:0 0 23px;font-size:13px;line-height:1.6;text-align:center;color:#756a7b}
.grh-confirm-actions{display:flex;flex-direction:column;gap:8px}.grh-confirm-actions button{min-height:39px;padding:9px 14px;border:1px solid #44314e16;border-radius:10px;background:#e9e4ec;color:#302638;font:600 13px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer}.grh-confirm-actions [data-confirm-action=close]{background:#be2435;color:#fff;border-color:#be2435}
.grh-app-window :focus-visible,.grh-app-dock:focus-visible,.grh-app-confirm :focus-visible{outline:2px solid #be2435;outline-offset:2px}
[data-theme=dark] .grh-app-window{--app-glass:linear-gradient(130deg,#37313de3,#221e2bcc);--app-border:#ffffff25;--app-ink:#f5eff8;--app-muted:#c0b3ca;box-shadow:0 28px 85px #0007,inset 0 1px 0 #ffffff12}
[data-theme=dark] .grh-app-titlebar{border-bottom-color:#ffffff0d}[data-theme=dark] .grh-app-external{background:#ffffff09;border-color:#ffffff15}[data-theme=dark] .grh-app-external:hover{background:#ffffff18}[data-theme=dark] .grh-app-content{border-color:#ffffff10}
[data-theme=dark] .grh-app-dock{background:linear-gradient(130deg,#38313dec,#251e2cdb);border-color:#ffffff20;color:#f4eaf9;box-shadow:0 18px 45px #0005,inset 0 1px 0 #ffffff12}
[data-theme=dark] .grh-app-confirm{background:#2c2531f5;border-color:#ffffff25;color:#f5eff8}[data-theme=dark] .grh-app-confirm p{color:#c0b4c8}[data-theme=dark] .grh-confirm-actions [data-confirm-action=cancel]{background:#42364c;color:#f5eff8}
#grh-suite-surface{position:fixed;inset:0;z-index:9000;width:100%;height:100dvh;margin:0;border:0;background:var(--bg,#f7f5f8)}#grh-suite-surface[hidden]{display:none}
body.grh-has-site-surface{overflow:hidden}
body.grh-has-site-surface>:not(#grh-suite-surface):not(#grh-suite-window):not(#grh-suite-dock):not(#grh-suite-confirm):not(#grh-suite-navigation-notice):not(script):not(style){display:none!important}
.grh-navigation-notice{position:fixed;top:90px;left:20px;z-index:1000001;max-width:min(370px,calc(100vw - 40px));display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line,#ddd);border-radius:14px;background:var(--surface-solid,#fff);color:var(--ink,#222);box-shadow:0 12px 40px #22132220;font-size:12px}.grh-navigation-notice[hidden]{display:none}.grh-navigation-notice a{color:#be2435}.grh-navigation-notice button{margin-left:auto;border:0;background:none;font-size:20px;color:inherit;cursor:pointer}
@keyframes grh-window-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.grh-app-window.is-entering{animation:grh-window-enter .22s cubic-bezier(.16,1,.3,1)}
@media(max-width:1050px){.grh-app-window{width:calc(100vw - 60px);right:30px}}
@media(max-width:700px){.grh-app-window{inset:10px;max-width:calc(100vw - 20px);width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:18px}.grh-app-titlebar{padding-inline:10px;grid-template-columns:84px minmax(0,1fr) 42px}.grh-app-title{font-size:11px}.grh-app-title img{display:none}.grh-app-dock{bottom:14px;right:14px}}
@media(prefers-reduced-motion:reduce){.grh-app-window.is-entering{animation:none}.grh-app-control span,.grh-app-dock{transition:none}}
@media print{.grh-app-window,.grh-app-dock,.grh-app-confirm,.grh-navigation-notice{display:none!important}}
