/* Fanke / warm porcelain, clear glass and the two supplied companions.
   Welcome models are progressive; interview artwork remains a still poster. */
:root {
  --fk-ink:#2b2b30; --fk-muted:#716b65; --fk-brand:#ef653c;
  --fk-orange:#bc482b; --fk-orange-ink:#a63a22; --fk-orange-hover:#a23922;
  --fk-teal:#bc482b; --fk-line:#e8e1d8; --fk-glass:#ffffffcf;
  --fk-shadow:0 8px 32px #6e482008,inset 0 1px 0 #fff;
  --refined-paper:#faf8f4; --refined-surface:#fff; --refined-ink:var(--fk-ink);
  --refined-muted:var(--fk-muted); --refined-action:var(--fk-orange);
  --refined-action-hover:var(--fk-orange-hover); --refined-warm:var(--fk-orange);
  --refined-warm-ink:var(--fk-orange-ink); --refined-line:var(--fk-line);
  --refined-soft:#f5efe7; --accent:var(--fk-orange); --orange:var(--fk-orange);
  --orange-dark:var(--fk-orange-hover); --ink:var(--fk-ink);
  --muted:var(--fk-muted); --line:var(--fk-line); color:var(--fk-ink); background:#faf8f4;
}
body,body.demo-mode {
  color:var(--fk-ink);
  background:radial-gradient(ellipse 65% 580px at 100% 0,#f7d7bc6b,transparent 75%),
    radial-gradient(ellipse 48% 640px at 0 15%,#fff2e6b3,transparent 76%),#faf8f4;
}
.portal-header,.demo-header,.topbar,.sidebar {
  background:#fffdf9e8; border-color:#e7dfd4a6;
  box-shadow:0 4px 26px #69472304,inset 0 -1px 0 #fff;
}
.demo-header {padding-block:17px;backdrop-filter:blur(14px)}
.demo-brand>span {color:#776f66;border-color:#e5d8c9}
.demo-nav {background:#f8f4ee94;border-color:#e6ded3;padding:4px;gap:4px}
.demo-nav a {color:#746b61}
.demo-nav a:hover {background:#fff;color:#b24226}
.demo-nav a[aria-current=page] {color:#ab3d24;background:#fff;box-shadow:0 2px 9px #7053330a,inset 0 0 0 1px #edd9c9}
.demo-nav .demo-login-link {color:#a44125!important;background:#fff0e5;border-color:#edd0b9}
.portal-header nav>a.active,.portal-text-button,.portal-back,.portal-teacher-link {color:var(--fk-orange)}
.nav-item.active {color:#a44125;background:#f9e9df}
.demo-main {max-width:1320px;padding-top:34px}
.demo-hero,.portal-welcome,.portal-auth-story,.portal-book-cover,.demo-mode .portal-book-cover,
.demo-review-head,.portal-personal-intro,.portal-start-personal,.hero {
  color:var(--fk-ink);border:1px solid #fff;
  background:radial-gradient(ellipse at 94% 8%,#f9d4b94f,transparent 58%),linear-gradient(120deg,#fff 4%,#fffdf8 57%,#fff3e5);
  box-shadow:0 16px 60px #7b4e2308,inset 0 0 0 1px #e8ddce80,inset 0 2px 0 #fff;
  border-radius:30px;
}
.demo-hero {display:grid;position:relative;isolation:isolate;overflow:hidden;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:420px;padding:45px 48px;gap:22px;align-items:center}
.demo-hero:before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#b28b5e09 1px,transparent 1px),linear-gradient(90deg,#b28b5e09 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(100deg,transparent 46%,#000)}
.demo-hero-copy {min-width:0;position:relative;z-index:2}
.demo-kicker,.portal-eyebrow,.portal-chapter-number,.eyebrow {color:#ab5737;letter-spacing:.12em}
.demo-hero h1 {font-size:clamp(34px,3.6vw,48px);font-weight:650;line-height:1.26;letter-spacing:-.045em;margin:22px 0 17px;text-wrap:balance}
.demo-hero h1>span {display:block}
.demo-hero h1>span:last-child {color:#bc482b}
.demo-hero p {color:#746a5d;line-height:1.9;max-width:520px}
.demo-hero .demo-preview-intro {color:#766f65!important;max-width:460px;margin-top:10px;font-size:12px!important}
.demo-hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.demo-hero-actions .portal-button {margin:0;min-height:45px;font-size:12px}
.demo-hero-actions .demo-studio-link {min-height:36px;padding:8px 2px;background:none;border:0;box-shadow:none;color:#8c583c;font-size:12px;text-decoration:none}
.demo-hero-actions .demo-studio-link:hover {background:none;color:#a33e25}
.demo-journey {display:flex;flex-wrap:wrap;gap:12px 18px;margin:26px 0 0;color:#7e7468;font-size:11px}
.demo-journey li>span {background:#fffaf4;border-color:#ead9c7;color:#b65130}
.demo-hero-art {display:block;position:relative;width:100%;max-width:440px;height:365px;justify-self:end;isolation:isolate}
.demo-hero-art:before,.demo-hero-art:after {display:none}
.fk-companions {position:relative;width:100%;height:365px;isolation:isolate;min-width:0;user-select:none}
.fk-companions:before {content:'';position:absolute;inset:5% -8% 8%;border-radius:50%;background:radial-gradient(ellipse at 54% 61%,#f3bc8d38,transparent 65%);pointer-events:none}
.fk-companions-plinth {position:absolute;left:3%;right:0;top:76%;height:15%;border:1px solid #fff9;border-radius:50%;background:linear-gradient(175deg,#ffffffc9 5%,#fff9edb8 48%,#edc7a064);box-shadow:0 16px 24px #a56b2c12,inset 0 2px 2px #fff,inset 0 -5px 8px #d5a36e12;pointer-events:none}
.fk-companions-plinth:after {content:'';position:absolute;inset:6% 3% 10%;border:1px solid #fff9;border-radius:50%;background:radial-gradient(ellipse,#fffdf2b3,transparent 74%)}
.fk-companion-home {position:absolute;min-width:0;aspect-ratio:1;animation:none;transform:none}
.fk-companion-recorded {left:-7%;top:0;width:72%;z-index:2}
.fk-companion-live {right:-5%;top:12%;width:66%;z-index:1}
.fk-companion-home:after {content:'';position:absolute;left:30%;right:25%;bottom:12%;height:4%;border-radius:50%;background:#a36b3540;filter:blur(6px);z-index:-1;pointer-events:none}
.fk-home-model-frame {position:absolute;inset:0}
.fk-home-model-frame>.coach-character {position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;animation:none!important;transform:none!important}
.fk-home-model-frame img {display:block;width:100%;height:100%;object-fit:contain;filter:none;animation:none;transform:none}
.fk-home-model-frame[data-model-loaded]>.coach-character {visibility:hidden}
.fk-home-model-frame model-viewer {position:absolute;inset:0;display:block;width:100%;height:100%;--poster-color:transparent;background:transparent;outline-offset:-12px}
.fk-companions-control {position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;min-height:29px;gap:9px;z-index:3}
.fk-companions-control button {display:inline-flex;align-items:center;gap:6px;width:auto;min-height:29px;padding:4px 11px;border:1px solid #e8d7c37d;border-radius:20px;color:#9b6746;background:#fffaf2a6;box-shadow:inset 0 1px #fff;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
.fk-companions-control button:hover {color:#a04324;border-color:#d7ad85;background:#fff}
.fk-companions-control button:disabled {cursor:wait;opacity:.55}
.fk-companions-control button[hidden] {display:none}
.fk-companions-control button>span {font-size:14px;line-height:1}
.fk-companions-status {color:#9b8069;font-size:10px;line-height:1.7;letter-spacing:.02em}
.portal-welcome {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:20px;padding:36px 42px;align-items:center}
.portal-welcome h1,.portal-welcome p {color:var(--fk-ink)}
.portal-welcome p {color:var(--fk-muted)}
.portal-welcome-character {display:block;position:relative;width:100%;max-width:390px;height:350px;justify-self:end}
.portal-welcome-character .fk-companions {height:350px}
.cloud-auth-art {display:block;background:radial-gradient(ellipse at 20% 20%,#fff,transparent 70%),#fff3e5;color:var(--fk-ink);overflow:hidden}
.cloud-auth-art>.fk-companions {max-width:390px;margin:0 auto 22px}
.cloud-auth-art h1 {color:var(--fk-ink);font-weight:600;letter-spacing:-.035em}
.cloud-auth-art>p {color:var(--fk-muted);max-width:410px}
.cloud-auth-art>span {color:#966342}
.cloud-empty>.coach-character {width:150px;height:150px;max-width:150px;margin:auto}
.portal-button,.btn,.automatic-stage .ae-button,.cloud-button {color:#665c53;background:#fffdfa;border-color:#e2d6c8;border-radius:12px;box-shadow:inset 0 1px 0 #fff}
.portal-button:hover,.btn:hover,.cloud-button:hover {border-color:#d9bfa9;background:#fff}
.portal-button.primary,.portal-cover-actions .portal-button:last-child,.demo-mode .portal-cover-actions button:last-child,.btn.primary,.automatic-stage .ae-primary,.cloud-button.primary,.deploy-demo-link {
  color:#fff;background:linear-gradient(145deg,#c34d2d,#b64027);border-color:#b44227;box-shadow:0 6px 17px #b6502924,inset 0 1px 0 #ffffff42;
}
.portal-button.primary:hover,.btn.primary:hover,.cloud-button.primary:hover,.automatic-stage .ae-primary:hover {color:#fff;background:#a93c24;border-color:#a93c24}
.portal-project-card,.demo-project,.portal-paper,.portal-plan,.portal-feedback,.portal-history-answer,.demo-plan-card,.demo-overview article,.demo-review-answer,.demo-history-row,.demo-metrics article,.panel,.metric,.quick-card,.cloud-workspace-card {
  background:linear-gradient(145deg,#fffffffa,#fffdf9e8);border-color:#fff;box-shadow:var(--fk-shadow),0 0 0 1px #e7ded280;border-radius:21px;
}
.demo-project,.portal-project-card {transition:transform 170ms ease,box-shadow 170ms ease,border-color 170ms ease}
.demo-project:hover,.portal-project-card:hover {transform:translateY(-3px);border-color:#efd0b9;background:#fff;box-shadow:0 13px 30px #7b4b2010,inset 0 1px 0 #fff}
.demo-project h3,.portal-project-card h3,.demo-section-title h2 {color:#393330}
.demo-project .demo-degree,.demo-project>p,.demo-project-region,.demo-results-count {color:#7b7266}
.demo-card-format {border-color:#e9dfd2;background:linear-gradient(120deg,#f6f0e7,#fcfaf6)}
.demo-card-format strong,.demo-format-state {color:#65574a}
.demo-card-format[data-format-state=current] {border-color:#efcdb4;background:#fff0e4}
.demo-card-format[data-format-state=current] :is(strong,.demo-format-state) {color:#a33f24}
.demo-catalog-toolbar {background:#fffaf3c9;border-color:#fff;box-shadow:inset 0 0 0 1px #e9dfd280,0 7px 24px #7f512304}
.demo-catalog-toolbar input,.demo-catalog-toolbar select,:is(#portal-app,#portal-modal,#demo-root,#demo-dialog-root) :is(input,select,textarea) {color:#554b41;border-color:#e3d9cc;background:#fffefb}
.demo-catalog-toolbar input:focus,.demo-catalog-toolbar select:focus {border-color:#bc482b;box-shadow:0 0 0 3px #ef653c18}
.demo-preview-access,.demo-preview-access a {color:#8a7461}
.portal-book-cover,.demo-mode .portal-book-cover {padding:40px 44px}
.portal-book-cover h1,.demo-mode .portal-book-cover h1 {color:#34302b;font-weight:650}
.portal-book-cover>p,.demo-mode .portal-book-cover p {color:#7d6f60}
.portal-school-logo,.demo-logo {background:#fff;border-color:#fff;box-shadow:0 3px 13px #6c47220a,inset 0 0 0 1px #e9dfd3}
.portal-tag.training,.demo-badge {color:#945031;background:#fbede0;border-color:#efd8c1}
.portal-tag.confirmed {color:#41604a;background:#eaf2e9;border-color:#d6e4d2}
.portal-tag.reported {color:#715d43;background:#f7efe3;border-color:#e9dbc6}
.portal-tag.on-dark,.demo-mode .portal-tag.on-dark {color:#8b5d3c;background:#f8eee0;border-color:#eedcc7}
.portal-paper,.student-handbook,.portal-chapter {color:var(--fk-ink)}
.portal-chapter {background:#fff}
.portal-chapter-link[aria-current=location] {color:#a33f27;background:#fff0e4;box-shadow:inset 0 0 0 1px #efd2bb}
.portal-chapter-link:hover {color:#b2472b;background:#fff}
.portal-chapter-intro {border-color:#e88456;color:#756c62}
.portal-chapter h2,.portal-chapter h3 {color:#3c3631}
.student-arrangement,.student-preparation-methods,.student-knowledge-card>div,.student-preflight-checks,.portal-protocol-preview,.portal-session-preflight,.demo-voice-audition,.demo-prep-advice,.demo-flow-summary,.demo-setup-overview {
  background:linear-gradient(125deg,#faf3e9,#fffdf9);border-color:#eadccc;
}
.demo-dialog,.portal-modal {background:#fffdf9f7;border-color:#fff;box-shadow:0 28px 90px #49351f28,inset 0 0 0 1px #e8dac8a3}
.demo-dialog::backdrop,.portal-modal-backdrop {background:#39312a5e}
.demo-dialog-close {color:#8b674c;background:#f9eee0;border-color:#efddc8}
.demo-dialog-actions {background:#fffdf9f7;border-color:#eadecf}
:is(#demo-dialog-root,#portal-modal) .practice-check-in-nav,:is(#demo-dialog-root,#portal-modal) .practice-check-in-controls {border-color:#e9ddcf}
:is(#demo-dialog-root,#portal-modal) .pci-eyebrow {color:#aa6540}
:is(#demo-dialog-root,#portal-modal) .pci-intro>p {color:#8a7763}
:is(#demo-dialog-root,#portal-modal) .pci-steps button {background:#fffaf4;border-color:#ebdfd0;color:#857362}
:is(#demo-dialog-root,#portal-modal) .pci-steps button[aria-current=step] {background:linear-gradient(130deg,#fff0e3,#fffcf7);border-color:#edc7a8;color:#a34225;box-shadow:inset 0 1px #fff,0 5px 16px #ba542508}
:is(#demo-dialog-root,#portal-modal) .pci-steps button[aria-current=step] .pci-number {color:#fff;background:#bc482b;border-color:#bc482b}
:is(#demo-dialog-root,#portal-modal) .practice-check-in-controls .pci-next {color:#fff;background:#bc482b;border-color:#bc482b;box-shadow:0 5px 16px #b650281a}
:is(#demo-dialog-root,#portal-modal) .pci-summary {color:#706152;background:#fffbf5;border-color:#e9d8c2}
:is(button,a,input,select,textarea,summary):focus-visible {outline-color:#bc482b}
input[type=checkbox],input[type=radio] {accent-color:#bc482b}
/* Fanke's own assessment room shares the companion palette. Verified platform
   skins retain their distinct appearance for realistic interface practice. */
.automatic-stage.ae-assessment-shell[data-assessment-platform=unknown] {
  --ae-ink:var(--fk-ink);--ae-muted:var(--fk-muted);--ae-accent:var(--fk-orange);--ae-line:var(--fk-line);
  background:radial-gradient(ellipse at 8% 0,#f9dfc57a,transparent 52%),linear-gradient(135deg,#fffdf9,#faf7f1);
}
.automatic-stage[data-assessment-platform=unknown] :is(.as-platform,.as-media-tag,.as-preparation) {color:#936344}
.automatic-stage[data-assessment-platform=unknown] .as-media {background:linear-gradient(140deg,#f8e8d6,#fffcf7);box-shadow:inset 0 1px #fff,0 20px 50px #7851290b}
.automatic-stage[data-assessment-platform=unknown] .as-mic {color:var(--fk-orange)}
.automatic-stage[data-assessment-platform=unknown] .ae-clock {background:#fbecdf;color:var(--fk-muted)}
.automatic-stage[data-assessment-platform=unknown] .ae-clock>strong {color:var(--fk-orange)}
.automatic-stage[data-assessment-platform=unknown] .as-topline {border-color:#fff;box-shadow:inset 0 1px #fff,0 10px 30px #78512908}
.automatic-stage[data-assessment-platform=unknown] .as-steps [aria-current] {border-color:var(--fk-orange);color:var(--fk-orange)}
@media(max-width:1080px) {
  .demo-hero {padding:35px 34px;grid-template-columns:minmax(0,1fr) 355px;gap:10px}
  .demo-hero h1 {font-size:38px}.demo-hero-art,.fk-companions {height:337px}
  .fk-companion-recorded {left:-8%;top:5%;width:76%}.fk-companion-live {right:-5%;top:17%;width:68%}
}
@media(max-width:760px) {
  .demo-main {padding:24px 20px 45px}.demo-header {backdrop-filter:none}
  .demo-hero {grid-template-columns:minmax(0,1fr) 280px;padding:28px 27px;gap:8px;min-height:0}
  .demo-hero h1 {font-size:31px}.demo-hero-art,.fk-companions {height:287px}
  .fk-companion-recorded {left:-9%;top:5%;width:78%}.fk-companion-live {right:-7%;top:18%;width:70%}
  .portal-welcome {grid-template-columns:1fr;padding:28px}
  .portal-welcome-character {display:block;width:100%;max-width:350px;height:295px;justify-self:center}
  .portal-welcome-character .fk-companions {height:295px}
}
@media(max-width:620px) {
  .demo-header {gap:12px;padding:14px 20px}
  .demo-nav {flex-wrap:nowrap;min-height:45px;gap:2px;padding:3px}
  .demo-nav a {flex:0 1 auto;padding:9px 10px;font-size:11px;white-space:nowrap}
  .demo-nav a[href="/assessment-lab.html"],.demo-nav a[href="/companions.html"] {display:none}
  .demo-hero {display:flex;flex-direction:column;align-items:stretch;padding:29px 25px 18px;border-radius:25px;gap:18px}
  .demo-hero h1 {margin:17px 0 12px;font-size:33px;line-height:1.28}
  .demo-hero p {font-size:12px}.demo-hero .demo-preview-intro {font-size:11px!important}
  .demo-hero-actions {margin-top:18px;gap:9px}.demo-hero-actions .portal-button {font-size:11px;padding-inline:12px;min-height:43px}
  .demo-hero-actions .demo-studio-link {min-height:30px;font-size:11px}
  .demo-journey {margin-top:17px;gap:10px 13px;font-size:10px}.demo-journey li>span {width:22px;height:22px}
  .demo-hero-art {display:block;width:100%;max-width:330px;height:clamp(255px,69vw,310px);margin:0 auto;flex:none}
  .demo-hero-art .fk-companions {height:clamp(255px,69vw,310px)}
  .fk-companion-recorded {left:-9%;top:0;width:78%;transform:none}
  .fk-companion-live {right:-7%;top:14%;width:70%;transform:none}
  .cloud-auth-art {display:block;padding:26px 26px 30px}.cloud-auth-art>.fk-companions {height:290px;max-width:330px}
  .cloud-auth-art h1 {font-size:27px}.cloud-auth-art>p {font-size:12px}
  .portal-welcome-character {display:block}.portal-book-cover,.demo-mode .portal-book-cover {padding:28px 24px}
}
@media(prefers-reduced-motion:reduce) {.demo-project,.portal-project-card {transition:none}.demo-project:hover,.portal-project-card:hover {transform:none}}
