/* Trusted Records: PalmID template grid, rhythm and disclosure components adapted for records. */
:root{--max:1480px;--accent:#62e1cd;--header:82px}
[hidden]{display:none!important}
.chevron-icon{width:16px;height:16px;transition:transform .18s}
details[open]>summary>.chevron-icon{transform:rotate(180deg)}
.navdrop>summary.current-branch{box-shadow:inset 0 -3px var(--accent);color:var(--accent)}
.mega-item small{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mega-group h3{font-size:14px}.mega-preview{position:sticky;top:0;align-self:start;min-height:390px}.mega-preview h3{min-height:0;margin-bottom:14px}.mega-preview p{font-size:15px;min-height:0}
.preview-steps{margin:20px 0 0;padding:0;list-style:none;counter-reset:preview}
.preview-steps li{padding:10px 12px;margin-bottom:7px;background:#0b2531;border:1px solid #3a6570;border-radius:5px;font-size:14px;counter-increment:preview}
.preview-steps li:before{content:counter(preview,decimal-leading-zero);font:13px var(--mono);color:var(--accent);margin-right:12px}
.navdrop>summary{padding-inline:10px}.nav-shell{gap:18px}.brand-logo{height:40px}.trust-strip{font-size:13px;height:38px}
.page-hero{padding:44px 0 52px;background:radial-gradient(ellipse at 75% 25%,#10354170,transparent 70%)}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:24px;color:var(--muted);font-size:14px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.7fr);gap:70px;align-items:center}
.detail-grid h1{max-width:850px}.context-panel{padding:26px;border:1px solid #335b68;background:linear-gradient(135deg,#11303d,#102330);border-radius:12px}
.context-panel>.ico{width:36px;height:36px;margin-bottom:14px}.context-panel h3{font-size:23px;margin-bottom:10px}.context-panel p{font-size:15px}
.section{padding:48px 0;border-top:1px solid #193443}.section-head{margin-bottom:24px}
.prose{max-width:none}.prose p{font-size:18px;line-height:1.85}.prose:has(+.prose){margin-bottom:24px}
/* Đoạn văn / note + lưới thẻ sát nhau vì p mặc định margin=0 (nhiều trang dùng <p> trần, không bọc .prose) */
.prose + .metro-grid,.prose + .source-gallery,.prose + .component-map,.prose + .profile-grid,
.source-note + .metro-grid,.wrap > p + .metro-grid,.section-head + p + .metro-grid,
.preservation-layers + .metro-grid{margin-top:28px}
.metro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
/* 1–2 thẻ: full chiều ngang, tránh cột trống khi mặc định 3 cột */
.metro-grid:has(>:only-child),.metro-grid.count-1{grid-template-columns:1fr}
.metro-grid:has(>:nth-child(2):last-child),.metro-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Note + nút sau lưới thẻ: p mặc định margin 0 nên bị dính */
.metro-grid + p{margin-top:28px}
.metro-grid + p + .btn,.wrap > p + .btn{margin-top:16px;display:inline-flex}
p.source-note + .btn{margin-top:12px;display:inline-flex}
.record-card{display:flex;flex-direction:column;gap:18px;min-width:0;align-self:stretch;padding:28px;border:1px solid var(--line);background:linear-gradient(135deg,#102b3b,#0d202e);border-radius:10px;min-height:260px;transition:background .18s,border .18s}
.record-card:hover{background:#153746;border-color:var(--accent)}
/* Icon↔tiêu đề và các khối trong thẻ (SVG có vùng trống nên cần margin thêm) */
.record-card .card-body{display:flex;flex-direction:column;gap:16px;flex:1;min-width:0;min-height:100%}
.record-card .card-body>.ico + h3{margin-top:8px}
.record-card>.ico,.record-card .card-body>.ico{width:32px;height:32px;flex:none}
.record-card h3{font-size:23px;line-height:1.3}.record-card p{font-size:16px;line-height:1.75}.record-card .text-link{margin-top:auto}
.records-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px;padding:0;list-style:none;margin:0 0 28px;counter-reset:step}
.records-flow li{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px 16px;border:1px solid #3b6570;background:#102c38;border-radius:7px;min-width:0}
.records-flow li:not(:last-child):after{content:'→';position:absolute;left:100%;top:50%;z-index:1;margin-left:14px;transform:translateY(-50%);color:var(--accent);font-size:14px;line-height:1;pointer-events:none}
.records-flow strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}.step-number{color:var(--accent);font:14px var(--mono)}.records-flow .ico{width:25px}
.context-panel .records-flow{grid-template-columns:1fr;margin:20px 0 0;gap:7px}
.context-panel .records-flow li{display:grid;grid-template-columns:30px 1fr;align-items:center;padding:10px 12px;gap:10px}
.context-panel .records-flow .ico{display:none}.context-panel .records-flow li:after{display:none}.context-panel .records-flow strong{font-size:15px}
.home-hero{padding:60px 0 64px}.home-hero .hero-grid{gap:60px}.hero-copy h1{font-size:clamp(40px,3.9vw,70px)}
.records-visual{border:1px solid #3a6671;border-radius:14px;overflow:hidden;background:linear-gradient(140deg,#143a47,#0b1f2b);box-shadow:0 24px 80px #0004}
.records-visual .visual-top .eyebrow{margin:0;font-size:14px}.journey-switch{display:flex;gap:8px;margin:20px 24px}.journey-switch button{flex:1;background:#0b2330;border:1px solid #395d69;border-radius:6px;padding:12px 10px;font-size:14px}
.journey-switch button.active{color:#052c29;background:var(--accent);border-color:var(--accent)}
.journey{padding:4px 24px 10px}.journey .records-flow{grid-template-columns:1fr;gap:40px;margin:0}.journey .records-flow li{display:grid;grid-template-columns:32px 30px 1fr;align-items:center;gap:12px;padding:13px 18px;background:#0e2935}
.journey .records-flow li:not(:last-child):after{content:'↓';left:50%;top:100%;bottom:auto;margin:14px 0 0;transform:translateX(-50%);font-size:14px;line-height:1}.visual-proof{display:flex;align-items:center;gap:12px;padding:18px 24px;font-size:14px;border-top:1px solid #355660;color:var(--accent)}
.split-story{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:26px}.split-story>div{border:1px solid var(--line);padding:30px;background:#0e2533;border-radius:10px}.split-story h3{margin-bottom:18px;font-size:26px}.split-story p{font-size:17px;line-height:1.8}.split-story .text-link{margin-top:15px}
.exception-card{display:flex;gap:20px;border:1px solid #65573d;border-left:4px solid var(--warn);background:#28271f;border-radius:8px;padding:28px}.exception-card p{font-size:18px;color:#eedfc8}.exception-card .ico{color:var(--warn);margin-top:5px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;max-width:100%}.table-wrap table{width:100%;border-collapse:collapse;min-width:580px;font-size:16px}.table-wrap th{background:#13303e;color:var(--accent);font-size:14px;text-align:left}.table-wrap td,.table-wrap th{padding:20px;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.8}.table-wrap td{color:#c5d7e0}.table-wrap tr:last-child td{border-bottom:0}.table-wrap td a{color:var(--accent)}.section-note{margin-top:18px;font-size:15px}
.architecture-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}.architecture-stack{display:grid;gap:10px}.architecture-stack article{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #315467;background:linear-gradient(95deg,#153747,#0d2432);border-radius:8px}.architecture-stack h3{font-size:21px;margin-bottom:7px}.architecture-stack p{font-size:16px}.layer-number{font:23px var(--mono);color:var(--accent);width:35px;flex-shrink:0}.crosscut{background:#0d2b34;border:1px solid #346e6c;border-radius:8px;padding:25px;display:flex;flex-direction:column;gap:22px}.crosscut h3{font-size:22px}.crosscut p{display:flex;gap:12px;align-items:center;font-size:15px}
.source-figure{padding:14px;border:1px solid var(--line);border-radius:9px}.source-figure img{width:100%}.source-figure figcaption,.certificate figcaption{font-size:14px;color:var(--muted);margin-top:16px}.certificate{display:grid;grid-template-columns:320px 1fr;gap:30px;align-items:center}.certificate img{max-height:600px;object-fit:contain}
.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;min-width:0;align-items:stretch}
.code-grid>div{min-width:0;display:flex;flex-direction:column;gap:12px}
/* Tiêu đề → hàng nút (trái trống) → ô mã cùng height (textarea không flex như pre) */
.code-grid>div>label,.code-grid>div>h3{font-size:18px;font-weight:650;line-height:1.35;margin:0;color:var(--ink);display:block}
.code-grid .code-toolbar{min-height:44px;display:flex;align-items:center;flex-shrink:0}
.code-grid>div>textarea,.code-grid>div>pre{box-sizing:border-box;width:100%;height:360px;min-height:360px;margin:0;flex:none}
.code-grid>div>textarea{font-weight:400;resize:vertical}
.code-grid>div>pre{overflow:auto}
.code-grid .code-status{min-height:22px;margin:0;font-size:15px}
.btn.small + pre{margin-top:12px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#07131f;border:1px solid #365969;border-radius:8px;color:#c8efe7;padding:22px;font-size:14px;line-height:1.8;margin:0;min-width:0;max-width:100%}
.sim-mode{display:flex;gap:12px;align-items:center;border:1px solid #a28850;background:#302c20;color:#f7deb3;padding:18px;border-radius:8px;margin-bottom:24px;font-size:15px}.sim-controls{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:18px}.sim-controls label,label{display:flex;flex-direction:column;gap:10px;font-size:16px}.sim-controls select,textarea,input[type=search]{width:100%;border:1px solid #406574;background:#0c2230;border-radius:6px;padding:13px;color:var(--ink)}textarea{resize:vertical;font:14px/1.7 var(--mono)}#api-output{height:360px;min-height:360px}#api-endpoint{font-size:14px;margin:18px 0;overflow-wrap:anywhere}#api-status{margin-top:0;font-size:15px}.download-grid{display:flex;gap:15px;flex-wrap:wrap}
.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid var(--line);background:#0e2533;border-radius:8px}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:18px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{padding:0 24px 24px;font-size:17px}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-row p{font-size:18px}
.site-footer{background:#081a25;padding:50px 0 25px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.footer-company p{font-size:14px;margin-top:18px}.footer-company .legal-name{font-weight:600;color:#dbeaf0}.footer-column h3{font-size:17px;margin-bottom:20px}.footer-link{display:block;padding:8px 0;font-size:14px;color:var(--muted)}.contact-line{display:flex!important;align-items:flex-start;gap:12px;font-size:14px;margin-top:16px}.contact-line .ico{width:18px;height:20px}.iso-badge{display:inline-flex;margin-top:18px;width:64px;max-width:64px;background:transparent}.iso-badge img{width:64px;max-width:64px;height:auto;background:transparent}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:13px;gap:20px}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}
dialog{background:#102431;color:var(--ink);border:1px solid #47747c;border-radius:12px;width:min(800px,calc(100% - 30px));max-height:85dvh;padding:28px}dialog::backdrop{background:#000b}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.dialog-head h2{font-size:27px}.dialog-close{background:#183743;padding:8px;border-radius:6px}.dialog-close .ico{width:22px}#search-status{font-size:14px;margin-top:14px}#search-results a{display:block;padding:14px;border:1px solid #365968;border-radius:5px;margin-top:12px}#search-results p{font-size:14px;margin-top:7px}.mono{overflow-wrap:anywhere}#enquiry-form{width:100%;max-width:none;display:grid;gap:20px}#enquiry-form .btn{justify-self:start;width:auto}
@media(min-width:1700px){.hero-copy h1{font-size:72px}.record-card{padding:32px}.wrap{width:min(calc(100% - 100px),var(--max))}}
@media(max-width:1200px){.nav-actions>.btn{display:none}.navdrop>summary{padding:0 9px}.nav-shell{gap:12px}.detail-grid{gap:35px}.hero-grid{gap:35px}.mega-layout{grid-template-columns:1fr 1fr .85fr;gap:18px}.mega{padding:20px}.metro-grid{gap:16px}.record-card{padding:22px}.records-flow li{padding:16px 12px}}
@media(max-width:960px){.wrap{width:calc(100% - 40px)}.menu-toggle{display:block;margin-left:auto}.nav-shell{height:74px}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;max-height:calc(100dvh - 74px);overflow:auto;margin:0;background:#0b1e2b;border:1px solid var(--line);padding:14px}.primary-nav.mobile-open{display:block}.navdrop{display:block}.navdrop>summary{min-height:50px;padding:12px}.mega{position:static;max-height:none;padding:16px;border-radius:7px}.mega-layout{grid-template-columns:1fr 1fr}.mega-preview{display:none}.trust-strip .wrap>div{gap:14px}.hero-grid,.detail-grid{grid-template-columns:1fr;gap:35px}.hero-copy{max-width:none}.hero-copy h1{max-width:750px}.records-visual{max-width:750px}.context-panel{max-width:750px}.context-panel .records-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.context-panel .records-flow li{display:flex;flex-direction:column;align-items:flex-start;padding:12px}.records-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.records-flow li:after{display:none}.journey .records-flow li:not(:last-child):after{display:block}.metro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture-layout{grid-template-columns:1fr}.crosscut{display:grid;grid-template-columns:1fr 1fr;gap:18px}.crosscut h3{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.page-hero{padding:35px 0}.home-hero{padding:40px 0}.section{padding:38px 0}.code-grid{grid-template-columns:1fr}.certificate{grid-template-columns:240px 1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}h1{font-size:36px}h2{font-size:28px}.hero-copy h1{font-size:40px}.hero-statement{font-size:15px}.lead{font-size:17px}.trust-strip{height:auto;min-height:34px;font-size:12px}.trust-strip .wrap>div a:first-child{display:none}.brand-logo{height:56px}.nav-actions{gap:0}.nav-shell{gap:5px}.search-open{width:32px}.lang-switch{padding:8px}.mega-layout{grid-template-columns:1fr}.mega{padding:8px}.mega-group h3{margin-top:16px}.context-panel{padding:20px}.context-panel .records-flow{grid-template-columns:1fr}.context-panel .records-flow li{display:grid;grid-template-columns:30px 1fr}.metro-grid,.split-story,.sim-controls{grid-template-columns:1fr}.record-card{min-height:220px;padding:24px}.records-flow{grid-template-columns:1fr}.records-flow li{display:grid;grid-template-columns:30px 24px 1fr;align-items:center;gap:10px}.journey-switch{margin:18px 16px;gap:8px}.journey{padding:0 16px 16px}.journey .records-flow li{padding:12px;grid-template-columns:28px 22px 1fr}.journey .records-flow strong{font-size:14px}.visual-proof{font-size:13px;padding:16px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-column{border-top:1px solid var(--line);padding-top:22px}.cta-row{align-items:flex-start;flex-direction:column}.certificate{grid-template-columns:1fr}.certificate img{max-height:550px;margin:auto}.crosscut{grid-template-columns:1fr}.architecture-stack article{padding:17px;gap:12px}.architecture-stack h3{font-size:19px}.exception-card{padding:20px;gap:12px}.exception-card p,.prose p{font-size:17px}.hero-actions .btn{width:100%}.table-wrap td,.table-wrap th{padding:16px}.footer-bottom>div{flex-direction:column;gap:14px}.faq-list summary{font-size:17px;padding:18px}.dialog-head h2{font-size:23px}dialog{padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
