/* Toranj 0.9: one reading system, full-colour teaching and tactile surfaces. */
:root{--read:15px;--label:13px;--control:15px;--heading:26px}
body{font-family:Vazirmatn,Tahoma,sans-serif;font-size:15px;line-height:1.8;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.large-text{--read:17px;--label:15px;--control:17px;--heading:28px}
button,input,select,textarea,h1,h2,h3,.button,.page-heading,.identity-copy,.level-chip,.hero-copy,.tour-sheet{font-family:Vazirmatn,Tahoma,sans-serif}
#app{min-height:0}#topbar{min-height:70px;height:auto;padding-block:12px}#navigation{height:76px}
#navigation button{font-size:12px;font-weight:700;line-height:1.5}
.brand small{font-size:10px;letter-spacing:0}.wallet{font-size:13px}.brand b{font-family:Vazirmatn;font-weight:700;font-size:25px}
.page-heading h1{font-size:var(--heading);font-weight:700;letter-spacing:0}.page-heading .eyebrow{font-size:11px}
#screen .page p,#screen .page .small,#screen .page .cinema-bag-copy,#screen .page .locked-note,.sheet p,.sheet .small{font-size:var(--read);line-height:1.95}
#screen .page small,.sheet small,.field-label,.settings-row small,.page .badge,.sheet .badge,.charge-contract,.charge-manifest small,.micro-label,.charge-card .price-note,.scope-note{font-size:var(--label);line-height:1.85;letter-spacing:0}
.page h2,.hero-copy h2{font-family:Vazirmatn;font-size:21px;line-height:1.7;font-weight:700}.page h3{font-size:18px}
#screen .page .button,.sheet .button,#screen .home .button,.settings-row b,.choices button,.atelier-nav button,.atelier-tabs button,.bag-school-nav button,.music-mode .button{font-size:var(--control);line-height:1.7}
.button{min-height:50px;border-radius:15px;padding:12px 16px;font-weight:700;position:relative;transition:box-shadow .18s,filter .18s,transform .18s}
.button.primary{background:linear-gradient(160deg,#b94c4f,#96353e);border:1px solid #8c3339;box-shadow:inset 0 1px 0 #ffead04d,0 3px 0 #73313a,0 7px 16px #762e3520;color:#fff9e9}
[data-theme=modern] .button.primary{background:linear-gradient(135deg,#e0ceff,#ae95e2);border:1px solid #ddc2ff;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #68568f,0 8px 20px #bda0ee20;color:#261c3e}
.button.secondary{background:linear-gradient(160deg,var(--surface),var(--soft));border:1px solid var(--line);box-shadow:inset 0 1px 0 #fff4,0 2px 3px var(--shadow);color:var(--ink)}
.button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 5px #0001}.button:disabled{box-shadow:none;transform:none}
.round{min-height:44px;min-width:44px}.button.quiet{min-height:44px;text-decoration:none}
.two{gap:10px}.two>.button{min-width:0;white-space:normal;text-align:center}
.page,.home{padding-inline:18px}.page-heading{margin-bottom:20px}
.page .panel,.sheet{border-radius:21px}.sheet{padding:24px;max-height:calc(100dvh - 24px);overflow:auto}.sheet h2{font-size:25px;line-height:1.65}
.identity-copy b{font-size:16px}.identity-copy small,.level-chip{font-size:12px}.identity-strip{padding:15px;border-radius:20px;gap:12px;background:var(--surface);box-shadow:0 5px 15px var(--shadow)}
.progress{height:7px}.arcana-invite{height:auto;min-height:196px}.arcana-invite-copy{padding:22px}.arcana-invite-copy>small{font-size:11px;line-height:1.8}.arcana-invite-copy>span{font-size:14px;line-height:1.9}.arcana-invite-copy>em{font-size:13px}
.home-art h1{font-family:Lalezar,Vazirmatn;font-size:58px}.home-art p,.theme-tag{font-size:13px}.home .play-ticket small{font-size:13px;line-height:1.9}.home .play-ticket b{font:700 22px/1.7 Vazirmatn}.play-ticket{min-height:106px;border:1px solid #c6a973}
.menu-grid{gap:12px}.menu-card{border-radius:18px!important;box-shadow:0 5px 16px var(--shadow)}.menu-card b{font-family:Vazirmatn;font-size:16px!important;line-height:1.7}.menu-card small{font-size:12px!important;line-height:1.8}.menu-card .cinema-menu-art{aspect-ratio:1.3;background-size:400% 520%!important}
.home-links .button{font-size:14px}.academy-invite b,.journey-invite b,.journey-card b{font-size:19px}.academy-invite small,.journey-invite small,.journey-card small{font-size:13px;line-height:1.8}.home-bottom,.home-links small{font-size:13px}
.charge-card-copy p{min-height:0}.charge-card-copy h2{font-size:20px}.charge-card-bottom>b{font-size:16px}.charge-card-bottom small{font-size:12px}.charge-card .charge-quantity small{font-size:11px;background:#122c3ce6;color:white;padding:2px 6px;border-radius:5px}.charge-edition{display:none}.charge-card-bottom{flex-wrap:wrap;gap:8px}
.bag-power-copy>small{font-size:13px}.bag-power-copy h2{font-size:20px}.bag-power-copy .button{font-size:14px!important;padding:8px 12px}.bag-power{padding:15px}.bag-icon,.bag-icon .cinema-art{width:70px;height:70px;flex-shrink:0}.bag-slot b{font-size:17px}.bag-slot span{font-size:13px}
.arsenal-current small,.arsenal-current span{font-size:13px}.arsenal-current b{font-size:18px}.hero-copy>p{font-size:15px}.hero-status,.hero-metrics span{font-size:12px;line-height:1.9}.hero-copy .eyebrow{font-size:13px}.hero-copy h2 small{font-size:15px}
.atelier-nav,.atelier-tabs,.bag-school-nav{gap:8px;scrollbar-width:thin}.atelier-nav button,.atelier-tabs button,.bag-school-nav button{min-height:46px;padding:9px 16px;white-space:nowrap}
.cup-card-copy h2{font-size:22px}.cinema-cup-reward{font-size:14px;line-height:1.9}.cup-card-art>span:not(.cinema-art){font-size:12px}.cup-intro .button{font-size:14px;min-width:90px}
.cinema-codex-link small{font-size:14px;line-height:1.9}.cinema-codex-link b{font-size:18px}.cinema-power-tile b{font-size:20px}.cinema-power-tile small{font-size:14px}.cinema-power-tile .cinema-art{width:90px;height:90px}.cinema-manifest-row p{font-size:15px}.cinema-manifest-row>.button{font-size:14px;min-height:46px}
.cinema-demo>p,.cinema-lesson-title p,.cinema-when{font-size:15px;line-height:1.95}.cinema-demo-head,.cinema-scene-card>small,.cinema-card-note,.cinema-demo-metrics span{font-size:12px;white-space:normal}.cinema-scene-card{min-width:0}.cinema-demo-metrics{flex-wrap:wrap}.cinema-buy-summary p,.cinema-details summary,.cinema-details table{font-size:14px}.cinema-demo .button{font-size:15px!important}
.clarity-controls{border:1px solid var(--accent2);margin-top:20px}.clarity-controls h2{margin:0}.clarity-controls .field-label{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-weight:700}.clarity-controls output{color:var(--accent);direction:ltr}.clarity-controls input[type=range]{min-height:44px;margin:0}.clarity-text-sample{padding:15px;background:var(--soft);border-radius:13px;margin-top:14px;font-size:var(--read)}.text-size-choices .button{flex:1;margin:0}.text-size-choices{display:flex;gap:10px}.sound-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}.sound-test-grid .button{padding:9px 5px;font-size:13px!important;line-height:1.7}.clarity-sound-status{min-height:48px;color:var(--accent2)}
.mastery-strip{background:var(--soft);border:1px solid var(--line);padding:16px;border-radius:16px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.mastery-strip>span{display:flex;gap:8px;align-items:center;flex:1;font-size:14px}.mastery-strip>b{font-size:18px;direction:ltr}.mastery-strip>p{margin:0;width:100%;font-size:14px!important}.discovered{border-color:var(--accent2)}.discovery-tag,.lesson-discovered{font:400 13px/1.8 Vazirmatn;display:flex;gap:7px;align-items:center;color:var(--accent2)}.discovery-tag svg{width:17px;height:17px}.lesson-discovered{background:var(--soft);padding:13px;border-radius:12px;margin:14px 0}
/* Full-colour guide: opaque surface, normal-flow preview and persistent navigation. */
#tour-layer.clarity-tour{position:absolute;inset:0;z-index:150;background:var(--bg);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:hidden;padding:0;backdrop-filter:none!important;filter:none!important}
.clarity-tour-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);flex:none;background:var(--surface)}
.clarity-tour-header>span{display:flex;gap:9px;align-items:center;font-size:12px;letter-spacing:0;font-weight:700}.clarity-tour-header .round{background:transparent;box-shadow:none;border:0}
.clarity-tour-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 18px 8px;scrollbar-width:thin}
.clarity-tour .tour-stage{position:relative;top:auto!important;left:auto!important;right:auto!important;width:100%!important;height:auto!important;box-shadow:0 8px 22px var(--shadow);border:1px solid #bea46e;background:var(--surface);border-radius:22px;overflow:hidden;pointer-events:auto;margin:0}
.tour-preview{padding:14px;pointer-events:none}.tour-caption{display:block;border-top:1px solid var(--line);padding:6px 12px;font-size:11px;text-align:center;color:var(--muted)}
.tour-preview .tour-component{margin:0!important;width:100%;max-width:100%;opacity:1!important;filter:none!important;backdrop-filter:none!important;transform:none!important;box-shadow:none!important}
.tour-preview .hero-art{height:220px}.tour-preview .hero-art img{object-fit:cover;object-position:50% 30%;opacity:1;filter:none}.tour-preview .hero-copy{padding:10px 15px}.tour-preview .hero-copy h2{margin:0;font:700 22px/1.6 Vazirmatn}.tour-preview .hero-status{font-size:13px}.tour-preview .hero-copy .eyebrow{font-size:13px}
.tour-preview .arcana-invite{min-height:180px}.tour-preview .arcana-invite-copy b{font-size:40px}
.tour-preview .bag-power{display:flex;flex-direction:column;align-items:center;padding:16px;border:0;background:none}.tour-preview .bag-icon,.tour-preview .bag-icon .cinema-art{width:140px;height:140px;border-radius:25px}.tour-preview .bag-power-copy{width:100%;text-align:center}.tour-preview .bag-power h2{font:700 23px/1.7 Vazirmatn;margin:12px 0 4px}.tour-preview .bag-power-copy>small{font:400 13px/1.9 Vazirmatn}.tour-preview .cinema-bag-copy{font-size:14px;line-height:1.9;margin-bottom:0}
.tour-preview .charge-art{height:165px}.tour-preview .charge-card-copy{padding:12px}.tour-preview .charge-card-copy h2{margin:0;font-size:22px}.tour-preview .charge-card-copy p{font-size:14px;line-height:1.8;margin:6px 0}.tour-preview .cinema-crest{max-height:250px;object-fit:contain}.tour-preview .cup-card-art{width:min(220px,100%);margin:auto}.tour-preview .cup-card{border:0;background:none}
.tour-preview .theme-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tour-preview .theme-choice b{font:700 18px/1.9 Vazirmatn}.tour-preview .theme-choice small{font-size:12px}.tour-preview .panel p{font-size:14px;line-height:1.95}.tour-preview .identity-strip{padding:15px 10px}.tour-preview .identity-copy b{font-size:18px}.tour-preview .identity-copy small{font-size:13px}
.clarity-tour .tour-sheet{position:static;left:auto;right:auto;top:auto;bottom:auto!important;width:100%;max-width:none;max-height:none;overflow:visible;margin:18px 0 0;padding:0 3px 8px;background:transparent;border:0;box-shadow:none;animation:none;text-align:start}
.clarity-tour .tour-sheet h2{font:700 var(--heading)/1.65 Vazirmatn;margin:8px 0}.clarity-tour .tour-sheet p{font:400 var(--read)/1.95 Vazirmatn;margin:6px 0 14px;color:var(--ink)}
.clarity-tour .tour-topline{font-size:12px;letter-spacing:0}.clarity-tour .tour-topline b{font-size:14px}.clarity-tour .tour-sheet .button{font:700 var(--control)/1.7 Vazirmatn;min-height:48px;padding:11px 16px}.clarity-tour .tour-sheet .tour-open{margin-top:2px;text-align:start;padding-inline:0;justify-content:start;color:var(--accent2)}
.tour-tip{display:flex;gap:9px;align-items:center;color:var(--accent2);font-size:14px;line-height:1.9}.clarity-tour .tour-sheet .tour-cast-note{font-size:13px;color:var(--muted)}
.clarity-tour-footer{padding:12px 18px 18px;border-top:1px solid var(--line);background:var(--surface);flex:none;box-shadow:0 -3px 15px var(--shadow)}.clarity-tour-footer .two{display:flex;margin-top:12px;gap:12px}.clarity-tour-footer .button{flex:1;margin:0;font:700 15px/1.7 Vazirmatn;min-height:49px;padding:11px}.clarity-tour .tour-dots{gap:5px}.clarity-tour .tour-dots i{height:4px}
/* Keep the whole card table usable; raise its labels without resizing card geometry. */
.game .seat .name{font-family:Vazirmatn;font-size:12px;line-height:1.5}.game .seat .role{font-size:10px}.game .turn-label{font-size:12px;line-height:1.8}.game .hand-caption{font-size:11px;line-height:1.7}.game .controls .button{font:700 13px/1.6 Vazirmatn;padding-inline:9px;min-height:46px}.game .controls>button:not(.button){font-size:11px}.game .power-control b{font:700 13px/1.5 Vazirmatn}.game .power-control small{font-size:11px;line-height:1.6}.game .arcana-energy{font-size:12px}.game .arcana-energy small{font-size:11px}.game .power-tray{min-height:64px}.game .table-heading small{font-size:11px}.game .table-heading b{font-size:14px}
.cinema-fx{z-index:300;pointer-events:none}.cinema-fx strong{font-family:Vazirmatn;font-size:17px;background:#102330ed;border:1px solid #e6c98588;color:#fff4d8;padding:7px 16px;border-radius:12px;white-space:nowrap}
@media(max-width:350px){.page,.home{padding-inline:14px}.menu-grid{gap:8px}.menu-card b{font-size:14px!important}.arcana-invite-copy{padding:16px}.sheet{padding:19px}.clarity-tour-scroll{padding:14px}.clarity-tour .tour-sheet h2{font-size:23px}.tour-preview{padding:10px}.tour-preview .hero-art{height:175px}.tour-preview .bag-icon,.tour-preview .bag-icon .cinema-art{width:115px;height:115px}.tour-preview .hero-copy h2{font-size:20px}.charge-grid{gap:10px}.charge-card-copy{padding:12px 9px}.sound-test-grid{grid-template-columns:1fr}.bag-power{padding:12px;gap:10px}.bag-icon,.bag-icon .cinema-art{width:58px;height:58px}.clarity-tour-footer{padding:10px 14px 14px}.game .power-control b{font-size:12px}.game .power-control small{font-size:10px}.game .controls .button{font-size:12px}}
@media(max-height:660px){.clarity-tour-header{padding-block:6px}.tour-preview .hero-art{height:155px}.tour-preview .bag-icon,.tour-preview .bag-icon .cinema-art{width:104px;height:104px}.clarity-tour-footer{padding-block:9px}.clarity-tour-footer .button{min-height:44px}.game .power-tray{min-height:58px}.game .power-control b{font-size:12px}.game .seat .name{font-size:11px}.game .turn-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.cinema-fx *{animation:none!important}}.reduced .button{transition:none}

.clarity-tour-header,.clarity-tour-footer{width:100%;align-self:stretch}.clarity-tour-scroll{width:100%}

/* Keep the illustrated subject and its teaching copy close on phone screens. */
.tour-preview .hero-art{height:168px}.tour-preview .hero-copy{padding:8px 14px}.tour-preview .hero-copy .eyebrow{display:none}
.tour-preview .bag-power{padding:7px}.tour-preview .bag-icon,.tour-preview .bag-icon .cinema-art{width:120px;height:120px}.tour-preview .bag-power-copy h2{margin:8px 0 3px}.tour-preview .charge-card-copy p{display:none}.tour-preview .charge-art{height:145px}
@media(min-height:820px){.tour-preview .hero-art{height:210px}.tour-preview .bag-icon,.tour-preview .bag-icon .cinema-art{width:140px;height:140px}}

.clarity-tour-footer .button:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.atelier-nav,.atelier-tabs,.bag-school-nav{overflow-x:auto;overflow-y:hidden;max-width:100%;min-width:0;display:flex;flex-wrap:nowrap}.atelier-nav button,.atelier-tabs button,.bag-school-nav button{flex-shrink:0}

.cast-trail{position:fixed;z-index:299;width:11px;height:11px;margin:-5px;border-radius:50%;background:#fffcf1;box-shadow:0 0 12px 4px var(--trail),0 0 27px 8px color-mix(in srgb,var(--trail) 45%,transparent);pointer-events:none}.cinema-fx .fx-relic{box-shadow:0 0 26px color-mix(in srgb,var(--fx) 48%,transparent),0 10px 36px #07191a66}

.bag-power-copy h2 strong{direction:ltr;unicode-bidi:isolate}
