/* Shared art direction: the reference's warm black, cinnabar and restrained gold.
   Original character images, embroidery pigments and practice geometry stay intact. */
body.cinematic-theme{
  --paper:#100e0d;--ink:#f4ead8;--muted:#bbad99;--red:#b34a35;
  --gold:#d0ad73;--line:#d0ad732c;--green:#9cac87;
  --cinema-panel:#1b1714;--cinema-soft:#24201b;--cinema-quiet:#a79b8a;
  --cinema-top:84px;
  background:#100e0d;
  background-image:radial-gradient(ellipse at 95% 0,#5e251721,transparent 44%),radial-gradient(ellipse at 0 35%,#7b52220b,transparent 52%);
  color:var(--ink);font-size:18px;line-height:1.8;color-scheme:dark;
}
body.cinematic-theme ::selection{background:#8e412b;color:#fff1d8}
/* An open companion sheet must sit above the sticky navigation on phones. */
body.cinematic-theme #corner-companion:has(.companion-chat.open){z-index:80}
body.cinematic-theme :is(button,a,input,select,textarea):focus-visible{outline-color:#e0bc82;outline-offset:4px}
body.cinematic-theme button:disabled{opacity:.45}
body.cinematic-theme :is(h1,h2,h3,h4){color:var(--ink)}
body.cinematic-theme .workspace p{font-size:18px;line-height:1.85}
body.cinematic-theme .workspace :is(.tiny,.badge,.eyebrow,.date-note){font-size:14px}
body.cinematic-theme .workspace :is(.welcome h1,.page-heading h1){font-size:clamp(30px,3vw,44px);font-weight:500;letter-spacing:3px}
body.cinematic-theme .workspace :is(.page-heading p,.welcome p){color:var(--muted);max-width:850px}
body.cinematic-theme .eyebrow{color:var(--gold);letter-spacing:2px}

/* A horizontal gallery-like masthead opens the full width of every view. */
body.cinematic-theme>.sidebar{
  position:sticky;inset:auto;top:0;z-index:60;width:100%;height:var(--cinema-top);
  padding:0 clamp(22px,3.4vw,60px);display:flex;flex-direction:row;align-items:center;gap:32px;
  border:0;border-bottom:1px solid var(--line);background:#100e0df2;backdrop-filter:blur(18px);
}
body.cinematic-theme .sidebar .brand{display:flex;justify-content:flex-start;gap:13px;font-size:26px;flex-shrink:0;color:#f1dfbc}
body.cinematic-theme .sidebar .brand>span:last-child{display:block}
body.cinematic-theme .sidebar .brand-mark{color:#d4ad71;font-size:36px;font-weight:normal;line-height:1}
body.cinematic-theme .sidebar .brand small{font-size:10px;letter-spacing:2.8px;color:#ac9271;margin-top:3px;line-height:1.5}
body.cinematic-theme .sidebar .side-label{display:none}
body.cinematic-theme .sidebar #navigation{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 auto;min-width:0;flex:1}
body.cinematic-theme .sidebar #navigation a{display:flex;justify-content:center;flex-direction:row;gap:0;padding:24px 0 20px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;color:#c4b8a6;font-size:16px;white-space:nowrap;min-width:0;line-height:1.5}
body.cinematic-theme .sidebar #navigation a:hover{color:#f8e7c3;background:none}
body.cinematic-theme .sidebar #navigation a.active{color:#efd7ac;border-bottom-color:#c49b61;background:none;box-shadow:none}
body.cinematic-theme .sidebar #navigation .nav-title{display:block;font-size:inherit;line-height:inherit}
body.cinematic-theme .sidebar #navigation :is(.icon,.nav-count){display:none}
body.cinematic-theme .sidebar .side-bottom{display:block;flex:0 0 auto;margin:0;padding:0}
body.cinematic-theme .sidebar .side-bottom :is(p,small,.mini-pattern){display:none}
body.cinematic-theme .sidebar #about{font-size:13px;color:#ab9a82;white-space:nowrap;min-height:44px}
body.cinematic-theme .sidebar #about:hover{color:#e9d1a4}
body.cinematic-theme>.workspace{margin-left:0;padding-bottom:0;min-width:0}
body.cinematic-theme .workspace>header{height:48px;padding:0 clamp(22px,3.4vw,60px);border-color:var(--line);background:#151210;color:#b7a58c}
body.cinematic-theme .workspace .breadcrumbs{font-size:13px;letter-spacing:.5px;color:#9f917e}
body.cinematic-theme .workspace .breadcrumbs b{color:#c9b89d}
body.cinematic-theme .workspace .breadcrumbs span{color:#715e45;margin:0 12px}
body.cinematic-theme .header-tools{gap:22px}
body.cinematic-theme .workspace .checkin{font-size:13px;color:#d6bd91;min-height:42px}
body.cinematic-theme .workspace .edition{font-size:11px;color:#9e8c74;border-color:#bca47b30;background:none;border-radius:2px}
body.cinematic-theme .avatar{color:#e3c592;background:#282015;border-color:#bc946644;width:32px;height:32px}
body.cinematic-theme .workspace>main{width:100%;max-width:1440px;padding:42px 48px 72px;margin:0 auto;min-height:calc(100dvh - 200px)}
body.cinematic-theme .workspace>footer{max-width:1440px;margin:0 auto;border-color:var(--line);padding:24px 48px 38px;font-size:13px;color:#a08f74;letter-spacing:.7px}
body.cinematic-theme .section-head{margin:48px 0 24px;gap:18px}
body.cinematic-theme .section-head h2{font:500 30px/1.5 var(--serif);letter-spacing:2px}
body.cinematic-theme .section-head h2 small{color:#a49279;font-size:13px;margin-left:18px}
body.cinematic-theme .page-heading{margin-bottom:36px}

/* Gold is a fine edge and a legible cue, rather than a large metallic fill. */
body.cinematic-theme .workspace .btn,body.cinematic-theme dialog .btn,body.cinematic-theme #corner-companion .btn{background:#a64330;border:1px solid #c9654740;border-radius:3px;color:#fff2dc;min-height:46px;padding:11px 22px;font-size:16px;box-shadow:none}
body.cinematic-theme :is(.workspace,dialog,#corner-companion) .btn:hover{background:#b9553a}
body.cinematic-theme :is(.workspace,dialog,#corner-companion) .btn.secondary{background:transparent;border:1px solid #caa76f65;color:#e4cc9f}
body.cinematic-theme :is(.workspace,dialog) .text-btn{color:#d9b784;font-size:16px}
body.cinematic-theme :is(.workspace,dialog) .text-btn:hover{color:#ffe2aa}
body.cinematic-theme .badge{border-color:#bfa0774d;color:#cfb88f;background:transparent;border-radius:2px}
body.cinematic-theme :is(.workspace,dialog) .chip{border-color:#c49e682f;background:#211b16;color:#ccbaa0;border-radius:3px;padding:9px 18px;font-size:16px}
body.cinematic-theme :is(.workspace,dialog) .chip.active{background:#693121;color:#f4ddaf;border-color:#b17a4c}
body.cinematic-theme :is(.workspace,dialog) input:not([type=range]):not([type=color]):not([type=checkbox]),
body.cinematic-theme :is(.workspace,dialog) select,
body.cinematic-theme :is(.workspace,dialog) textarea{color:#efe0c6;background:#221d17;border-color:#c49e683e;border-radius:4px;accent-color:#b55b3f}
body.cinematic-theme input::placeholder,body.cinematic-theme textarea::placeholder{color:#a59275;opacity:1}
body.cinematic-theme #se-search{background:#221d17;color:#efe0c6;border-color:#c49e683e;color-scheme:dark}
body.cinematic-theme :is(.workspace,dialog) :is(.form-row label,.form-row label small,.note,.tiny,.date-note){color:var(--muted)}
body.cinematic-theme :is(.panel,.pattern-card,.game-card,.lesson-btn,.companion-card){background:var(--cinema-panel);border-color:var(--line);border-radius:5px;box-shadow:none}
body.cinematic-theme .panel{padding:28px}
body.cinematic-theme .stats{background:transparent;border-color:var(--line);border-radius:0;margin:38px 0;padding:25px 0;box-shadow:none}
body.cinematic-theme .stat{border-color:var(--line)}
body.cinematic-theme .stat-icon{background:#d2ae7011;color:var(--gold);border-radius:0;font-size:26px}
body.cinematic-theme .stat b{color:#e5ceaa;font-size:28px}
body.cinematic-theme .workspace :is(.stat p,.stat b small,.path-row p){color:#ad9a7e}
body.cinematic-theme .module-grid:not(.cinematic-entry-row){gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:27px 24px;min-height:310px;box-shadow:none}
body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card:last-child{border-right:0}
body.cinematic-theme .module-card:hover{background:#2d201652;transform:translateY(-3px);box-shadow:none}
body.cinematic-theme .module-card :is(.module-number,.arrow){color:#c0a076}
body.cinematic-theme .module-card h3{font-size:25px;font-weight:500;color:#efdfc4;margin:14px 0 10px}
body.cinematic-theme .module-card p{color:#bbaa92;font-size:16px}
body.cinematic-theme .path-row{border-color:var(--line);padding:20px 0}
body.cinematic-theme .path-row h4{color:#e4d3b8;font-size:18px}
body.cinematic-theme .path-dot{background:#382c1c;color:#d7b87e}
body.cinematic-theme .path-row.complete .path-dot{background:#263022;color:#b4c697}
body.cinematic-theme .companion-card{background:#261c14;padding:30px}
body.cinematic-theme .companion-card p{color:#b6a48b}
body.cinematic-theme .profile-grid b{color:#d9b47c}
body.cinematic-theme .workspace .profile-grid p{color:#beaa8c}
body.cinematic-theme .energy-overview{row-gap:20px}
body.cinematic-theme .energy-overview small{color:#b29e80}

/* Culture: a calm museum wall surrounding the original cloths. */
body.cinematic-theme :is(.culture-intro,.culture-wait){background:#201710;border:1px solid var(--line);border-radius:4px}
body.cinematic-theme .culture-intro{padding:42px}
body.cinematic-theme .culture-intro:after{color:#d1ad6514}
body.cinematic-theme :is(.culture-intro,.culture-wait) p{color:#bbab91}
body.cinematic-theme :is(.library-intro,.library-source-details){border-color:var(--line)}
body.cinematic-theme .library-intro{padding:12px 0 34px;margin:0 0 32px}
body.cinematic-theme .library-intro h2{color:#f0dfc0;font-size:36px;font-weight:500;letter-spacing:2px}
body.cinematic-theme .library-intro p{color:#baab91;font-size:18px}
body.cinematic-theme :is(.library-ground span,.library-filters>span,.library-provenance,.library-empty){color:#ad9b7e}
body.cinematic-theme .library-ground button,body.cinematic-theme .library-detail-tools button,body.cinematic-theme .library-observe-tabs button{border-color:#bc9b6638;background:#231c15;color:#ccb18a;border-radius:3px}
body.cinematic-theme :is(.library-ground,.library-detail-tools,.library-observe-tabs) button.active{background:#713522;border-color:#b07850;color:#f7e4be}
body.cinematic-theme .library-grid{gap:40px 30px}
body.cinematic-theme .pattern-cloth{border-radius:3px;border:1px solid #b69a6929}
body.cinematic-theme .library-pattern-info{padding:21px 0 4px}
body.cinematic-theme .library-pattern-info>small{color:#d1ac76;font-size:13px;letter-spacing:1.5px}
body.cinematic-theme .library-pattern-info h3{color:#ecdbbd;font-size:27px;font-weight:500;margin:9px 0 12px}
body.cinematic-theme .library-pattern-info p{color:#b8a78b;font-size:17px}
body.cinematic-theme .library-favorite{color:#d0b58b}
body.cinematic-theme .library-favorite[aria-pressed=true]{color:#ea9c78}
body.cinematic-theme :is(.library-detail-tools label,.library-source-details,.library-source-details p){color:#bba78a}
body.cinematic-theme #library-detail-step>span{color:#cbaa74}
body.cinematic-theme #library-detail-step h3{color:#efddbd}
body.cinematic-theme #library-detail-step p{color:#c3b095}
body.cinematic-theme .library-source-links a{color:#e0b98a}

/* Needle classroom: dark chrome, soft real cloth left bright for clear stitches. */
body.cinematic-theme .nc-topline{color:#efdfc2;margin-bottom:28px}
body.cinematic-theme .nc-topline h1{font-size:34px;font-weight:500;letter-spacing:2px}
body.cinematic-theme .nc-topline>span{color:#ad997b}
body.cinematic-theme .nc-course-switch{background:#211b15;border:1px solid var(--line);border-radius:4px;padding:13px 20px}
body.cinematic-theme .nc-course-switch label,body.cinematic-theme .nc-course-switch label span{color:#ccb591}
body.cinematic-theme .nc-course-time{color:#aa9779}
body.cinematic-theme .nc-main{background:#1d1813;border-color:#bc996644;border-radius:5px;box-shadow:0 16px 50px #0002;max-width:1100px}
body.cinematic-theme .nc-main .nc-step-heading{padding-top:22px}
body.cinematic-theme .nc-main .nc-step-heading :is(span:first-child,#nc-phase){color:#c5a97c}
body.cinematic-theme .nc-main .nc-step{margin-top:19px;margin-bottom:18px}
body.cinematic-theme .nc-main .nc-step h2{color:#ecdabb;font-size:27px;font-weight:500}
body.cinematic-theme .nc-main .nc-step p{color:#c1ad8b;font-size:18px}
body.cinematic-theme .nc-stage-toolbar>span{color:#ae9c7f}
body.cinematic-theme .nc-stage-toolbar button,body.cinematic-theme :is(.nc-demo-controls,.nc-observe-controls,.nc-mode) button{border-color:#c9a4683d;background:#2b2219;color:#dec297;border-radius:3px}
body.cinematic-theme .nc-stage-dock{background:#271d14;border-color:var(--line);padding-top:18px;padding-bottom:18px}
body.cinematic-theme .nc-main .nc-stage-dock .nc-feedback{color:#c5af8e}
body.cinematic-theme .nc-main .nc-stage-dock .nc-feedback.success{color:#b9c997}
body.cinematic-theme .nc-main .nc-stage-dock .nc-feedback.error{color:#eca386}
body.cinematic-theme .nc-stage-dock #nc-next{background:#a44a32;border-color:#bd7952;border-radius:3px;box-shadow:none}
body.cinematic-theme .nc-lesson-progress{background:#493926}
body.cinematic-theme .nc-lesson-progress span{background:#c5a06b}
body.cinematic-theme .nc-main .nc-settings{background:#1a1612;border-color:var(--line);color:#bca47e}
body.cinematic-theme :is(.nc-settings,.nc-lesson-notes,.nc-references,.nc-mastery) summary{color:#c7b18e}
body.cinematic-theme :is(.nc-control label,.nc-range-label,.nc-scope,.nc-practice-card small){color:#bba586}
body.cinematic-theme .nc-control label b{color:#e1bd7f}
body.cinematic-theme .nc-control input[type=range]{accent-color:#c28e55}
body.cinematic-theme .nc-view-switch{background:#2b2218;border-radius:3px}
body.cinematic-theme .nc-view-switch button{color:#c6b08d;border-radius:2px}
body.cinematic-theme .nc-view-switch button.active,body.cinematic-theme .nc-mode button.active{background:#795237;color:#fff0d1;box-shadow:none}
body.cinematic-theme :is(.nc-lesson-notes,.nc-references,.nc-mastery){background:#1d1813;border-color:var(--line);border-radius:4px;color:#baa78b;max-width:1100px}
body.cinematic-theme :is(.nc-notes-content,.nc-reference-grid,.nc-mastery) p{color:#beaa8d}
body.cinematic-theme :is(.nc-reference-grid h3,.nc-mastery-title,.nc-quiz h3){color:#ecdbc0}
body.cinematic-theme :is(.nc-reading a,.nc-reference-grid a){color:#daba86}
body.cinematic-theme .nc-practice-card,body.cinematic-theme .nc-photo-upload{background:#32251a;border-color:#b99b6240;color:#d4b58a;border-radius:3px}
body.cinematic-theme .nc-mastery details{border-color:var(--line)}
body.cinematic-theme .nc-mastery label{color:#d2bea0}
body.cinematic-theme .nc-quiz button[data-nc-answer]{background:#272018;border-color:var(--line);color:#d0b898}
body.cinematic-theme .nc-quiz button.selected{background:#4c3520;border-color:#c69c62}
body.cinematic-theme #nc-photo-preview{background:#262017;color:#b8a180}

/* Free composition: quiet black tools around the unaltered embroidery canvas. */
body.cinematic-theme .se-heading h1{font-size:38px;font-weight:500;letter-spacing:2px}
body.cinematic-theme .workspace .se-heading p{color:#baaa91;font-size:18px}
body.cinematic-theme :is(.se-library,.se-properties,.se-workspace){background:#1d1813;border-color:var(--line);border-radius:5px}
body.cinematic-theme .se-workspace{padding:18px}
body.cinematic-theme .se-panel-head h2{color:#e8d8bc;font-weight:500}
body.cinematic-theme .se-panel-head small{color:#b39d7c}
body.cinematic-theme .se-asset-tabs{background:#30251b;border-radius:3px}
body.cinematic-theme .se-asset-tabs button{color:#c3ae8d;border-radius:2px}
body.cinematic-theme .se-asset-tabs button.active{background:#5b3b26;color:#f3d6a8;box-shadow:none}
body.cinematic-theme .se-category-tabs button{color:#bfa888}
body.cinematic-theme .se-category-tabs button.active{background:#553623;color:#f2d2a1}
body.cinematic-theme .se-asset{background:#292118;border-color:#b59b6b22;color:#d7c4a3;border-radius:3px}
body.cinematic-theme .se-asset:hover{background:#3a2b1c;border-color:#bd986447}
body.cinematic-theme .se-asset:not(.linework) .se-asset-art{background:radial-gradient(ellipse,#f3d18b0a,transparent)}
body.cinematic-theme .se-asset>i{background:#4e3c22;color:#e5c997;border-radius:3px}
body.cinematic-theme .workspace :is(.se-asset-note,.se-asset-empty,.se-export-status,.se-keyboard-note,.se-saved-empty){color:#baa17e}
body.cinematic-theme .workspace #design-title{color:#f0dec0;background:none}
body.cinematic-theme :is(.se-work-title>span,.se-canvas-bottom>span){color:#bda480}
body.cinematic-theme .se-toolbar>button{background:#2d2319;border-color:#b598623f;color:#d0b78c;border-radius:3px}
body.cinematic-theme .se-toolbar>button:hover:not(:disabled){background:#4b3420;border-color:#bb97635e}
body.cinematic-theme .se-toolbar #se-add-more{background:#4b2b1c;color:#f2c399;border-color:#bb79544a}
body.cinematic-theme .se-toolbar>span{background:#bb966544}
body.cinematic-theme .se-canvas-mat{background:linear-gradient(135deg,#352b1e,#493726);border-color:#cba36539;border-radius:3px;box-shadow:inset 0 0 18px #0002}
body.cinematic-theme .se-ground button.active{background:#4b3522;border-color:#b89662}
body.cinematic-theme :is(.se-inspector-title,.se-color-section,.se-layer-details,.se-source){border-color:var(--line)}
body.cinematic-theme .se-inspector-title>span,body.cinematic-theme :is(.se-position label,.se-range-label,.se-tint-picker,.se-vector-colors label,.se-color-section>span){color:#c6ad88}
body.cinematic-theme .se-inspector-title h3{color:#e8d6b8;font-weight:500}
body.cinematic-theme .se-range-label output{color:#d8b47b}
body.cinematic-theme .se-range{accent-color:#c29357}
body.cinematic-theme .se-color-modes button{background:#2b2117;color:#c7ad86;border-color:var(--line);border-radius:3px}
body.cinematic-theme .se-color-modes button.active{background:#553522;color:#f1cc91;border-color:#ad825050}
body.cinematic-theme .se-color-section>small{color:#b99d76}
body.cinematic-theme :is(.se-tint-picker,.se-vector-colors) input{background:#2b2218;border-color:#af8c533d}
body.cinematic-theme :is(.se-source,.se-layer-details,.se-layer-details summary span){color:#bca380}
body.cinematic-theme .workspace .se-source p{color:#b69f7d}
body.cinematic-theme :is(.se-source a,.se-library-detail){color:#ddba83}
body.cinematic-theme .se-inspector-empty{color:#c2a780}
body.cinematic-theme .se-inspector-empty h3{color:#dac6a5}
body.cinematic-theme .workspace .se-inspector-empty p{color:#b59e7c}
body.cinematic-theme .se-layers button{background:#2b2218;color:#c2a77d}
body.cinematic-theme .se-layers button span{color:#ac9270}
body.cinematic-theme .se-layers button.active{background:#523720;border-color:#a9834c;color:#efd1a3}
body.cinematic-theme .se-saved{background:#211b14;border-color:var(--line);color:#d6bb90;border-radius:3px}
body.cinematic-theme .se-saved>small{color:#b89d78}

/* The five-color game keeps the real yarn renderer unchanged. */
body.cinematic-theme .game-card{background:#211810;padding:34px}
body.cinematic-theme .game-card h3{color:#efddbd;font-weight:500}
body.cinematic-theme .game-card p{color:#c0aa88}
body.cinematic-theme .game-card .symbol{color:#d3a56d}
body.cinematic-theme #game-extra>.panel{background:#271c13!important;border-color:var(--line)}
body.cinematic-theme .journey-prologue{padding:18px 0 42px}
body.cinematic-theme .journey-prologue h2{color:#efdfc2;font-size:38px;font-weight:500}
body.cinematic-theme .journey-prologue p{color:#c1ac8c}
body.cinematic-theme .journey-how{background:#251c14;border:1px solid var(--line);border-radius:4px;padding:26px}
body.cinematic-theme .journey-how b{color:#e8d1a8;font-size:20px}
body.cinematic-theme .journey-how p{color:#b7a080}
body.cinematic-theme .journey-color-key{color:#d0b89b}
body.cinematic-theme .chapter-map{gap:20px}
body.cinematic-theme .chapter-card{background:#221b14;border-color:var(--line);border-radius:4px;padding:18px;color:#ebd7b4}
body.cinematic-theme .chapter-card.selected{background:#392319;border-color:#c19962;padding:17px}
body.cinematic-theme .chapter-card h3{font-weight:500;color:#eddbbd}
body.cinematic-theme .chapter-card p{color:#b7a080}
body.cinematic-theme .chapter-number{color:#cca875}
body.cinematic-theme .chapter-stars{color:#dfb874}
body.cinematic-theme :is(.chapter-prelude,.chapter-victory,.yarn-loss){background:#271b13;border:1px solid var(--line);border-radius:4px;padding:32px}
body.cinematic-theme :is(.chapter-prelude,.chapter-victory,.yarn-loss) :is(h2,h3){color:#efdab9;font-weight:500}
body.cinematic-theme :is(.chapter-prelude,.chapter-victory,.yarn-loss) p{color:#c0a581}
body.cinematic-theme .chapter-objective{color:#d7b27a;border-color:#bc8a52}
body.cinematic-theme .playing-caption>span,body.cinematic-theme .yarn-solid-title b{color:#eddbbd}
body.cinematic-theme .playing-objective{background:#302418;border-color:#b6936238;color:#d6b682;border-radius:3px}
body.cinematic-theme .yarn-solid-title span{color:#c4ac87}
body.cinematic-theme .yarn-3d-stage{border-color:#b7956659;border-radius:5px}
body.cinematic-theme .workspace .yarn-playspace>.yarn-energy{background:#261c14;border-color:#bd986639;border-radius:5px}
body.cinematic-theme .yarn-companions-heading{border-color:var(--line)}
body.cinematic-theme .yarn-companions-heading>span{color:#e2cdab}
body.cinematic-theme .yarn-companions-heading>small{color:#b79e7d}
body.cinematic-theme .workspace .yarn-playspace .yarn-spirit-info>span{color:#e5cba2}
body.cinematic-theme .workspace .yarn-playspace .yarn-spirit-info>b{color:#dfc59c}
body.cinematic-theme .workspace .yarn-spirit-reply{color:#bfa37c}
body.cinematic-theme .yarn-playspace .yarn-spirit.absorbing{background:#4d3520;box-shadow:inset 0 0 0 1px #cd9f5b55}
body.cinematic-theme .energy-track{background:#655138}
body.cinematic-theme .yarn-box{background:#2b2218;box-shadow:none;border-radius:4px}
body.cinematic-theme .yarn-box>span,body.cinematic-theme .workspace .yarn-buffer :is(span,small){color:#cdb28e}
body.cinematic-theme .buffer-slot{background:#302719;border-color:#b89b6a60;box-shadow:none}
body.cinematic-theme .yarn-ball:not(.filled){background:#453827;border-color:#b897623e}
body.cinematic-theme :is(.yarn-view-tools small,.yarn-solid-help,.game-status){color:#bca584}
body.cinematic-theme .yarn-view-tools button,body.cinematic-theme .journey-playing .yarn-tools .btn{color:#dab985;border-color:#b9946152}
body.cinematic-theme .yarn-tools>span{color:#ccb38c}
body.cinematic-theme .yarn-accessible-fallback{border-color:var(--line);background:#241b12}
body.cinematic-theme .yarn-accessible-fallback p{color:#c3a882}

/* Conversation and modal chrome follow the same palette, without tinting spirits. */
body.cinematic-theme #corner-companion .orb-name{background:#241a12;border-color:#c39c5b59;color:#e2cda7;box-shadow:0 3px 12px #0004}
body.cinematic-theme #corner-companion .companion-greeting{background:#261b12;border-color:#d2ac663d;color:#e1c59c;box-shadow:0 4px 18px #0005}
body.cinematic-theme #corner-companion .companion-chat{background:#1b1611;border-color:#c9a56a55;box-shadow:0 20px 80px #0009;border-radius:6px}
body.cinematic-theme #corner-companion .corner-chat-head{background:#282016;border-color:var(--line)}
body.cinematic-theme #corner-companion .corner-chat-head b{color:#efdbb8;font-weight:500}
body.cinematic-theme #corner-companion .corner-chat-head small{color:#c3a77e}
body.cinematic-theme #corner-companion .corner-pet-picker button{color:#dac39e;border-radius:3px}
body.cinematic-theme #corner-companion .corner-pet-picker button.active{background:#4a301e;border-color:#ba915357}
body.cinematic-theme #corner-companion .corner-pet-picker small{color:#baa07a}
body.cinematic-theme :is(.chat-head,.chat-form,.companion-chat form){border-color:var(--line)}
body.cinematic-theme .chat-head small{color:#bba17b}
body.cinematic-theme :is(.chat-panel,#corner-companion) .message{background:#33271a;color:#e9d6b5;border-radius:3px;line-height:1.85}
body.cinematic-theme :is(.chat-panel,#corner-companion) .message.user{background:#7c3826;color:#fff0d8}
body.cinematic-theme :is(.chat-panel,#corner-companion) .message small{color:#bea07a}
body.cinematic-theme #corner-companion .corner-prompts button,body.cinematic-theme #chat-modes button{background:#2d2117;border-color:#bc96523b;color:#d5b890;border-radius:3px}
body.cinematic-theme #chat-modes button.active{background:#793923;color:#ffe0b2;border-color:#bd855753}
body.cinematic-theme #corner-companion .companion-chat input{background:#241c13;border-color:#b68d523b;color:#edd8b5;border-radius:3px}
body.cinematic-theme #corner-companion .corner-footnote{color:#b49772}
body.cinematic-theme #corner-companion .spirit-action-row button{background:#322216;border-color:#ba8c4b3b;color:#d7b885;border-radius:3px}
body.cinematic-theme :is(.prompt-btn,.pet-select button){color:#cfb58d;border-color:var(--line)}
body.cinematic-theme .pet-select button{background:#2d2217}
body.cinematic-theme #ai-connect-status{color:#c8ad85}
body.cinematic-theme dialog{background:#191511;color:#efdfc1;border:1px solid #c19c6959;border-radius:5px;box-shadow:0 30px 130px #000b;padding:32px;max-height:90dvh}
body.cinematic-theme dialog::backdrop{background:#080604c9;backdrop-filter:blur(8px)}
body.cinematic-theme dialog .close{color:#dac199;width:44px;height:44px;top:8px;right:8px}
body.cinematic-theme dialog h2{color:#eedbbb;font-size:32px;font-weight:500;letter-spacing:1px;padding-right:30px}
body.cinematic-theme dialog p,body.cinematic-theme dialog li{color:#c8b391;font-size:17px}
body.cinematic-theme .model-stage{background:radial-gradient(ellipse at 50% 55%,#3e2c1c,#19130e 80%);border:1px solid var(--line);border-radius:4px}
body.cinematic-theme :is(.source-view-buttons,.model-color-picker) button{background:#2d2117;color:#d7b891;border-color:#bf965839;border-radius:3px}
body.cinematic-theme .source-view-buttons button.active{background:#553621;color:#f2d2a0}
body.cinematic-theme .spirit-setting-heading h3{color:#eddbb9}
body.cinematic-theme .spirit-setting-heading>span{color:#e1c599;border-color:#a1855a66}
body.cinematic-theme :is(.spirit-setting-summary,.spirit-setting-meaning,.spirit-setting-pair span,.spirit-setting-source){color:#c4ac88}
body.cinematic-theme .spirit-setting-pair b{color:#e2c598}
body.cinematic-theme #toast{left:50%;bottom:26px;background:#332215;border:1px solid #c99e604f;color:#f1dec0;border-radius:3px;box-shadow:0 8px 30px #0007}

/* Keep the corner assistant in the utility strip during hands-on practice. */
body.cinematic-theme.focused-practice .workspace>header{top:var(--cinema-top);z-index:35;background:#151210}
body.cinematic-theme.focused-practice #corner-companion{top:calc(var(--cinema-top) + 3px);right:24px;bottom:auto}
body.cinematic-theme.focused-practice .header-tools{margin-right:76px}
body.cinematic-theme :is(.nc-main,.nc-canvas,.yarn-playspace,.yarn-3d-stage,.se-editor,#se-art,#se-canvas,.se-library){scroll-margin-top:calc(var(--cinema-top) + 68px)}

@media(max-width:1200px){
  body.cinematic-theme>.sidebar{gap:22px;padding:0 28px}
  body.cinematic-theme .sidebar .brand{font-size:23px;gap:10px}
  body.cinematic-theme .sidebar #navigation{gap:20px}
  body.cinematic-theme .sidebar #navigation a{font-size:15px}
  body.cinematic-theme .sidebar #about{font-size:12px}
  body.cinematic-theme .workspace>main{padding:34px 32px 64px}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card{padding:24px 20px}
}
@media(max-width:1000px){
  body.cinematic-theme{--cinema-top:111px}
  body.cinematic-theme>.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:54px 56px;gap:0 16px;padding:0 24px;height:111px}
  body.cinematic-theme .sidebar .brand{grid-row:1;grid-column:1;font-size:24px}
  body.cinematic-theme .sidebar .brand small{font-size:9px;letter-spacing:2.5px}
  body.cinematic-theme .sidebar .side-bottom{grid-row:1;grid-column:2;text-align:right}
  body.cinematic-theme .sidebar #navigation{grid-column:1/-1;grid-row:2;width:100%;justify-content:flex-start;gap:32px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;height:56px;min-width:0;flex:none}
  body.cinematic-theme .sidebar #navigation::-webkit-scrollbar{display:none}
  body.cinematic-theme .sidebar #navigation a{flex-shrink:0;height:56px;padding:16px 0 13px;font-size:16px}
  body.cinematic-theme .workspace>header{padding:0 24px}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card:nth-child(2n){border-right:0}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card:nth-last-child(-n+2){border-bottom:0}
  body.cinematic-theme .home-bottom{grid-template-columns:1fr}
  body.cinematic-theme .library-grid{gap:32px 24px}
  body.cinematic-theme .chapter-map{gap:14px}
}
@media(max-width:600px){
  body.cinematic-theme{font-size:18px;--cinema-top:106px}
  body.cinematic-theme>.sidebar{height:106px;grid-template-rows:54px 51px;padding:0 18px;bottom:auto;top:0;border-top:0}
  body.cinematic-theme .sidebar .brand{font-size:23px;gap:10px}
  body.cinematic-theme .sidebar .brand-mark{font-size:30px}
  body.cinematic-theme .sidebar .brand small{font-size:8px;letter-spacing:2.5px;line-height:1.4}
  body.cinematic-theme .sidebar #about{font-size:12px;min-height:44px}
  body.cinematic-theme .sidebar #navigation{gap:28px;height:51px}
  body.cinematic-theme .sidebar #navigation a{font-size:16px;height:51px;padding:14px 0 11px}
  body.cinematic-theme .workspace>header{padding:0 18px;height:44px}
  body.cinematic-theme .workspace .breadcrumbs{font-size:12px}
  body.cinematic-theme .workspace .breadcrumbs span{margin:0 7px}
  body.cinematic-theme .workspace .edition{display:none}
  body.cinematic-theme .workspace .checkin{font-size:12px}
  body.cinematic-theme .header-tools{gap:9px}
  body.cinematic-theme .workspace>main{padding:26px 18px 50px;min-height:calc(100dvh - 200px)}
  body.cinematic-theme .workspace>footer{padding:24px 18px 170px;font-size:12px}
  body.cinematic-theme .page-heading{margin-bottom:24px;gap:14px}
  body.cinematic-theme .workspace :is(.welcome h1,.page-heading h1){font-size:31px;letter-spacing:1px}
  body.cinematic-theme .workspace :is(.page-heading p,.welcome p){font-size:17px}
  body.cinematic-theme .section-head{margin:36px 0 22px;gap:10px}
  body.cinematic-theme .section-head h2{font-size:25px;letter-spacing:1px}
  body.cinematic-theme .section-head .text-btn{font-size:14px}
  body.cinematic-theme .section-head h2 small{display:none}
  body.cinematic-theme .stats{margin:28px 0;padding:20px 0;gap:22px}
  body.cinematic-theme .stat b{font-size:25px}
  body.cinematic-theme .stat-icon{background:none;width:26px;height:34px;padding:0;font-size:24px}
  body.cinematic-theme .module-grid:not(.cinematic-entry-row) .module-card{padding:23px 14px;min-height:300px}
  body.cinematic-theme .module-card h3{font-size:23px;letter-spacing:0}
  body.cinematic-theme .module-card p{font-size:16px}
  body.cinematic-theme .module-card .module-number{font-size:13px}
  body.cinematic-theme .panel{padding:23px 20px}
  body.cinematic-theme .companion-card{padding:25px 20px}
  body.cinematic-theme .library-intro h2{font-size:29px;letter-spacing:1px}
  body.cinematic-theme .library-intro p{font-size:17px}
  body.cinematic-theme .library-grid{gap:34px}
  body.cinematic-theme .library-pattern-info{padding:18px 0 2px}
  body.cinematic-theme .library-pattern-info h3{font-size:26px}
  body.cinematic-theme .library-pattern-info p{font-size:17px}
  body.cinematic-theme .culture-intro{padding:27px 23px}
  body.cinematic-theme .nc-topline h1{font-size:29px;letter-spacing:1px}
  body.cinematic-theme .nc-topline{margin-bottom:21px}
  body.cinematic-theme .nc-course-switch{padding:10px 12px}
  body.cinematic-theme .nc-main .nc-step{margin:15px 16px}
  body.cinematic-theme .nc-main .nc-step h2{font-size:24px}
  body.cinematic-theme .nc-main .nc-step p{font-size:17px}
  body.cinematic-theme .nc-stage-dock{padding:14px 16px}
  body.cinematic-theme .nc-main .nc-step-heading{padding-top:18px}
  body.cinematic-theme .se-heading h1{font-size:30px;letter-spacing:1px}
  body.cinematic-theme .workspace .se-heading p{font-size:17px}
  body.cinematic-theme .se-workspace{padding:13px}
  body.cinematic-theme .game-card{padding:28px 24px}
  body.cinematic-theme .journey-prologue{padding:5px 0 30px;gap:20px}
  body.cinematic-theme .journey-prologue h2{font-size:31px;letter-spacing:1px}
  body.cinematic-theme .journey-how{padding:22px 19px;gap:22px}
  body.cinematic-theme .journey-how p{font-size:16px}
  body.cinematic-theme .chapter-card{padding:16px 12px}
  body.cinematic-theme .chapter-card.selected{padding:15px 11px}
  body.cinematic-theme .chapter-card h3{font-size:21px}
  body.cinematic-theme :is(.chapter-prelude,.chapter-victory,.yarn-loss){padding:25px 21px}
  body.cinematic-theme .workspace .yarn-playspace>.yarn-energy{padding:12px 6px}
  body.cinematic-theme .workspace .yarn-playspace .yarn-spirit-info>span{font-size:13px}
  body.cinematic-theme .workspace .yarn-spirit-reply{font-size:12px}
  body.cinematic-theme .yarn-collectors{gap:12px}
  body.cinematic-theme #corner-companion{right:8px;bottom:12px}
  body.cinematic-theme #corner-companion .companion-chat{max-height:calc(100dvh - 175px);bottom:146px}
  body.cinematic-theme #toast{bottom:26px;font-size:15px}
  body.cinematic-theme.focused-practice #corner-companion{top:calc(var(--cinema-top) + 2px);right:10px;bottom:auto}
  body.cinematic-theme.focused-practice .header-tools{visibility:hidden;pointer-events:none;margin-right:0}
  body.cinematic-theme dialog{padding:27px 20px;max-height:91dvh;width:calc(100% - 24px)}
  body.cinematic-theme dialog h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){body.cinematic-theme :is(.module-card,.chapter-card){transition:none;transform:none}}
