/* Atlas screen kit (web/js/kit.js). Same visual language as the design canvas: cream ground, white cards with a
   hairline inset border, deep green ink, Geist. Classes are ax-* so they never collide with design CSS. */
.ax-main{padding:32px 40px 56px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box;width:100%;max-width:1320px}
.ax-main.ax-wide{max-width:none}
.ax-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ax-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.ax-grid{display:grid;gap:24px;align-items:start}
.ax-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between}
.ax-eyebrow{font-size:12px;font-weight:500;letter-spacing:.02em;color:#6b5a2e}
.ax-h1{margin:0;font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.02em}
.ax-h2{margin:0;font-size:17px;line-height:24px;font-weight:600}
.ax-sub{margin:0;font-size:15px;line-height:24px;color:#3f3e3a;max-width:46em}
.ax-p{margin:0;line-height:1.6;max-width:46em}
.ax-small{margin:0;font-size:13px;line-height:19px;color:#6b6862}
.ax-bar{display:block;width:24px;height:3px;border-radius:2px;background:#141414}
.ax-card{background:#fff;border-radius:16px;box-shadow:inset 0 0 0 1px #e7e3d3;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;min-width:0}
.ax-card-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}
.ax-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;width:fit-content}
.ax-btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:999px;border:0;background:#f3efe0;color:#141414;font:inherit;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color 120ms ease,transform 160ms cubic-bezier(.23,1,.32,1);white-space:nowrap}
.ax-btn.ax-pri{background:#141414;color:#fefcf2;height:42px;padding:0 20px}
.ax-btn.ax-sm{height:30px;padding:0 12px;font-size:13px}
.ax-btn:active{transform:scale(.97)}
.ax-btn[disabled]{opacity:.45;cursor:default}
@media (hover:hover) and (pointer:fine){.ax-btn:hover{background:#e9e4d0}.ax-btn.ax-pri:hover{background:#2a2a2a}}
[data-dc] a:not(.ax-btn):not(.ax-tab):not(.ax-li):not(.an-i):not(.seg):not(.btn):not(.p):not(.s):not(.hm-row):not(.hm-chip):not(.hm-go):not(.out):not(.at-btn):not(.ft):not(.row):not(.cta){color:#141414}
.ax-tabs{display:flex;flex-wrap:wrap;gap:4px}
.ax-tab{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;color:#3f3e3a;text-decoration:none;font-size:14px}
.ax-tab[aria-current="page"]{background:#141414;color:#fefcf2}
@media (hover:hover) and (pointer:fine){.ax-tab:not([aria-current]):hover{background:#f3efe0;color:#141414}}
.ax-pills{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#f3efe0;flex-wrap:wrap}
.ax-pill{height:30px;padding:0 12px;border-radius:999px;border:0;background:transparent;color:#3f3e3a;font:inherit;font-size:13px;cursor:pointer}
.ax-pill[aria-pressed="true"]{background:#fff;color:#141414;box-shadow:0 1px 2px rgba(20,20,20,.12);font-weight:500}
.ax-kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:14px;line-height:20px}
.ax-kv dt{color:#6b6862}.ax-kv dd{margin:0}
.ax-stat{display:flex;flex-direction:column;gap:4px;min-width:0}
.ax-k{font-size:12px;font-weight:500;color:#3f3e3a}
.ax-v{font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.ax-info{display:inline-flex;width:15px;height:15px;border-radius:50%;background:#f3efe0;color:#3f3e3a;font-size:10px;align-items:center;justify-content:center;text-decoration:none;vertical-align:1px}
.ax-tablewrap{overflow-x:auto}
.ax-table{border-collapse:collapse;width:100%;font-size:14px;line-height:20px;font-variant-numeric:tabular-nums}
.ax-table caption{text-align:left;padding:0 0 10px;font-size:13px;color:#6b6862}
.ax-table th,.ax-table td{padding:10px 12px;border-top:1px solid #e7e3d3;text-align:left;font-weight:400;vertical-align:top}
.ax-table thead th{border-top:0;color:#3f3e3a;font-weight:500;font-size:13px;white-space:nowrap}
.ax-table tbody th{font-weight:500}
.ax-table .n{text-align:right;white-space:nowrap}
.ax-table tr.hl th,.ax-table tr.hl td{background:#ebe7da}
@media (hover:hover) and (pointer:fine){.ax-table tbody tr[data-act]:hover th,.ax-table tbody tr[data-act]:hover td{background:#faf7ea}}
.ax-list{display:flex;flex-direction:column}
.ax-li{display:flex;gap:16px;align-items:center;padding:12px 4px;border-top:1px solid #e7e3d3;color:#141414;text-decoration:none;min-height:28px}
.ax-li:first-child{border-top:0}
.ax-li-t{font-size:15px;font-weight:500}
.ax-li-r{font-size:13px;color:#6b6862;white-space:nowrap}
@media (hover:hover) and (pointer:fine){a.ax-li:hover{background:#faf7ea}}
.ax-empty{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:14px;background:#f6f3e7}
.ax-notice{padding:12px 16px;border-radius:12px;font-size:14px;line-height:22px}
.ax-barrow{display:flex;gap:16px;align-items:center;padding:12px 0;border-top:1px solid #e7e3d3}
.ax-barrow:first-child{border-top:0}
.ax-barlabel{flex:1 1 160px;font-size:14px;font-weight:500;min-width:0}
.ax-bartrack{flex:2 1 200px;height:8px;border-radius:4px;background:#f3efe0;overflow:hidden}
.ax-bartrack span{display:block;height:100%;border-radius:4px}
.ax-barval{width:96px;text-align:right;font-size:14px;font-variant-numeric:tabular-nums}
.ax-chart{width:100%;min-width:0}
.ax-form{display:flex;flex-direction:column;gap:14px}
.ax-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500;color:#3f3e3a;min-width:0}
.ax-in{height:40px;box-sizing:border-box;padding:0 12px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px #d9d3bd;background:#fefcf2;color:#141414;font:inherit;font-size:15px;font-weight:400;width:100%}
textarea.ax-in{height:auto;padding:10px 12px;line-height:22px;resize:vertical}
.ax-in:focus-visible,.ax-btn:focus-visible,.ax-tab:focus-visible,.ax-pill:focus-visible{outline:2px solid #0055d4;outline-offset:2px}
.ax-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.ax-up{color:#087a68}.ax-down{color:#c4001a}
.ax-split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.ax-split>.ax-main-col{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.ax-split>.ax-side{flex:1 1 300px;max-width:380px;min-width:0;display:flex;flex-direction:column;gap:24px}
@media (max-width:720px){.ax-main{padding:20px 16px 40px}}
/* B02 business map */
.bm-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:20px;overflow-x:auto}
.bm-col{display:flex;flex-direction:column;gap:12px;position:relative}
.bm-colh{font-size:12px;font-weight:500;letter-spacing:.02em;color:#6b5a2e;padding-bottom:4px;border-bottom:1px solid #e7e3d3}
.bm-node{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:12px;font-size:13px;line-height:18px;background:#fff;box-shadow:inset 0 0 0 1px #e7e3d3}
.bm-node b{font-size:14px;font-weight:600}
.bm-node span{color:#3f3e3a}
.bm-node.nd-seg{background:#ebe7da;box-shadow:inset 0 0 0 1px #cfc9b8}
.bm-node.nd-cu{background:transparent;box-shadow:none;border:1px dashed #a09a85}
.bm-node.nd-in{background:#fbf8ee}
.bm-node.bm-none{color:#8f8a76;background:transparent;box-shadow:inset 0 0 0 1px #efeadb;font-style:italic}
@media (max-width:900px){.bm-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}
/* B03 group tree */
.gr-tree{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.gr-parent{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:12px;background:#141414;color:#fefcf2;font-weight:600;font-size:16px}
.gr-parent span{font-size:12px;font-weight:400;opacity:.8}
.gr-kids{display:flex;flex-direction:column;gap:10px;margin-left:24px;padding:16px 0 0 24px;border-left:2px solid #e7e3d3}
.gr-kid{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #e7e3d3;font-size:13px;position:relative}
.gr-kid::before{content:"";position:absolute;left:-26px;top:20px;width:24px;border-top:2px solid #e7e3d3}
.gr-kid b{font-size:14px}.gr-kid span{color:#3f3e3a}
/* R01 review */
.rv-line{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid #e7e3d3}
.rv-opts{flex:1 1 320px;display:flex;flex-direction:column;gap:6px;min-width:0}
.rv-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;cursor:pointer}
.rv-opt:has(input:checked){background:#ebe7da}
.rv-opt input{margin-top:4px;accent-color:#141414}
/* T01 calculators, T02 formulas */
.tl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.tl-card{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:14px 16px;border-radius:14px;border:0;background:#fff;box-shadow:inset 0 0 0 1px #e7e3d3;font:inherit;color:#141414;cursor:pointer;transition:box-shadow 120ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.tl-card b{font-size:15px;font-weight:600}.tl-card span{font-size:13px;line-height:18px;color:#6b6862}
.tl-card[aria-current="true"]{box-shadow:inset 0 0 0 2px #141414}
.tl-card:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.tl-card:not([aria-current]):hover{box-shadow:inset 0 0 0 1px #8f8a76}}
.tl-res{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}
.fx-math{font-family:"Times New Roman",Georgia,serif;font-size:20px;line-height:30px;font-style:italic;padding:12px 16px;background:#fefcf2;border-radius:12px;overflow-x:auto}
.fx-item{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-top:1px solid #e7e3d3}
.fx-item:first-child{border-top:0}
details.fx-d>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
details.fx-d>summary::-webkit-details-marker{display:none}
.ax-row>.ax-field{flex:1 1 180px}
/* L04 calendar */
.cal-row{display:flex;gap:20px;padding:14px 0;border-top:1px solid #e7e3d3}
.cal-row:first-child{border-top:0}
.cal-today{background:linear-gradient(90deg,#faf7ea,transparent)}
.cal-d{width:110px;flex:0 0 110px;display:flex;flex-direction:column;gap:2px;font-size:14px}
.cal-it{display:flex;gap:10px;align-items:center;font-size:14px;color:#141414;text-decoration:none;padding:4px 6px;border-radius:8px}
@media (hover:hover) and (pointer:fine){.cal-it:hover{background:#faf7ea}}
/* E02 upload, E03 steps */
.up-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:160px;border:1.5px dashed #c9c1a6;border-radius:16px;background:#fefcf2;text-align:center;cursor:pointer}
@media (hover:hover) and (pointer:fine){.up-drop:hover{background:#faf7ea}}
.stp-row{display:flex;gap:12px;align-items:flex-start}
.stp-dot{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#f3efe0;color:#8f8a76}
.stp-dot.done{background:#141414;color:#fefcf2}.stp-dot.now{background:#fff1d6;color:#8a4b00}
/* I01 brief page and print */
.brief-page{background:#fff;box-shadow:0 1px 3px rgba(20,20,20,.12),inset 0 0 0 1px #e7e3d3;border-radius:6px;padding:48px 56px;max-width:794px;box-sizing:border-box;font-size:14px;line-height:22px;color:#141414}
.brief-page h2{font-size:15px;margin:22px 0 6px;font-weight:600}
.brief-page ol,.brief-page ul{margin:0;padding-left:20px}
.brief-page li{margin:4px 0}
.brief-h1{font-size:24px;line-height:31px;margin:18px 0 8px;letter-spacing:-.01em}
.brief-top{display:flex;justify-content:space-between;font-size:12px;color:#6b6862;border-bottom:1px solid #e7e3d3;padding-bottom:10px}
.brief-src{font-size:12px;color:#6b6862}
.brief-foot{margin-top:28px;padding-top:10px;border-top:1px solid #e7e3d3;font-size:11px;color:#6b6862}
@media print{body.printing-brief *{visibility:hidden}body.printing-brief #brief-page,body.printing-brief #brief-page *{visibility:visible}body.printing-brief #brief-page{position:absolute;left:0;top:0;box-shadow:none;max-width:none;width:100%}}
/* A01/A02 */
.si-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fefcf2;padding:32px 16px;box-sizing:border-box;font-family:Geist,-apple-system,system-ui,sans-serif;color:#141414}
.si-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px;background:#fff;border-radius:20px;box-shadow:inset 0 0 0 1px #e7e3d3;padding:36px;box-sizing:border-box}
.si-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;letter-spacing:.16em;font-size:15px}
.ob-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
