/* Disjoint ranges keep Vietnamese preload independent of Latin Extended subsets. */
@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 400; font-display: optional; src: url("./fonts/BeVietnamPro-latin-ext-c45706.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-010F, U+0112-0127, U+012A-0130, U+0132-0151, U+0154-0167, U+016A-019F, U+01A2-01AE, U+01B1-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EFA-1EFF, U+20A0-20AA, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-vietnamese-380779.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-latin-d75069.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: optional; src: url("./fonts/BeVietnamPro-latin-ext-486545.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-010F, U+0112-0127, U+012A-0130, U+0132-0151, U+0154-0167, U+016A-019F, U+01A2-01AE, U+01B1-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EFA-1EFF, U+20A0-20AA, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: optional; src: url("./fonts/BeVietnamPro-vietnamese-d6b61d.woff2") format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }

@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 500; font-display: optional; src: url("./fonts/BeVietnamPro-latin-b7519c.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: "Be Vietnam Pro"; font-style: normal; font-weight: 600; font-display: optional; src: url("./fonts/BeVietnamPro-latin-ext-c4fb65.woff2") format("woff2"); unicode-range: U+0100-0101, U+0104-010F, U+0112-0127, U+012A-0130, U+0132-0151, U+0154-0167, U+016A-019F, U+01A2-01AE, U+01B1-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EFA-1EFF, U+20A0-20AA, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-vietnamese-cdc31d.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-latin-547cf2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-vietnamese-af367b.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-latin-871510.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 800;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-vietnamese-1721a3.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 800;
  font-display: optional;
  src: url(./fonts/BeVietnamPro-latin-7a47fb.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --bg:#f4f9ff;--panel:#fff;--accsoft:#e5f1ff;--search-bg:#f5f9fd;
  --ok:#10b981;--oksoft:#ecfdf5;--ok-ink:#047857;--warn:#f59e0b;--warnsoft:#fef3c7;--warn-ink:#92400e;--err:#ef4444;--errsoft:#fee2e2;--err-ink:#b91c1c;
  --ink:#0e1f3d;--ink-strong:#092a62;--muted:#52637d;--link:#086fe6;
  --blue:#2789f6;--blue-strong:#0876ef;--line:#dfe8f4;
  --pale:#f4f9ff;--sky:#e6f4ff;--white:#fff;
  --radius:17px;--max:1380px;
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
#appMain{flex:1}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2.5px solid var(--link);outline-offset:2px}
.container{max-width:var(--max);margin:0 auto;padding:0 26px}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.review-notice{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;align-items:center;background:var(--gm-bg-eef7ff);border-bottom:1px solid var(--gm-bd-dceafa);color:var(--gm-fg-3d5d7b);padding:5px 24px;font-size:11px;line-height:1.4;text-align:center}
.review-notice strong{color:var(--gm-fg-164774)}
.review-notice button{width:20px;height:20px;flex:0 0 auto;border:0;border-radius:50%;background:var(--gm-bg-dcecff);color:var(--gm-fg-2e5d8d);font-size:16px;line-height:1}
.site-header{background:var(--gm-bg-rgba25525525598);border-bottom:1px solid var(--gm-bd-e8eef6);position:relative;z-index:20}
.header-inner{min-height:64px;display:flex;align-items:center;gap:30px}
.wordmark{display:inline-flex;align-items:baseline;gap:.3em;font-size:27px;font-weight:800;letter-spacing:-.85px;white-space:nowrap;color:var(--gm-fg-0d2855);line-height:1.15}
.wordmark span{color:var(--gm-fg-0066e5)}
.wordmark:hover span{color:var(--gm-fg-2389ff)}
.header-rule{height:31px;width:1px;background:var(--gm-bg-cbd8e9);margin:0 6px 0 34px;flex:0 0 auto}
.desktop-nav{display:flex;align-items:center;gap:17px}
.nav-link{padding:9px 18px;border-radius:99px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,color .15s}
.nav-link:hover{color:var(--gm-fg-086ae1);background:var(--gm-bg-f1f7ff)}
.nav-link.is-active{background:var(--accsoft);color:var(--link)}
.header-search{position:relative;margin-left:auto;display:flex;gap:8px;align-items:center;padding:0 16px 0 12px;border:1px solid var(--line);border-radius:99px;background:var(--search-bg);width:280px;height:38px}
.header-search:focus-within,.room-search:focus-within{outline:2.5px solid var(--link);outline-offset:2px}
.header-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:var(--ink);font-size:13.5px}
.header-search input:focus-visible,.room-search input:focus-visible{outline:0}
.header-search input::placeholder,.mobile-search input::placeholder,.room-search input::placeholder{color:var(--muted);opacity:1}
.line-icon{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}
.header-search .line-icon{width:18px;height:18px;color:var(--gm-fg-0d264d);flex:0 0 auto}
.search-live{position:absolute;z-index:5;top:calc(100% + 8px);right:0;width:max(420px,100%);max-height:min(70vh,480px);overflow:auto;padding:6px;border:1px solid var(--gm-bd-d7e3f3);border-radius:16px;background:var(--gm-bg-fff);box-shadow:0 12px 32px var(--gm-sh-0a32653d)}
.search-live[hidden]{display:none}
.search-label,.search-empty{margin:8px 10px 2px;font-size:12px;font-weight:750;color:var(--gm-fg-4e5d70)}
.search-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;color:inherit;text-decoration:none}
.search-opt[aria-selected="true"]{background:var(--gm-bg-e5f1ff)}
.search-opt mark{background:#fff3bf;color:inherit}
.search-copy{min-width:0;flex:1}
.search-copy strong,.search-copy small{display:block}
.search-copy strong:has(.search-go){display:flex;min-width:0;align-items:baseline}
.search-more{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-go{flex:none;white-space:nowrap}
.search-copy small{color:var(--gm-fg-4e5d70);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-live .line-icon{width:18px;height:18px;flex:0 0 auto;margin-top:2px}
.search-aa{width:18px;flex:0 0 auto;font-weight:750;font-size:12px}
.mobile-controls,.mobile-menu,.mobile-search{display:none}
.blue-dash{display:block;background:var(--gm-bg-1287fc);width:36px;height:4px;border-radius:4px}
.page{min-height:50vh}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.9px;line-height:1.25}

/* Sky-blue bands continue directly into the first content section. */
.home-sky{position:absolute;top:0;left:0;right:0;height:142px;pointer-events:none;z-index:0}
.home-sky svg{display:block;width:100%;height:100%}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:47px;border-radius:11px;border:1px solid var(--gm-bd-aacbea);padding:10px 25px;color:var(--gm-fg-132b50);background:var(--gm-bg-ffffffb3);font-weight:700;font-size:14px;line-height:1.2;white-space:nowrap}
.btn-primary{color:var(--gm-fg-white);border-color:var(--gm-bd-1381ee);background:linear-gradient(180deg,var(--gm-bg-5dabf7) 0%,var(--gm-bg-0876ed) 100%);box-shadow:inset 0 1px 0 var(--gm-sh-ffffff4d)}
.btn-primary:hover,.small-blue-btn:hover{filter:brightness(.96)}
.btn-secondary:hover{border-color:var(--gm-bd-4396ee);background:var(--gm-bg-fff)}
.btn .line-icon{width:20px;height:20px}
.btn .arrow{font-size:21px;font-weight:400;margin-left:8px}
.grid-icon{display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:3px}
.grid-icon i{display:block;border:1.8px solid currentColor;border-radius:1.5px}

/* Compact home tools section. */
.home-section{position:relative}
.home-tools{padding:90px 0 29px;background:linear-gradient(180deg,var(--gm-bg-f3f9ff) 0%,var(--bg) 65%);overflow:hidden}
.home-tools-layout{position:relative;z-index:1;display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px}
.section-aside h2{font-size:22px;letter-spacing:-.7px;margin:1px 0 10px;font-weight:750}
.section-aside .blue-dash{margin-bottom:13px}
.section-aside p{font-size:13px;line-height:1.6;color:var(--muted);max-width:265px;margin:0 0 15px}
.text-link{color:var(--gm-fg-0073f2);font-size:13px;font-weight:650;display:inline-flex;align-items:center;gap:7px}
.text-link span{font-size:19px;line-height:1}
.text-link:hover{text-decoration:underline}
.as-button{padding:0;border:0;background:none}
.home-tool-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-content:center}
.home-tool-card{border:1px solid var(--gm-bd-dceafa);border-radius:17px;background:var(--gm-bg-ffffffc9);box-shadow:0 8px 24px var(--gm-sh-1d5fa10d);min-width:0;min-height:114px;padding:16px;display:flex;align-items:center;gap:15px;text-align:left;position:relative}
.home-tool-card:hover,.catalog-card:hover{border-color:var(--gm-bd-9ac5f7);box-shadow:0 9px 25px var(--gm-sh-2c82dc1a)}
.home-tool-card.is-featured{background:linear-gradient(115deg,var(--gm-bg-e8f4ff),var(--gm-bg-ffffff) 65%,var(--gm-bg-f3f9ff))}
.square-icon{background:linear-gradient(145deg,var(--gm-bg-d7edff),var(--gm-bg-badffc));border-radius:16px;width:59px;height:59px;display:grid;place-items:center;flex:0 0 auto;color:var(--gm-fg-087de6)}
.square-icon .line-icon{width:34px;height:34px}
.square-icon .pdf-fill{fill:var(--gm-fg-1f86e8);stroke:var(--gm-fg-1f86e8)}
.square-icon .pdf-label{fill:var(--gm-fg-white);font:700 9px Arial,sans-serif;stroke:none}
.letter-icon{font-size:27px;line-height:1;letter-spacing:-2px}
.card-text{display:block;min-width:0;flex:1;padding-right:22px}
.card-heading{font-size:16px;line-height:1.33;color:var(--gm-fg-101b31);font-weight:750;display:block;margin:1px 0 6px}
.card-description{display:block;margin-right:6px;color:var(--gm-fg-465c79);font-size:12px;line-height:1.55}
.pill{display:inline-block;vertical-align:middle;white-space:nowrap;color:var(--gm-fg-0769dd);background:var(--gm-bg-c6e2fc);border-radius:50px;font-size:10px;letter-spacing:0;font-weight:600;padding:5px 9px;margin-left:4px}
.card-arrow{position:absolute;top:50%;transform:translateY(-50%);right:14px;width:28px;height:28px;border:1px solid var(--gm-bd-e4edf9);border-radius:50%;display:grid;place-items:center;color:var(--gm-fg-28517b);font-size:22px;line-height:1;background:var(--gm-bg-f6faff)}

/* Editorial home articles: a featured story + a compact list. */
.home-articles{padding:20px 0 32px;background:var(--bg)}
.home-articles-layout{display:grid;grid-template-columns:260px minmax(0,1.5fr) minmax(0,.91fr);gap:24px;align-items:start}
.home-articles .section-aside{padding-top:16px}
.featured-article{background:var(--gm-bg-ffffffdf);border:1px solid var(--gm-bd-edf1f8);border-radius:18px;padding:14px;display:grid;grid-template-columns:1.04fr 1fr;gap:18px;min-height:226px;box-shadow:0 8px 22px var(--gm-sh-2a68a808)}
.featured-article:hover{border-color:var(--gm-bd-bdd9f8)}
.article-cover{position:relative;overflow:hidden;border-radius:12px;background:var(--gm-bg-c6e6ff);min-height:194px}
.article-cover svg{position:absolute;width:100%;height:100%}
.article-highlight{position:absolute;top:15px;left:15px;padding:4px 12px;color:var(--gm-fg-white);background:var(--gm-bg-2e92e4a8);border-radius:99px;font-size:10px;font-weight:700}
.featured-copy{padding:3px 2px 0 0;display:flex;flex-direction:column}
.category{font-size:11px;color:var(--gm-fg-0074e7);font-weight:650;display:block;line-height:1.3}
.featured-copy h3{font-size:19px;line-height:1.35;letter-spacing:-.6px;margin:8px 0 8px;color:var(--gm-fg-111c30);font-weight:750}
.featured-copy p{color:var(--gm-fg-4f6079);font-size:12.5px;line-height:1.65;margin:0 0 12px}
.article-meta{font-size:11px;color:var(--gm-fg-65738b);margin-top:auto}
.article-meta span{margin:0 13px}
.recent-posts{display:flex;flex-direction:column;gap:0}
.recent-post{display:flex;align-items:flex-start;gap:13px;border:0;border-bottom:1px solid var(--gm-bd-d9e6f4);background:transparent;padding:7px 0;text-align:left;width:100%}
.recent-post:first-child{padding-top:1px}
.recent-post:last-child{border-bottom:0}
.recent-post:hover strong{color:var(--gm-fg-0578e4)}
.recent-icon{width:61px;height:59px;flex:0 0 auto;border-radius:14px;background:linear-gradient(130deg,var(--gm-bg-dcefff),var(--gm-bg-ebf8ff));display:grid;place-items:center;color:var(--gm-fg-258cdd)}
.recent-icon.green{color:var(--gm-fg-43ad88);background:linear-gradient(135deg,var(--gm-bg-e7f5f5),var(--gm-bg-d9efea))}
.recent-icon .line-icon{width:34px;height:34px}
/* One thumbnail per post, adapted independently to every card's aspect ratio.
   Extreme crops switch to contained artwork over a softened matching backdrop. */
[data-thumbnail-for]{isolation:isolate}
.recent-icon[data-thumbnail-for],.library-card-symbol[data-thumbnail-for]{position:relative;overflow:hidden}
[data-thumbnail-for] .post-image,[data-thumbnail-for] .post-backdrop{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none}
[data-thumbnail-for] .post-image{z-index:1;object-fit:cover}
[data-thumbnail-for].has-thumbnail .post-image{opacity:1}
[data-thumbnail-for].thumb-contain .post-image{object-fit:contain}
[data-thumbnail-for].thumb-contain .post-backdrop{opacity:.68;object-fit:cover;filter:blur(18px) saturate(.86);transform:scale(1.2)}
[data-thumbnail-for].has-thumbnail>svg,[data-thumbnail-for].has-thumbnail>.cover-orbit{display:none}
[data-thumbnail-for] .article-highlight{z-index:2}
.recent-post strong{font-size:12.5px;line-height:1.33;display:block;color:var(--gm-fg-101c30);letter-spacing:-.2px}
.recent-post small{display:block;color:var(--gm-fg-60728e);font-size:10px;margin-top:3px;line-height:1.2}
.recent-post small b{font-weight:400;margin:0 6px}

/* Inner pages share one header frame; the home hero remains distinct. */
.pdf-showcase{border:1px solid var(--gm-bd-cce3f9);border-radius:19px;background:linear-gradient(116deg,var(--gm-bg-ebf7ff),var(--gm-bg-c1e1fc) 100%);min-height:255px;margin:18px 0 22px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.06fr 1fr;align-items:center}
.pdf-showcase::before{content:"";position:absolute;width:500px;height:290px;border-radius:50%;background:linear-gradient(160deg,var(--gm-bg-b3dafa44),var(--gm-bg-f4fbff33));top:100px;right:-120px;transform:rotate(-15deg);pointer-events:none}
.showcase-info{position:relative;z-index:1;padding:14px 18px 20px 33px}
.feature-badge{background:linear-gradient(180deg,var(--gm-bg-60b8fa),var(--gm-bg-137ff0));color:var(--gm-fg-fff);padding:5px 15px;border-radius:99px;font-size:12px;font-weight:650;display:inline-block;margin-bottom:18px}
.showcase-titleline{display:flex;align-items:flex-start;gap:22px}
.pdf-large-icon{width:86px;height:86px;border-radius:21px;background:linear-gradient(140deg,var(--gm-bg-e0f0ff),var(--gm-bg-bfe2ff));border:1px solid var(--gm-bd-white);box-shadow:0 5px 15px var(--gm-sh-6ea9e23d);display:grid;place-items:center;flex:0 0 auto;color:var(--gm-fg-1684f0)}
.pdf-large-icon svg{height:56px;width:56px}
.pdf-large-icon .pdf-fill{fill:var(--gm-fg-1488ef);stroke:var(--gm-fg-1488ef)}
.pdf-large-icon .pdf-label{fill:var(--gm-fg-white);font:700 9px Arial,sans-serif;stroke:none}
.showcase-info h2{font-size:26px;font-weight:800;letter-spacing:-.9px;margin:0 0 10px;white-space:nowrap}
.showcase-info h2 .pill{vertical-align:middle;font-size:11px}
.showcase-info p{font-size:15px;line-height:1.5;max-width:500px;margin:0 0 15px}
.showcase-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}
.showcase-tags span{font-size:11px;border-radius:99px;padding:5px 11px;color:var(--gm-fg-234668);border:1px solid var(--gm-bd-cbdff5);background:var(--gm-bg-ffffff9a);white-space:nowrap}
.showcase-info .btn{min-height:43px}
.showcase-preview{align-self:end;padding:17px 28px 14px 0;position:relative;z-index:1}
.preview-window{height:220px;background:var(--gm-bg-f9fbff);border:1px solid var(--gm-bd-b6d2fa);border-radius:15px;box-shadow:0 18px 35px var(--gm-sh-227bd042);overflow:hidden;transform:perspective(1000px) rotateY(-2deg)}
.preview-top{height:39px;background:linear-gradient(180deg,var(--gm-bg-f8fbff),var(--gm-bg-ecf4ff));border-bottom:1px solid var(--gm-bd-d6e5f7);display:flex;align-items:center;gap:7px;padding:0 14px;color:var(--gm-fg-1b2e50);font-size:11px}
.preview-top .line-icon{width:17px;height:17px;color:var(--gm-fg-147bdc)}
.preview-content{display:grid;grid-template-columns:135px 1fr;height:181px;gap:15px;padding:13px}
.preview-rail{display:flex;flex-direction:column;gap:1px;color:var(--gm-fg-304467);font-size:10px}
.preview-rail span{padding:8px 9px;white-space:nowrap}
.preview-rail span.selected{background:var(--gm-bg-deedff);border-radius:6px;color:var(--gm-fg-1b6dd0);font-weight:700}
.preview-dropzone{border:1.5px dashed var(--gm-bd-7eb3f4);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--gm-fg-142848);font-size:11px;text-align:center}
.upload-icon{font-size:37px;font-weight:700;color:var(--gm-fg-137ff3);line-height:1}
.preview-dropzone small{font-size:10px;color:var(--gm-fg-63728a)}
.choose-file{background:var(--gm-bg-e6f3ff);color:var(--gm-fg-0873e4);border:1px solid var(--gm-bd-acd3fb);padding:6px 11px;border-radius:10px;font-weight:650;font-size:10px}
.all-tools{padding:0 0 27px}
.all-tools-head h2{font-size:22px;font-weight:800;margin:0 0 8px}
.all-tools-head .blue-dash{margin:0 0 10px}
.all-tools-head p{font-size:14px;margin:0 0 17px}
.all-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.catalog-card{scroll-margin-top:16px;border:1px solid var(--gm-bd-dbe6f6);border-radius:16px;background:linear-gradient(145deg,var(--gm-bg-fff),var(--gm-bg-f7fbff));display:flex;align-items:flex-start;gap:20px;padding:15px 21px 13px;text-align:left;min-height:128px}
.catalog-card .square-icon{width:69px;height:69px}
.catalog-copy{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.catalog-copy strong{font-size:18px;letter-spacing:-.65px;line-height:1.25}
.catalog-copy>span:nth-child(2){font-size:12px;line-height:1.6;color:var(--gm-fg-4b5d78);min-height:40px}
.small-blue-btn,.small-gray-btn{color:var(--gm-fg-fff);background:linear-gradient(180deg,var(--gm-bg-5ab2fa),var(--gm-bg-0579ee));border-radius:10px;padding:7px 18px;font-size:12px;font-weight:650;line-height:1.2}
.small-gray-btn{background:var(--gm-bg-e8edf5);color:var(--gm-fg-61718a)}

/* All inner pages enter directly into content, without a decorative page banner. */
.compact-page-heading{padding-top:29px;padding-bottom:0}
.compact-page-heading h1{color:var(--gm-fg-0b2d64);font-size:clamp(30px,2.8vw,37px);font-weight:800;letter-spacing:-1.1px;line-height:1.25;margin:0 0 11px}
.compact-page-heading .blue-dash{width:39px;height:4px}

/* Legacy banner styles retained only for compatibility with old preview fragments. */
.subpage-intro{background:linear-gradient(112deg,var(--gm-bg-f8fbff) 0%,var(--gm-bg-eaf6ff) 100%);border-bottom:1px solid var(--gm-bd-e4eef9);overflow:hidden}
.subpage-intro-inner{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;padding-top:17px;padding-bottom:18px}
.subpage-intro-inner>div:first-child{position:relative;z-index:1}
.eyebrow{display:block;color:var(--gm-fg-147de8);font-size:11px;font-weight:800;letter-spacing:1.9px;margin-bottom:8px}
.subpage-intro h1{font-size:clamp(32px,3.3vw,42px);font-weight:800;letter-spacing:-1.2px;color:var(--gm-fg-0b2d64);margin:0 0 7px}
.subpage-intro p{font-size:17px;line-height:1.5;color:var(--gm-fg-344d6d);margin:0 0 14px;max-width:680px}
.intro-dots{width:135px;height:82px;flex:0 0 auto;background-image:radial-gradient(circle,#afd6f9 2px,transparent 2.5px);background-size:21px 21px;opacity:.65;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 85%,transparent)}
.articles-body{padding-top:21px;padding-bottom:36px}
.section-line{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px}
.section-line h2{font-size:21px;font-weight:800;letter-spacing:-.6px;margin:0 0 3px}
.section-line p{color:var(--gm-fg-65738a);font-size:13px;margin:0}
.muted-badge{font-size:11px;color:var(--gm-fg-4b739d);background:var(--gm-bg-edf6ff);border:1px solid var(--gm-bd-d6e9fc);border-radius:99px;padding:7px 14px;white-space:nowrap}
.library-feature{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);min-height:166px;border-radius:16px;overflow:hidden;border:1px solid var(--gm-bd-dfeaf7);background:var(--gm-bg-fff);box-shadow:0 9px 25px var(--gm-sh-28578c0a);transition:border-color .16s,transform .16s}
.library-feature:hover{border-color:var(--gm-bd-a9d2fa);transform:translateY(-2px)}
.library-feature-art{display:block;position:relative;overflow:hidden;min-height:166px;background:linear-gradient(120deg,var(--gm-bg-e7f4ff),var(--gm-bg-8dcbfb))}
.cover-orbit{display:block;position:absolute;width:125%;height:160px;left:-10%;border-radius:50%;transform:rotate(-13deg)}
.orbit-one{top:2%;background:linear-gradient(90deg,var(--gm-bg-f3faffa8),var(--gm-bg-a5d8ff88))}
.orbit-two{top:31%;left:-21%;background:linear-gradient(100deg,var(--gm-bg-83c5fa77),var(--gm-bg-deefffc9));transform:rotate(12deg)}
.orbit-three{top:74%;background:linear-gradient(90deg,var(--gm-bg-6fb7f4a9),var(--gm-bg-d1ecffb8));transform:rotate(-12deg);border-top:2px solid var(--gm-bd-faffff)}
.library-feature-art .article-highlight{top:14px;left:15px;font-size:11px}
.library-feature-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:13px 25px}
.library-feature-text .category{font-size:11px;margin-bottom:5px}
.library-feature-text strong{font-size:clamp(18px,1.5vw,22px);line-height:1.28;letter-spacing:-.6px;font-weight:800;color:var(--gm-fg-101c34);max-width:740px}
.library-excerpt{display:block;color:var(--gm-fg-52637a);font-size:12px;line-height:1.55;margin:6px 0 7px}
.library-meta{display:block;font-size:11px;color:var(--gm-fg-6f7d91);margin-top:0;line-height:1.5}
.library-meta>span{margin:0 8px}
.library-read{font-weight:700;font-size:12px;color:var(--gm-fg-0874e7);margin-top:8px}
.library-read>span{font-size:18px;margin-left:7px;vertical-align:-1px}
.library-section-line{margin-top:18px;margin-bottom:10px}
.article-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 13px}
.filter-chip{border:1px solid var(--gm-bd-dbe7f6);background:var(--gm-bg-fff);color:var(--gm-fg-3b5270);border-radius:99px;padding:8px 17px;font-size:12px;font-weight:650}
.filter-chip:hover{background:var(--gm-bg-f2f8ff);color:var(--gm-fg-0874e5)}
.filter-chip.active{background:var(--gm-bg-e6f2ff);border-color:var(--gm-bd-b9dcff);color:var(--gm-fg-006ee4)}
.search-summary{font-size:13px;color:var(--gm-fg-355777);margin:0 0 16px}
.article-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.library-card{border:1px solid var(--gm-bd-e0e9f6);border-radius:16px;background:linear-gradient(135deg,var(--gm-bg-fff) 70%,var(--gm-bg-f7fbff));display:flex;flex-direction:column;align-items:flex-start;min-height:169px;padding:15px 19px 14px;transition:border-color .16s,transform .16s}
.library-card:hover{border-color:var(--gm-bd-a5cdf7);transform:translateY(-2px)}
.library-card-symbol{display:grid;place-items:center;width:41px;height:41px;border-radius:12px;background:linear-gradient(140deg,var(--gm-bg-e4f3ff),var(--gm-bg-cbe9ff));color:var(--gm-fg-2084e5);margin-bottom:8px}
.library-card-symbol.green{background:var(--gm-bg-e5f5ed);color:var(--gm-fg-34a27b)}
.library-card .category{margin-bottom:7px}
.library-card strong{font-size:15px;letter-spacing:-.35px;line-height:1.35;color:var(--gm-fg-12223b)}
.library-card-excerpt{font-size:12px;line-height:1.55;color:var(--gm-fg-61728b);margin:5px 0 7px}
.library-card>.library-meta{margin-top:auto}
.empty-results{border:1px dashed var(--gm-bd-bed9f4);background:var(--gm-bg-f8fbff);border-radius:14px;padding:25px;color:var(--gm-fg-46617f);font-size:14px;text-align:center}

.article-reader{max-width:910px;padding-top:26px;padding-bottom:70px}
.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--gm-fg-647c97);font-size:12px;margin-bottom:44px}
.breadcrumb a{color:var(--gm-fg-286bba)}.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span:last-child{color:var(--gm-fg-5a6473)}
.reader-header{margin-bottom:31px}
.reader-header .category{font-size:13px;margin-bottom:15px}
.reader-header h1{font-size:clamp(29px,3vw,40px);font-weight:800;letter-spacing:-1.1px;line-height:1.22;color:var(--gm-fg-11284b);margin:0 0 19px}
.reader-summary{color:var(--gm-fg-536983);font-size:18px;line-height:1.6;margin-bottom:18px}
.reader-meta{font-size:12px;color:var(--gm-fg-738198);margin-bottom:20px}
.reader-notice{display:inline-block;padding:9px 14px;background:var(--gm-bg-eef7ff);border:1px solid var(--gm-bd-dbeafa);border-radius:10px;color:var(--gm-fg-496788);font-size:11px}
.reader-content{max-width:740px;font-size:16px;line-height:1.94;color:var(--gm-fg-263b55)}
.reader-content h2{margin:36px 0 13px;font-size:22px;letter-spacing:-.6px;line-height:1.4;color:var(--gm-fg-152c50)}
.reader-content p{margin:0 0 19px}
.reader-content img{max-width:100%;height:auto;border-radius:12px}
.reader-content figure{margin:0 0 19px}
.reader-content figcaption{margin-top:6px;color:var(--gm-fg-5c7190);font-size:.92rem}
.reader-cover{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:16px;margin:12px 0 0}
.reader-content ul{padding-left:24px;margin:0 0 22px}
.reader-content li{padding-left:5px;margin:0 0 6px}
.reader-content blockquote{margin:27px 0;border-left:4px solid var(--gm-bd-65b4ff);border-radius:0 9px 9px 0;background:var(--gm-bg-f1f8ff);padding:18px 24px;color:var(--gm-fg-355879);font-size:16px}
.reader-content strong{color:var(--gm-fg-152e51)}
.reader-end{margin-top:50px;border-top:1px solid var(--gm-bd-dfe9f5);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--gm-fg-7a8aa1);font-size:12px}
.reader-end a{font-weight:700;color:var(--gm-fg-1179e5);font-size:13px}

/* Footer identical across all screens. */
.site-footer{background:linear-gradient(180deg,var(--gm-bg-fcfeff),var(--gm-bg-f4f9ff));border-top:1px solid var(--gm-bd-e9f1fa);position:relative;overflow:hidden}
.footer-sky{position:absolute;inset:0;pointer-events:none;z-index:0}
.footer-sky svg{display:block;width:100%;height:100%}
.site-footer .container{position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px;padding-top:42px;padding-bottom:40px}
.footer-about{border-right:1px solid var(--gm-bd-d7e4f3);padding-right:40px}
.footer-about .wordmark{font-size:26px;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.footer-about p{font-size:12px;line-height:1.7;color:var(--muted);max-width:380px;margin:12px 0 0}
.footer-column{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.footer-column h2{font-size:15px;font-weight:600;margin:0 0 8px;letter-spacing:-.3px}
.footer-column a{font-size:13px;color:var(--muted)}
.footer-column a:hover{color:var(--gm-fg-0074e8);text-decoration:underline}
.toast{position:fixed;right:24px;bottom:25px;background:var(--gm-bg-122d52);color:var(--gm-fg-fff);padding:12px 17px;border-radius:13px;box-shadow:0 9px 27px var(--gm-sh-0a32653d);max-width:min(390px,calc(100vw - 35px));font-size:12px;z-index:50}

@media(max-width:1240px){
  .container{padding:0 26px}
  .header-inner{gap:19px}.header-rule{margin:0 3px 0 10px}.desktop-nav{gap:3px}.nav-link{padding:8px 13px}.header-search{width:235px}
  .home-tools-layout{grid-template-columns:235px minmax(0,1fr)}.home-tool-cards{gap:11px}.home-tool-card{gap:10px;padding:13px 11px}.square-icon{width:48px;height:48px}.card-heading{font-size:14px}.card-description{font-size:11px}
  .home-articles-layout{grid-template-columns:210px 1.25fr .8fr;gap:18px}.featured-article{grid-template-columns:1fr 1fr}.featured-copy h3{font-size:17px}
  .showcase-info h2{white-space:normal;font-size:25px}
  .footer-grid{gap:30px}
}
@media(max-width:900px){
  .header-inner{min-height:64px}.header-rule,.desktop-nav,.header-search{display:none}
  .mobile-controls{margin-left:auto;display:flex;gap:10px}
  .mobile-controls button{height:43px;width:44px;display:grid;place-items:center;border:0;border-radius:14px;background:var(--gm-bg-e5f1ff);color:var(--gm-fg-193c70)}
  .mobile-controls .line-icon{width:23px;height:23px}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column;padding:7px 24px 15px;background:var(--gm-bg-f8fbff);box-shadow:0 11px 17px var(--gm-sh-173e7420)}
  .mobile-menu a{padding:11px 6px;border-bottom:1px solid var(--gm-bd-e6effb);font-weight:600}
  .mobile-menu a.is-active{color:var(--gm-fg-006fe6)}
  .mobile-menu:not([hidden]),.mobile-search:not([hidden]){position:absolute;left:0;right:0;top:100%}
  .mobile-search:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 23px;background:var(--gm-bg-f7fbff)}
  .mobile-search .search-live{position:static;width:100%;flex-basis:100%;box-shadow:none}
  .mobile-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .mobile-search input{min-width:0;flex:1;height:38px;padding:0 16px;border-radius:99px;border:1px solid var(--line);background:var(--search-bg);font-size:13.5px}
  .mobile-search button{border:0;border-radius:9px;padding:11px 14px;background:var(--gm-bg-167df0);color:var(--gm-fg-white)}
  .home-sky{height:116px}.home-tools{padding-top:78px}
  .home-tools-layout{grid-template-columns:1fr;gap:22px}.section-aside p{max-width:530px}
  .home-tool-cards{gap:15px}.home-tool-card{padding:17px 22px 17px 17px;min-height:145px}.square-icon{width:54px;height:54px}
  .home-articles-layout{grid-template-columns:1fr 1fr;gap:20px}.home-articles .section-aside{grid-column:1/-1}.featured-article{grid-template-columns:1fr;gap:13px}.article-cover{height:180px}
  .pdf-showcase{grid-template-columns:1fr}.showcase-preview{display:none}
  .all-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-about{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--gm-bd-d7e4f3);padding:0 0 20px}.footer-column{gap:7px}
  .subpage-intro-inner{min-height:145px}.intro-dots{width:92px;height:75px}.article-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .library-feature{grid-template-columns:minmax(205px,35%) minmax(0,1fr)}.library-feature-text{padding:17px 19px}.library-feature-text strong{font-size:20px}
}
@media(max-width:600px){
  body{font-size:15px}
  .container{padding:0 22px}
  .header-inner{min-height:64px}.wordmark{font-size:25px;letter-spacing:-.8px}
  .home-sky{height:92px}
  .home-tools{padding:65px 0 25px}
  .section-aside h2{font-size:21px;margin-bottom:10px}
  .section-aside p{font-size:13px;line-height:1.65;max-width:none}
  .home-tool-cards{grid-template-columns:1fr;gap:10px}
  .home-tool-card{min-height:98px;padding:13px 21px 13px 15px;align-items:center;gap:18px}
  .square-icon{width:58px;height:58px}
  .card-heading{font-size:15px;margin:0 0 4px}.card-description{font-size:12px;line-height:1.5}
  .card-arrow{right:13px}
  .pill{font-size:9px;padding:4px 6px;margin-left:3px}
  .home-articles{padding:19px 0 25px}
  .home-articles-layout{grid-template-columns:1fr;gap:15px}
  .home-articles .section-aside{grid-column:auto;padding-top:0}
  .featured-article{padding:10px;gap:11px}
  .article-cover{min-height:135px;height:135px}
  .featured-copy{padding:0 3px 5px}
  .featured-copy h3{font-size:18px}
  .featured-copy p{font-size:12px;margin-bottom:9px}
  .recent-icon{width:53px;height:54px}.recent-icon .line-icon{width:30px;height:30px}
  .recent-post strong{font-size:12px}
  .pdf-showcase{margin:15px 0 21px;min-height:0}
  .showcase-info{padding:18px 18px 21px}
  .feature-badge{margin-bottom:15px}
  .showcase-titleline{flex-direction:column;gap:13px}
  .pdf-large-icon{height:65px;width:65px;border-radius:15px}.pdf-large-icon svg{height:43px;width:43px}
  .showcase-info h2{font-size:23px;white-space:normal}
  .showcase-info h2 .pill{font-size:10px}
  .showcase-info p{font-size:13px}
  .showcase-tags{gap:5px}.showcase-tags span{font-size:10px;padding:4px 8px}
  .all-tools-head h2{font-size:21px}
  .all-tools-grid{grid-template-columns:1fr;gap:11px}
  .catalog-card{padding:15px;min-height:132px;gap:15px}
  .catalog-card .square-icon{width:57px;height:57px}
  .catalog-copy strong{font-size:16px}
  .catalog-copy>span:nth-child(2){font-size:12px;min-height:0}
  .small-blue-btn,.small-gray-btn{font-size:11px;padding:7px 13px}
  .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:30px;padding-bottom:29px}
  .footer-about{grid-column:1/-1;margin:0 0 5px;padding-bottom:16px}
  .footer-about .wordmark{font-size:25px}
  .footer-about p{font-size:12px;line-height:1.7}
  .footer-column h2{font-size:15px;margin:0 0 4px}.footer-column a{font-size:13px;line-height:1.5}
  .review-notice{padding:5px 13px;font-size:10px;gap:7px}
  .compact-page-heading{padding-top:23px}.compact-page-heading h1{font-size:31px;margin-bottom:10px}
  .subpage-intro-inner{min-height:0;padding-top:20px;padding-bottom:21px;gap:0}.subpage-intro h1{font-size:34px}.subpage-intro p{font-size:14px;line-height:1.6}.intro-dots{display:none}
  .articles-body{padding-top:19px;padding-bottom:34px}.section-line{align-items:center;gap:10px}.section-line h2{font-size:20px}.section-line p{font-size:12px}.muted-badge{font-size:9px;padding:5px 8px}
  .library-feature{grid-template-columns:1fr}.library-feature-art{min-height:112px;height:112px}.library-feature-text{padding:15px 18px}.library-feature-text strong{font-size:19px}.library-excerpt{font-size:12px;margin:6px 0}.library-read{margin-top:9px}
  .library-section-line{margin-top:22px}.article-filters{gap:7px}.filter-chip{font-size:11px;padding:7px 11px}
  .article-list-grid{grid-template-columns:1fr;gap:11px}.library-card{min-height:0;padding:18px}.library-card-symbol{height:50px;width:50px;margin-bottom:12px}.library-card strong{font-size:16px}
  .article-reader{padding-top:17px;padding-bottom:40px}.breadcrumb{margin-bottom:29px;font-size:11px}.reader-header h1{font-size:30px}.reader-summary{font-size:15px}.reader-meta{font-size:11px}.reader-content{font-size:15px;line-height:1.85}.reader-content h2{font-size:22px}.reader-end{flex-direction:column;align-items:flex-start}
}
/* Desktop: full-width editorial sections, rather than isolated left-hand headings. */
@media(min-width:901px){
  .site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .site-footer .footer-about{border-right:0;padding-right:0}
  .home-tools{padding:91px 0 28px}
  .home-tools-layout{display:block}
  .home-tools-layout>.section-aside,.home-articles-layout>.section-aside{
    display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 4px;
    column-gap:16px;row-gap:9px;align-items:center;padding:0;margin:0 0 17px
  }
  .home-tools-layout>.section-aside h2,.home-articles-layout>.section-aside h2{
    grid-column:1;grid-row:1;margin:0;font-size:22px
  }
  .home-tools-layout>.section-aside .blue-dash,.home-articles-layout>.section-aside .blue-dash{
    grid-column:1;grid-row:2;margin:0
  }
  .home-tools-layout>.section-aside .text-link,.home-articles-layout>.section-aside .text-link{
    grid-column:2;grid-row:1;justify-self:end
  }
  .home-tool-cards{gap:18px}
  .home-tool-card{min-height:111px;padding:16px 18px;gap:15px}
  .home-articles{padding:16px 0 30px}
  .home-articles-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);column-gap:24px;row-gap:0}
  .home-articles-layout>.section-aside{grid-column:1/-1}
  .featured-article{grid-column:1;min-height:226px}
  .article-cover{min-height:198px}
  .recent-posts{grid-column:2}
}
@media(min-width:901px) and (max-width:1080px){
  .home-tool-cards{gap:11px}
  .home-tool-card{padding:13px 22px 13px 11px;gap:10px}
  .home-articles-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:16px}
  .featured-article{gap:12px;padding:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* V5 integration additions */
.catalog-card.is-static,.home-tool-card.is-static{cursor:default}
a.filter-chip{display:inline-flex;align-items:center}
.home-articles-layout .empty-results,.articles-body .empty-results{margin:8px 0 0}
.article-reader .reader-content :is(h2,h3){margin:1.2em 0 .5em}
.article-reader .reader-content p{margin:0 0 1em}
/* Cross-document view transition: hold header/notice, fade old root then fade-in new. */
@media (prefers-reduced-motion:no-preference) and (min-width:901px){@view-transition{navigation:auto}}
.review-notice{view-transition-name:gm-notice}
.site-header{view-transition-name:gm-header}
::view-transition-group(gm-header),::view-transition-group(gm-notice){animation-duration:180ms}
::view-transition-old(root){animation:90ms ease-in both gm-fade-out}
::view-transition-new(root){animation:210ms cubic-bezier(.2,.6,.2,1) 60ms both gm-fade-in}
.mobile-menu{view-transition-name:gm-menu}
.mobile-search{view-transition-name:gm-msearch}
::view-transition-group(gm-menu),::view-transition-group(gm-msearch){animation:none}
::view-transition-old(gm-menu),::view-transition-old(gm-msearch){animation:140ms cubic-bezier(.4,0,.6,1) both gm-collapse}
@keyframes gm-collapse{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes gm-fade-out{to{opacity:0}}
@keyframes gm-fade-in{from{opacity:0;transform:translateY(6px)}}

/* Phòng riêng */
.room-page{position:relative}
.room-hero{position:relative;overflow:hidden;padding:88px 0 18px;background:linear-gradient(180deg,var(--gm-bg-f3f9ff) 0%,var(--gm-bg-fff) 70%)}
.room-masthead{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.room-masthead h1{font-size:clamp(28px,2.4vw,34px);font-weight:800;color:var(--gm-fg-0b2d64);margin:0 0 10px;letter-spacing:-1px}
.room-masthead .blue-dash{margin:0 0 12px}
.room-masthead p{margin:0;color:var(--muted);font-size:14px}
.room-write{flex:0 0 auto;gap:8px}
.room-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:24px;align-items:start;padding:8px 0 48px}
.room-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:20px;padding:12px 16px;box-shadow:0 4px 20px -2px var(--gm-sh-0f23470a)}
.room-filters{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.room-seg{display:inline-flex;align-items:center;border-radius:99px;padding:7px 16px;font-size:13px;font-weight:650;background:var(--gm-bg-eaf2fd);color:var(--gm-fg-2e4c6d);line-height:1.2}
.room-seg.is-on{background:var(--gm-bg-0876ed);color:var(--gm-fg-fff)}
.room-search{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 260px;height:38px;padding:0 14px;border:1px solid var(--gm-bd-e2ebf6);border-radius:99px;background:var(--search-bg)}
.room-search .line-icon{width:18px;height:18px;color:var(--gm-fg-0d264d);flex:0 0 auto}
.room-search input{min-width:0;flex:1;border:0;background:transparent;outline:0;font-size:13.5px}
.room-list{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.room-post{display:flex;align-items:center;gap:20px;padding:18px;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:20px;box-shadow:0 2px 10px var(--gm-sh-0f234708);min-width:0}
.room-post__cover{flex:0 0 170px;width:170px;height:106px;border-radius:14px;overflow:hidden;background:var(--gm-bg-d7edff)}
.room-post__cover svg{display:block;width:100%;height:100%}
.room-post__body{flex:1;min-width:0}
.room-post__body h3{margin:0 0 8px;font-size:18px;font-weight:750;color:var(--gm-fg-0b2347);letter-spacing:-.4px}
.room-post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 6px;font-size:13px;color:var(--gm-fg-71869f)}
.room-post__views{display:inline-flex;align-items:center;gap:12px}
.room-post__views::before{content:"";width:1px;height:14px;background:var(--gm-bg-d5e1ef)}
.room-chip{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:650}
.room-chip__dot{width:6px;height:6px;border-radius:50%}
.room-chip--live{background:var(--oksoft);color:var(--ok-ink)}
.room-chip--live .room-chip__dot{background:var(--ok)}
.room-chip--draft{background:var(--warnsoft);color:var(--warn-ink)}
.room-chip--draft .room-chip__dot{background:var(--warn)}
.room-chip--pulled{background:var(--gm-bg-f1f5f9);color:var(--gm-fg-475569)}
.room-chip--pulled .room-chip__dot{background:var(--gm-bg-94a3b8)}
.room-chip--pending{background:var(--errsoft);color:var(--err-ink)}
.room-chip--pending .room-chip__dot{background:var(--err)}
.room-post__excerpt{margin:0;font-size:14px;color:var(--gm-fg-556b86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.room-post__note{margin:8px 0 0;font-size:12px;color:var(--gm-fg-9b1c1c)}
.room-post__acts{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.room-act{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;border:0;background:none;color:var(--gm-fg-1e6ffb);font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}
.room-act .line-icon{width:16px;height:16px}
.room-more{position:relative}
.room-more>summary{list-style:none;appearance:none;-webkit-appearance:none;border:0;background:none;box-shadow:none}
.room-more>summary::-webkit-details-marker{display:none}
.room-more__menu{position:absolute;right:0;top:calc(100% - 4px);z-index:8;min-width:188px;padding:8px;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:12px;box-shadow:0 8px 24px var(--gm-sh-0f234714)}
.room-more__menu button{display:block;width:100%;min-height:44px;border:0;border-radius:8px;background:none;color:var(--gm-fg-0b2347);font:inherit;font-weight:600;text-align:left;padding:0 10px;cursor:pointer}
.room-more__menu button:hover{background:var(--gm-bg-f2f8ff)}
.room-empty{margin-top:16px;border:1px dashed var(--gm-bd-bed9f4);background:var(--gm-bg-f8fbff);border-radius:20px;padding:36px 24px;text-align:center;color:var(--gm-fg-46617f)}
.room-empty h3{margin:0 0 14px;color:var(--gm-fg-0b2347)}
.room-pager{display:flex;gap:16px;margin-top:16px}
.room-account{background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:20px;padding:20px;box-shadow:0 4px 20px -2px var(--gm-sh-0f23470a)}
.room-account__who{display:flex;align-items:center;gap:14px}
.room-account__avatar{width:48px;height:48px;border-radius:50%;background:var(--gm-bg-d9e9fc);color:var(--gm-fg-1e6ffb);display:grid;place-items:center;flex:0 0 auto}
.room-account__avatar .line-icon{width:26px;height:26px;fill:var(--gm-fg-2f7fe8);stroke:none}
.room-account h2{margin:0;font-size:15px;font-weight:700;color:var(--gm-fg-0b2347);letter-spacing:-.2px}
.room-account__rule{border:0;border-top:1px solid var(--gm-bd-f0f4fa);margin:16px 0}
.room-account__link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0;border:0;background:none;color:var(--gm-fg-0b2347);font:inherit;font-weight:600;font-size:14px;text-align:left;cursor:pointer}
.room-account__link .line-icon{width:18px;height:18px;color:var(--gm-fg-1e6ffb)}
.room-passkey__title{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;color:var(--gm-fg-0b2347);font-weight:600;font-size:14px}
.room-passkey__title .line-icon{width:18px;height:18px;color:var(--gm-fg-1e6ffb);flex:0 0 auto}
.room-passkey__hint,.room-passkey__empty,.room-passkey__reauth{margin:0 0 8px;color:var(--gm-fg-71869f);font-size:13px;font-weight:450;line-height:1.45}
.room-passkeys{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}
.room-passkey{display:flex;align-items:center;gap:10px;min-height:44px}
.room-passkey__copy{min-width:0;flex:1;display:flex;flex-direction:column}
.room-passkey__name{font-weight:700;font-size:14px;color:var(--gm-fg-0b2347);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-passkey__meta{color:var(--gm-fg-71869f);font-size:12px;font-weight:450;line-height:1.35}
.room-passkey__bit{display:inline-block;white-space:nowrap}
.room-passkey form{margin:0;flex:0 0 auto}
.room-passkey button{min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--gm-fg-9b1c1c);border-radius:11px;background:transparent;color:var(--gm-fg-9b1c1c);font:inherit;font-weight:650;font-size:13px;cursor:pointer}
.room-passkey__field{margin:8px 0 10px}
.room-passkey__field label{display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:13px;font-weight:650;color:var(--gm-fg-0b2347)}
.room-passkey__field input{height:38px;padding:0 14px;border:1px solid var(--gm-bd-e2ebf6);border-radius:99px;background:var(--gm-bg-f7fbff);font:inherit;font-weight:450;font-size:13px;color:inherit}
.login-auth{width:min(100%,320px);margin-top:20px}
.login-auth p{margin:0 0 12px}
.login-auth .btn{display:flex;width:100%;box-sizing:border-box}
.login-auth__hint{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:450;line-height:1.45}
.login-auth [data-passkey-msg]:empty{display:none}
/* #appMain grows but is not a flex container, so the guest page cannot fill it */
body:has(.guest-page) #appMain{display:flex;flex-direction:column}
.guest-page{flex:1 0 auto;display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,var(--gm-bg-f3f9ff) 0%,var(--gm-bg-fff) 100%)}
.guest-hero{padding-bottom:6px;background:none}
/* flex column + margin:auto sizes these containers to content */
.guest-page>.container,.guest-hero>.container{width:100%;box-sizing:border-box}
.guest-card{max-width:420px;margin:0 0 28px;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:20px;padding:20px;box-shadow:0 4px 20px -2px var(--gm-sh-0f23470a)}
.guest-card .login-auth{width:100%;margin:0}
.guest-card .btn{display:flex;width:100%;box-sizing:border-box}
.guest-card p{margin:0 0 12px}
.guest-card p:last-child,.guest-card p:has(+ [data-passkey-msg]){margin-bottom:0}
.guest-card [data-passkey-msg]{margin-top:12px}
.room-error{padding:18px 0 48px;color:var(--muted)}
.room-error a{color:var(--gm-fg-086fe6);font-weight:650}
@media(max-width:900px){
  .room-hero{padding:72px 0 12px}
  .room-masthead{flex-direction:column;align-items:stretch}
  .room-write{width:100%}
  .room-layout{grid-template-columns:1fr;padding-bottom:36px}
  .room-toolbar{flex-direction:column;align-items:stretch}
  .room-search{flex:1 1 auto;width:100%}
  .room-post{flex-wrap:wrap}
  .room-post__cover{width:88px;height:64px;flex-basis:88px}
  .room-post__body{flex:1 1 calc(100% - 108px)}
  .room-post__acts{width:100%;margin:4px 0 0;justify-content:flex-start}
}
.gm-align-left{text-align:left}
.gm-align-center{text-align:center}
.gm-align-right{text-align:right}
.gm-align-justify{text-align:justify}
.gm-w-md{width:70%;height:auto}
.gm-w-sm{width:40%;height:auto}

/* B1 lockup: transparent two-colour mark; V5 chrome stays light regardless of OS dark */
.wordmark{display:inline-flex;align-items:center;gap:0;line-height:0}
.wordmark-img{display:block;height:36px;width:auto;max-width:160px}
@media(max-width:600px){.wordmark-img{height:32px}}

/* Owner mode: account menu, private badges, reader bar. */
.owner-account{position:relative;flex:0 0 auto}
.owner-account>summary{list-style:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--gm-bd-d7e3f3);background:var(--gm-bg-f5f9fd);color:var(--gm-fg-193c70);cursor:pointer}
.owner-account>summary::-webkit-details-marker{display:none}
.owner-account>summary .line-icon{width:18px;height:18px}
.owner-account__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:220px;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8eef6);border-radius:12px;box-shadow:0 8px 24px var(--gm-sh-1d5fa11f);padding:6px;display:flex;flex-direction:column}
.owner-account__menu a,.owner-account__menu button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;color:var(--gm-fg-132b50);font:inherit;font-weight:650;cursor:pointer}
.owner-account__menu a:hover,.owner-account__menu button:hover{background:var(--gm-bg-f1f7ff)}
.owner-menu-rule{border:0;border-top:1px solid var(--gm-bd-e6effb);margin:6px 0}
.mobile-menu form{padding:4px 6px 8px}
.mobile-menu form button{background:none;border:0;padding:8px 0;font:inherit;font-weight:600;color:var(--gm-fg-132b50);cursor:pointer}
.owner-badge{display:inline-flex;align-items:center;gap:4px;margin:0 0 6px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:750;line-height:1.4}
.owner-badge .line-icon{width:12px;height:12px}
.owner-badge--public{color:var(--gm-fg-3e5a78);background:var(--gm-bg-eef3f8)}
.owner-badge--draft,.owner-badge--pulled,.owner-badge--pending{color:var(--gm-fg-8a4b12);background:var(--gm-bg-fff1e0)}
.owner-banner{margin:0 0 14px;padding:10px 14px;border:1px solid var(--gm-bd-f0d7b8);border-radius:12px;background:var(--gm-bg-fff6ea);color:var(--gm-fg-6b3e10);font-weight:650}
.owner-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0 14px}
.owner-bar .owner-badge{margin:0}
@media(max-width:900px){
  html.is-owner .owner-account{margin-left:auto}
  html.is-owner .mobile-controls{margin-left:0}
}
@media(max-width:600px){html.is-owner .owner-account{display:none}html.is-owner .mobile-controls{margin-left:auto}}
.room-sections{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px}
.room-tile{min-width:0;background:var(--gm-bg-fff);border:1px solid var(--gm-bd-e8f0fa);border-radius:16px;overflow:hidden}
.room-tile img{display:block;width:100%;height:120px;object-fit:cover;background:var(--gm-bg-eaf2fd)}
.room-tile__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 10px;font-size:12px;color:var(--gm-fg-71869f)}
.room-tile form{margin:0}
.room-tile button{min-height:44px;border:0;background:none;color:var(--gm-fg-9b1c1c);font:inherit;font-weight:650;cursor:pointer}
.room-note{margin:0 0 8px;color:var(--gm-fg-0d7a53);font-weight:650}
.room-trash-info{padding:16px 19px 0;color:var(--muted);font-size:14px}
.room-trash-info p{margin:0 0 8px}

:root{color-scheme:light;--gm-bg-fff:#fff;--gm-bd-71baff:#71baff;--gm-bg-eef7ff:#eef7ff;--gm-bd-dceafa:#dceafa;--gm-fg-3d5d7b:#3d5d7b;--gm-fg-164774:#164774;--gm-bg-dcecff:#dcecff;--gm-fg-2e5d8d:#2e5d8d;--gm-bg-rgba25525525598:rgba(255,255,255,.98);--gm-bd-e8eef6:#e8eef6;--gm-fg-0d2855:#0d2855;--gm-fg-0066e5:#0066e5;--gm-fg-2389ff:#2389ff;--gm-bg-cbd8e9:#cbd8e9;--gm-fg-086ae1:#086ae1;--gm-bg-f1f7ff:#f1f7ff;--gm-bg-e5f1ff:#e5f1ff;--gm-fg-0069e4:#0069e4;--gm-bd-d7e3f3:#d7e3f3;--gm-bg-f5f9fd:#f5f9fd;--gm-fg-4e5d70:#4e5d70;--gm-fg-0d264d:#0d264d;--gm-bg-1287fc:#1287fc;--gm-bd-aacbea:#aacbea;--gm-fg-132b50:#132b50;--gm-bg-ffffffb3:#ffffffb3;--gm-fg-white:white;--gm-bd-1381ee:#1381ee;--gm-bg-5dabf7:#5dabf7;--gm-bg-0876ed:#0876ed;--gm-sh-ffffff4d:#ffffff4d;--gm-bd-4396ee:#4396ee;--gm-bg-f3f9ff:#f3f9ff;--gm-bg-fdfefe:#fdfefe;--gm-fg-0073f2:#0073f2;--gm-bg-ffffffc9:#ffffffc9;--gm-sh-1d5fa10d:#1d5fa10d;--gm-bd-9ac5f7:#9ac5f7;--gm-sh-2c82dc1a:#2c82dc1a;--gm-bg-e8f4ff:#e8f4ff;--gm-bg-ffffff:#ffffff;--gm-bg-d7edff:#d7edff;--gm-bg-badffc:#badffc;--gm-fg-087de6:#087de6;--gm-fg-1f86e8:#1f86e8;--gm-fg-101b31:#101b31;--gm-fg-465c79:#465c79;--gm-fg-0769dd:#0769dd;--gm-bg-c6e2fc:#c6e2fc;--gm-bd-e4edf9:#e4edf9;--gm-fg-28517b:#28517b;--gm-bg-f6faff:#f6faff;--gm-bg-f9fcff:#f9fcff;--gm-bg-ffffffdf:#ffffffdf;--gm-bd-edf1f8:#edf1f8;--gm-sh-2a68a808:#2a68a808;--gm-bd-bdd9f8:#bdd9f8;--gm-bg-c6e6ff:#c6e6ff;--gm-bg-2e92e4a8:#2e92e4a8;--gm-fg-0074e7:#0074e7;--gm-fg-111c30:#111c30;--gm-fg-4f6079:#4f6079;--gm-fg-65738b:#65738b;--gm-bd-d9e6f4:#d9e6f4;--gm-fg-0578e4:#0578e4;--gm-bg-dcefff:#dcefff;--gm-bg-ebf8ff:#ebf8ff;--gm-fg-258cdd:#258cdd;--gm-fg-43ad88:#43ad88;--gm-bg-e7f5f5:#e7f5f5;--gm-bg-d9efea:#d9efea;--gm-fg-101c30:#101c30;--gm-fg-60728e:#60728e;--gm-bd-cce3f9:#cce3f9;--gm-bg-ebf7ff:#ebf7ff;--gm-bg-c1e1fc:#c1e1fc;--gm-bg-b3dafa44:#b3dafa44;--gm-bg-f4fbff33:#f4fbff33;--gm-bg-60b8fa:#60b8fa;--gm-bg-137ff0:#137ff0;--gm-fg-fff:#fff;--gm-bg-e0f0ff:#e0f0ff;--gm-bg-bfe2ff:#bfe2ff;--gm-bd-white:white;--gm-sh-6ea9e23d:#6ea9e23d;--gm-fg-1684f0:#1684f0;--gm-fg-1488ef:#1488ef;--gm-fg-234668:#234668;--gm-bd-cbdff5:#cbdff5;--gm-bg-ffffff9a:#ffffff9a;--gm-bg-f9fbff:#f9fbff;--gm-bd-b6d2fa:#b6d2fa;--gm-sh-227bd042:#227bd042;--gm-bg-f8fbff:#f8fbff;--gm-bg-ecf4ff:#ecf4ff;--gm-bd-d6e5f7:#d6e5f7;--gm-fg-1b2e50:#1b2e50;--gm-fg-147bdc:#147bdc;--gm-fg-304467:#304467;--gm-bg-deedff:#deedff;--gm-fg-1b6dd0:#1b6dd0;--gm-bd-7eb3f4:#7eb3f4;--gm-fg-142848:#142848;--gm-fg-137ff3:#137ff3;--gm-fg-63728a:#63728a;--gm-bg-e6f3ff:#e6f3ff;--gm-fg-0873e4:#0873e4;--gm-bd-acd3fb:#acd3fb;--gm-bd-dbe6f6:#dbe6f6;--gm-bg-f7fbff:#f7fbff;--gm-fg-4b5d78:#4b5d78;--gm-bg-5ab2fa:#5ab2fa;--gm-bg-0579ee:#0579ee;--gm-bg-e8edf5:#e8edf5;--gm-fg-61718a:#61718a;--gm-fg-0b2d64:#0b2d64;--gm-bg-eaf6ff:#eaf6ff;--gm-bd-e4eef9:#e4eef9;--gm-fg-147de8:#147de8;--gm-fg-344d6d:#344d6d;--gm-fg-65738a:#65738a;--gm-fg-4b739d:#4b739d;--gm-bg-edf6ff:#edf6ff;--gm-bd-d6e9fc:#d6e9fc;--gm-bd-dfeaf7:#dfeaf7;--gm-sh-28578c0a:#28578c0a;--gm-bd-a9d2fa:#a9d2fa;--gm-bg-e7f4ff:#e7f4ff;--gm-bg-8dcbfb:#8dcbfb;--gm-bg-f3faffa8:#f3faffa8;--gm-bg-a5d8ff88:#a5d8ff88;--gm-bg-83c5fa77:#83c5fa77;--gm-bg-deefffc9:#deefffc9;--gm-bg-6fb7f4a9:#6fb7f4a9;--gm-bg-d1ecffb8:#d1ecffb8;--gm-bd-faffff:#faffff;--gm-fg-101c34:#101c34;--gm-fg-52637a:#52637a;--gm-fg-6f7d91:#6f7d91;--gm-fg-0874e7:#0874e7;--gm-bd-dbe7f6:#dbe7f6;--gm-fg-3b5270:#3b5270;--gm-bg-f2f8ff:#f2f8ff;--gm-fg-0874e5:#0874e5;--gm-bg-e6f2ff:#e6f2ff;--gm-bd-b9dcff:#b9dcff;--gm-fg-006ee4:#006ee4;--gm-fg-355777:#355777;--gm-bd-e0e9f6:#e0e9f6;--gm-bd-a5cdf7:#a5cdf7;--gm-bg-e4f3ff:#e4f3ff;--gm-bg-cbe9ff:#cbe9ff;--gm-fg-2084e5:#2084e5;--gm-bg-e5f5ed:#e5f5ed;--gm-fg-34a27b:#34a27b;--gm-fg-12223b:#12223b;--gm-fg-61728b:#61728b;--gm-bd-bed9f4:#bed9f4;--gm-fg-46617f:#46617f;--gm-fg-647c97:#647c97;--gm-fg-286bba:#286bba;--gm-fg-5a6473:#5a6473;--gm-fg-11284b:#11284b;--gm-fg-536983:#536983;--gm-fg-738198:#738198;--gm-bd-dbeafa:#dbeafa;--gm-fg-496788:#496788;--gm-fg-263b55:#263b55;--gm-fg-152c50:#152c50;--gm-fg-5c7190:#5c7190;--gm-bd-65b4ff:#65b4ff;--gm-bg-f1f8ff:#f1f8ff;--gm-fg-355879:#355879;--gm-fg-152e51:#152e51;--gm-bd-dfe9f5:#dfe9f5;--gm-fg-7a8aa1:#7a8aa1;--gm-fg-1179e5:#1179e5;--gm-bg-fcfeff:#fcfeff;--gm-bg-f4f9ff:#f4f9ff;--gm-bd-e9f1fa:#e9f1fa;--gm-bd-d7e4f3:#d7e4f3;--gm-fg-45607f:#45607f;--gm-fg-334963:#334963;--gm-fg-0074e8:#0074e8;--gm-bg-122d52:#122d52;--gm-sh-0a32653d:#0a32653d;--gm-fg-193c70:#193c70;--gm-sh-173e7420:#173e7420;--gm-bd-e6effb:#e6effb;--gm-fg-006fe6:#006fe6;--gm-bd-b6d5f4:#b6d5f4;--gm-bg-167df0:#167df0;--gm-bd-e8f0fa:#e8f0fa;--gm-sh-0f23470a:#0f23470a;--gm-bg-eaf2fd:#eaf2fd;--gm-fg-2e4c6d:#2e4c6d;--gm-bd-e2ebf6:#e2ebf6;--gm-sh-0f234708:#0f234708;--gm-fg-0b2347:#0b2347;--gm-fg-71869f:#71869f;--gm-bg-d5e1ef:#d5e1ef;--gm-bg-e6f8f0:#e6f8f0;--gm-fg-0d7a53:#0d7a53;--gm-bg-10b981:#10b981;--gm-bg-fef3c7:#fef3c7;--gm-fg-92400e:#92400e;--gm-bg-f59e0b:#f59e0b;--gm-bg-f1f5f9:#f1f5f9;--gm-fg-475569:#475569;--gm-bg-94a3b8:#94a3b8;--gm-bg-fde8e8:#fde8e8;--gm-fg-9b1c1c:#9b1c1c;--gm-bg-dc2626:#dc2626;--gm-fg-556b86:#556b86;--gm-fg-1e6ffb:#1e6ffb;--gm-sh-0f234714:#0f234714;--gm-bg-d9e9fc:#d9e9fc;--gm-fg-2f7fe8:#2f7fe8;--gm-bd-f0f4fa:#f0f4fa;--gm-fg-086fe6:#086fe6;--gm-sh-1d5fa11f:#1d5fa11f;--gm-fg-3e5a78:#3e5a78;--gm-bg-eef3f8:#eef3f8;--gm-fg-8a4b12:#8a4b12;--gm-bg-fff1e0:#fff1e0;--gm-bd-f0d7b8:#f0d7b8;--gm-bg-fff6ea:#fff6ea;--gm-fg-6b3e10:#6b3e10}
html[data-theme="dark"]{color-scheme:dark;--gm-bg-fff:#0e1726;--gm-bd-71baff:#2d4052;--gm-bg-eef7ff:#2c353d;--gm-bd-dceafa:#26384f;--gm-fg-3d5d7b:#e6edf7;--gm-fg-164774:#e6edf7;--gm-bg-dcecff:#2c343d;--gm-fg-2e5d8d:#e6edf7;--gm-bg-rgba25525525598:#0e1726fa;--gm-bd-e8eef6:#26384f;--gm-fg-0d2855:#e6edf7;--gm-fg-0066e5:#5aa2ff;--gm-fg-2389ff:#5aa2ff;--gm-bg-cbd8e9:#2c333d;--gm-fg-086ae1:#5aa2ff;--gm-bg-f1f7ff:#0e1726;--gm-bg-e5f1ff:#2c343d;--gm-fg-0069e4:#5aa2ff;--gm-bd-d7e3f3:#26384f;--gm-bg-f5f9fd:#0e1726;--gm-fg-4e5d70:#e6edf7;--gm-fg-0d264d:#e6edf7;--gm-bg-1287fc:#1287fc;--gm-bd-aacbea:#3b4752;--gm-fg-132b50:#e6edf7;--gm-bg-ffffffb3:#0e1726b3;--gm-fg-white:#ffffff;--gm-bd-1381ee:#5aa2ff;--gm-bg-5dabf7:#5dabf7;--gm-bg-0876ed:#0876ed;--gm-sh-ffffff4d:#0000004d;--gm-bd-4396ee:#5aa2ff;--gm-bg-f3f9ff:#0e1726;--gm-bg-fdfefe:#0e1726;--gm-fg-0073f2:#5aa2ff;--gm-bg-ffffffc9:#0e1726c9;--gm-sh-1d5fa10d:#0000000d;--gm-bd-9ac5f7:#334152;--gm-sh-2c82dc1a:#0000001a;--gm-bg-e8f4ff:#2c353d;--gm-bg-ffffff:#0e1726;--gm-bg-d7edff:#2c353d;--gm-bg-badffc:#2c363d;--gm-fg-087de6:#5aa2ff;--gm-fg-1f86e8:#5aa2ff;--gm-fg-101b31:#e6edf7;--gm-fg-465c79:#e6edf7;--gm-fg-0769dd:#5aa2ff;--gm-bg-c6e2fc:#2c353d;--gm-bd-e4edf9:#26384f;--gm-fg-28517b:#e6edf7;--gm-bg-f6faff:#0e1726;--gm-bg-f9fcff:#0e1726;--gm-bg-ffffffdf:#0e1726df;--gm-bd-edf1f8:#26384f;--gm-sh-2a68a808:#00000008;--gm-bd-bdd9f8:#3e4752;--gm-bg-c6e6ff:#2c363d;--gm-bg-2e92e4a8:#2e92e4a8;--gm-fg-0074e7:#5aa2ff;--gm-fg-111c30:#e6edf7;--gm-fg-4f6079:#e6edf7;--gm-fg-65738b:#e6edf7;--gm-bd-d9e6f4:#26384f;--gm-fg-0578e4:#5aa2ff;--gm-bg-dcefff:#2c353d;--gm-bg-ebf8ff:#2c373d;--gm-fg-258cdd:#5aa2ff;--gm-fg-43ad88:#55dbac;--gm-bg-e7f5f5:#152235;--gm-bg-d9efea:#2c3d39;--gm-fg-101c30:#e6edf7;--gm-fg-60728e:#e6edf7;--gm-bd-cce3f9:#414a52;--gm-bg-ebf7ff:#2c363d;--gm-bg-c1e1fc:#2c353d;--gm-bg-b3dafa44:#2c353d44;--gm-bg-f4fbff33:#0e172633;--gm-bg-60b8fa:#60b8fa;--gm-bg-137ff0:#137ff0;--gm-fg-fff:#ffffff;--gm-bg-e0f0ff:#2c353d;--gm-bg-bfe2ff:#2c353d;--gm-bd-white:#26384f;--gm-sh-6ea9e23d:#0000003d;--gm-fg-1684f0:#5aa2ff;--gm-fg-1488ef:#5aa2ff;--gm-fg-234668:#e6edf7;--gm-bd-cbdff5:#414952;--gm-bg-ffffff9a:#0e17269a;--gm-bg-f9fbff:#0e1726;--gm-bd-b6d2fa:#3b4552;--gm-sh-227bd042:#00000042;--gm-bg-f8fbff:#0e1726;--gm-bg-ecf4ff:#2c333d;--gm-bd-d6e5f7:#414952;--gm-fg-1b2e50:#e6edf7;--gm-fg-147bdc:#5aa2ff;--gm-fg-304467:#e6edf7;--gm-bg-deedff:#2c343d;--gm-fg-1b6dd0:#5aa2ff;--gm-bd-7eb3f4:#5aa2ff;--gm-fg-142848:#e6edf7;--gm-fg-137ff3:#5aa2ff;--gm-fg-63728a:#e6edf7;--gm-bg-e6f3ff:#2c353d;--gm-fg-0873e4:#5aa2ff;--gm-bd-acd3fb:#384552;--gm-bd-dbe6f6:#26384f;--gm-bg-f7fbff:#0e1726;--gm-fg-4b5d78:#e6edf7;--gm-bg-5ab2fa:#5ab2fa;--gm-bg-0579ee:#0579ee;--gm-bg-e8edf5:#152235;--gm-fg-61718a:#e6edf7;--gm-fg-0b2d64:#e6edf7;--gm-bg-eaf6ff:#2c363d;--gm-bd-e4eef9:#26384f;--gm-fg-147de8:#5aa2ff;--gm-fg-344d6d:#e6edf7;--gm-fg-65738a:#e6edf7;--gm-fg-4b739d:#5aa2ff;--gm-bg-edf6ff:#2c353d;--gm-bd-d6e9fc:#414952;--gm-bd-dfeaf7:#26384f;--gm-sh-28578c0a:#0000000a;--gm-bd-a9d2fa:#374552;--gm-bg-e7f4ff:#2c353d;--gm-bg-8dcbfb:#8dcbfb;--gm-bg-f3faffa8:#0e1726a8;--gm-bg-a5d8ff88:#28343d88;--gm-bg-83c5fa77:#83c5fa77;--gm-bg-deefffc9:#2c353dc9;--gm-bg-6fb7f4a9:#6fb7f4a9;--gm-bg-d1ecffb8:#2c363db8;--gm-bd-faffff:#26384f;--gm-fg-101c34:#e6edf7;--gm-fg-52637a:#e6edf7;--gm-fg-6f7d91:#e6edf7;--gm-fg-0874e7:#5aa2ff;--gm-bd-dbe7f6:#26384f;--gm-fg-3b5270:#e6edf7;--gm-bg-f2f8ff:#0e1726;--gm-fg-0874e5:#5aa2ff;--gm-bg-e6f2ff:#2c343d;--gm-bd-b9dcff:#3b4652;--gm-fg-006ee4:#5aa2ff;--gm-fg-355777:#e6edf7;--gm-bd-e0e9f6:#26384f;--gm-bd-a5cdf7:#374452;--gm-bg-e4f3ff:#2c363d;--gm-bg-cbe9ff:#2c363d;--gm-fg-2084e5:#5aa2ff;--gm-bg-e5f5ed:#2c3d35;--gm-fg-34a27b:#53dbab;--gm-fg-12223b:#e6edf7;--gm-fg-61728b:#e6edf7;--gm-bd-bed9f4:#404952;--gm-fg-46617f:#e6edf7;--gm-fg-647c97:#5aa2ff;--gm-fg-286bba:#5aa2ff;--gm-fg-5a6473:#e6edf7;--gm-fg-11284b:#e6edf7;--gm-fg-536983:#e6edf7;--gm-fg-738198:#5aa2ff;--gm-bd-dbeafa:#414952;--gm-fg-496788:#e6edf7;--gm-fg-263b55:#e6edf7;--gm-fg-152c50:#e6edf7;--gm-fg-5c7190:#e6edf7;--gm-bd-65b4ff:#5aa2ff;--gm-bg-f1f8ff:#0e1726;--gm-fg-355879:#e6edf7;--gm-fg-152e51:#e6edf7;--gm-bd-dfe9f5:#26384f;--gm-fg-7a8aa1:#5aa2ff;--gm-fg-1179e5:#5aa2ff;--gm-bg-fcfeff:#0e1726;--gm-bg-f4f9ff:#0e1726;--gm-bd-e9f1fa:#26384f;--gm-bd-d7e4f3:#26384f;--gm-fg-45607f:#e6edf7;--gm-fg-334963:#e6edf7;--gm-fg-0074e8:#5aa2ff;--gm-bg-122d52:#1f2c3d;--gm-sh-0a32653d:#0000003d;--gm-fg-193c70:#e6edf7;--gm-sh-173e7420:#00000020;--gm-bd-e6effb:#26384f;--gm-fg-006fe6:#5aa2ff;--gm-bd-b6d5f4:#3d4752;--gm-bg-167df0:#167df0;--gm-bd-e8f0fa:#26384f;--gm-sh-0f23470a:#0000000a;--gm-bg-eaf2fd:#2c333d;--gm-fg-2e4c6d:#e6edf7;--gm-bd-e2ebf6:#26384f;--gm-sh-0f234708:#00000008;--gm-fg-0b2347:#e6edf7;--gm-fg-71869f:#5aa2ff;--gm-bg-d5e1ef:#2c343d;--gm-bg-e6f8f0:#2c3d36;--gm-fg-0d7a53:#53dbab;--gm-bg-10b981:#1f3d33;--gm-bg-fef3c7:#3d3a2c;--gm-fg-92400e:#db8753;--gm-bg-f59e0b:#3d321f;--gm-bg-f1f5f9:#152235;--gm-fg-475569:#e6edf7;--gm-bg-94a3b8:#94a3b8;--gm-bg-fde8e8:#3d2c2c;--gm-fg-9b1c1c:#db5353;--gm-bg-dc2626:#3d1f1f;--gm-fg-556b86:#e6edf7;--gm-fg-1e6ffb:#5aa2ff;--gm-sh-0f234714:#00000014;--gm-bg-d9e9fc:#2c343d;--gm-fg-2f7fe8:#5aa2ff;--gm-bd-f0f4fa:#26384f;--gm-fg-086fe6:#5aa2ff;--gm-sh-1d5fa11f:#0000001f;--gm-fg-3e5a78:#e6edf7;--gm-bg-eef3f8:#152235;--gm-fg-8a4b12:#db9453;--gm-bg-fff1e0:#3d352c;--gm-bd-f0d7b8:#52493f;--gm-bg-fff6ea:#3d362c;--gm-fg-6b3e10:#db9853}

html[data-theme="dark"]{--bg:#0e1726;--panel:#152235;--accsoft:#1e2f47;--search-bg:#1e2f47;--ok:#34d399;--oksoft:#064e3b;--ok-ink:#6ee7b7;--warn:#fbbf24;--warnsoft:#78350f;--warn-ink:#fde68a;--err:#f87171;--errsoft:#7f1d1d;--err-ink:#fecaca;--ink:#e6edf7;--ink-strong:#e6edf7;--muted:#9fb1c8;--link:#5aa2ff;--blue:#5aa2ff;--blue-strong:#5aa2ff;--line:#26384f;--pale:#0e1726;--sky:#152235;--white:#152235}
html[data-theme="dark"] .home-sky,html[data-theme="dark"] .footer-sky{opacity:1}
html[data-theme="dark"] .home-sky path,html[data-theme="dark"] .footer-sky path{opacity:1}
html[data-theme="dark"] .home-sky path:first-of-type,html[data-theme="dark"] .footer-sky path:first-of-type{fill:#132036}
html[data-theme="dark"] .home-sky path:last-of-type,html[data-theme="dark"] .footer-sky path:last-of-type{fill:#16263d}
html[data-theme="dark"] .reader-content pre,html[data-theme="dark"] .reader-content code{background:#1b2b42;color:#e6edf7}
html[data-theme="dark"] ::placeholder{color:#9fb1c8;opacity:1}
.wordmark-img.is-dark{display:none}
html[data-theme="dark"] .wordmark-img{display:none}
html[data-theme="dark"] .wordmark-img.is-dark{display:block}
.lang-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;height:36px;margin-left:10px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:var(--panel);color:var(--muted);font:inherit;font-size:12.5px;font-weight:600;text-decoration:none}
.lang-toggle:hover,.theme-toggle:hover{border-color:var(--blue);background:var(--accsoft)}
.lang-code.active{color:var(--link);font-weight:700}
.lang-sep{color:var(--muted);font-weight:400}
@media(max-width:900px){.lang-toggle{display:none}}
.lang-menu{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 6px 4px;color:var(--ink)}
.lang-menu a{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:99px;background:var(--white);color:inherit;padding:0 12px;text-decoration:none;font-weight:650}
.lang-menu a[aria-current="true"]{border-color:var(--blue);color:var(--link)}
.theme-toggle{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;margin-left:10px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--ink);padding:0}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .theme-toggle{background:var(--accsoft);border-color:#374963;color:var(--warn)}
@media(max-width:900px){.theme-toggle{display:none}}
.theme-icon--sun{display:none}
html[data-theme="dark"] .theme-icon--moon{display:none}
html[data-theme="dark"] .theme-icon--sun{display:block}
.theme-menu{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 6px 4px;color:var(--ink)}
.theme-menu button{min-height:44px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:inherit;padding:0 12px;font:inherit;font-weight:650}
.theme-menu button[aria-pressed="true"]{border-color:var(--blue);color:var(--link)}
@media (min-width: 2300px){
  html{zoom:calc(0.6 * 100vw / 1380px)}
  /* zoom inflates vh, so the sticky min-heights leave a blank band above the footer */
  body,.page{min-height:0}
}

/* The receive entry stays separate from the footer logo's private gesture. */
.footer-about .tray-copyright{position:relative;width:fit-content;max-width:100%;padding-right:44px}
.tray-entry{position:absolute;right:0;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.tray-entry .line-icon{width:18px;height:18px}
.tray-entry:hover{color:var(--link);background:var(--accsoft)}
.tray-dialog{width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:17px;padding:24px;color:var(--ink);background:var(--panel);box-shadow:0 18px 60px #0003}
.tray-dialog::backdrop{background:#0e1f3d66}
.tray-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.tray-dialog-head h2{font-size:21px;margin:0}
.tray-dialog-head button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--accsoft);color:var(--ink);font-size:26px}
.tray-content{position:relative;padding-top:24px;padding-bottom:40px}
.tray-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}
.tray-panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:24px;min-width:0}
.tray-panel h2{font-size:20px;margin-bottom:18px}
.tray-form{display:grid;gap:10px}
.tray-form label{font-weight:600;font-size:14px}
.tray-form input{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:10px 12px;color:var(--ink);font:inherit}
.tray-form .btn{justify-self:start}
.tray-hint{font-size:13px;color:var(--muted);line-height:1.65;margin:6px 0 12px;overflow-wrap:anywhere}
.tray-form .tray-code-input{font-size:24px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.tray-issued{margin-bottom:24px}
.tray-code{display:block;font-size:32px;letter-spacing:.22em;color:var(--link);font-weight:700;user-select:all;overflow-wrap:anywhere}
.tray-issued p{margin:8px 0}
.tray-item{padding:18px 0;border-top:1px solid var(--line)}
.tray-item h3{font-size:16px;letter-spacing:0;overflow-wrap:anywhere;margin-bottom:8px}
.tray-url{display:block;color:var(--link);font-size:13px;overflow-wrap:anywhere}
.tray-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.tray-actions .btn{min-height:44px;padding:10px 16px}
.tray-delete{min-height:44px;border:0;background:none;color:var(--err-ink);font:inherit;padding:8px}
.tray-message{padding:14px 16px;border-radius:9px;background:var(--errsoft);color:var(--err-ink);overflow-wrap:anywhere}
.tray-receive{max-width:480px}
.tray-receive h2{overflow-wrap:anywhere}
.tray-receive>.tray-hint{margin-top:16px}
@media(max-width:700px){.tray-layout{grid-template-columns:minmax(0,1fr)}.tray-panel{padding:20px}.tray-dialog{padding:20px}.tray-content{padding-top:20px}.tray-form .btn{justify-self:stretch}}
