/* HAHUMI 7.22 — the whole site is made of the same cardboard as the city and the heroes.
 * Paint only: textures, edge colours and «board thickness» shadows. No layout sizes change
 * (no new borders, paddings or transforms at rest), so every overlap/fit test keeps its geometry.
 * Textures are three tiny seamless tiles (≈11 KB together) in /assets/paper722/. */
:root{
 --cb722-kraft:url(/assets/paper722/kraft-722.webp?v=7.22.0);
 --cb722-paper:url(/assets/paper722/paper-722.webp?v=7.22.0);
 --cb722-grain:url(/assets/paper722/grain-722.webp?v=7.22.0);
 --cb722-edge:#d4b07f;   /* the cut face of the board */
 --cb722-wall:#8a6340;   /* its dark under-edge */
 --cb722-thick:0 3px 0 var(--cb722-edge),0 5px 0 var(--cb722-wall),0 12px 18px -8px rgba(70,45,25,.32);
 --cb722-thin:0 2px 0 var(--cb722-edge),0 3px 0 var(--cb722-wall);
 /* secondary text keeps AA contrast on the kraft table */
 --ink-3:rgba(31,58,46,.8)
}

/* The table everything lies on: light kraft cardboard */
html body{background-color:#efe2c8;background-image:var(--cb722-kraft);background-size:256px 256px}

/* Cut cream-paper cards on the board */
.chat-panel,.dash618-card,.pass614,.memory-composer,.memory-list-card,.joke612-jar,.bond63-home,
.pair63-studio,.settings-card,.coach613,.speech-bubble,.away615,.care69-wish,.catch610-card,.empty-state{
 background-image:var(--cb722-paper);background-size:256px 256px}
.chat-panel,.dash618-card,.pass614,.memory-composer,.memory-list-card,.joke612-jar,.bond63-home,
.pair63-studio,.settings-card{box-shadow:var(--cb722-thick)}
.coach613,.speech-bubble,.away615,.care69-wish,.catch610-card{box-shadow:var(--cb722-thin),0 10px 16px -8px rgba(70,45,25,.3)}
/* the room box itself is a thick corrugated box */
#homeView .stage{box-shadow:0 4px 0 var(--cb722-edge),0 7px 0 var(--cb722-wall),0 16px 24px -10px rgba(70,45,25,.38)}

/* Speech: a short paper note in the reading font, not a poster headline */
#homeView .stage .speech-bubble{font-family:var(--text,system-ui),system-ui,sans-serif;font-weight:650;letter-spacing:0}

/* Cardboard buttons: grain on the colour, a visible board edge, pressed = pushed into the board */
.minor-btn,.chat62-clear,.quick-row button,[data-quick],.joke612-open,.switch622-hero,.switch622-add,.look613-btn,
.sound-toggle,.care69-btn,.life61-button,.away615-ok,.away615-snap,.w613-more,.trait-strip button,.danger-btn,
.lang-toggle,.top-lock{
 background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;box-shadow:var(--cb722-thin)}
.primary-btn,#chatSend,.w613-go{background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;
 box-shadow:0 2px 0 #b7643a,0 4px 0 #6a3519}
:is(.minor-btn,.chat62-clear,.quick-row button,[data-quick],.joke612-open,.switch622-hero,.switch622-add,.look613-btn,
 .sound-toggle,.care69-btn,.life61-button,.away615-ok,.away615-snap,.w613-more,.trait-strip button,.danger-btn,
 .primary-btn,#chatSend,.w613-go):active{box-shadow:0 1px 0 var(--cb722-edge),0 1px 0 var(--cb722-wall);translate:0 2px}
@media (prefers-reduced-motion:reduce){:is(.minor-btn,.primary-btn,.care69-btn,.quick-row button):active{translate:none}}
/* fields are pressed INTO the board */
#chatInput,#memoryText,.memory-feeling,#chatMode66,#renameField,#backupPass,#webKey613Pass,#webKey613Repeat{
 background-image:var(--cb722-paper);background-size:256px 256px;box-shadow:inset 0 2px 0 rgba(90,60,30,.14)}

/* The green sidebar is a painted board: its cut right edge shows */
body[data-state=home]:not([data-welcome="1"]) .rail{box-shadow:3px 0 0 var(--cb722-edge),6px 0 0 var(--cb722-wall),10px 0 18px -6px rgba(40,25,15,.35)}

/* Page titles are cut from thick card: a light cut face under the letters */
.hero-heading h1{text-shadow:0 2px 0 #e6c99c,0 4px 0 #b38a5c}

/* 7.22 «Пока тебя не было»: never on top of the hero. Wide screens: a letter in the empty chat column;
   narrower screens: a sheet at the bottom of the room, over the care dock, the face stays visible. */
.chat-panel{position:relative}
.chat-panel>.away615{position:absolute;left:18px;right:18px;top:84px;width:auto;translate:none;z-index:6;max-height:calc(100% - 110px);overflow:auto}
#homeView .stage+.away615{position:relative;left:auto;top:auto;translate:none;width:auto;margin:14px 0 4px;z-index:3}
/* one voice at a time: the bubble waits while the story is open */
#homeView .stage:has(+.away615) .speech-bubble,body:has(.chat-panel>.away615) #homeView .stage .speech-bubble{visibility:hidden}

/* 7.23 the hero steps half a pace toward the thing you tapped (translate is independent of the existing transform) */
#homeView .hero-art{transition:translate .45s cubic-bezier(.3,1.3,.5,1)}
#homeView .hero-art.r723-step{translate:var(--r723-step,0) -4px}
@media (prefers-reduced-motion:reduce){#homeView .hero-art{transition:none}#homeView .hero-art.r723-step{translate:none}}
/* the tapped thing answers with a soft cardboard boop */
.r629-prop.r629-tap{border-radius:18px;animation:r723-boop .9s ease-out}
@keyframes r723-boop{0%{box-shadow:0 0 0 0 rgba(255,236,180,.95),0 0 0 0 rgba(212,176,127,.8)}40%{box-shadow:0 0 0 6px rgba(255,236,180,.75),0 0 18px 6px rgba(255,214,120,.45)}100%{box-shadow:0 0 0 14px rgba(255,236,180,0),0 0 24px 10px rgba(255,214,120,0)}}
@media (prefers-reduced-motion:reduce){.r629-prop.r629-tap{animation:none;box-shadow:0 0 0 3px rgba(255,236,180,.9)}}

/* ===== 7.23 audit fixes (independent review of 66 screens, 24.10.2026) ===== */
/* «Образ» stays readable while its menu is open; the menu is a cardboard tag */
.stage.photo617 .look613-btn[aria-expanded="true"],.look613-btn[aria-expanded="true"]{background:#4b3527!important;color:#fff6e5!important;border-color:#2f241d!important}
.look613-pop{background-color:#fdf6e6;background-image:var(--cb722-paper);background-size:256px 256px;border:2px solid #5a412f;box-shadow:var(--cb722-thin),0 14px 22px -10px rgba(70,45,25,.35)}
/* room things: no boxes on the painting — first visit only a soft warm halo, hover a halo too */
.r629-intro720 .r629-prop{box-shadow:none!important;background:radial-gradient(closest-side,rgba(255,232,170,.42),rgba(255,232,170,.14) 60%,rgba(255,232,170,0))}
@media (prefers-reduced-motion:no-preference){.r629-intro720 .r629-prop{animation:r723-halo 1.4s ease-in-out 3!important}}
@keyframes r723-halo{0%,100%{opacity:.35}50%{opacity:1}}
.r629-hit[data-room] .r629-prop:hover{outline:none;background:radial-gradient(closest-side,rgba(255,232,170,.38),rgba(255,232,170,0))}
.r629-hit[data-room] .r629-prop:focus-visible{background:radial-gradient(closest-side,rgba(255,232,170,.38),rgba(255,232,170,0))}
/* coach note: the row beside the × is a small «tip» label, not an empty strip */
#homeView .stage>.note628 .coach613::before{content:"Подсказка";position:absolute;top:16px;left:12px;font:700 11px/1 var(--text,system-ui),sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8a6340}
html[lang="en"] #homeView .stage>.note628 .coach613::before{content:"Tip"}
/* catch result: a smaller card low in the scene, the hero's face stays visible */
.stage .catch610-card{width:min(86%,320px);padding:12px 16px 14px;gap:4px}
.stage .catch610-card strong{font-size:21px}
/* the help section heading is never hidden under the sticky header */
[id]{scroll-margin-top:96px}
/* shop door arrows are little kraft stickers, not app icons */
.hw707-house-button span{background:#e9d2a6;background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;border-color:#6b4a30;color:#4b3527;box-shadow:0 2px 0 #b58b5c,0 3px 0 #6d4c33}
/* settings switches: a cardboard slider in a slot */
.switch-row input[type=checkbox]{background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;box-shadow:inset 0 2px 0 rgba(60,40,25,.25)}
/* «Сценка дня»: dark corrugated board instead of a flat block */
.life61-play{background-image:var(--cb722-grain)!important;background-size:256px 256px!important;background-blend-mode:multiply!important;box-shadow:var(--cb722-thick)}
/* footer: a kraft strip with a perforated tear line */
footer{border-top:0!important;background:linear-gradient(90deg,#9b7148 0 6px,transparent 6px 12px) top/12px 2px repeat-x;padding-top:22px}
/* «Образ» menu above the hero (Lamp's shade used to poke through) and clear of the right-hand buttons on phones */
.look613-pop{z-index:9}
@media (max-width:740px){.look613-pop{max-width:calc(100vw - 120px)}}
.stage :has(>.look613-pop:not([hidden])){z-index:9}
/* counters: digits in the reading font (the display «0» read as a letter «o»), on a small kraft badge */
#memoryCount,.joke612-badge,.joke612-count,#jokeJarCount612{font-family:var(--text,system-ui),system-ui,sans-serif!important;font-variant-numeric:tabular-nums;font-weight:800}
/* catch HUD: score digits in the reading font (the display «0» read as «O»); a dark cardboard tag */
.catch610-hud,.catch610-hud *{font-family:var(--text,system-ui),system-ui,sans-serif!important;font-variant-numeric:tabular-nums}
.catch610-hud{background-color:#4b3527!important;background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;box-shadow:0 2px 0 #b58b5c,0 4px 0 #2f241d}

/* 7.24 the empty chat is a postcard from the hero's room, taped to the board (no more blank column) */
.chat716-hint{position:relative}
.chat716-hint::before{content:"";display:block;width:168px;height:116px;margin:0 auto 16px;border:7px solid #fdf6e6;border-bottom-width:16px;border-radius:3px;
 box-shadow:0 2px 0 var(--cb722-edge),0 3px 0 var(--cb722-wall),0 12px 16px -8px rgba(70,45,25,.35);rotate:-3deg;background:#e8d6b4 center/cover no-repeat}
.chat716-hint::after{content:"";position:absolute;top:2px;left:50%;width:58px;height:17px;translate:-50% 0;rotate:5deg;background:rgba(238,222,186,.88);
 box-shadow:0 1px 2px rgba(60,40,20,.18);clip-path:polygon(3% 0,97% 4%,100% 50%,96% 100%,2% 96%,0 45%)}
:root[data-persona=khvat] .chat716-hint::before{background-image:url(/assets/rooms713/khvat.webp?v=7.13.0)}
:root[data-persona=moros] .chat716-hint::before{background-image:url(/assets/rooms713/moros.webp?v=7.13.0)}
:root[data-persona=pikabu] .chat716-hint::before{background-image:url(/assets/rooms713/pikabu.webp?v=7.13.0)}
:root[data-persona=tik] .chat716-hint::before{background-image:url(/assets/rooms713/tik.webp?v=7.13.0)}
:root[data-persona=lamp] .chat716-hint::before{background-image:url(/assets/rooms713/lamp.webp?v=7.13.0)}
:root[data-persona=flip] .chat716-hint::before{background-image:url(/assets/rooms713/flip.webp?v=7.13.0)}
:root[data-persona=grum] .chat716-hint::before{background-image:url(/assets/rooms713/grum.webp?v=7.13.0)}
/* 7.24 the remaining memory cards are cut card too; the «what do you notice» box is a kraft tray */
.life61-grid>article{background-image:var(--cb722-paper);background-size:256px 256px;box-shadow:var(--cb722-thin),0 10px 16px -8px rgba(70,45,25,.28)}
.trait-strip{background-color:rgba(226,203,166,.35);background-image:var(--cb722-kraft);background-size:256px 256px;border-style:solid!important;border-color:rgba(122,85,55,.45)!important;box-shadow:inset 0 2px 0 rgba(90,60,30,.12)}
/* 7.24 Friends: the «coming soon» duel is a pinned card with a rubber «СКОРО» stamp */
#friendsView .friends-poster{position:relative;background-image:var(--cb722-paper);background-size:256px 256px;box-shadow:var(--cb722-thin),0 10px 16px -8px rgba(70,45,25,.28)}
#friendsView .friends-poster::after{content:"СКОРО";position:absolute;right:28px;top:50%;translate:0 -50%;rotate:-9deg;padding:6px 14px;border:3px solid rgba(196,72,48,.8);border-radius:8px;
 color:rgba(196,72,48,.85);font:800 22px/1 var(--display,system-ui),sans-serif;letter-spacing:.12em;mix-blend-mode:multiply;pointer-events:none}
html[lang="en"] #friendsView .friends-poster::after{content:"SOON"}
@media (max-width:740px){#friendsView .friends-poster::after{top:auto;bottom:16px;translate:none;font-size:16px;right:16px}}

/* ===== 7.26 the bottom of the street page is cardboard too ===== */
/* final call: the owner's painted street (already in cache), the question on a hanging cardboard sign */
html body .w613-final::before{background-image:linear-gradient(180deg,rgba(255,246,228,.10),rgba(255,246,228,.28)),url(/assets/street/street-plate713.webp?v=7.28.0)!important;background-size:cover!important;background-position:center 62%!important;filter:none!important;opacity:1!important}
.w613-final h2{position:relative;padding:14px 26px 18px;border:3px solid #5a412f;border-radius:14px;background-color:#fdf3df;background-image:var(--cb722-paper);background-size:256px 256px;
 box-shadow:0 3px 0 var(--cb722-edge),0 6px 0 var(--cb722-wall),0 16px 22px -10px rgba(50,30,15,.45);rotate:-1deg}
.w613-final h2::before,.w613-final h2::after{content:"";position:absolute;top:-30px;width:3px;height:30px;background:#6b4a30}
.w613-final h2::before{left:22%}.w613-final h2::after{right:22%}
/* promises: four cut cards pinned with a brass brad */
.w613-promise li{position:relative;border-top:0!important;padding:18px 18px 16px!important;border-radius:14px;background-color:#fdf6e6;background-image:var(--cb722-paper);background-size:256px 256px;box-shadow:var(--cb722-thin),0 10px 16px -8px rgba(70,45,25,.28)}
.w613-promise li::before{content:"";position:absolute;top:8px;right:10px;left:auto;bottom:auto;margin:0;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f6d27a,#b8862e 70%);box-shadow:0 1px 1px rgba(0,0,0,.35)}
/* «what to do» demo cards: cut card with a board edge */
.w613-talk{box-shadow:var(--cb722-thin),0 12px 18px -10px rgba(70,45,25,.3)!important}

/* ===== 7.28 ===== */
/* folded fine print: a small kraft tag */
details.fold728{margin:8px 0 0}
details.fold728>summary{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;cursor:pointer;list-style:none;
 font:600 12.5px/1.2 var(--text,system-ui),sans-serif;color:#6b4a30;background:#efe0c2;background-image:var(--cb722-grain);background-size:256px 256px;background-blend-mode:multiply;box-shadow:var(--cb722-thin)}
details.fold728>summary::-webkit-details-marker{display:none}
details.fold728>summary:focus-visible{outline:2px solid #4b3527;outline-offset:2px}
details.fold728[open]>summary{margin-bottom:6px}
/* Friends: the «СКОРО» stamp says it — the second «В разработке» chip goes */
#friendsView .friends-poster .disabled-chip{display:none}
/* passport: a kraft card, the hero photo taped on */
.pass614{background-color:#fbf1dc}
.pass614-art{border:6px solid #fdf6e6;border-bottom-width:14px;box-shadow:0 2px 0 var(--cb722-edge),0 3px 0 var(--cb722-wall),0 12px 16px -8px rgba(70,45,25,.35);rotate:-1.5deg}
/* snapshot dialog: a cardboard sheet */
dialog.snap625{background-color:#fbf1dc;background-image:var(--cb722-paper);background-size:256px 256px;border:3px solid #5a412f;box-shadow:var(--cb722-thick)}

/* ===== 7.30 final polish (independent 88-screen review) ===== */
/* the mood pill next to the room title — on every screen, not only phones */
#homeView .hero-heading h1 .mood728{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:3px 10px 3px 8px;border-radius:999px;vertical-align:middle;
 font:700 13px/1.2 var(--text,system-ui),sans-serif;letter-spacing:0;text-shadow:none;color:#4b3527;background:#f3e3c3;box-shadow:0 1px 0 #d4b07f,0 2px 0 #8a6340;white-space:nowrap}
#homeView .hero-heading h1 .mood728 i{display:block;width:34px;height:6px;border-radius:9px;background:#e6d2ae;overflow:hidden}
#homeView .hero-heading h1 .mood728 i b{display:block;height:100%;width:calc(var(--w,.2)*100%);min-width:4px;border-radius:9px;background:linear-gradient(90deg,#8fb46a,#e07a3e)}
#homeView .hero-heading h1 .mood728[hidden]{display:none}
/* catch: the result is a small sign at the top of the room, never over the hero; nothing else talks meanwhile */
#homeView .stage .catch610-card{top:12px!important;bottom:auto!important;transform:translateX(-50%)!important}
#homeView .stage.catch-done .stage-top,#homeView .stage.catch-done .look613-pop{visibility:hidden}
#homeView .stage:is(.catch-on,.catch-done) .speech-bubble{display:none!important}
/* Friends: the stamp keeps clear of the text, the cards breathe, the floating «Репетиция дома» label goes */
@media (min-width:741px){#friendsView .friends-poster>p,#friendsView .friends-poster>h2{padding-right:170px}}
#friendsView .pair63-studio{margin-bottom:20px}
#friendsView .pair63-pill{display:none}
/* phone neighbour chips: a soft fade says «there is more to the right» */
@media (max-width:740px){#homeView .switch622:has(.switch622-hero){-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}}
/* nothing hides under the phone bottom nav */
@media (max-width:740px){main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}}
/* anchors land well below the sticky header */
[id]{scroll-margin-top:120px}
/* Memory: a compact empty state */
.memory-list-card .empty-state{min-height:0!important;padding:28px 20px!important}
/* shop door arrows only appear when you point at a shop (the whole shop is the door) */
@media (hover:hover){.hw707-world[data-plate713="1"]~.hw707-map .hw707-house-button span,.st619:has(.hw707-world[data-plate713="1"]) .hw707-house-button:not(:hover):not(:focus-visible) span{opacity:0}}
#homeView .stage.catch-done .look613-btn{visibility:hidden}

/* ===== 7.31 ===== */
/* Settings: the reset lives in its own «Осторожно» corner, apart from the backup */
.danger731{margin-top:22px;padding:14px 16px;border:2px dashed rgba(178,72,52,.45);border-radius:12px;background:rgba(242,214,200,.35)}
.danger731 h3{margin:0 0 8px;font:700 13px/1.2 var(--text,system-ui),sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#a2452f}
.settings-card .fineprint{margin-top:10px}
.web613-key button{margin-top:12px}

/* ===== 7.32 ===== */
/* Memory: the empty list is a short note, not a tall dashed hole; every strength shows a sliver from day one */
.memory-list-card .memory-list>.empty-state{flex:0 0 auto!important;min-height:0!important;padding:22px 18px!important}
.pass614-fill{min-width:7%}
/* chat: the send button is fully orange when there is something to send, quiet when the field is empty */
.chat-form #chatSend{background-color:#d96b3b!important;color:#fff8ee}
.chat-form:has(#chatInput:placeholder-shown) #chatSend{background-color:#e9b99c!important}

/* ===== 7.33 ===== */
/* the tapped thing wobbles a little, like a cardboard cut-out flicked with a finger */
.r629-prop.r629-tap{animation:r723-boop .9s ease-out,r733-wobble .6s ease-in-out}
@keyframes r733-wobble{0%,100%{rotate:0deg}25%{rotate:-2.5deg}60%{rotate:2deg}85%{rotate:-.8deg}}
@media (prefers-reduced-motion:reduce){.r629-prop.r629-tap{animation:none}}
/* «Дуэль шуток» — the poster is now a working duel */
#friendsView .friends-poster.duel733::after{content:none}
#friendsView .friends-poster.duel733>p,#friendsView .friends-poster.duel733>h2{padding-right:0}
.duel733-head h2{margin:4px 0 6px}
.duel733-lead{color:var(--ink-2);max-width:60ch}
.duel733-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.duel733-sel{min-height:44px;padding:6px 12px;border-radius:999px;border:2px solid #6b4a30;background:#fdf6e6 var(--cb722-paper) 0 0/256px 256px;font:600 15px/1.2 var(--text,system-ui),sans-serif;color:#4b3527}
.duel733-vs{font:800 18px/1 var(--display,system-ui),sans-serif;color:#a2452f;transform:rotate(-8deg)}
.duel733-stage{margin-top:18px;padding:16px;border-radius:16px;background:rgba(226,203,166,.35) var(--cb722-kraft) 0 0/256px 256px;box-shadow:inset 0 2px 0 rgba(90,60,30,.12)}
.duel733-row{display:grid;grid-template-columns:1fr 40px 1fr;gap:10px;align-items:start}
.duel733-mid{align-self:center;height:60%;border-left:3px dashed rgba(107,74,48,.35);justify-self:center}
.duel733-side{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;transition:transform .25s}
.duel733-art{width:min(150px,36vw);aspect-ratio:360/380}
.duel733-art svg{width:100%;height:100%}
.duel733-name{font:800 16px/1.1 var(--display,system-ui),sans-serif}
.duel733-say{min-height:3.2em;margin:0;padding:8px 12px;border-radius:12px;background:#fff7e6;border:2px solid #4e392b;box-shadow:var(--cb722-thin);font-size:14px;line-height:1.35;max-width:32ch}
.duel733-say:empty{visibility:hidden}
.duel733-side.is-talking{transform:translateY(-4px)}
.duel733-side.is-point .duel733-art{animation:duel733-pop .6s ease-out}
.duel733-side.is-winner .duel733-name::before{content:"🏆 "}
@keyframes duel733-pop{0%{transform:scale(1)}40%{transform:scale(1.08) rotate(-3deg)}100%{transform:scale(1)}}
.duel733-status{margin:12px 0 6px;text-align:center;font-weight:700;color:#6b4a30}
.duel733-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.duel733-soon{display:block;margin-top:12px;color:var(--ink-3)}
@media (prefers-reduced-motion:reduce){.duel733-side,.duel733-side.is-point .duel733-art{transition:none;animation:none}}
@media (max-width:740px){.duel733-row{grid-template-columns:1fr 16px 1fr}.duel733-say{font-size:13px}}
html #friendsView .friends-poster.duel733::after,html[lang="en"] #friendsView .friends-poster.duel733::after{content:none!important;display:none}
#friendsView>.friends-poster.duel733{order:-1;margin-bottom:20px}
.duel733-pick .duel733-sel{width:auto!important;flex:1 1 160px;max-width:260px}
.duel733-pick .duel733-go{flex:0 0 auto}
#friendsView>.hero-heading{order:-2}
.duel733-stage{box-sizing:border-box;max-width:100%}
.duel733-row{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}
@media (max-width:740px){.duel733-row{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.duel733-stage{padding:12px 8px}}
/* 7.33 review fixes */
/* street name tags: a clean cut-card tag, readable (no heavy display outline) */
#w613Row .w613-name{font-family:var(--text,system-ui),system-ui,sans-serif!important;font-weight:800!important;letter-spacing:.01em;text-shadow:none!important;-webkit-text-stroke:0!important}
/* the green sidebar is painted board, not a flat gradient */
body[data-state=home]:not([data-welcome="1"]) .rail{background-image:var(--cb722-grain),linear-gradient(180deg,#2c5a45,#1f4434)!important;background-size:256px 256px,auto!important;background-blend-mode:multiply,normal!important}
/* the tip's × lives inside the card */
html body .coach613-x{margin:0!important}
#homeView .stage>.note628 .coach613-x,#homeView .coach613 .coach613-x{top:6px!important;right:6px!important}
/* nothing from the room menu during the game */
#homeView .stage:is(.catch-on,.catch-done) .look613-btn{visibility:hidden}
/* Memory: the list card is as tall as its content */
.mem613,.memory-grid,#memoryView .two-col{align-items:start}
/* desktop room: the neighbours note steps aside so the room fits a 900 px screen */
@media (min-width:741px){#homeView .hero-heading .switch622-note{display:none}#homeView .hero-heading.two{padding-bottom:6px}}
/* file picker button is a cardboard button too */
input[type=file]::file-selector-button{margin-right:10px;padding:8px 14px;border:2px solid #6b4a30;border-radius:999px;background:#f3e3c3;color:#4b3527;font:600 13px/1.2 var(--text,system-ui),sans-serif;box-shadow:0 2px 0 #b58b5c;cursor:pointer}
/* 7.34 keepsakes are cardboard cut-outs now (white paper border + kraft edge baked in); no extra glossy shadow */
.art614{filter:none!important}
/* 7.34 header puppets: your hero on the rug of the header room picture (Memory, Settings); two of them in Friends */
.hd734{display:none}
@media (min-width:701px){
  #memoryView>.hero-heading,#friendsView>.hero-heading,#settingsView>.hero-heading{position:relative}
  .hd734{display:flex;align-items:flex-end;justify-content:center;gap:2px;position:absolute;z-index:0;pointer-events:none;
    right:calc(min(46%,560px)*.2);bottom:0;width:calc(min(46%,560px)*.42);height:84%}
  .hd734.hd734-two{right:calc(min(46%,560px)*.1);width:calc(min(46%,560px)*.66);height:78%;gap:10px}
  .hd734-p{display:block;height:100%;aspect-ratio:360/380;filter:drop-shadow(0 6px 4px rgba(60,35,10,.22))}
  .hd734-p svg{display:block;width:100%;height:100%}
}
/* 7.35 first visit on a tablet: the (still hidden) nav row no longer leaves an empty band above the street */
@media (max-width:1100px){body[data-welcome="1"] .rail .nav-list{display:none!important}}
