/* WingStory session tools. Original layout; all rules stay inside this page. */
.ws-session-page{--session-paper:#fffdf8;--session-ink:#312b28;--session-muted:#71655e;--session-red:#9d3d30;--session-line:#e4ddd2;--session-soft:#f4efe5;background:#f8f5ee;color:var(--session-ink);padding:28px 0 64px;font-size:15px;line-height:1.75}
.ws-session-page *{box-sizing:border-box}
.ws-session-page [hidden]{display:none!important}
.ws-session-page .ws-session-container{max-width:1180px;margin-inline:auto}
.ws-session-page h1,.ws-session-page h2,.ws-session-page h3,.ws-session-page p,.ws-session-page dl,.ws-session-page dd{margin:0}
.ws-session-page h1,.ws-session-page h2,.ws-session-page h3{color:var(--session-ink);font-family:inherit;letter-spacing:-.025em;line-height:1.4}
.ws-session-page a{color:var(--session-red);text-decoration:none}
.ws-session-page a:hover{text-decoration:underline;text-underline-offset:4px}
.ws-session-page button,.ws-session-page input,.ws-session-page select{font:inherit}
.ws-session-page button{cursor:pointer}
.ws-session-page button:disabled{cursor:default;opacity:.45}
.ws-session-page :focus-visible{outline:3px solid #b64e39;outline-offset:4px}
.ws-session-page .ws-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--session-muted);margin-bottom:32px}
.ws-session-page .ws-breadcrumb a{color:var(--session-muted)}
.ws-session-hero-line{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-bottom:30px}
.ws-session-page .ws-session-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.7;color:var(--session-red)}
.ws-session-eyebrow>span{padding:0 6px;color:#b6a89a}
.ws-session-page h1{font-size:clamp(28px,3.4vw,43px);font-weight:750;margin:10px 0 12px}
.ws-session-page .ws-session-intro{font-size:15px;color:var(--session-muted);max-width:640px;line-height:1.9}
.ws-session-hero-note{display:flex;align-items:center;gap:16px;flex-shrink:0;color:#8d7664;font-size:13px;line-height:1.8;padding-right:8px}
.ws-session-note-mark{display:grid;place-items:center;width:58px;height:58px;border:1px solid #d9caba;border-radius:50%;font-size:32px;line-height:1;color:#9d3d30;transform:rotate(-12deg);background:#fffaf1}
.ws-session-tabs{display:flex;gap:26px;align-items:center;border-top:1px solid var(--session-line);border-bottom:1px solid var(--session-line);min-height:58px;margin-bottom:28px}
.ws-session-page .ws-session-tabs a{display:flex;align-items:center;gap:9px;min-height:58px;position:relative;font-size:14px;font-weight:650;color:var(--session-muted);padding:12px 0}
.ws-session-page .ws-session-tabs a[aria-current=page]{color:var(--session-red)}
.ws-session-tabs a[aria-current=page]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--session-red)}
.ws-session-tabs a>span{font-size:10px;letter-spacing:.05em;color:#a19183}
.ws-session-page .ws-session-tabs .ws-session-tabs-back{margin-left:auto;font-size:12px;font-weight:500}
.ws-session-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:24px;align-items:start}
.ws-session-input-panel,.ws-session-output-panel,.ws-session-history-panel{min-width:0;border:1px solid var(--session-line);border-radius:14px;background:var(--session-paper)}
.ws-session-input-panel{padding:26px 28px}
.ws-session-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.ws-session-page .ws-session-panel-heading h2,.ws-session-page .ws-session-history-heading h2{font-size:21px;margin-top:5px}
.ws-session-page .ws-session-text-button{border:0;background:transparent;border-radius:4px;color:var(--session-red);font-size:12px;line-height:1.5;padding:9px 0;box-shadow:none;min-height:38px;font-weight:600;text-transform:none;letter-spacing:0;white-space:normal}
.ws-session-text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
.ws-session-panel-heading>.ws-session-text-button{flex-shrink:0}
.ws-session-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.ws-session-fields--identity{padding-bottom:22px}
.ws-session-field{display:block;min-width:0;font-size:13px;color:var(--session-ink);font-weight:600}
.ws-session-field>span:first-child{display:block;margin-bottom:7px;line-height:1.6}
.ws-session-field small,.ws-session-fieldset legend small{color:#86776a;font-size:10px;font-weight:400;margin-left:4px}
.ws-session-page .ws-session-field input,.ws-session-page .ws-session-field select{width:100%;min-width:0;max-width:100%;height:46px;border:1px solid #d8cec1;border-radius:6px;background:#fff;color:var(--session-ink);padding:10px 12px;font-size:14px;font-weight:450;line-height:1.5;box-shadow:none;appearance:auto}
.ws-session-page .ws-session-field input::placeholder{color:#9a8f83;font-size:12px;font-weight:400;opacity:1}
.ws-session-page .ws-session-field input:focus,.ws-session-page .ws-session-field select:focus{border-color:var(--session-red);outline:2px solid #9d3d3026;outline-offset:1px}
.ws-session-page .ws-session-field input[aria-invalid=true]{border-color:#b13527;background:#fff8f5}
.ws-session-input-unit{display:flex;align-items:stretch;position:relative;min-width:0}
.ws-session-page .ws-session-input-unit input{padding-right:61px;font-variant-numeric:tabular-nums}
.ws-session-input-unit>span{display:flex;align-items:center;position:absolute;right:12px;top:0;bottom:0;pointer-events:none;color:#8c7c6e;font-size:11px;font-weight:400}
.ws-session-page .ws-session-fieldset{border:0;border-top:1px solid var(--session-line);padding:20px 0 0;margin:0 0 23px;min-width:0}
.ws-session-page .ws-session-fieldset legend{float:none;width:auto;padding:0 9px 0 0;font-size:13px;font-weight:700;line-height:1.5;color:var(--session-ink);margin:0}
.ws-session-fieldset legend>span{font-size:10px;color:#9d3d30;margin-right:7px}
.ws-session-page .ws-session-field-help{font-size:11px;color:var(--session-muted);line-height:1.85;margin-top:10px}
.ws-session-page .ws-session-error{font-size:13px;color:#a22d22;line-height:1.8;overflow-wrap:anywhere}
.ws-session-error:empty{display:none}
.ws-session-page .ws-session-error:not(:empty){padding:12px 14px;margin:0 0 16px;border-left:3px solid #b13527;background:#fff0e8;border-radius:0 6px 6px 0}
.ws-session-form-actions{display:flex;gap:22px;align-items:center}
.ws-session-page .ws-session-button{border-radius:7px;padding:13px 20px;min-height:48px;box-shadow:none;font-size:14px;font-weight:700;line-height:1.5;text-transform:none;letter-spacing:0;transition:background-color .15s}
.ws-session-page .ws-session-button--primary{flex:1;color:#fff9f1;background:var(--session-red);border:1px solid var(--session-red);display:flex;justify-content:center;gap:18px;align-items:center}
.ws-session-page .ws-session-button--primary:hover:not(:disabled){background:#823125}
.ws-session-page .ws-session-local-note{font-size:10px;color:#8a7a6c;margin-top:12px}
.ws-session-page .ws-session-noscript{font-size:13px;line-height:1.8;background:#fff0e8;padding:14px;margin-top:16px;border-radius:6px}
.ws-session-output-panel{position:sticky;top:24px;padding:27px 28px;background:#f1ebdf;border-color:#ddd1bf;overflow:hidden}
.ws-session-output-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}
.ws-session-output-badge{font-size:10px;line-height:1.5;color:#7c6c5b;border:1px solid #d4c5b1;border-radius:20px;padding:4px 9px;white-space:nowrap}
.ws-session-page .ws-session-output-panel h2{font-size:21px}
.ws-session-main-result{margin:28px 0 24px;padding-bottom:24px;border-bottom:1px solid #d8cbb8;min-width:0}
.ws-session-main-result>span{display:block;color:#756655;font-size:12px}
.ws-session-page .ws-session-main-result strong{display:block;margin:8px 0 2px;color:var(--session-red);font-size:clamp(31px,3.7vw,48px);font-weight:750;letter-spacing:-.045em;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ws-session-main-result>small{display:block;font-size:11px;color:#86735d}
.ws-session-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
.ws-session-result-grid>div{min-width:0}
.ws-session-result-grid .ws-session-result-wide{grid-column:1/-1;padding-top:13px;border-top:1px solid #ddd1c0}
.ws-session-result-grid dt{font-size:11px;color:#7b6957;line-height:1.7}
.ws-session-page .ws-session-result-grid dd{font-size:18px;font-weight:700;line-height:1.5;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:4px}
.ws-session-page .ws-session-result-ledger{display:grid;gap:7px;padding:0 0 21px;margin:-5px 0 20px;border-bottom:1px solid #d8cbb8;font-size:12px}
.ws-session-result-ledger>div{display:flex;justify-content:space-between;gap:15px;align-items:baseline}
.ws-session-result-ledger dt{color:#7b6957}
.ws-session-result-ledger dd{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-weight:600;min-width:0}
.ws-session-page .ws-session-result-note{font-size:12px;line-height:1.85;margin-top:22px;color:#6d5b49;overflow-wrap:anywhere}
.ws-session-result-actions{display:flex;align-items:center;gap:17px;margin-top:24px}
.ws-session-page .ws-session-button--save{background:#fffaf1;border:1px solid #cbb89e;color:#6e4c36;font-size:12px;flex:1;padding:11px 13px;min-height:44px}
.ws-session-page .ws-session-button--save:hover:not(:disabled){background:#fff}
.ws-session-page .ws-session-result-actions>.ws-session-text-button{font-size:11px;flex-shrink:0}
.ws-session-page .ws-session-status{font-size:12px;line-height:1.8;color:#754f36;margin-top:13px;overflow-wrap:anywhere}
.ws-session-page .ws-session-status:empty{display:none}
.ws-session-page .ws-session-result-footnote{border-top:1px solid #d8cbb8;padding-top:17px;margin-top:21px;font-size:10px;line-height:1.9;color:#8b7762}
.ws-session-history-panel{margin-top:26px;padding:24px 28px}
.ws-session-history-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}
.ws-session-page .ws-session-history-heading h2 small{font-size:11px;font-weight:400;color:#88786b;margin-left:7px;letter-spacing:0}
.ws-session-history-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}
.ws-session-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-top:1px solid var(--session-line);border-bottom:1px solid var(--session-line)}
.ws-session-page .ws-session-empty{text-align:center;padding:29px 18px;color:#948474;font-size:12px}
.ws-session-page .ws-session-table-wrap table{border-collapse:collapse;min-width:650px;width:100%;font-size:12px;margin:0;table-layout:auto}
.ws-session-page .ws-session-table-wrap th{font-size:11px;font-weight:600;background:#f7f2e9;color:#83715f;text-align:left;white-space:nowrap}
.ws-session-page .ws-session-table-wrap td,.ws-session-page .ws-session-table-wrap th{padding:13px 12px;border:0;border-bottom:1px solid #eee6db;vertical-align:top;line-height:1.7;font-variant-numeric:tabular-nums}
.ws-session-page .ws-session-table-wrap tr:last-child td{border-bottom:0}
.ws-session-page .ws-session-table-wrap td{max-width:230px;overflow-wrap:anywhere}
.ws-session-page .ws-session-table-wrap td:first-child{min-width:130px}
.ws-session-table-wrap td small{display:block;color:#948474;font-size:10px;line-height:1.6}
.ws-session-page .ws-session-table-wrap button{font-size:11px;line-height:1.5;color:var(--session-red);background:transparent;border:1px solid #e3d5c4;border-radius:4px;padding:5px 8px;box-shadow:none;white-space:nowrap}
.ws-session-page .ws-session-table-wrap button:hover{background:#fff0e8}
.ws-session-remember{display:flex;gap:9px;align-items:flex-start;margin-top:16px;font-size:12px;font-weight:500;color:#6f6054;line-height:1.7}
.ws-session-page .ws-session-remember input{margin:4px 0 0;flex:0 0 15px;width:15px;height:15px;accent-color:var(--session-red);appearance:auto}
.ws-session-remember small{display:block;font-size:10px;line-height:1.8;font-weight:400;color:#968575;margin-top:3px}
.ws-session-guide{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:70px;padding:47px 5px 36px;border-bottom:1px solid var(--session-line);margin-top:14px}
.ws-session-page .ws-session-guide-intro h2{font-size:26px;line-height:1.55;margin:9px 0 15px}
.ws-session-page .ws-session-guide-intro p{font-size:13px;color:var(--session-muted);line-height:1.95;max-width:290px}
.ws-session-guide-body{min-width:0}
.ws-session-guide-body>section+section{margin-top:28px}
.ws-session-page .ws-session-guide-body h3{font-size:17px;margin-bottom:12px}
.ws-session-page .ws-session-guide-body p{font-size:13px;line-height:2;color:#6e6257}
.ws-session-page .ws-session-guide-body p+p{margin-top:12px}
.ws-session-example-note{padding:23px 25px;border-left:3px solid #b45b40;background:#f0e9dc;border-radius:0 9px 9px 0}
.ws-session-example-label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--session-red);margin-bottom:7px}
.ws-session-page .ws-session-guide-body .ws-session-formula{font-size:12px;color:#85543c;padding-top:11px;border-top:1px solid #dccdb8;line-height:2;overflow-wrap:anywhere}
.ws-session-next{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:29px 4px 0}
.ws-session-next>a:first-child{display:block}
.ws-session-next>a:first-child>span{display:block;font-size:11px;color:#8c7a69;margin-bottom:5px}
.ws-session-next strong{font-size:16px;font-weight:650}
.ws-session-next>a:last-child{font-size:12px}
@media(max-width:1000px){.ws-session-workspace{gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.ws-session-input-panel,.ws-session-output-panel{padding:23px 21px}.ws-session-panel-heading{align-items:flex-start;gap:9px}.ws-session-panel-heading>.ws-session-text-button{max-width:95px;font-size:11px}.ws-session-guide{gap:36px}.ws-session-page .ws-session-field input,.ws-session-page .ws-session-field select{font-size:13px}.ws-session-page .ws-session-input-unit input{padding-right:50px}.ws-session-input-unit>span{right:9px}}
@media(max-width:760px){.ws-session-page{padding:21px 0 38px}.ws-session-page .ws-breadcrumb{margin-bottom:24px;font-size:11px;gap:7px}.ws-session-hero-line{padding-bottom:23px;gap:20px}.ws-session-hero-note{display:none}.ws-session-page .ws-session-intro{font-size:13px;line-height:1.9}.ws-session-page h1{margin-top:8px}.ws-session-tabs{gap:21px;margin-bottom:21px}.ws-session-page .ws-session-tabs a{font-size:13px;gap:6px}.ws-session-workspace{grid-template-columns:minmax(0,1fr);gap:19px}.ws-session-output-panel{position:static}.ws-session-page .ws-session-main-result strong{font-size:43px}.ws-session-history-panel{margin-top:20px;padding:22px 21px}.ws-session-guide{grid-template-columns:minmax(0,1fr);gap:23px;padding:32px 0}.ws-session-page .ws-session-guide-intro h2{font-size:24px;margin:6px 0 10px}.ws-session-page .ws-session-guide-intro p{max-width:none}.ws-session-page .ws-session-guide-body p{font-size:14px}.ws-session-next strong{font-size:14px}}
@media(max-width:440px){.ws-session-page .ws-session-container{padding-left:16px;padding-right:16px}.ws-session-page .ws-session-tabs a{font-size:12px}.ws-session-tabs{gap:17px;flex-wrap:wrap}.ws-session-tabs a>span{font-size:9px}.ws-session-page .ws-session-tabs .ws-session-tabs-back{font-size:10px}.ws-session-input-panel,.ws-session-output-panel,.ws-session-history-panel{padding:22px 17px;border-radius:11px}.ws-session-panel-heading{gap:10px}.ws-session-page .ws-session-panel-heading h2,.ws-session-page .ws-session-history-heading h2{font-size:19px}.ws-session-page .ws-session-field input,.ws-session-page .ws-session-field select{font-size:16px}.ws-session-page .ws-session-field select{padding-left:9px;font-size:13px}.ws-session-fields{gap:15px 12px}.ws-session-fields--identity{grid-template-columns:minmax(0,1fr);gap:15px}.ws-session-field{font-size:12px}.ws-session-field small{display:block;font-size:9px;margin-left:0}.ws-session-field>span:first-child{min-height:20px}.ws-session-history-heading{display:block;margin-bottom:12px}.ws-session-history-actions{margin-top:6px;gap:22px}.ws-session-page .ws-session-history-actions .ws-session-text-button{font-size:11px;min-height:32px;padding:7px 0}.ws-session-example-note{padding:19px 17px}.ws-session-next{align-items:flex-start;gap:15px}.ws-session-next>a:last-child{font-size:10px;white-space:nowrap;margin-top:5px}.ws-session-page .ws-session-local-note{line-height:1.8}}
@media(max-width:350px){.ws-session-page .ws-session-container{padding-left:12px;padding-right:12px}.ws-session-fields{grid-template-columns:minmax(0,1fr)}.ws-session-field small{display:inline;margin-left:4px}.ws-session-page .ws-session-field select{font-size:16px}.ws-session-tabs{gap:15px}.ws-session-panel-heading{display:block}.ws-session-panel-heading>.ws-session-text-button{max-width:none;margin-top:6px}.ws-session-next{flex-direction:column;gap:12px}.ws-session-result-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.ws-session-page .ws-session-button{transition:none}}

/* Two native entry cards on the existing toolkit, without changing its layout. */
.ws-tools-page .ws-session-hub{min-width:0;margin:0 0 28px;padding:25px 28px;background:#fffaf3;border:1px solid #e5d6c7;border-radius:13px;color:#42342c}
.ws-tools-page .ws-session-hub h2{font-family:inherit;font-size:23px;line-height:1.5;letter-spacing:-.025em;color:#513b30;margin:0 0 9px}
.ws-tools-page .ws-session-hub>p{font-size:12px;line-height:1.9;color:#8a7564;max-width:710px;margin:0}
.ws-tools-page .ws-session-hub-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:21px}
.ws-tools-page .ws-session-hub-links>a{display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto;align-items:center;gap:4px 13px;min-width:0;padding:19px 21px;background:#fffefd;border:1px solid #e4d2bf;border-radius:9px;color:#98412e;text-decoration:none;box-shadow:none}
.ws-tools-page .ws-session-hub-links>a:hover{border-color:#ad6851;background:#fff7ed}
.ws-tools-page .ws-session-hub-links>a:focus-visible{outline:3px solid #b64e39;outline-offset:4px}
.ws-tools-page .ws-session-hub-links strong{grid-column:1;grid-row:1;font-size:17px;line-height:1.5;font-weight:700;color:#854331;overflow-wrap:anywhere}
.ws-tools-page .ws-session-hub-links>a>span:nth-child(2){grid-column:1;grid-row:2;font-size:11px;line-height:1.8;color:#94806f;overflow-wrap:anywhere}
.ws-tools-page .ws-session-hub-links>a>span:last-child{grid-column:2;grid-row:1/3;font-size:23px;text-align:right;color:#b48164}
.ws-tools-page .ws-session-hub>details{margin-top:18px;padding-top:14px;border-top:1px solid #e8d9ca;min-width:0}
.ws-tools-page .ws-session-hub>details>summary{font-size:11px;font-weight:600;color:#87614b;cursor:pointer;line-height:1.9;list-style-position:inside}
.ws-tools-page .ws-session-hub>details p{font-size:11px;line-height:1.95;color:#8d7867;margin:10px 0 0;max-width:800px}
.ws-tools-page[data-theme=dark] .ws-session-hub{background:#2b222c;border-color:#59404a;color:#ead8cc}
.ws-tools-page[data-theme=dark] .ws-session-hub h2{color:#f0d8ca}
.ws-tools-page[data-theme=dark] .ws-session-hub>p{color:#bca493}
.ws-tools-page[data-theme=dark] .ws-session-hub-links>a{background:#241e27;border-color:#634851;color:#e8b09a}
.ws-tools-page[data-theme=dark] .ws-session-hub-links>a:hover{background:#37262f;border-color:#b87765}
.ws-tools-page[data-theme=dark] .ws-session-hub-links strong{color:#edb29c}
.ws-tools-page[data-theme=dark] .ws-session-hub-links>a>span:nth-child(2){color:#bda18f}
.ws-tools-page[data-theme=dark] .ws-session-hub-links>a>span:last-child{color:#c88f77}
.ws-tools-page[data-theme=dark] .ws-session-hub>details{border-color:#5b4148}
.ws-tools-page[data-theme=dark] .ws-session-hub>details>summary{color:#d4ac95}
.ws-tools-page[data-theme=dark] .ws-session-hub>details p{color:#bca392}
@media(max-width:760px){.ws-tools-page .ws-session-hub{padding:22px;margin-bottom:22px}.ws-tools-page .ws-session-hub h2{font-size:21px}.ws-tools-page .ws-session-hub-links>a{padding:16px}}
@media(max-width:600px){.ws-tools-page .ws-session-hub-links{grid-template-columns:minmax(0,1fr);gap:11px;margin-top:18px}.ws-tools-page .ws-session-hub{padding:21px 18px}.ws-tools-page .ws-session-hub h2{font-size:20px}.ws-tools-page .ws-session-hub-links strong{font-size:16px}.ws-tools-page .ws-session-hub-links>a>span:nth-child(2){font-size:11px}.ws-tools-page .ws-session-hub>details p{font-size:12px}}
