:root {
  --tycoon-ink: #23362a;
  --tycoon-forest: #345f3b;
  --tycoon-leaf: #6f9d4f;
  --tycoon-lime: #a6c56e;
  --tycoon-cream: #fff9e9;
  --tycoon-paper: #f8f1dc;
  --tycoon-gold: #e6b64e;
  --tycoon-orange: #d9783b;
  --tycoon-red: #bd5546;
  --tycoon-shadow: 0 22px 60px rgba(35, 54, 42, .18);
}

.tycoon-entry-page,
.tycoon-auth-page,
.tycoon-admin-page,
.tycoon-game-page {
  margin: 0;
  min-height: 100vh;
  color: var(--tycoon-ink);
  font-family: Inter, ui-rounded, "Segoe UI", sans-serif;
  background: #eef0df;
}
.tycoon-entry-page *, .tycoon-auth-page *, .tycoon-admin-page *, .tycoon-game-page * { box-sizing: border-box; }
.tycoon-entry-page h1, .tycoon-entry-page strong,
.tycoon-auth-page h1, .tycoon-admin-page h1, .tycoon-admin-page h2,
.tycoon-game-page h1, .tycoon-game-page h2, .tycoon-game-page h3 { font-family: "Fraunces", Georgia, serif; }
button, input, select { font: inherit; }

/* Auswahl und Anmeldung */
.tycoon-choice-shell { position: relative; min-height: 100vh; padding: 54px clamp(24px, 6vw, 96px); overflow: hidden; background: radial-gradient(circle at 15% 0%, #fff8cf 0, transparent 32%), linear-gradient(145deg, #eef3db, #dbe8d3 58%, #cfdfc5); }
.tycoon-choice-shell::before { content: ""; position: absolute; inset: auto -10% -33% -10%; height: 65%; border-radius: 50% 50% 0 0; background: #b7cf8d; opacity: .55; transform: rotate(-2deg); }
.tycoon-back-link { position: relative; z-index: 3; display: inline-flex; color: #446046; font-weight: 800; text-decoration: none; }
.tycoon-back-link--light { color: #fff9e8; }
.tycoon-choice-heading { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; max-width: 1280px; margin: 70px auto 30px; }
.tycoon-choice-heading p, .tycoon-kicker { margin: 0 0 4px; color: #6d865d; font-size: .73rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.tycoon-choice-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1; }
.tycoon-brand-seal { display: grid; flex: 0 0 auto; place-items: center; width: 60px; height: 60px; border: 4px solid #f5d676; border-radius: 45% 55% 50% 50%; background: linear-gradient(145deg, #587f43, #2e5b38); box-shadow: inset 0 0 0 2px rgba(255,255,255,.25), 0 10px 28px rgba(37, 73, 43, .26); color: #fff5c5; font: 800 2rem "Fraunces", serif; transform: rotate(-3deg); }
.tycoon-choice-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 24px; max-width: 1280px; margin: 0 auto; }
.tycoon-choice-card { position: relative; min-height: 510px; overflow: hidden; border-radius: 36px; box-shadow: var(--tycoon-shadow); color: white; text-decoration: none; transform: translateY(22px); opacity: 0; animation: tycoonChoiceIn .7s cubic-bezier(.2,.8,.2,1) forwards; }
.tycoon-choice-card:nth-child(2) { animation-delay: .12s; }
.tycoon-choice-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(23, 43, 26, .18) 55%, rgba(20, 34, 23, .9)); }
.tycoon-choice-card--game .tycoon-choice-card__picture { position: absolute; inset: 0; background: url('/tycoon/farm-world.png') center / cover; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.tycoon-choice-card:hover .tycoon-choice-card__picture { transform: scale(1.035); }
.tycoon-choice-card__content { position: absolute; z-index: 2; inset: auto 0 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 42px; }
.tycoon-choice-card__content small { color: #f1d985; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tycoon-choice-card__content strong { max-width: 650px; font-size: clamp(2rem, 4vw, 4rem); line-height: .96; }
.tycoon-choice-card__content > span { display: inline-flex; align-items: center; gap: 16px; margin-top: 12px; padding: 12px 18px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(255,255,255,.14); font-weight: 800; backdrop-filter: blur(10px); }
.tycoon-choice-card__content b { font-size: 1.4rem; }
.tycoon-choice-card--admin { background: linear-gradient(150deg, #485b4b, #263c31); }
.tycoon-choice-card--admin::before { content: ""; position: absolute; width: 360px; height: 360px; top: -80px; right: -110px; border: 70px solid rgba(238, 205, 116, .07); border-radius: 50%; }
.tycoon-choice-card--admin .tycoon-choice-card__content strong { font-size: clamp(2rem, 3vw, 3.2rem); }
.tycoon-choice-card__admin-art { position: absolute; inset: 50px 40px auto; height: 250px; }
.tycoon-admin-building { position: absolute; left: 12%; bottom: 0; width: 68%; height: 160px; border-radius: 8px 8px 0 0; background: #d9c99c; box-shadow: inset 0 -16px rgba(73,82,65,.12); }
.tycoon-admin-building::before { content: ""; position: absolute; left: -10%; top: -38px; width: 120%; height: 48px; clip-path: polygon(50% 0,100% 78%,95% 100%,5% 100%,0 78%); background: #d9af59; }
.tycoon-admin-building::after { content: "▯  ▯  ▯"; position: absolute; inset: 42px 0 0; color: #60715c; text-align: center; font-size: 2.7rem; letter-spacing: .2em; }
.tycoon-admin-tablet { position: absolute; right: 4%; bottom: -18px; display: grid; place-items: center; width: 105px; height: 145px; border: 8px solid #283d31; border-radius: 17px; background: #f7f0d9; color: #5d8a55; font: normal 3.8rem "DM Sans"; box-shadow: 0 18px 32px rgba(16,29,20,.35); transform: rotate(8deg); }
@keyframes tycoonChoiceIn { to { opacity: 1; transform: translateY(0); } }

.tycoon-auth-shell { min-height: 100vh; padding: 34px clamp(18px, 4vw, 64px); background: linear-gradient(110deg, rgba(27,55,34,.76), rgba(43,74,44,.26)), url('/tycoon/farm-world.png') center / cover fixed; }
.tycoon-auth-card { display: grid; grid-template-columns: 1.1fr .9fr; width: min(1050px, 100%); min-height: 620px; margin: 38px auto 0; overflow: hidden; border-radius: 34px; background: var(--tycoon-cream); box-shadow: 0 35px 100px rgba(16,34,22,.38); animation: tycoonCardRise .6s ease both; }
.tycoon-auth-card__art { position: relative; overflow: hidden; background: linear-gradient(#8bd3df 0 45%, #9cbd66 45% 100%); }
.tycoon-auth-card__art::after { content: ""; position: absolute; inset: 0; background: url('/tycoon/farm-world.png') 24% center / auto 100%; }
.tycoon-auth-card__form { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 6vw, 78px); }
.tycoon-auth-card__form h1, .tycoon-admin-login-card h1 { margin: 12px 0; font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: .95; }
.tycoon-auth-card__form > p:not(.tycoon-kicker), .tycoon-admin-login-card > p:not(.tycoon-kicker) { color: #6d756b; line-height: 1.65; }
.tycoon-auth-card__form > small { margin-top: 22px; color: #8b8f82; line-height: 1.5; }
.tycoon-form { display: grid; gap: 16px; margin-top: 18px; }
.tycoon-form label, .tycoon-admin-grid-form label, .tycoon-admin-inline-form label, .tycoon-danger-zone label, .tycoon-settings-form label { display: grid; gap: 7px; color: #526153; font-size: .8rem; font-weight: 800; }
.tycoon-form input, .tycoon-admin-grid-form input, .tycoon-admin-inline-form input, .tycoon-danger-zone input, .tycoon-settings-form select { width: 100%; min-height: 48px; border: 1px solid #d7dcc9; border-radius: 13px; outline: 0; background: #fffdf5; color: var(--tycoon-ink); padding: 0 14px; transition: border .2s, box-shadow .2s; }
.tycoon-form input:focus, .tycoon-admin-grid-form input:focus { border-color: #76a15f; box-shadow: 0 0 0 4px rgba(118,161,95,.14); }
.tycoon-primary-button { min-height: 52px; border: 0; border-radius: 15px; background: linear-gradient(135deg, #739c55, #3f733f); box-shadow: 0 11px 24px rgba(58,103,58,.23); color: white; font-weight: 800; cursor: pointer; }
.tycoon-primary-button span { margin-left: 12px; font-size: 1.25rem; }
.tycoon-primary-button--dark { background: #2d4234; }
.tycoon-form-message { margin: 12px 0; padding: 12px 15px; border-radius: 12px; font-size: .88rem; font-weight: 700; }
.tycoon-form-message--error { background: #f7dfd7; color: #8b3e33; }
.tycoon-form-message--success { background: #dfedd8; color: #315f36; }
@keyframes tycoonCardRise { from { opacity: 0; transform: translateY(20px) scale(.985); } }

.tycoon-auth-shell--admin { background: radial-gradient(circle at 80% 0%, #e3d9b7, transparent 35%), #e8eadc; }
.tycoon-admin-login-card { width: min(470px, 100%); margin: 60px auto 0; padding: 54px; border: 1px solid rgba(63,82,63,.13); border-radius: 28px; background: rgba(255,253,245,.94); box-shadow: var(--tycoon-shadow); }
.tycoon-admin-login-card__icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: #334b3a; color: #f1d486; font-size: 2rem; }

/* Admin */
.tycoon-admin-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 100vh; background: #f3f1e8; }
.tycoon-admin-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 26px 18px; background: #263b30; color: white; }
.tycoon-admin-brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.tycoon-admin-brand > span { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid #e7ca73; border-radius: 14px; background: #426044; color: #f8dda0; font: 800 1.5rem "Fraunces"; }
.tycoon-admin-brand strong { font-size: .87rem; line-height: 1.15; }
.tycoon-admin-sidebar nav { display: grid; gap: 7px; margin-top: 52px; }
.tycoon-admin-sidebar nav a { display: flex; align-items: center; gap: 11px; padding: 12px; border-radius: 11px; color: #bfcfc0; font-size: .84rem; font-weight: 700; text-decoration: none; }
.tycoon-admin-sidebar nav a.is-active { background: rgba(255,255,255,.1); color: #fff; }
.tycoon-admin-sidebar > form { margin-top: auto; }
.tycoon-admin-sidebar > form button { width: 100%; padding: 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: transparent; color: #dbe7db; cursor: pointer; }
.tycoon-admin-main { min-width: 0; padding: 32px clamp(20px, 4vw, 58px) 60px; }
.tycoon-admin-header { display: flex; align-items: center; justify-content: space-between; }
.tycoon-admin-header p { margin: 0; color: #7f8a7a; font-size: .73rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tycoon-admin-header h1 { margin: 3px 0 0; font-size: 2.3rem; }
.tycoon-admin-status { display: flex; align-items: center; gap: 8px; font-size: .76rem; font-weight: 700; }
.tycoon-admin-status i { width: 8px; height: 8px; border-radius: 50%; background: #63a864; box-shadow: 0 0 0 5px rgba(99,168,100,.14); }
.tycoon-admin-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 26px 0; }
.tycoon-admin-overview article { padding: 19px 22px; border-left: 3px solid #77975d; background: #fffef8; box-shadow: 0 8px 24px rgba(45,60,46,.06); }
.tycoon-admin-overview span { display: block; color: #7b8276; font-size: .75rem; }
.tycoon-admin-overview strong { font: 700 1.9rem "Fraunces"; }
.tycoon-admin-create { margin-bottom: 20px; border: 1px solid #dfe2d5; background: #fbfaf5; }
.tycoon-admin-create summary, .tycoon-editor-tabs details > summary { display: flex; align-items: center; gap: 9px; padding: 15px 18px; font-weight: 800; cursor: pointer; list-style: none; }
.tycoon-admin-create summary span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: #dfead5; color: #42633e; }
.tycoon-admin-grid-form { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: end; gap: 12px; padding: 0 18px 18px; }
.tycoon-admin-action, .tycoon-admin-inline-form button, .tycoon-admin-inventory button, .tycoon-admin-production-list button { min-height: 44px; border: 0; border-radius: 10px; background: #456b47; color: white; padding: 0 16px; font-weight: 800; cursor: pointer; }
.tycoon-admin-workspace { display: grid; grid-template-columns: 300px minmax(0,1fr); min-height: 620px; overflow: hidden; border: 1px solid #dfe1d6; background: #fffef9; box-shadow: 0 18px 50px rgba(42,57,43,.08); }
.tycoon-player-list { border-right: 1px solid #e2e4da; background: #f8f7f1; }
.tycoon-admin-search { display: flex; gap: 7px; padding: 14px; border-bottom: 1px solid #e2e4da; }
.tycoon-admin-search input { min-width: 0; flex: 1; border: 1px solid #d9ddd2; border-radius: 9px; padding: 9px 10px; }
.tycoon-admin-search button { border: 0; border-radius: 9px; background: #e5eadc; color: #40533f; font-weight: 800; }
.tycoon-player-list__scroll { max-height: 720px; overflow: auto; }
.tycoon-player-row { display: grid; grid-template-columns: 38px 1fr 8px; align-items: center; gap: 10px; padding: 13px 14px; border-bottom: 1px solid #e7e8df; color: var(--tycoon-ink); text-decoration: none; }
.tycoon-player-row:hover, .tycoon-player-row.is-selected { background: #eaf0e2; }
.tycoon-player-row strong, .tycoon-player-row small { display: block; }
.tycoon-player-row strong { font-size: .85rem; }
.tycoon-player-row small { margin-top: 2px; color: #7d8579; font-size: .7rem; }
.tycoon-player-row > i { width: 7px; height: 7px; border-radius: 50%; background: #bd655b; }
.tycoon-player-row > i.is-online { background: #67a567; }
.tycoon-player-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 13px; background: #dce8cf; color: #496444; font: 800 1rem "Fraunces"; }
.tycoon-player-avatar--large { width: 60px; height: 60px; border-radius: 20px; font-size: 1.7rem; }
.tycoon-player-editor { min-width: 0; padding: 22px; }
.tycoon-admin-welcome { display: grid; place-items: center; align-content: center; min-height: 500px; text-align: center; color: #80897e; }
.tycoon-admin-welcome > span { font-size: 4rem; }
.tycoon-admin-welcome h2 { margin: 10px 0 0; color: #405043; }
.tycoon-player-editor__header { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 14px; padding-bottom: 20px; }
.tycoon-player-editor__header p, .tycoon-player-editor__header h2 { margin: 0; }
.tycoon-player-editor__header p { color: #7f887c; font-size: .73rem; }
.tycoon-player-editor__header h2 { margin: 2px 0; }
.tycoon-player-editor__header small { color: #858b83; font-size: .7rem; }
.tycoon-account-state { padding: 6px 10px; border-radius: 999px; background: #f2ddd8; color: #9b4c41; font-size: .7rem; font-weight: 800; }
.tycoon-account-state.is-active { background: #dfedda; color: #417341; }
.tycoon-editor-tabs { display: grid; gap: 9px; }
.tycoon-editor-tabs details { border: 1px solid #e0e3d8; background: #fbfaf5; }
.tycoon-editor-tabs details > summary { justify-content: space-between; }
.tycoon-editor-tabs summary span { color: #858b7f; font-size: .72rem; font-weight: 600; }
.tycoon-admin-grid-form--stats { grid-template-columns: repeat(3, 1fr); }
.tycoon-admin-check { align-self: center; display: flex !important; align-items: center; }
.tycoon-admin-check input { width: 18px; min-height: 18px; }
.tycoon-admin-inline-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; padding: 4px 18px 18px; }
.tycoon-admin-inventory { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; padding: 0 18px 18px; }
.tycoon-admin-inventory form { display: grid; grid-template-columns: 1fr 76px auto; align-items: center; gap: 8px; padding: 9px; background: white; }
.tycoon-admin-inventory span { display: flex; align-items: center; gap: 8px; font-size: .78rem; }
.tycoon-admin-inventory b { font-size: 1.25rem; }
.tycoon-admin-inventory input { width: 100%; border: 1px solid #d9ddd2; padding: 8px; }
.tycoon-admin-inventory button { min-height: 34px; font-size: .7rem; }
.tycoon-admin-progress-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 18px 18px; }
.tycoon-admin-progress-grid article { padding: 15px; background: #eef2e7; }
.tycoon-admin-progress-grid span, .tycoon-admin-progress-grid small, .tycoon-admin-progress-grid strong { display: block; }
.tycoon-admin-progress-grid span { color: #7d8678; font-size: .7rem; }
.tycoon-admin-progress-grid strong { margin: 5px 0; }
.tycoon-admin-production-list, .tycoon-admin-activity { padding: 0 18px 18px; }
.tycoon-admin-production-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid #e5e6de; }
.tycoon-admin-production-list article > span { display: grid; grid-template-columns: 34px 1fr; }
.tycoon-admin-production-list b { grid-row: 1 / 3; font-size: 1.3rem; }
.tycoon-admin-production-list small { color: #888f84; }
.tycoon-admin-activity article { display: flex; gap: 10px; padding: 8px 0; }
.tycoon-admin-activity i { width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: #789a62; }
.tycoon-admin-activity strong, .tycoon-admin-activity small { display: block; }
.tycoon-admin-activity small { color: #888f84; }
.tycoon-danger-zone > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 18px 18px; }
.tycoon-danger-zone form { padding: 13px; background: #fff6f2; }
.tycoon-danger-zone button { margin-top: 10px; min-height: 40px; border: 0; border-radius: 8px; background: #aa4e44; color: white; padding: 0 12px; font-weight: 800; }

/* Loading und Spielrahmen */
.tycoon-game-page { overflow: hidden; background: #bdd58d; }
.tycoon-loading { position: fixed; z-index: 999; inset: 0; display: grid; place-items: center; overflow: hidden; background: url('/tycoon/farm-world.png') center / cover; color: white; transition: opacity .55s ease, visibility .55s ease; }
.tycoon-loading.is-done { opacity: 0; visibility: hidden; }
.tycoon-loading__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23,46,30,.1), rgba(20,42,27,.78)); }
.tycoon-loading__content { position: relative; width: min(620px, calc(100% - 36px)); text-align: center; text-shadow: 0 2px 18px rgba(23,39,25,.35); }
.tycoon-loading__seal { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 18px; border: 4px solid #f5da84; border-radius: 28px; background: rgba(46,83,48,.88); box-shadow: inset 0 0 0 2px rgba(255,255,255,.25); color: #ffe9a2; font: 800 2.8rem "Fraunces"; transform: rotate(-4deg); }
.tycoon-loading p { margin: 0; color: #f7df93; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.tycoon-loading h1 { margin: 7px 0 34px; font-size: clamp(2.5rem, 6vw, 5.2rem); line-height: .9; }
.tycoon-loading__track { height: 13px; padding: 3px; border-radius: 999px; background: rgba(27,49,31,.6); box-shadow: inset 0 1px 4px rgba(0,0,0,.3); }
.tycoon-loading__track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #edb94d, #ffe69a); box-shadow: 0 0 18px #f8d77b; transition: width .25s ease; }
.tycoon-loading__content > span:not(.tycoon-loading__seal) { display: block; margin-top: 7px; font-size: .72rem; font-weight: 800; }
.tycoon-loading blockquote { max-width: 500px; margin: 28px auto 0; color: #fff9df; font-size: .92rem; line-height: 1.55; }
.tycoon-game { height: 100vh; overflow: hidden; background: #d9e5b4; }
.tycoon-hud { position: fixed; z-index: 50; top: 0; left: 0; right: 0; display: flex; align-items: center; gap: clamp(8px, 1.5vw, 22px); height: 78px; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.6); background: rgba(255,251,236,.9); box-shadow: 0 8px 30px rgba(39,58,38,.12); backdrop-filter: blur(20px); }
.tycoon-hud__brand { display: flex; align-items: center; gap: 9px; min-width: 180px; color: #315033; text-decoration: none; }
.tycoon-hud__brand > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: #3e6d42; box-shadow: inset 0 0 0 3px #dfbf5d; color: #ffe294; font: 800 1.45rem "Fraunces"; }
.tycoon-hud__brand strong { font: 700 .76rem/1.1 "Fraunces"; }
.tycoon-player-chip { display: flex; align-items: center; gap: 9px; }
.tycoon-player-chip > span { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 50%; background-color: #dbe9bc; color: #41623b; font: 800 1rem "Fraunces"; }
.tycoon-player-chip strong, .tycoon-player-chip small { display: block; white-space: nowrap; }
.tycoon-player-chip strong { font-size: .78rem; }
.tycoon-player-chip small { color: #798371; font-size: .64rem; }
.tycoon-xp { flex: 1; max-width: 300px; }
.tycoon-xp > span { display: block; margin-bottom: 4px; color: #687462; font-size: .6rem; text-align: center; }
.tycoon-xp > i { display: block; height: 8px; border-radius: 999px; background: #dce2ca; overflow: hidden; }
.tycoon-xp > i b { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #719f54, #aed068); transition: width .5s ease; }
.tycoon-currency { display: flex; align-items: center; gap: 7px; min-width: 82px; padding: 8px 12px 8px 8px; border-radius: 999px; background: white; box-shadow: inset 0 0 0 1px #e8e6d8; }
.tycoon-currency span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #e6b64e; color: #fff2b6; box-shadow: inset 0 0 0 3px #c89027; }
.tycoon-currency--gems span { border-radius: 8px; background: #63b9bc; box-shadow: inset 0 0 0 3px #348b91; }
.tycoon-currency strong { font-size: .82rem; }
.tycoon-hud__actions { display: flex; gap: 6px; margin-left: auto; }
.tycoon-hud__actions button { position: relative; display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #e2e5d7; border-radius: 13px; background: white; color: #476046; font-weight: 900; cursor: pointer; }
.tycoon-hud__actions i { position: absolute; top: -4px; right: -4px; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #d86648; color: white; font-size: .55rem; }
.tycoon-game-nav { position: fixed; z-index: 40; top: 78px; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 3px; width: 96px; padding: 14px 9px; background: rgba(35,58,43,.95); box-shadow: 8px 0 24px rgba(31,50,37,.12); }
.tycoon-game-nav button { position: relative; display: grid; place-items: center; gap: 3px; min-height: 58px; border: 0; border-radius: 16px; background: transparent; color: #b8cbb6; font-size: .61rem; font-weight: 800; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.tycoon-game-nav button span { font-size: 1.35rem; filter: saturate(.8); }
.tycoon-game-nav button:hover { transform: translateX(2px); color: white; }
.tycoon-game-nav button.is-active { background: #fff7dd; color: #35533b; box-shadow: 0 8px 18px rgba(13,26,17,.22); }
.tycoon-game-nav button i { position: absolute; top: 5px; right: 8px; min-width: 17px; padding: 2px 4px; border-radius: 999px; background: #d98743; color: white; font-size: .5rem; }
.tycoon-world { position: fixed; inset: 78px 0 0 96px; overflow: hidden; }
.tycoon-view { display: none; height: 100%; overflow: auto; animation: tycoonViewIn .35s ease; }
.tycoon-view.is-active { display: block; }
@keyframes tycoonViewIn { from { opacity: 0; transform: translateY(8px); } }

/* Farm */
.tycoon-scene { position: relative; min-height: calc(100vh - 154px); overflow: hidden; }
.tycoon-farm-scene { background: url('/tycoon/farm-world.png') center / cover; }
.tycoon-farm-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(255,240,177,.06), transparent 58%, rgba(39,62,36,.2)); }
.tycoon-sky-details i { position: absolute; z-index: 1; width: 120px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.55); filter: blur(1px); animation: tycoonCloud 35s linear infinite; }
.tycoon-sky-details i:nth-child(1) { top: 7%; left: -10%; }
.tycoon-sky-details i:nth-child(2) { top: 15%; left: 38%; width: 75px; animation-duration: 48s; }
.tycoon-sky-details i:nth-child(3) { top: 4%; left: 78%; width: 95px; animation-duration: 40s; }
@keyframes tycoonCloud { to { transform: translateX(120vw); } }
.tycoon-weather-chip { position: absolute; z-index: 3; top: 20px; left: 20px; display: flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.5); border-radius: 16px; background: rgba(255,250,230,.82); box-shadow: 0 10px 22px rgba(48,67,42,.16); backdrop-filter: blur(12px); }
.tycoon-weather-chip > span { font-size: 1.6rem; color: #e9ad37; }
.tycoon-weather-chip strong, .tycoon-weather-chip small { display: block; }
.tycoon-weather-chip strong { font-size: .72rem; }
.tycoon-weather-chip small { color: #77806f; font-size: .61rem; }
.tycoon-building-hotspot, .tycoon-order-board, .tycoon-scene-link { position: absolute; z-index: 4; border: 1px solid rgba(255,255,255,.65); background: rgba(255,250,230,.9); box-shadow: 0 12px 26px rgba(34,54,34,.24); color: #314f36; cursor: pointer; transition: transform .2s; backdrop-filter: blur(10px); }
.tycoon-building-hotspot:hover, .tycoon-order-board:hover, .tycoon-scene-link:hover { transform: translateY(-4px) scale(1.02); }
.tycoon-building-hotspot { display: grid; grid-template-columns: 38px auto; align-items: center; gap: 0 8px; padding: 8px 12px 8px 8px; border-radius: 17px; }
.tycoon-building-hotspot > span { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #e8d8a8; font-size: 1.3rem; }
.tycoon-building-hotspot strong, .tycoon-building-hotspot small { text-align: left; }
.tycoon-building-hotspot strong { font: 700 .75rem "Fraunces"; }
.tycoon-building-hotspot small { color: #73806e; font-size: .6rem; }
.tycoon-building-hotspot--mill { top: 37%; left: 57%; }
.tycoon-building-hotspot--bakery { top: 51%; right: 11%; }
.tycoon-order-board { top: 43%; left: 23%; display: grid; grid-template-columns: 33px auto; padding: 9px 12px; border-radius: 14px; text-align: left; }
.tycoon-order-board > span { grid-row: 1 / 3; font-size: 1.35rem; }
.tycoon-order-board strong { font-size: .7rem; }
.tycoon-order-board small { color: #7f806e; font-size: .55rem; }
.tycoon-scene-link { right: 20px; bottom: 20px; display: grid; grid-template-columns: 40px auto; gap: 0 8px; padding: 10px 15px 10px 9px; border-radius: 18px; text-align: left; }
.tycoon-scene-link > span { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; background: #e5b967; }
.tycoon-scene-link strong { font: 700 .78rem "Fraunces"; }
.tycoon-scene-link small { color: #737b6d; font-size: .59rem; }
.tycoon-plot-grid { position: absolute; z-index: 5; left: 22%; bottom: 3%; display: grid; grid-template-columns: repeat(4, minmax(70px, 1fr)); gap: 8px; width: min(40%, 530px); transform: perspective(800px) rotateX(10deg) rotateZ(-1deg); }
.tycoon-plot { position: relative; min-height: 82px; overflow: hidden; border: 3px solid #6b452b; border-radius: 17px 12px 16px 10px; background: repeating-linear-gradient(90deg, #6d3e24 0 8px, #7d4b2a 8px 17px); box-shadow: inset 0 4px rgba(255,255,255,.08), 0 8px 13px rgba(42,32,23,.24); color: white; cursor: pointer; }
.tycoon-plot::before { content: ""; position: absolute; inset: 5px; border: 1px dashed rgba(235,192,116,.3); border-radius: 10px; }
.tycoon-plot:hover { filter: brightness(1.08); }
.tycoon-plot > span { position: relative; z-index: 2; display: block; font-size: 2rem; filter: drop-shadow(0 4px 3px rgba(0,0,0,.3)); transition: transform .3s; }
.tycoon-plot:hover > span { transform: scale(1.08); }
.tycoon-plot > strong, .tycoon-plot > small { position: relative; z-index: 2; display: block; }
.tycoon-plot > strong { font-size: .65rem; }
.tycoon-plot > small { color: #f8e8bd; font-size: .54rem; }
.tycoon-plot.is-ready { animation: tycoonReady 1.8s ease-in-out infinite; }
.tycoon-plot.is-ready > span { animation: tycoonPlantSway 1.5s ease-in-out infinite; }
.tycoon-plot.is-growing > span { transform: scale(var(--plant-stage, .6)); transform-origin: bottom; }
@keyframes tycoonReady { 50% { box-shadow: 0 0 0 6px rgba(255,222,112,.35), 0 8px 13px rgba(42,32,23,.24); } }
@keyframes tycoonPlantSway { 50% { transform: rotate(4deg) scale(1.08); } }
.tycoon-farm-ribbon { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 24px; background: #fff9e7; box-shadow: 0 -12px 30px rgba(39,59,38,.1); }
.tycoon-farm-ribbon span, .tycoon-farm-ribbon strong { display: block; }
.tycoon-farm-ribbon span { color: #88917e; font-size: .61rem; text-transform: uppercase; letter-spacing: .1em; }
.tycoon-farm-ribbon strong { font: 700 1.05rem "Fraunces"; }
.tycoon-production-strip { display: flex; gap: 7px; overflow-x: auto; }
.tycoon-production-strip button { display: flex; align-items: center; gap: 8px; min-width: 145px; padding: 8px 10px; border: 1px solid #e1dfcf; border-radius: 13px; background: white; color: #374e38; cursor: pointer; }
.tycoon-production-strip button > span { font-size: 1.3rem; }
.tycoon-production-strip strong, .tycoon-production-strip small { display: block; text-align: left; }
.tycoon-production-strip small { font-size: .55rem; color: #7d8577; }

/* Restaurant */
.tycoon-restaurant-scene { position: relative; min-height: calc(100vh - 128px); overflow: hidden; background: radial-gradient(circle at 50% 18%, rgba(255,222,155,.95), transparent 34%), linear-gradient(180deg, #754d36 0 19%, #b97e55 19% 22%, #ead4a1 22% 75%, #9b6546 75%); }
.tycoon-restaurant-scene::before { content: ""; position: absolute; left: 4%; right: 4%; top: 25%; bottom: 8%; border: 14px solid #6c4937; border-radius: 45px 45px 12px 12px; background: linear-gradient(180deg, rgba(255,247,215,.95), rgba(236,207,151,.92)); box-shadow: inset 0 0 70px rgba(128,73,43,.18); }
.tycoon-restaurant-scene header { position: relative; z-index: 2; padding: 28px 38px; color: #fff7d8; text-shadow: 0 2px 8px rgba(57,31,20,.3); }
.tycoon-restaurant-scene header p, .tycoon-restaurant-scene header h2 { margin: 0; }
.tycoon-restaurant-scene header p { color: #f5cf83; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tycoon-restaurant-scene header h2 { font-size: 2.7rem; }
.tycoon-stars { color: #ffd777; letter-spacing: .18em; }
.tycoon-restaurant-ambience i { position: absolute; z-index: 2; top: 22%; width: 5px; height: 55%; border-radius: 999px; background: rgba(117,76,49,.25); }
.tycoon-restaurant-ambience i:nth-child(1) { left: 18%; }.tycoon-restaurant-ambience i:nth-child(2) { left: 38%; }.tycoon-restaurant-ambience i:nth-child(3) { right: 38%; }.tycoon-restaurant-ambience i:nth-child(4) { right: 18%; }
.tycoon-kitchen-station { position: absolute; z-index: 5; top: 31%; left: 8%; display: grid; gap: 3px; width: 160px; padding: 22px 14px; border: 5px solid #70452e; border-radius: 28px 28px 12px 12px; background: linear-gradient(#e2b86d, #b87542); box-shadow: 0 18px 30px rgba(75,43,29,.3); color: #3f2c22; cursor: pointer; }
.tycoon-kitchen-station > span { font-size: 2.4rem; color: #fff1c1; }
.tycoon-kitchen-station strong { font: 700 1.1rem "Fraunces"; }
.tycoon-kitchen-station small { color: #5d3926; }
.tycoon-guest-tables { position: absolute; z-index: 4; left: 25%; right: 8%; top: 34%; bottom: 10%; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 18px; }
.tycoon-guest { position: relative; display: grid; place-items: center; align-content: center; min-height: 210px; padding: 16px; text-align: center; }
.tycoon-guest::after { content: ""; position: absolute; z-index: -1; left: 5%; right: 5%; bottom: 0; height: 62px; border-radius: 50%; background: #7d4c34; box-shadow: inset 0 8px #a56b49, 0 15px 18px rgba(87,51,34,.2); }
.tycoon-guest__person { display: grid; place-items: center; width: 72px; height: 72px; border: 4px solid #fff1cc; border-radius: 50%; background: #7fa26b; box-shadow: 0 8px 16px rgba(74,48,33,.24); font-size: 2rem; }
.tycoon-guest__bubble { position: relative; width: 100%; margin-bottom: 8px; padding: 11px; border-radius: 16px 16px 16px 5px; background: white; box-shadow: 0 8px 18px rgba(84,58,40,.13); }
.tycoon-guest__bubble strong, .tycoon-guest__bubble small { display: block; }
.tycoon-guest__bubble strong { font: 700 .85rem "Fraunces"; }
.tycoon-guest__bubble small { color: #7d8074; font-size: .59rem; }
.tycoon-guest__items { margin: 6px 0; font-size: 1.35rem; }
.tycoon-guest button { position: relative; z-index: 2; margin-top: 8px; padding: 7px 12px; border: 0; border-radius: 999px; background: #4e7648; color: white; font-size: .64rem; font-weight: 800; cursor: pointer; }
.tycoon-guest button:disabled { background: #999d91; cursor: not-allowed; }
.tycoon-restaurant-footer { height: 50px; display: flex; align-items: center; justify-content: center; gap: 12px; background: #fff7dd; }
.tycoon-restaurant-footer span { font-size: .68rem; font-weight: 800; }
.tycoon-restaurant-footer > div { width: min(280px, 30vw); height: 8px; overflow: hidden; border-radius: 999px; background: #dfdeca; }
.tycoon-restaurant-footer i { display: block; width: 0; height: 100%; background: #d79247; }

/* Inhalt */
.tycoon-paper-view { padding: clamp(24px, 4vw, 58px); background: radial-gradient(circle at 90% 0, rgba(230,193,104,.17), transparent 28%), #f5f0df; }
.tycoon-view-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; max-width: 1180px; margin: 0 auto 28px; }
.tycoon-view-heading p, .tycoon-view-heading h2 { margin: 0; }
.tycoon-view-heading p { color: #7f956a; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tycoon-view-heading h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height: 1; }
.tycoon-demand, .tycoon-refresh-note { max-width: 350px; padding: 9px 13px; border: 1px solid #ddd7bf; border-radius: 999px; background: #fff9e8; color: #596957; font-size: .67rem; font-weight: 700; }
.tycoon-demand i { color: #4d8a4f; }
.tycoon-market-layout { display: grid; grid-template-columns: 1fr 280px; gap: 28px; max-width: 1180px; margin: auto; }
.tycoon-market-layout h3, .tycoon-inventory-sections h3 { margin-top: 0; }
.tycoon-market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tycoon-market-item { position: relative; min-height: 160px; padding: 20px; overflow: hidden; border: 1px solid #e1ddcc; background: rgba(255,253,244,.86); box-shadow: 0 10px 24px rgba(52,66,49,.07); }
.tycoon-market-item > span { font-size: 2.5rem; }
.tycoon-market-item h4 { margin: 8px 0 2px; }
.tycoon-market-item p { margin: 0; color: #7a8374; font-size: .7rem; }
.tycoon-market-item button { position: absolute; right: 12px; bottom: 12px; padding: 7px 12px; border: 0; border-radius: 9px; background: #4c744a; color: white; font-size: .68rem; font-weight: 800; cursor: pointer; }
.tycoon-market-item button:disabled { background: #a5aa9c; }
.tycoon-market-layout > aside { align-self: start; padding: 32px 24px; border-top: 5px solid #dbad4e; background: #314d38; box-shadow: var(--tycoon-shadow); color: #eef1df; }
.tycoon-market-basket { font-size: 3rem; }
.tycoon-market-layout aside p, .tycoon-market-layout aside small { color: #bfcdbd; line-height: 1.6; }
.tycoon-storage-meter { min-width: 230px; }
.tycoon-storage-meter span { display: block; margin-bottom: 6px; font-size: .68rem; text-align: right; }
.tycoon-storage-meter > i { display: block; height: 11px; overflow: hidden; border-radius: 999px; background: #dad8c8; }
.tycoon-storage-meter > i b { display: block; height: 100%; background: linear-gradient(90deg, #689351, #d4aa4d); }
.tycoon-inventory-sections { display: grid; grid-template-columns: 1fr 1.6fr; gap: 30px; max-width: 1180px; margin: auto; }
.tycoon-inventory-sections > section { padding: 26px; border-top: 5px solid #78965f; background: rgba(255,253,244,.83); box-shadow: 0 15px 40px rgba(50,65,47,.08); }
.tycoon-inventory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 9px; }
.tycoon-inventory-item { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 9px; padding: 12px; border: 1px solid #e3dfcd; background: #fffdf5; }
.tycoon-inventory-item > span { font-size: 1.6rem; }
.tycoon-inventory-item strong, .tycoon-inventory-item small { display: block; }
.tycoon-inventory-item strong { font-size: .77rem; }
.tycoon-inventory-item small { color: #8b8d80; font-size: .65rem; }
.tycoon-order-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1180px; margin: auto; }
.tycoon-order-card { position: relative; padding: 28px 24px 22px; border: 1px solid #ddd7bd; background: #fffbed; box-shadow: 0 14px 30px rgba(55,66,46,.09); }
.tycoon-order-card::before { content: ""; position: absolute; top: -7px; left: 50%; width: 40px; height: 14px; background: #d3a94d; transform: translateX(-50%) rotate(-2deg); opacity: .75; }
.tycoon-order-card > small { color: #8b8c7c; }
.tycoon-order-card h3 { margin: 5px 0 18px; }
.tycoon-order-items { display: grid; gap: 7px; min-height: 72px; }
.tycoon-order-items span { display: flex; align-items: center; justify-content: space-between; padding-bottom: 7px; border-bottom: 1px dashed #dfdac4; font-size: .78rem; }
.tycoon-order-items b { font-size: 1.3rem; }
.tycoon-order-reward { display: flex; gap: 8px; margin: 18px 0; }
.tycoon-order-reward span { padding: 6px 9px; border-radius: 999px; background: #edf0df; font-size: .68rem; font-weight: 800; }
.tycoon-order-card button { width: 100%; min-height: 40px; border: 0; background: #4c754a; color: white; font-weight: 800; cursor: pointer; }
.tycoon-order-card button:disabled { background: #a8aa9e; }
.tycoon-map-view { position: relative; display: none; place-items: center; background: linear-gradient(rgba(42,70,47,.3), rgba(35,61,41,.65)), url('/tycoon/farm-world.png') 50% 40% / cover; }
.tycoon-map-view.is-active { display: grid; }
.tycoon-map-view--harbor { background-position: 50% 58%; filter: hue-rotate(8deg); }
.tycoon-location-card { width: min(620px, calc(100% - 36px)); padding: 48px; border: 1px solid rgba(255,255,255,.3); background: rgba(255,250,231,.91); box-shadow: 0 28px 80px rgba(22,43,28,.35); text-align: center; backdrop-filter: blur(15px); }
.tycoon-location-card > span { font-size: 4rem; }
.tycoon-location-card > p:first-of-type { color: #7f965f; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tycoon-location-card h2 { margin: 8px 0; font-size: 2.6rem; }
.tycoon-location-card p { line-height: 1.6; }
.tycoon-location-card div { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.tycoon-location-card i { padding: 7px 11px; border-radius: 999px; background: #e5ead7; font-size: .68rem; font-style: normal; font-weight: 800; }
.tycoon-event-card { display: grid; grid-template-columns: 100px 1fr auto; align-items: center; gap: 25px; max-width: 900px; margin: 40px auto; padding: 30px; border-left: 7px solid #d9aa4d; background: #fffaf0; box-shadow: var(--tycoon-shadow); }
.tycoon-event-card > span { font-size: 4.6rem; }.tycoon-event-card h3 { margin: 4px 0; font-size: 1.8rem; }.tycoon-event-card p { color: #727b6e; }.tycoon-event-card > b { padding: 8px 12px; border-radius: 999px; background: #e8ebdb; font-size: .67rem; }
.tycoon-profile-layout { display: grid; grid-template-columns: 280px 1fr 1fr; gap: 20px; max-width: 1180px; margin: auto; }
.tycoon-profile-layout > section { padding: 24px; background: rgba(255,253,244,.85); box-shadow: 0 12px 30px rgba(50,65,47,.07); }
.tycoon-profile-card { text-align: center; }
.tycoon-profile-card > span { display: grid; place-items: center; width: 90px; height: 90px; margin: 0 auto; border: 5px solid #e4c464; border-radius: 32px; background: #567b49; color: white; font: 800 2.5rem "Fraunces"; }
.tycoon-profile-card h3 { margin-bottom: 3px; font-size: 1.6rem; }.tycoon-profile-card p { margin-top: 0; color: #7d8476; font-size: .7rem; }
.tycoon-profile-card div { display: grid; gap: 7px; }.tycoon-profile-card i { padding: 8px; background: #edf0e2; font-size: .72rem; font-style: normal; }
.tycoon-achievement-list, .tycoon-activity-list { display: grid; gap: 8px; }
.tycoon-achievement { display: grid; grid-template-columns: 38px 1fr; gap: 9px; padding: 10px; border: 1px solid #e4e2d5; }
.tycoon-achievement > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #e6d89f; }.tycoon-achievement strong, .tycoon-achievement small { display: block; }.tycoon-achievement small { color: #82877c; font-size: .62rem; }.tycoon-achievement i { grid-column: 2; display: block; height: 5px; background: #e0e2d6; }.tycoon-achievement i b { display: block; height: 100%; background: #719651; }
.tycoon-activity-list article { display: grid; grid-template-columns: 7px 1fr; gap: 8px; padding: 7px 0; }.tycoon-activity-list i { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #729354; }.tycoon-activity-list strong, .tycoon-activity-list small { display: block; }.tycoon-activity-list strong { font-size: .74rem; }.tycoon-activity-list small { color: #858b80; font-size: .6rem; }
.tycoon-task-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1000px; margin: auto; }.tycoon-task-grid article { display: flex; gap: 15px; padding: 24px; background: #fffaf0; box-shadow: 0 12px 30px rgba(50,65,47,.08); }.tycoon-task-grid article > span { font-size: 2.3rem; }.tycoon-task-grid h3, .tycoon-task-grid p { margin: 0 0 6px; }.tycoon-task-grid p { color: #757d70; font-size: .75rem; }.tycoon-task-grid i { display: block; height: 7px; margin-top: 12px; background: #dfdfd1; }.tycoon-task-grid i b { display: block; height: 100%; background: #719650; }.tycoon-task-grid small { color: #7f857a; font-size: .62rem; }

/* Dialoge und Hinweise */
.tycoon-dialog { width: min(620px, calc(100% - 24px)); max-height: min(82vh, 760px); overflow: auto; border: 0; border-radius: 26px; background: #fffaf0; box-shadow: 0 32px 100px rgba(25,42,29,.42); color: var(--tycoon-ink); padding: 28px; }
.tycoon-dialog::backdrop { background: rgba(24,42,30,.55); backdrop-filter: blur(7px); }
.tycoon-dialog__close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #e9e8dc; color: #4c5e4d; font-size: 1.3rem; cursor: pointer; }
.tycoon-dialog header, .tycoon-dialog-title { display: flex; align-items: center; gap: 12px; padding-right: 40px; }.tycoon-dialog header > span { font-size: 2rem; }.tycoon-dialog h2 { margin: 0; font-size: 2rem; }.tycoon-dialog header p { margin: 0; color: #7a8d69; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.tycoon-choice-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 20px; }
.tycoon-choice-list button { display: grid; grid-template-columns: 45px 1fr; gap: 2px 10px; min-height: 80px; padding: 12px; border: 1px solid #dedecd; border-radius: 16px; background: white; color: #334a36; text-align: left; cursor: pointer; }.tycoon-choice-list button:hover { border-color: #82a267; background: #f5f8ec; }.tycoon-choice-list button:disabled { opacity: .45; cursor: not-allowed; }.tycoon-choice-list button > span { grid-row: 1 / 4; align-self: center; font-size: 2rem; }.tycoon-choice-list strong, .tycoon-choice-list small, .tycoon-choice-list em { display: block; }.tycoon-choice-list small { color: #7f877a; font-size: .65rem; }.tycoon-choice-list em { color: #a07034; font-size: .6rem; font-style: normal; }
.tycoon-recipe-ingredients { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }.tycoon-recipe-ingredients i { padding: 3px 6px; border-radius: 999px; background: #ecefdf; font-size: .58rem; font-style: normal; }
.tycoon-sell-form { display: grid; gap: 14px; }.tycoon-sell-form label { display: grid; gap: 5px; font-weight: 800; }.tycoon-sell-form input { min-height: 48px; border: 1px solid #d7dccc; border-radius: 12px; padding: 0 12px; }
.tycoon-settings-form { display: grid; gap: 18px; margin-top: 24px; }.tycoon-settings-form label output { justify-self: end; }.tycoon-settings-form input[type="range"] { width: 100%; accent-color: #608a4e; }.tycoon-toggle { display: flex !important; align-items: center; justify-content: space-between; }.tycoon-toggle input { position: absolute; opacity: 0; }.tycoon-toggle i { position: relative; width: 44px; height: 24px; border-radius: 999px; background: #c9cabe; }.tycoon-toggle i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; transition: left .2s; }.tycoon-toggle input:checked + i { background: #658d52; }.tycoon-toggle input:checked + i::after { left: 23px; }.tycoon-secondary-button { min-height: 44px; border: 1px solid #ccd3c3; border-radius: 12px; background: #eef1e6; color: #3f5942; font-weight: 800; cursor: pointer; }.tycoon-logout-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid #dfdfd2; }.tycoon-logout-form button { width: 100%; padding: 11px; border: 1px solid #c8cdc0; border-radius: 12px; background: transparent; color: #a0473f; font-weight: 800; }
.tycoon-guide { position: fixed; z-index: 70; left: 118px; bottom: 22px; display: grid; grid-template-columns: 58px 1fr 28px; align-items: center; gap: 12px; width: min(480px, calc(100% - 145px)); padding: 13px 15px; border: 1px solid rgba(255,255,255,.6); border-radius: 20px; background: rgba(255,250,231,.94); box-shadow: 0 18px 50px rgba(28,47,32,.28); backdrop-filter: blur(14px); }.tycoon-guide__portrait { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: #dbe8ac; font-size: 2rem; }.tycoon-guide strong { font: 700 .95rem "Fraunces"; }.tycoon-guide p { margin: 3px 0 0; color: #697365; font-size: .72rem; line-height: 1.45; }.tycoon-guide button { border: 0; background: transparent; color: #879082; font-size: 1.3rem; }
.tycoon-guide[hidden] { display: none !important; }
.tycoon-toast { position: fixed; z-index: 100; top: 94px; left: 50%; min-width: 260px; max-width: calc(100% - 30px); padding: 12px 18px; border-radius: 999px; background: #2e4c35; box-shadow: 0 13px 35px rgba(25,42,29,.3); color: white; font-size: .78rem; font-weight: 800; text-align: center; opacity: 0; transform: translate(-50%, -18px); pointer-events: none; transition: opacity .25s, transform .25s; }.tycoon-toast.is-visible { opacity: 1; transform: translate(-50%,0); }.tycoon-toast.is-error { background: #9e4d43; }
.tycoon-reward { position: fixed; z-index: 99; left: 50%; top: 50%; color: #fff8cf; font: 800 1.4rem "Fraunces"; text-shadow: 0 3px 15px rgba(0,0,0,.4); opacity: 0; pointer-events: none; }.tycoon-reward.is-active { animation: tycoonReward 1.4s ease; }@keyframes tycoonReward { 0% { opacity: 0; transform: translate(-50%,15px) scale(.8); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,-95px) scale(1.15); } }

/* Lebendige Felder, Saatladen und frei einrichtbares Restaurant */
.tycoon-seed-merchant { position: absolute; z-index: 7; left: 4%; bottom: 24%; display: grid; grid-template-columns: 46px auto; gap: 0 9px; min-width: 168px; padding: 10px 13px 10px 9px; border: 2px solid rgba(255,255,255,.75); border-radius: 18px; background: rgba(255,250,224,.94); box-shadow: 0 12px 30px rgba(43,57,34,.25); color: #354b34; text-align: left; cursor: pointer; backdrop-filter: blur(7px); }
.tycoon-seed-merchant > span { grid-row: 1 / 3; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: #dbe5a6; font-size: 1.75rem; }
.tycoon-seed-merchant strong, .tycoon-seed-merchant small { display: block; }.tycoon-seed-merchant strong { align-self: end; font: 700 .77rem "Fraunces"; }.tycoon-seed-merchant small { color: #77816d; font-size: .58rem; }
.tycoon-seed-pouch { position: absolute; z-index: 7; left: 4%; bottom: 12%; display: flex; gap: 5px; padding: 6px; border: 2px solid rgba(255,255,255,.66); border-radius: 16px; background: rgba(54,78,49,.9); box-shadow: 0 8px 22px rgba(37,49,31,.24); }
.tycoon-seed-pouch > span { display: grid; grid-template-columns: auto auto; align-items: center; gap: 3px; min-width: 45px; padding: 5px 7px; border-radius: 11px; background: rgba(255,255,255,.12); color: white; }.tycoon-seed-pouch b { font-size: 1rem; }.tycoon-seed-pouch strong { font-size: .65rem; }
.tycoon-plot { display: grid; place-items: center; align-content: center; padding: 5px 3px; }
.tycoon-plot > .tycoon-crop-visual { position: relative; z-index: 2; display: flex; align-items: end; justify-content: center; gap: 1px; min-height: 31px; font-size: 1.55rem; filter: drop-shadow(0 4px 3px rgba(0,0,0,.28)); }
.tycoon-crop-visual i { display: block; font-style: normal; transform-origin: bottom; transition: transform .35s; }.tycoon-crop-visual i:nth-child(2) { transform: translateY(-4px) scale(1.12); }.tycoon-crop-visual i:first-child { transform: rotate(-7deg) scale(.88); }.tycoon-crop-visual i:last-child { transform: rotate(7deg) scale(.88); }
.tycoon-plot.stage-0 .tycoon-crop-visual { color: #e6c17a; font-size: 1.2rem; letter-spacing: .2em; }.tycoon-plot.stage-1 .tycoon-crop-visual { font-size: 1.2rem; }.tycoon-plot.stage-2 .tycoon-crop-visual { font-size: 1.4rem; opacity: .86; }.tycoon-plot.stage-3 .tycoon-crop-visual { font-size: 1.7rem; }
.tycoon-plot > em { position: relative; z-index: 2; display: block; margin-top: 2px; color: #f6d88b; font-size: .5rem; font-style: normal; }.tycoon-plot.is-ready > .tycoon-crop-visual { animation: tycoonPlantSway 1.5s ease-in-out infinite; }.tycoon-plot.is-growing > .tycoon-crop-visual { transform: none; }
.tycoon-inventory-sections { grid-template-columns: .8fr 1fr 1.6fr; gap: 16px; }.tycoon-capacity-note { display: block; margin-top: 12px; color: #7c8677; font-size: .62rem; line-height: 1.5; }

.tycoon-restaurant-scene { min-height: calc(100vh - 128px); padding-bottom: 16px; overflow: auto; background: radial-gradient(circle at 50% 2%, rgba(255,226,161,.35), transparent 34%), linear-gradient(180deg, #5f3f32 0 20%, #d6aa6e 20% 23%, #efe1bd 23% 100%); }
.tycoon-restaurant-scene::before { display: none; }
.tycoon-restaurant-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 30px !important; }
.tycoon-restaurant-header h2 { font-size: clamp(1.9rem, 3vw, 2.7rem) !important; }.tycoon-restaurant-tools { display: flex; flex-wrap: wrap; gap: 7px; }
.tycoon-restaurant-tools button { min-height: 39px; padding: 0 14px; border: 1px solid rgba(255,240,195,.38); border-radius: 12px; background: rgba(255,248,221,.13); color: #fff8dc; font-size: .67rem; font-weight: 800; cursor: pointer; }.tycoon-restaurant-tools button:hover, .tycoon-restaurant-tools button.is-active { background: #e4bd6d; color: #493323; }
.tycoon-restaurant-room { position: relative; z-index: 3; display: grid; grid-template-columns: 150px minmax(550px, 1fr) 210px; gap: 14px; width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 16px; border: 8px solid #76523c; border-radius: 28px 28px 15px 15px; background: #f4e7c8; box-shadow: inset 0 0 45px rgba(103,70,43,.16), 0 20px 38px rgba(66,42,31,.24); }
.tycoon-kitchen-station { position: relative; inset: auto; align-self: stretch; width: auto; min-height: 170px; border-width: 3px; border-radius: 20px; }
.tycoon-restaurant-floor { position: relative; display: grid; grid-template-columns: repeat(8, minmax(52px, 1fr)); grid-template-rows: repeat(5, minmax(62px, 1fr)); min-height: 390px; overflow: hidden; border: 5px solid #926342; border-radius: 18px; background: #bb8054; isolation: isolate; }
.tycoon-room-cell { min-width: 0; border: 1px solid rgba(107,66,39,.22); background: linear-gradient(135deg, rgba(255,255,255,.13) 50%, rgba(92,55,34,.06) 50%); cursor: default; }.tycoon-restaurant-floor.is-building .tycoon-room-cell:not(:disabled) { cursor: pointer; }.tycoon-restaurant-floor.is-building .tycoon-room-cell:not(:disabled):hover { background: rgba(255,236,159,.58); box-shadow: inset 0 0 0 3px #f7d97e; }
.tycoon-furniture { position: relative; z-index: 3; align-self: center; justify-self: center; display: grid; place-items: center; width: 78%; aspect-ratio: 1; border: 0; border-radius: 16px; background: transparent; filter: drop-shadow(0 7px 5px rgba(63,39,25,.25)); font-size: 2.1rem; cursor: default; }.tycoon-furniture--table { width: 92%; border: 5px solid #76482f; border-radius: 50%; background: #b87946; }.tycoon-furniture--plant { background: rgba(235,220,166,.38); }.tycoon-furniture--lamp { color: #fff2a9; text-shadow: 0 0 18px #ffe476; }.tycoon-furniture.is-editable { cursor: pointer; outline: 2px dashed rgba(255,239,170,.72); outline-offset: 2px; }.tycoon-furniture.is-occupied { filter: drop-shadow(0 0 7px #ffd46d); }
.tycoon-seated-guest { position: relative; z-index: 5; align-self: start; justify-self: center; display: grid; place-items: center; width: 72px; min-height: 63px; margin-top: -8px; border: 3px solid #fff5d2; border-radius: 50% 50% 15px 15px; background: #739264; box-shadow: 0 8px 16px rgba(61,43,29,.25); cursor: pointer; }.tycoon-seated-guest > span { font-size: 1.9rem; }.tycoon-seated-guest > i { position: absolute; top: -7px; right: -5px; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #c55d45; color: white; font-size: .68rem; font-style: normal; font-weight: 900; }.tycoon-seated-guest.is-ready > i { background: #4d8c4e; }.tycoon-seated-guest small { position: absolute; top: 58px; width: 94px; padding: 2px 4px; border-radius: 7px; background: rgba(255,250,226,.9); color: #4f473d; font-size: .52rem; font-weight: 800; text-align: center; }
.tycoon-guest-queue { min-width: 0; overflow: hidden; border: 2px solid #ddc59a; border-radius: 17px; background: rgba(255,251,231,.9); }.tycoon-guest-queue > header { display: flex; align-items: center; gap: 8px; padding: 12px !important; color: #4e4b3e; text-shadow: none; }.tycoon-guest-queue > header > span { font-size: 1.4rem; }.tycoon-guest-queue strong, .tycoon-guest-queue small { display: block; }.tycoon-guest-queue strong { font-size: .72rem; }.tycoon-guest-queue small { color: #828071; font-size: .52rem; }.tycoon-guest-queue > div { display: grid; gap: 6px; padding: 8px; }
.tycoon-waiting-guest { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 7px; width: 100%; padding: 8px; border: 1px solid #dfd7bd; border-radius: 12px; background: white; color: #3e4d3c; text-align: left; cursor: grab; }.tycoon-waiting-guest:hover, .tycoon-waiting-guest.is-selected { border-color: #6c9460; background: #eef5df; }.tycoon-waiting-guest > span { font-size: 1.5rem; }.tycoon-waiting-guest strong, .tycoon-waiting-guest small { display: block; }.tycoon-waiting-guest strong { font-size: .65rem; }.tycoon-waiting-guest small { color: #858679; font-size: .52rem; }.tycoon-waiting-guest i { color: #78906d; font-style: normal; }.tycoon-queue-empty { margin: 12px; color: #7d8072; font-size: .64rem; line-height: 1.5; }
.tycoon-restaurant-hint { position: relative; z-index: 3; width: min(760px, calc(100% - 30px)); margin: 12px auto 0; padding: 9px 13px; border-radius: 999px; background: rgba(60,52,39,.82); color: #fff7da; font-size: .65rem; font-weight: 700; text-align: center; }
.tycoon-dialog-copy { color: #6e756a; font-size: .76rem; line-height: 1.55; }.tycoon-seed-shop { display: grid; gap: 8px; margin-top: 18px; }.tycoon-seed-shop article { display: grid; grid-template-columns: 42px 1fr 82px 80px; align-items: center; gap: 9px; padding: 11px; border: 1px solid #dedccb; border-radius: 14px; background: white; }.tycoon-seed-shop article > span { font-size: 1.8rem; }.tycoon-seed-shop strong, .tycoon-seed-shop small { display: block; }.tycoon-seed-shop small { color: #858879; font-size: .59rem; }.tycoon-seed-shop label { color: #747d6e; font-size: .55rem; font-weight: 800; }.tycoon-seed-shop input { width: 100%; min-height: 34px; margin-top: 3px; border: 1px solid #d5d9ca; border-radius: 8px; padding: 0 7px; }.tycoon-seed-shop button, .tycoon-furniture-actions button { min-height: 38px; border: 0; border-radius: 9px; background: #50764b; color: white; font-size: .64rem; font-weight: 800; cursor: pointer; }
.tycoon-furniture-shop { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 20px; }.tycoon-furniture-shop button { display: grid; grid-template-columns: 45px 1fr; gap: 3px 9px; padding: 14px; border: 1px solid #dddaca; border-radius: 14px; background: white; color: #3d503d; text-align: left; cursor: pointer; }.tycoon-furniture-shop button > span { grid-row: 1 / 3; font-size: 2rem; }.tycoon-furniture-shop small { color: #8a897d; }.tycoon-furniture-actions { display: grid; gap: 9px; margin-top: 22px; }.tycoon-furniture-actions button.is-danger { background: #a44f45; }.tycoon-guest-order-list { display: grid; gap: 7px; margin-top: 14px; }.tycoon-guest-order-list > span { display: flex; align-items: center; justify-content: space-between; padding: 10px; border: 1px solid #dedccd; border-radius: 10px; background: white; }

@media (max-width: 1100px) {
  .tycoon-hud__brand strong { display: none; }.tycoon-hud__brand { min-width: auto; }.tycoon-xp { max-width: 210px; }.tycoon-order-grid { grid-template-columns: repeat(2, 1fr); }.tycoon-market-grid { grid-template-columns: repeat(2, 1fr); }.tycoon-profile-layout { grid-template-columns: 240px 1fr; }.tycoon-profile-layout > section:last-child { grid-column: 1 / -1; }.tycoon-plot-grid { left: 14%; width: 48%; }.tycoon-admin-workspace { grid-template-columns: 250px 1fr; }.tycoon-admin-grid-form--stats { grid-template-columns: repeat(2,1fr); }.tycoon-admin-inventory { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .tycoon-choice-grid { grid-template-columns: 1fr; }.tycoon-choice-card { min-height: 420px; }.tycoon-choice-card--admin { min-height: 380px; }.tycoon-auth-card { grid-template-columns: 1fr; grid-template-rows: 220px auto; min-height: 0; }.tycoon-auth-card__art { min-height: 220px; }.tycoon-admin-shell { grid-template-columns: 1fr; }.tycoon-admin-sidebar { position: relative; display: grid; grid-template-columns: 1fr auto; height: auto; }.tycoon-admin-sidebar nav { display: none; }.tycoon-admin-workspace { grid-template-columns: 1fr; }.tycoon-player-list { border-right: 0; border-bottom: 1px solid #e1e4d8; }.tycoon-player-list__scroll { display: flex; max-height: 130px; overflow-x: auto; }.tycoon-player-row { min-width: 210px; border-right: 1px solid #e1e4d8; }.tycoon-admin-overview { grid-template-columns: 1fr; }.tycoon-admin-grid-form { grid-template-columns: 1fr 1fr; }
  .tycoon-game-page { overflow: auto; }.tycoon-game { min-height: 100vh; height: auto; }.tycoon-hud { height: 66px; padding: 0 9px; }.tycoon-hud__brand { display: none; }.tycoon-player-chip > div { display: none; }.tycoon-xp { display: none; }.tycoon-currency { min-width: 70px; padding-right: 8px; }.tycoon-hud__actions { gap: 3px; }.tycoon-hud__actions button { width: 34px; height: 34px; }.tycoon-game-nav { top: auto; bottom: 0; right: 0; flex-direction: row; width: auto; height: 67px; padding: 6px; overflow-x: auto; }.tycoon-game-nav button { flex: 0 0 63px; min-height: 53px; }.tycoon-game-nav button:nth-child(n+6) { display: none; }.tycoon-world { position: relative; inset: auto; min-height: 100vh; padding-top: 66px; padding-bottom: 67px; }.tycoon-view { min-height: calc(100vh - 133px); height: auto; }.tycoon-scene { min-height: 620px; }.tycoon-plot-grid { left: 8px; right: 8px; bottom: 70px; width: auto; grid-template-columns: repeat(4,1fr); }.tycoon-plot { min-height: 73px; }.tycoon-building-hotspot--mill { top: 32%; left: 35%; }.tycoon-building-hotspot--bakery { top: 45%; right: 4%; }.tycoon-order-board { top: 42%; left: 5%; }.tycoon-scene-link { bottom: 12px; }.tycoon-farm-ribbon { min-height: 90px; padding: 12px; }.tycoon-farm-ribbon > div:first-child { display: none; }.tycoon-production-strip { width: 100%; }.tycoon-restaurant-scene { min-height: 690px; }.tycoon-guest-tables { left: 30%; right: 4%; grid-template-columns: 1fr; gap: 2px; }.tycoon-guest { grid-template-columns: 55px 1fr auto; min-height: 150px; text-align: left; }.tycoon-guest::after { height: 45px; }.tycoon-guest__person { width: 55px; height: 55px; }.tycoon-guest button { margin-left: 7px; }.tycoon-kitchen-station { left: 4%; width: 120px; }.tycoon-market-layout, .tycoon-inventory-sections, .tycoon-profile-layout { grid-template-columns: 1fr; }.tycoon-market-layout > aside { grid-row: 1; }.tycoon-order-grid, .tycoon-task-grid { grid-template-columns: 1fr; }.tycoon-view-heading { align-items: start; flex-direction: column; }.tycoon-event-card { grid-template-columns: 70px 1fr; }.tycoon-event-card > b { grid-column: 2; justify-self: start; }.tycoon-guide { left: 12px; bottom: 78px; width: calc(100% - 24px); }.tycoon-paper-view { padding: 24px 15px; }
}
@media (max-width: 520px) {
  .tycoon-choice-shell { padding: 24px 14px; }.tycoon-choice-heading { margin-top: 55px; }.tycoon-choice-heading .tycoon-brand-seal { width: 48px; height: 48px; }.tycoon-choice-card { min-height: 360px; border-radius: 24px; }.tycoon-choice-card__content { padding: 26px; }.tycoon-choice-card__content strong { font-size: 2rem; }.tycoon-auth-shell { padding: 16px 10px; }.tycoon-auth-card { margin-top: 20px; border-radius: 22px; }.tycoon-auth-card__form { padding: 30px 23px; }.tycoon-admin-login-card { padding: 35px 24px; }.tycoon-admin-main { padding: 22px 10px 40px; }.tycoon-admin-header { align-items: start; }.tycoon-admin-status { display: none; }.tycoon-admin-grid-form, .tycoon-admin-grid-form--stats { grid-template-columns: 1fr; }.tycoon-player-editor { padding: 12px; }.tycoon-player-editor__header { grid-template-columns: 48px 1fr; }.tycoon-account-state { grid-column: 2; justify-self: start; }.tycoon-admin-inline-form, .tycoon-danger-zone > div { grid-template-columns: 1fr; }.tycoon-admin-progress-grid { grid-template-columns: 1fr; }.tycoon-hud { gap: 4px; }.tycoon-player-chip > span { width: 34px; height: 34px; }.tycoon-currency { min-width: 63px; font-size: .7rem; }.tycoon-currency span { width: 22px; height: 22px; }.tycoon-hud__actions button:first-child { display: none; }.tycoon-plot-grid { grid-template-columns: repeat(3,1fr); }.tycoon-plot { min-height: 68px; }.tycoon-building-hotspot { transform: scale(.88); }.tycoon-building-hotspot:hover { transform: translateY(-2px) scale(.9); }.tycoon-order-board { transform: scale(.88); transform-origin: left; }.tycoon-choice-list, .tycoon-market-grid { grid-template-columns: 1fr; }.tycoon-inventory-sections > section { padding: 16px; }.tycoon-location-card { padding: 30px 20px; }.tycoon-location-card h2 { font-size: 2rem; }.tycoon-dialog { padding: 22px 16px; }.tycoon-guide { grid-template-columns: 45px 1fr 22px; }.tycoon-guide__portrait { width: 45px; height: 45px; }.tycoon-guide p { font-size: .65rem; }
}

/* Valley World v7: klare Bauplätze, MMO-Markt, Weltkarte und Reiseanimation */
.tycoon-brand-seal,
.tycoon-loading__seal,
.tycoon-brand-icon {
  color: transparent !important;
  border: 0 !important;
  background: url('/tycoon/tycoon-anya-logo.png?v=20260810-1') center / contain no-repeat !important;
  box-shadow: none !important;
  transform: none !important;
}
.tycoon-brand-seal { width: 78px; height: 78px; }
.tycoon-loading__seal { width: 128px; height: 128px; margin-bottom: 10px; }
.tycoon-hud__brand > .tycoon-brand-icon { width: 54px; height: 54px; border-radius: 0; }
.tycoon-auth-card__form .tycoon-brand-seal { width: 160px; height: 160px; margin: 0 auto 12px; }
.tycoon-player-auth .tycoon-auth-card__form { justify-content: center; }
.tycoon-player-auth .tycoon-form { margin-top: 0; }
.tycoon-player-auth .tycoon-login-account-note { margin-top: 18px; color: #747d70; font-weight: 700; text-align: center; }

@media (max-width: 520px) {
  .tycoon-auth-card__form .tycoon-brand-seal { width: 136px; height: 136px; }
}

.tycoon-hud {
  border-bottom-color: rgba(76,101,62,.16);
  background: linear-gradient(90deg, rgba(255,253,240,.96), rgba(244,248,225,.94));
}
.tycoon-currency {
  min-width: 116px;
  gap: 9px;
  padding: 7px 13px 7px 7px;
  border: 1px solid rgba(176,133,35,.24);
  border-radius: 15px;
  background: linear-gradient(145deg, #fffdf2, #f4ecd2);
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 5px 14px rgba(75,67,35,.09);
}
.tycoon-currency > div { display: grid; gap: 1px; line-height: 1; }
.tycoon-currency small { color: #8d7a4b; font-size: .48rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.tycoon-currency strong { color: #3d4934; font-size: .88rem; }
.tycoon-currency > .tycoon-currency__icon {
  width: 31px;
  height: 31px;
  border: 2px solid #f7dc7d;
  background: radial-gradient(circle at 35% 30%, #fff4a7 0 13%, #e9b641 14% 64%, #b6791e 65%);
  box-shadow: inset 0 0 0 2px #c48b28, 0 4px 8px rgba(127,83,24,.2);
  color: #fff7c4;
}
.tycoon-currency--gems > .tycoon-currency__icon {
  border-radius: 10px;
  border-color: #bdf0ec;
  background: linear-gradient(135deg, #bff8f1 0 25%, #57bfc3 26% 67%, #25828e 68%);
  box-shadow: inset 0 0 0 2px #368f98, 0 4px 8px rgba(31,104,113,.2);
}

/* Die Farm zeigt im Alltag nur echte Felder. Freie Plätze erscheinen erst beim Setzen. */
.tycoon-farm-board::before {
  content: "";
  inset: -10px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.tycoon-farm-board:has(.tycoon-plot-grid.is-building)::before {
  content: "FELDER BEARBEITEN · FELD ZIEHEN ODER ZWEIMAL ANTIPPEN";
  inset: -35px -10px -10px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,220,.35);
  border-radius: 19px;
  background: rgba(42,87,40,.1);
  color: rgba(255,255,237,.95);
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-shadow: 0 2px 8px rgba(27,56,27,.7);
  backdrop-filter: blur(2px);
}
.tycoon-farm-tile,
.tycoon-farm-tile.is-occupied,
.tycoon-plot-grid.is-selecting .tycoon-farm-tile {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled) {
  visibility: visible;
  opacity: .86;
  pointer-events: auto;
}
.tycoon-plot-grid.is-building .tycoon-plot { cursor: grab; }
.tycoon-plot-grid.is-building .tycoon-plot:active { cursor: grabbing; }
.tycoon-plot {
  min-height: 102px;
  height: 102px;
  overflow: visible;
}
.tycoon-plot::before { top: 0; height: 102px; }
.tycoon-plot > .tycoon-crop-visual {
  left: 19px;
  bottom: 24px;
  width: 94px;
  height: 79px;
  pointer-events: auto;
}
.tycoon-plot-grid.is-placing .tycoon-crop-visual { pointer-events: none; }
.tycoon-plot.is-selected {
  z-index: 90 !important;
  filter: drop-shadow(0 0 10px #ffe678) brightness(1.08);
}

/* Im Restaurant liegt die Einrichtung direkt auf dem illustrierten Boden. */
.tycoon-restaurant-floor {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tycoon-restaurant-floor::before,
.tycoon-restaurant-floor.is-building::before { display: none; background: none; }
.tycoon-room-cell,
.tycoon-room-cell.is-occupied {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.tycoon-restaurant-floor.is-placing::before {
  display: block;
  inset: 0;
  border: 1px dashed rgba(255,241,166,.48);
  border-radius: 16px;
  background-image: linear-gradient(rgba(255,248,210,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(255,248,210,.13) 1px, transparent 1px);
  background-size: 86px 70px;
  background-color: rgba(65,48,31,.06);
}
.tycoon-restaurant-floor.is-placing .tycoon-room-cell:not(:disabled) {
  visibility: visible;
  opacity: .82;
}
.tycoon-furniture > span { width: 70px; height: 88px; }
.tycoon-furniture--table > span { width: 84px; height: 69px; }
.tycoon-furniture--plant > span { width: 68px; height: 86px; }
.tycoon-furniture--lamp > span { width: 48px; height: 98px; }
.tycoon-seated-guest > .tycoon-guest-sprite { width: 74px; height: 101px; }
.tycoon-dialog-guest-art { flex: 0 0 76px; width: 76px; height: 96px; }

/* Map Avatar v10 final cascade */
.tycoon-market-layout { grid-template-columns: 320px minmax(0, 1fr); }
@media (max-width: 900px) { .tycoon-market-layout { grid-template-columns: 1fr; } }
.tycoon-market-layout { grid-template-columns: 320px minmax(0, 1fr); }
.tycoon-primary-button--full { width: 100%; }
.tycoon-task-grid progress,
.tycoon-achievement progress {
  display: block;
  width: 100%;
  height: 8px;
  overflow: hidden;
  border: 0;
  border-radius: 99px;
  background: #dfe6d6;
}
.tycoon-task-grid progress::-webkit-progress-bar,
.tycoon-achievement progress::-webkit-progress-bar { background: #dfe6d6; }
.tycoon-task-grid progress::-webkit-progress-value,
.tycoon-achievement progress::-webkit-progress-value { background: linear-gradient(90deg,#78a859,#e3bf52); }
.tycoon-task-grid progress::-moz-progress-bar,
.tycoon-achievement progress::-moz-progress-bar { background: linear-gradient(90deg,#78a859,#e3bf52); }
.tycoon-market-npc__tip button {
  min-height: 38px;
  margin-top: 6px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #5d874d, #3f693e);
  box-shadow: 0 7px 14px rgba(50,91,51,.17);
  color: white;
  font-size: .62rem;
  font-weight: 900;
  cursor: pointer;
}

/* Map Avatar v10: CSP-sichere Rasterkoordinaten und reine Kartennavigation. */
.tycoon-world { inset: 78px 0 0 0; }

/* Feste Farmkoordinaten ohne blockierte Inline-Styles. */
.tycoon-plot-grid [data-grid-x="0"] { left: 0; }
.tycoon-plot-grid [data-grid-x="1"] { left: 142px; }
.tycoon-plot-grid [data-grid-x="2"] { left: 284px; }
.tycoon-plot-grid [data-grid-x="3"] { left: 426px; }
.tycoon-plot-grid [data-grid-x="4"] { left: 568px; }
.tycoon-plot-grid [data-grid-x="5"] { left: 710px; }
.tycoon-plot-grid [data-grid-y="0"] { top: 0; }
.tycoon-plot-grid [data-grid-y="1"] { top: 112px; }
.tycoon-plot-grid [data-grid-y="2"] { top: 224px; }
.tycoon-plot-grid [data-grid-y="3"] { top: 336px; }
.tycoon-plot[data-grid-y="0"] { z-index: 25; }
.tycoon-plot[data-grid-y="1"] { z-index: 26; }
.tycoon-plot[data-grid-y="2"] { z-index: 27; }
.tycoon-plot[data-grid-y="3"] { z-index: 28; }
.tycoon-plot.stage-0 .tycoon-crop-visual i { transform: scale(.86) !important; }
.tycoon-plot.stage-1 .tycoon-crop-visual i { transform: scale(.91) !important; }
.tycoon-plot.stage-2 .tycoon-crop-visual i { transform: scale(.96) !important; }
.tycoon-plot.stage-3 .tycoon-crop-visual i { transform: scale(1) !important; }
.tycoon-growth-card progress {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  height: 5px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.17);
}
.tycoon-growth-card progress::-webkit-progress-bar { background: rgba(255,255,255,.17); }
.tycoon-growth-card progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg,#8bc45e,#f2d45d); }
.tycoon-growth-card progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg,#8bc45e,#f2d45d); }

/* Feste Restaurantkoordinaten ohne blockierte Inline-Styles. */
.tycoon-restaurant-floor [data-grid-x="0"] { left: 0; }
.tycoon-restaurant-floor [data-grid-x="1"] { left: 86px; }
.tycoon-restaurant-floor [data-grid-x="2"] { left: 172px; }
.tycoon-restaurant-floor [data-grid-x="3"] { left: 258px; }
.tycoon-restaurant-floor [data-grid-x="4"] { left: 344px; }
.tycoon-restaurant-floor [data-grid-x="5"] { left: 430px; }
.tycoon-restaurant-floor [data-grid-x="6"] { left: 516px; }
.tycoon-restaurant-floor [data-grid-x="7"] { left: 602px; }
.tycoon-restaurant-floor [data-grid-y="0"] { top: 0; }
.tycoon-restaurant-floor [data-grid-y="1"] { top: 70px; }
.tycoon-restaurant-floor [data-grid-y="2"] { top: 140px; }
.tycoon-restaurant-floor [data-grid-y="3"] { top: 210px; }
.tycoon-restaurant-floor [data-grid-y="4"] { top: 280px; }
.tycoon-furniture[data-grid-y="0"] { z-index: 30; }
.tycoon-furniture[data-grid-y="1"] { z-index: 31; }
.tycoon-furniture[data-grid-y="2"] { z-index: 32; }
.tycoon-furniture[data-grid-y="3"] { z-index: 33; }
.tycoon-furniture[data-grid-y="4"] { z-index: 34; }
.tycoon-seated-guest[data-grid-y="0"] { z-index: 50; }
.tycoon-seated-guest[data-grid-y="1"] { z-index: 51; }
.tycoon-seated-guest[data-grid-y="2"] { z-index: 52; }
.tycoon-seated-guest[data-grid-y="3"] { z-index: 53; }
.tycoon-seated-guest[data-grid-y="4"] { z-index: 54; }
.tycoon-restaurant-floor.is-building .tycoon-furniture { cursor: grab; }
.tycoon-restaurant-floor.is-building .tycoon-furniture:active { cursor: grabbing; }

/* Dienste befinden sich jetzt direkt auf der Weltkarte. */
.tycoon-map-services {
  position: absolute;
  z-index: 8;
  left: 50%;
  bottom: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 8px;
  width: min(720px, calc(100% - 30px));
  transform: translateX(-50%);
}
.tycoon-map-services button {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 0 8px;
  min-height: 54px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 14px;
  background: rgba(255,253,236,.92);
  box-shadow: 0 9px 22px rgba(37,57,34,.18);
  color: #334d37;
  text-align: left;
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.tycoon-map-services button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #e8efd7; font-size: 1.15rem; }
.tycoon-map-services strong { font-size: .65rem; }
.tycoon-map-services small { color: #7c8975; font-size: .47rem; }

/* Marktgespräch: erst Dialog, danach das gewählte Sortiment. */
.tycoon-market-layout { grid-template-columns: 320px minmax(0, 1fr); }
.tycoon-market-trade {
  min-height: 470px;
  padding: 22px;
  border: 1px solid #dedfce;
  border-radius: 22px;
  background: rgba(255,253,243,.86);
  box-shadow: 0 14px 34px rgba(47,65,42,.08);
}
.tycoon-market-trade > div > h3 { margin-bottom: 3px; }
.tycoon-market-trade > div > p { margin: 0 0 16px; color: #768071; font-size: .7rem; }
.tycoon-market-waiting { display: grid; place-items: center; align-content: center; min-height: 410px; color: #71816a; text-align: center; }
.tycoon-market-waiting > span { font-size: 3.4rem; }
.tycoon-market-waiting h3 { margin: 12px 0 3px; color: #3d523d; }
.tycoon-market-waiting p { max-width: 390px; }
.tycoon-market-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0 15px 12px; }
.tycoon-market-choices button {
  min-height: 43px;
  border: 1px solid #cad6b9;
  border-radius: 11px;
  background: #f8f7e9;
  color: #446043;
  font-size: .59rem;
  font-weight: 900;
  cursor: pointer;
}
.tycoon-market-choices button:hover,
.tycoon-market-choices button.is-active { border-color: #5c8451; background: #527649; color: white; }
.tycoon-market-choices.is-talking button { opacity: .5; pointer-events: none; }
.tycoon-market-speech p { min-height: 3.5em; }
.tycoon-market-npc__portrait > span { transition: opacity .08s ease; }
.tycoon-market-npc__portrait.is-speaking { animation: tycoonNpcBreath .7s ease-in-out infinite; }
.tycoon-market-npc__portrait.is-speaking > span { animation: tycoonMerchantTalkSmooth .2s ease-in-out infinite; }
@keyframes tycoonMerchantTalkSmooth { 0%,42% { opacity: 0; } 54%,88% { opacity: 1; } 100% { opacity: 0; } }
@keyframes tycoonNpcBreath { 50% { transform: translateY(-2px); } }
.tycoon-market-item--buy { min-height: 225px; }
.tycoon-market-item--buy label { display: grid; gap: 4px; margin-top: 12px; color: #687563; font-size: .58rem; font-weight: 800; }
.tycoon-market-item--buy input { width: 100%; min-height: 34px; border: 1px solid #d6daca; border-radius: 8px; background: white; padding: 0 9px; }

/* Spielerbilder */
.tycoon-player-chip {
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.tycoon-player-chip:hover { transform: translateY(-1px); }
.tycoon-avatar {
  display: block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.tycoon-avatar--anya { background-image: url('/tycoon/avatar-anya-farmer.png?v=20260810-1'); }
.tycoon-avatar--yor { background-image: url('/tycoon/avatar-yor-farmer.png?v=20260810-1'); }
.tycoon-avatar--loid { background-image: url('/tycoon/avatar-loid-farmer.png?v=20260810-1'); }
.tycoon-avatar--bond { background-image: url('/tycoon/avatar-bond-farmer-v2.png?v=20260810-2'); }
.tycoon-player-chip > .tycoon-avatar { width: 46px; height: 46px; border: 3px solid #e4c464; border-radius: 15px; box-shadow: 0 5px 12px rgba(63,79,49,.15); }
.tycoon-profile-card > button { display: block; width: 104px; height: 104px; margin: 0 auto; padding: 0; overflow: hidden; border: 5px solid #e4c464; border-radius: 30px; background: #567b49; cursor: pointer; }
.tycoon-profile-card > button > .tycoon-avatar { width: 100%; height: 100%; }
.tycoon-avatar-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.tycoon-avatar-picker button { display: grid; grid-template-columns: 78px 1fr; align-items: center; gap: 2px 12px; padding: 10px; border: 2px solid #e0e1d5; border-radius: 16px; background: #fffdf5; color: #405140; text-align: left; cursor: pointer; }
.tycoon-avatar-picker button.is-selected { border-color: #d7b44f; background: #fff8d9; box-shadow: 0 0 0 3px rgba(215,180,79,.14); }
.tycoon-avatar-picker .tycoon-avatar { grid-row: 1 / 4; width: 78px; height: 78px; border-radius: 13px; }
.tycoon-avatar-picker strong { font-size: .8rem; }
.tycoon-avatar-picker small { color: #778174; font-size: .58rem; }
.tycoon-avatar-picker i { color: #668558; font-size: .56rem; font-style: normal; font-weight: 900; }

@media (max-width: 900px) {
  .tycoon-market-layout { grid-template-columns: 1fr; }
  .tycoon-market-npc { display: grid; grid-template-columns: 180px 1fr; }
  .tycoon-market-choices, .tycoon-market-npc__tip { margin-right: 16px; }
  .tycoon-map-services { grid-template-columns: repeat(2, 1fr); width: min(430px, calc(100% - 20px)); }
}
@media (max-width: 820px) {
  .tycoon-world { position: relative; inset: auto; min-height: 100vh; padding-top: 66px; padding-bottom: 0; }
  .tycoon-view { min-height: calc(100vh - 66px); }
  .tycoon-hud__actions button:first-child { display: grid; }
}
@media (max-width: 560px) {
  .tycoon-map-services { bottom: 8px; gap: 5px; }
  .tycoon-map-services button { min-height: 45px; padding: 5px 7px; }
  .tycoon-map-services button > span { width: 30px; height: 30px; }
  .tycoon-market-npc { display: block; }
  .tycoon-market-choices { margin: 0 12px 10px; }
  .tycoon-market-trade { min-height: 360px; padding: 14px; }
  .tycoon-market-waiting { min-height: 320px; }
  .tycoon-avatar-picker { grid-template-columns: 1fr; }
}

/* MMO-Markthändler */
.tycoon-market-layout {
  grid-template-columns: minmax(0, 1fr) 310px;
  align-items: start;
}
.tycoon-market-npc {
  position: sticky;
  top: 8px;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid #d7ddbd;
  border-radius: 24px;
  background: linear-gradient(180deg, #e9f0cf, #fffaf0 68%);
  box-shadow: 0 18px 42px rgba(47,69,43,.13);
}
.tycoon-market-npc__portrait {
  position: relative;
  height: 285px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 30%, #fff7c9, transparent 42%), linear-gradient(#9bc98c, #d9e8b4);
}
.tycoon-market-npc__portrait::after {
  content: "";
  position: absolute;
  inset: 8px 24px 0;
  background: url('/tycoon/market-merchant-closed.png?v=20260810-1') center bottom / contain no-repeat;
  filter: drop-shadow(0 12px 12px rgba(50,58,31,.2));
}
.tycoon-market-npc__portrait > span {
  position: absolute;
  z-index: 2;
  inset: 8px 24px 0;
  background: url('/tycoon/market-merchant-open.png?v=20260810-1') center bottom / contain no-repeat;
  opacity: 0;
  filter: drop-shadow(0 12px 12px rgba(50,58,31,.2));
}
.tycoon-market-npc__portrait.is-speaking > span { animation: tycoonMerchantTalk .28s steps(1,end) infinite; }
@keyframes tycoonMerchantTalk { 0%,49% { opacity: 0; } 50%,100% { opacity: 1; } }
.tycoon-market-speech {
  position: relative;
  z-index: 4;
  margin: -18px 15px 13px;
  padding: 14px 15px;
  border: 1px solid #e1d4ad;
  border-radius: 16px;
  background: #fffef7;
  box-shadow: 0 9px 20px rgba(61,60,39,.12);
}
.tycoon-market-speech::before { content: ""; position: absolute; top: -9px; left: 32px; width: 17px; height: 17px; border: solid #e1d4ad; border-width: 1px 0 0 1px; background: #fffef7; transform: rotate(45deg); }
.tycoon-market-speech small { display: block; color: #66805c; font-size: .58rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.tycoon-market-speech p { margin: 5px 0 0; color: #344433; font-size: .78rem; font-weight: 700; line-height: 1.45; }
.tycoon-market-npc__tip { display: grid; gap: 3px; margin: 0 15px 15px; padding: 11px 13px; border-radius: 13px; background: #e4efd7; }
.tycoon-market-npc__tip b { color: #3e713e; font-size: .67rem; }
.tycoon-market-npc__tip span { color: #697b63; font-size: .62rem; }

/* Übersichtskarte */
.tycoon-world-map-view {
  position: relative;
  overflow: hidden;
  background: #a7c987;
}
.tycoon-world-map-heading {
  position: absolute;
  z-index: 10;
  top: 22px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(760px, calc(100% - 44px));
  padding: 15px 20px;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 19px;
  background: rgba(255,252,231,.9);
  box-shadow: 0 14px 34px rgba(43,67,38,.18);
  transform: translateX(-50%);
  backdrop-filter: blur(13px);
}
.tycoon-world-map-heading p,
.tycoon-world-map-heading h2 { margin: 0; }
.tycoon-world-map-heading p { color: #76915f; font-size: .58rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.tycoon-world-map-heading h2 { margin-top: 2px; font-size: 1.55rem; }
.tycoon-world-map-heading > span { color: #798572; font-size: .64rem; font-weight: 800; }
.tycoon-world-map {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(38,65,36,.06), rgba(38,65,36,.12)), url('/tycoon/world-map-v2.png?v=20260810-1') center / cover no-repeat;
}
.tycoon-map-pin {
  position: absolute;
  display: grid;
  grid-template-columns: 39px auto;
  align-items: center;
  gap: 0 9px;
  min-width: 158px;
  padding: 9px 13px 9px 9px;
  border: 2px solid rgba(255,255,255,.8);
  border-radius: 15px;
  background: rgba(43,70,41,.91);
  box-shadow: 0 12px 24px rgba(34,57,32,.3), inset 0 1px rgba(255,255,255,.2);
  color: white;
  text-align: left;
  cursor: pointer;
  transform: translate(-50%,-50%);
  transition: transform .2s, filter .2s;
  backdrop-filter: blur(8px);
}
.tycoon-map-pin:hover { filter: brightness(1.12); transform: translate(-50%,-54%) scale(1.035); }
.tycoon-map-pin > span { grid-row: 1 / 3; display: grid; place-items: center; width: 39px; height: 39px; border-radius: 11px; background: #fff4c9; font-size: 1.25rem; }
.tycoon-map-pin strong { font-size: .7rem; }
.tycoon-map-pin small { color: #d8e8d1; font-size: .5rem; }
.tycoon-map-pin--farm { left: 23%; top: 70%; }
.tycoon-map-pin--restaurant { left: 79%; top: 71%; }
.tycoon-map-pin--market { left: 51%; top: 51%; }
.tycoon-map-pin--town { left: 22%; top: 29%; }
.tycoon-map-pin--harbor { left: 81%; top: 31%; }

/* Fahrt zwischen den Orten */
.tycoon-travel {
  position: fixed;
  z-index: 950;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: url('/tycoon/world-map-v2.png?v=20260810-1') center / cover no-repeat;
  opacity: 0;
  transition: opacity .24s ease;
}
.tycoon-travel[hidden] { display: none; }
.tycoon-travel.is-active { opacity: 1; }
.tycoon-travel.is-arriving { opacity: 0; }
.tycoon-travel__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,54,35,.45), rgba(28,46,30,.76)); backdrop-filter: blur(5px); }
.tycoon-travel__content { position: relative; width: min(780px, calc(100% - 28px)); color: white; text-align: center; text-shadow: 0 2px 14px rgba(20,34,22,.5); }
.tycoon-travel__content p { margin: 0; color: #f4d779; font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.tycoon-travel__content h2 { margin: 6px 0 34px; font-size: clamp(2.2rem, 6vw, 4.5rem); }
.tycoon-travel__content small { display: block; margin-top: 18px; font-weight: 700; }
.tycoon-travel__road { position: relative; height: 150px; overflow: hidden; border-radius: 26px; background: linear-gradient(#77a65f 0 22%, #5f8e50 22% 32%, #5a5547 32% 82%, #496f3f 82%); box-shadow: 0 20px 50px rgba(20,32,20,.28); }
.tycoon-travel__road::before { content: ""; position: absolute; left: 0; right: 0; top: 91px; height: 5px; background: repeating-linear-gradient(90deg, #f4e4a1 0 54px, transparent 54px 92px); }
.tycoon-travel__road > i { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent); animation: tycoonRoadLight .8s linear infinite; }
.tycoon-travel__motorcycle { position: absolute; z-index: 2; left: -220px; bottom: 11px; width: 205px; height: 145px; background: url('/tycoon/travel-motorcycle.png?v=20260810-1') center bottom / contain no-repeat; filter: drop-shadow(0 10px 8px rgba(25,28,20,.35)); }
.tycoon-travel.is-active .tycoon-travel__motorcycle { animation: tycoonMotorcycleRide 1.42s cubic-bezier(.3,.05,.65,.97) forwards; }
@keyframes tycoonMotorcycleRide { 0% { left: -220px; transform: translateY(3px) rotate(-1deg); } 48% { transform: translateY(-3px) rotate(1deg); } 100% { left: calc(100% + 25px); transform: translateY(2px) rotate(-1deg); } }
@keyframes tycoonRoadLight { from { transform: translateX(-50%); } to { transform: translateX(50%); } }

@media (max-width: 900px) {
  .tycoon-market-layout { grid-template-columns: 1fr; }
  .tycoon-market-npc { position: relative; top: auto; display: grid; grid-template-columns: 180px 1fr; }
  .tycoon-market-npc__portrait { grid-row: 1 / 3; height: 230px; }
  .tycoon-market-speech { align-self: end; margin: 16px 16px 8px 0; }
  .tycoon-market-npc__tip { align-self: start; margin: 0 16px 16px 0; }
  .tycoon-world-map-heading { top: 12px; }
  .tycoon-map-pin { min-width: 0; grid-template-columns: 35px auto; padding: 7px; }
  .tycoon-map-pin > span { width: 35px; height: 35px; }
  .tycoon-map-pin small { display: none; }
}
@media (max-width: 820px) {
  .tycoon-currency { min-width: 86px; border-radius: 13px; }
  .tycoon-currency small { display: none; }
  .tycoon-game-nav button:nth-child(6) { display: grid; }
  .tycoon-world-map-heading > span { display: none; }
  .tycoon-world-map-heading h2 { font-size: 1.15rem; }
}
@media (max-width: 560px) {
  .tycoon-currency { min-width: 65px; padding: 5px 7px 5px 5px; }
  .tycoon-currency > .tycoon-currency__icon { width: 23px; height: 23px; }
  .tycoon-market-npc { display: block; }
  .tycoon-market-npc__portrait { height: 230px; }
  .tycoon-market-speech { margin: -16px 12px 10px; }
  .tycoon-market-npc__tip { margin: 0 12px 12px; }
  .tycoon-world-map-heading { width: calc(100% - 22px); padding: 11px 13px; }
  .tycoon-map-pin { grid-template-columns: 32px auto; border-radius: 12px; }
  .tycoon-map-pin > span { width: 32px; height: 32px; font-size: 1rem; }
  .tycoon-map-pin strong { font-size: .58rem; }
  .tycoon-map-pin--farm { left: 22%; top: 72%; }
  .tycoon-map-pin--restaurant { left: 76%; top: 73%; }
  .tycoon-map-pin--market { left: 50%; top: 52%; }
  .tycoon-map-pin--town { left: 23%; top: 30%; }
  .tycoon-map-pin--harbor { left: 77%; top: 32%; }
  .tycoon-travel__road { height: 120px; }
  .tycoon-travel__motorcycle { width: 170px; height: 118px; }
}

/* Isometrische Spielwelten */
.tycoon-farm-scene { min-height: 690px; background-position: 50% 43%; }
.tycoon-farm-scene::after { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(179,220,244,.08), transparent 44%), linear-gradient(0deg, rgba(34,77,42,.2), transparent 42%); }
.tycoon-farm-board { position: absolute; z-index: 5; left: 50%; bottom: 58px; width: 780px; height: 345px; transform: translateX(-50%); filter: drop-shadow(0 24px 18px rgba(34,52,28,.2)); }
.tycoon-farm-board::before { content: ""; position: absolute; left: 76px; right: 45px; top: 2px; height: 315px; clip-path: polygon(50% 0,100% 45%,50% 100%,0 45%); background: linear-gradient(145deg, rgba(165,205,104,.8), rgba(80,141,72,.88)); box-shadow: inset 0 0 0 10px rgba(229,209,137,.2); }
.tycoon-plot-grid { position: absolute; inset: 0; display: block; width: 780px; height: 345px; transform: none; perspective: none; }
.tycoon-farm-tile { position: absolute; z-index: 1; left: var(--iso-x); top: var(--iso-y); width: 72px; height: 36px; margin: 0; border: 1px solid rgba(49,94,48,.18); clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); background: linear-gradient(150deg,#a9ce68,#70a75f); cursor: default; transition: filter .15s, transform .15s, background .15s; }
.tycoon-farm-tile:nth-child(3n) { background: linear-gradient(150deg,#a3c966,#68a05b); }.tycoon-farm-tile.is-occupied { opacity: .2; }
.tycoon-plot-grid.is-building .tycoon-farm-tile:not(:disabled) { z-index: 20; cursor: pointer; animation: tycoonFarmTilePulse 1.5s ease-in-out infinite; }.tycoon-plot-grid.is-building .tycoon-farm-tile:not(:disabled):hover { filter: brightness(1.3); transform: translateY(-3px); background: #e7d879; }
@keyframes tycoonFarmTilePulse { 50% { filter: brightness(1.14); } }
.tycoon-plot { position: absolute; z-index: calc(15 + var(--iso-depth)); left: var(--iso-x); top: var(--iso-y); display: block; width: 72px; min-height: 36px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #fff; transform: none; }
.tycoon-plot::before { content: ""; position: absolute; z-index: 0; inset: 0; width: 72px; height: 36px; border: 2px solid #70452d; clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); background: repeating-linear-gradient(153deg,#795033 0 7px,#8e5d38 7px 13px); box-shadow: 0 7px 0 #533923, 0 10px 10px rgba(48,35,22,.28); }
.tycoon-plot::after { content: ""; position: absolute; z-index: 1; left: 9px; top: 7px; width: 54px; height: 21px; clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); background: repeating-linear-gradient(153deg,transparent 0 5px,rgba(230,181,95,.25) 5px 7px); }
.tycoon-plot:hover { filter: none; transform: translateY(-2px); }.tycoon-plot.is-selected::before { border-color: #fff0a0; box-shadow: 0 7px 0 #533923,0 0 0 5px rgba(255,230,112,.55); }
.tycoon-soil-lines { position: absolute !important; z-index: 2 !important; left: 14px; top: 8px; display: flex !important; gap: 5px; width: 44px; height: 18px; filter: none !important; }.tycoon-soil-lines i { width: 2px; height: 17px; border-radius: 50%; background: rgba(235,193,119,.4); transform: rotate(62deg); }
.tycoon-plot.is-empty > strong, .tycoon-plot.is-empty > small { position: absolute; z-index: 12; left: 50%; display: none; width: 112px; padding: 3px 7px; border-radius: 7px; background: rgba(45,62,39,.9); transform: translateX(-50%); white-space: nowrap; }.tycoon-plot.is-empty > strong { bottom: 50px; font-size: .62rem; }.tycoon-plot.is-empty > small { bottom: 35px; color: #e9e6cb; font-size: .51rem; }.tycoon-plot.is-empty:hover > strong, .tycoon-plot.is-empty:hover > small, .tycoon-plot-grid.is-building .tycoon-plot.is-empty > strong, .tycoon-plot-grid.is-building .tycoon-plot.is-empty > small { display: block; }
.tycoon-plot > .tycoon-crop-visual { position: absolute; z-index: 6; left: 9px; bottom: 16px; display: block; width: 55px; height: 76px; min-height: 0; overflow: visible; font-size: initial; filter: drop-shadow(0 5px 3px rgba(44,38,21,.27)); pointer-events: none; transform: none !important; }
.tycoon-crop-visual i { position: absolute; bottom: 0; left: calc(4px + var(--plant-index) * 7px); display: block !important; width: 4px; height: calc(5px + 52px * var(--growth)); border-radius: 4px 4px 1px 1px; background: linear-gradient(90deg,#416d30,#78a83f,#345e2b); opacity: calc(.38 + var(--growth) * .62); transform: rotate(calc((var(--plant-index) - 3) * 2deg)) !important; transform-origin: bottom; transition: height .9s linear,opacity .9s linear; }
.tycoon-crop-visual i::before { content: ""; position: absolute; left: -3px; top: -3px; width: 10px; height: calc(5px + 11px * var(--growth)); border-radius: 70% 20% 70% 20%; background: #e0b34a; transform: rotate(18deg); box-shadow: 2px 1px #c58a32; }
.tycoon-plot[data-crop="corn"] .tycoon-crop-visual i { width: 6px; height: calc(5px + 58px * var(--growth)); background: linear-gradient(90deg,#386f32,#67a33b,#2c5f2c); }.tycoon-plot[data-crop="corn"] .tycoon-crop-visual i::before { top: 28%; left: 2px; width: calc(3px + 8px * var(--growth)); height: calc(4px + 15px * var(--growth)); border-radius: 70%; background: #f0ce42; box-shadow: none; }
.tycoon-plot[data-crop="carrot"] .tycoon-crop-visual i { width: 3px; height: calc(4px + 28px * var(--growth)); background: #4c8b3d; }.tycoon-plot[data-crop="carrot"] .tycoon-crop-visual i::before { top: auto; bottom: -4px; left: -2px; width: calc(3px + 7px * var(--growth)); height: calc(4px + 12px * var(--growth)); border-radius: 4px 4px 70% 70%; background: #eb7731; box-shadow: none; transform: none; }
.tycoon-plot.is-ready > .tycoon-crop-visual { animation: tycoonIsoCropReady 1.35s ease-in-out infinite; }@keyframes tycoonIsoCropReady { 50% { transform: translateY(-4px) !important; filter: drop-shadow(0 0 8px rgba(255,226,91,.85)); } }
.tycoon-plot > .tycoon-growth-card,.tycoon-plot.is-growing > .tycoon-growth-card,.tycoon-plot.is-ready > .tycoon-growth-card,.tycoon-plot:hover > .tycoon-growth-card { position: absolute; z-index: 30; left: 50%; bottom: 83px; display: grid; grid-template-columns: 1fr auto; gap: 1px 6px; width: 116px; padding: 6px 8px; border: 1px solid rgba(255,255,255,.65); border-radius: 10px; background: rgba(47,69,42,.92); box-shadow: 0 7px 17px rgba(37,48,30,.25); color: #fff9da; text-align: left; transform: translateX(-50%) scale(.82) !important; transform-origin: bottom; animation: none !important; pointer-events: none; backdrop-filter: blur(7px); }
.tycoon-growth-card::after { content: ""; position: absolute; left: 50%; bottom: -5px; width: 10px; height: 10px; background: rgba(47,69,42,.92); transform: translateX(-50%) rotate(45deg); }.tycoon-growth-card strong { font-size: .61rem; }.tycoon-growth-card small { grid-column: 1 / -1; color: #c9dbb0; font-size: .49rem; }.tycoon-growth-card > i { grid-column: 1 / -1; display: block; height: 5px; overflow: hidden; border-radius: 9px; background: rgba(255,255,255,.17); }.tycoon-growth-card > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#8bc45e,#f2d45d); transition: width .9s linear; }.tycoon-growth-card em { color: #f6dc6d; font-size: .49rem; font-style: normal; font-weight: 800; }.tycoon-growth-card u { color: #fff; font-size: .47rem; text-decoration: none; text-align: right; }
.tycoon-farm-builder { position: absolute; z-index: 10; right: 22px; top: 88px; width: 230px; padding: 10px; border: 1px solid rgba(255,255,255,.68); border-radius: 16px; background: rgba(255,251,227,.92); box-shadow: 0 12px 28px rgba(43,58,35,.19); backdrop-filter: blur(8px); }.tycoon-farm-builder__tools { display: grid; grid-template-columns: 1fr; gap: 6px; }.tycoon-farm-builder button { min-height: 34px; border: 1px solid #cdd4b9; border-radius: 10px; background: #eef2df; color: #3f5f3d; font-size: .61rem; font-weight: 900; cursor: pointer; }.tycoon-farm-builder button.is-active { border-color: #6f9256; background: #577b49; color: white; }.tycoon-farm-builder p { margin: 7px 2px 0; color: #6e7869; font-size: .54rem; line-height: 1.45; }

.tycoon-restaurant-scene { min-height: 690px; background: radial-gradient(circle at 50% 0,rgba(255,219,140,.3),transparent 32%),linear-gradient(180deg,#49342d 0 23%,#bc8657 23% 26%,#f0dbad 26% 100%); }
.tycoon-restaurant-scene::after { content: ""; position: absolute; z-index: 1; left: 5%; right: 5%; top: 19%; height: 150px; border: 8px solid #76513d; border-bottom: 18px solid #8d6041; border-radius: 26px 26px 0 0; background: linear-gradient(90deg,rgba(255,250,222,.88),rgba(237,211,164,.95)); box-shadow: inset 0 -22px rgba(126,75,47,.08); }
.tycoon-restaurant-room { z-index: 4; grid-template-columns: 145px minmax(760px,1fr) 205px; width: min(1210px,calc(100% - 26px)); padding: 13px; border: 7px solid #77513a; border-radius: 24px 24px 13px 13px; background: rgba(255,244,209,.92); box-shadow: 0 24px 45px rgba(53,35,27,.3); }
.tycoon-restaurant-floor { position: relative; display: block; width: 780px; min-width: 780px; height: 330px; min-height: 330px; overflow: visible; border: 0; border-radius: 0; background: transparent; isolation: isolate; }
.tycoon-restaurant-floor::before { content: ""; position: absolute; z-index: 0; left: 92px; top: 0; width: 610px; height: 310px; clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); background-color: #c78b5d; background-image: linear-gradient(30deg,rgba(255,232,180,.25) 12%,transparent 12.5%,transparent 87%,rgba(83,51,34,.12) 87.5%),linear-gradient(150deg,rgba(255,232,180,.25) 12%,transparent 12.5%,transparent 87%,rgba(83,51,34,.12) 87.5%); background-size: 42px 42px; box-shadow: inset 0 0 0 8px rgba(104,65,42,.28),0 18px 24px rgba(74,47,31,.22); }
.tycoon-room-cell { position: absolute; z-index: var(--iso-depth); left: var(--iso-x); top: var(--iso-y); width: 84px; height: 42px; min-width: 0; margin: 0; border: 1px solid rgba(100,62,39,.16); clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%); background: linear-gradient(145deg,rgba(255,220,157,.28),rgba(125,74,44,.06)); cursor: default; }.tycoon-room-cell.is-occupied { opacity: .3; }.tycoon-restaurant-floor.is-building .tycoon-room-cell:not(:disabled) { cursor: pointer; animation: tycoonRestaurantTilePulse 1.35s ease-in-out infinite; }.tycoon-restaurant-floor.is-building .tycoon-room-cell:not(:disabled):hover { background: rgba(255,235,137,.72); filter: brightness(1.2); }@keyframes tycoonRestaurantTilePulse { 50% { filter: brightness(1.16); } }
.tycoon-furniture { position: absolute; z-index: calc(20 + var(--iso-depth)); left: var(--iso-x); top: var(--iso-y); display: grid; place-items: center; width: 84px; height: 82px; margin: 0; border: 0; border-radius: 0; background: transparent; filter: drop-shadow(0 8px 4px rgba(59,38,25,.28)); font-size: 2rem; cursor: default; transform: none; }.tycoon-furniture--table { width: 84px; height: 72px; border: 0; background: radial-gradient(ellipse at 50% 41%,#e2b36a 0 33%,#9b5f38 35% 43%,transparent 45%),linear-gradient(90deg,transparent 43%,#704328 44% 56%,transparent 57%); }.tycoon-furniture--table > span { opacity: 0; }.tycoon-furniture--chair { background: linear-gradient(90deg,transparent 27%,#77482e 28% 72%,transparent 73%) 50% 30% / 100% 36% no-repeat,linear-gradient(90deg,transparent 36%,#a96d40 37% 63%,transparent 64%) 50% 65% / 100% 23% no-repeat; }.tycoon-furniture--chair > span { opacity: 0; }.tycoon-furniture--plant,.tycoon-furniture--lamp { font-size: 2.35rem; }.tycoon-furniture.is-editable { cursor: pointer; outline: 2px dashed rgba(255,240,143,.9); outline-offset: -8px; }.tycoon-furniture.is-occupied { filter: drop-shadow(0 0 9px #ffe16e); }
.tycoon-seated-guest { position: absolute; z-index: calc(40 + var(--iso-depth)); left: var(--iso-x); top: var(--iso-y); display: grid; place-items: center; width: 76px; min-height: 72px; margin: 0 0 0 4px; border: 3px solid #fff2c5; border-radius: 48% 48% 20px 20px; background: linear-gradient(#7eac70,#547f58); box-shadow: 0 8px 14px rgba(53,36,25,.25); animation: tycoonGuestIdle 2.2s ease-in-out infinite; }.tycoon-seated-guest:nth-of-type(2n) { animation-delay: -.8s; }@keyframes tycoonGuestIdle { 50% { transform: translateY(-3px); } }
.tycoon-seated-guest > span { font-size: 2rem; }.tycoon-seated-guest > i { top: -8px; right: -7px; }.tycoon-seated-guest small { top: 65px; width: 100px; }
.tycoon-kitchen-station { position: relative; inset: auto; align-self: stretch; width: auto; min-height: 230px; border: 4px solid #6c4430; border-radius: 20px 20px 10px 10px; background: linear-gradient(180deg,#ffe2a1 0 17%,#b76f43 18% 29%,#e5b870 30% 65%,#8b5638 66%); box-shadow: inset 0 -18px rgba(76,44,31,.18),0 14px 24px rgba(70,43,30,.25); }.tycoon-kitchen-station::before { content: ""; width: 82%; height: 58px; margin: 4px auto 10px; border-radius: 10px; background: radial-gradient(circle at 30% 50%,#41352f 0 13px,transparent 14px),radial-gradient(circle at 70% 50%,#41352f 0 13px,transparent 14px),#d7d2c0; box-shadow: inset 0 -6px #9c9688; }.tycoon-kitchen-station > span { font-size: 2.1rem; }
.tycoon-guest-queue { align-self: stretch; border-color: #d9bc87; background: rgba(255,249,224,.97); box-shadow: inset 0 0 25px rgba(126,83,48,.08); }.tycoon-waiting-guest { background: linear-gradient(90deg,#fff,#fff9e7); box-shadow: 0 5px 12px rgba(80,54,35,.08); }
.tycoon-restaurant-hint { background: rgba(61,43,34,.91); box-shadow: 0 8px 20px rgba(52,36,27,.2); }

@media (max-width: 1080px) {
  .tycoon-farm-board { left: 48%; transform: translateX(-50%) scale(.88); transform-origin: center bottom; }
  .tycoon-farm-builder { right: 10px; width: 205px; }
  .tycoon-restaurant-room { grid-template-columns: 125px 780px; overflow-x: auto; }
  .tycoon-guest-queue { grid-column: 1 / -1; }.tycoon-guest-queue > div { display: flex; overflow-x: auto; }
}
@media (max-width: 820px) {
  .tycoon-farm-scene { min-height: 720px; }.tycoon-farm-board { left: 50%; bottom: 84px; transform: translateX(-50%) scale(.7); }.tycoon-farm-builder { top: 72px; right: 8px; width: 190px; }.tycoon-seed-merchant { bottom: 182px; }.tycoon-seed-pouch { bottom: 126px; }
  .tycoon-restaurant-room { display: grid; grid-template-columns: 105px 780px; width: calc(100% - 12px); }.tycoon-restaurant-floor { min-width: 780px; }
}
@media (max-width: 520px) {
  .tycoon-farm-board { bottom: 120px; transform: translateX(-50%) scale(.55); }.tycoon-farm-builder { top: 70px; width: 172px; }.tycoon-farm-builder p { display: none; }.tycoon-farm-scene { min-height: 650px; }.tycoon-seed-merchant { bottom: 146px; }.tycoon-seed-pouch { bottom: 98px; }
  .tycoon-growth-card { transform: translateX(-50%) scale(.9); }
}

@media (prefers-reduced-motion: reduce) {
  .tycoon-entry-page *, .tycoon-game-page * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
.tycoon-no-animation *, .tycoon-no-animation *::before, .tycoon-no-animation *::after { animation: none !important; transition-duration: .001ms !important; }
.tycoon-farm-scene.is-night::before { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: rgba(28,45,70,.28); mix-blend-mode: multiply; }

@media (max-width: 960px) {
  .tycoon-restaurant-room { grid-template-columns: 120px minmax(520px,1fr); overflow-x: auto; }
  .tycoon-guest-queue { grid-column: 1 / -1; }
  .tycoon-guest-queue > div { display: flex; overflow-x: auto; }
  .tycoon-waiting-guest { flex: 0 0 190px; }
}
@media (max-width: 820px) {
  .tycoon-seed-merchant { left: 9px; bottom: 180px; min-width: 145px; transform: scale(.88); transform-origin: left bottom; }
  .tycoon-seed-pouch { left: 9px; bottom: 126px; transform: scale(.86); transform-origin: left bottom; }
  .tycoon-restaurant-header { align-items: flex-start; padding: 16px !important; }
  .tycoon-restaurant-room { display: grid; grid-template-columns: 100px minmax(500px,1fr); width: calc(100% - 16px); padding: 9px; border-width: 5px; }
  .tycoon-restaurant-room .tycoon-kitchen-station { position: relative; inset: auto; left: auto; width: auto; min-height: 155px; }
  .tycoon-restaurant-floor { min-height: 350px; }
  .tycoon-inventory-sections { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .tycoon-restaurant-header { flex-direction: column; }
  .tycoon-restaurant-tools { width: 100%; }.tycoon-restaurant-tools button { flex: 1; }
  .tycoon-seed-shop article { grid-template-columns: 38px 1fr 72px; }.tycoon-seed-shop article > button { grid-column: 2 / -1; }
  .tycoon-furniture-shop { grid-template-columns: 1fr; }
  .tycoon-crop-visual i:first-child, .tycoon-crop-visual i:last-child { display: none; }
}

/* Farm Art v5: zusammenhängende Spielwelt mit echten Grafik-Assets */
.tycoon-loading {
  background-image: url('/tycoon/farm-world-v2.png?v=20260810-1');
}
.tycoon-farm-scene {
  min-height: 700px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(17,55,25,.1)), url('/tycoon/farm-world-v2.png?v=20260810-1') center / cover no-repeat;
  isolation: isolate;
}
.tycoon-farm-scene::after {
  z-index: 2;
  background: linear-gradient(180deg, rgba(17,45,24,.08), transparent 25%, transparent 73%, rgba(18,49,24,.16));
}
.tycoon-farm-scene .tycoon-sky-details { display: none; }
.tycoon-farm-scene .tycoon-weather-chip,
.tycoon-farm-builder,
.tycoon-seed-merchant,
.tycoon-seed-pouch,
.tycoon-farm-scene .tycoon-building-hotspot,
.tycoon-farm-scene .tycoon-order-board,
.tycoon-farm-scene .tycoon-scene-link {
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,253,240,.9);
  box-shadow: 0 12px 34px rgba(31,59,28,.18);
  backdrop-filter: blur(14px) saturate(1.08);
}
.tycoon-building-hotspot--mill { top: 18%; left: auto; right: 11%; }
.tycoon-building-hotspot--bakery { top: 18%; right: auto; left: 18%; }
.tycoon-farm-scene .tycoon-order-board { top: 43%; left: 4%; }

.tycoon-farm-board {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 54px;
  width: 980px;
  height: 455px;
  transform: translateX(-50%);
  filter: none;
}
.tycoon-farm-board::before { display: none; }
.tycoon-plot-grid {
  position: absolute;
  inset: 0;
  display: block;
  width: 980px;
  height: 455px;
  transform: none;
  perspective: none;
  isolation: isolate;
}

/* Unsichtbare Rasterfelder blockieren im normalen Spiel keine echten Felder. */
.tycoon-farm-tile {
  position: absolute;
  z-index: 1;
  left: var(--iso-x);
  top: var(--iso-y);
  width: 100px;
  height: 50px;
  margin: 0;
  border: 2px solid rgba(255,244,160,.9);
  clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
  background: rgba(118,177,79,.48);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.14), 0 4px 12px rgba(39,74,33,.14);
  opacity: 0;
  pointer-events: none;
  cursor: default;
  transition: opacity .18s ease, filter .18s ease, transform .18s ease, background .18s ease;
}
.tycoon-farm-tile.is-occupied { opacity: 0; }
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled) {
  z-index: 80;
  opacity: .78;
  pointer-events: auto;
  cursor: pointer;
  animation: tycoonFarmTilePulse 1.25s ease-in-out infinite;
}
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled):hover {
  z-index: 90;
  background: rgba(255,224,103,.82);
  filter: brightness(1.18);
  transform: translateY(-6px) scale(1.04);
}

.tycoon-plot {
  position: absolute;
  z-index: calc(25 + var(--iso-depth));
  left: var(--iso-x);
  top: var(--iso-y);
  display: block;
  width: 100px;
  min-height: 50px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  transform: none;
  transition: filter .18s ease, transform .18s ease, opacity .18s ease;
}
.tycoon-plot::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: -17px;
  top: -39px;
  width: 134px;
  height: 119px;
  border: 0;
  clip-path: none;
  background: url('/tycoon/soil-field-tile.png?v=20260810-1') center / contain no-repeat;
  box-shadow: none;
  filter: drop-shadow(0 12px 8px rgba(47,54,28,.25));
}
.tycoon-plot::after { display: none; }
.tycoon-plot:hover { z-index: 72; filter: brightness(1.06); transform: translateY(-3px); }
.tycoon-plot-grid.is-selecting .tycoon-plot { cursor: move; }
.tycoon-plot-grid.is-selecting .tycoon-plot::before {
  filter: drop-shadow(0 0 8px rgba(255,235,113,.92)) drop-shadow(0 12px 8px rgba(47,54,28,.25));
}
.tycoon-plot-grid.is-placing .tycoon-plot { opacity: .68; pointer-events: none; }
.tycoon-plot.is-selected {
  z-index: 75;
  opacity: 1 !important;
  transform: translateY(-8px);
}
.tycoon-plot.is-selected::before {
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 0 11px #ffe363) drop-shadow(0 15px 10px rgba(47,54,28,.3));
}
.tycoon-soil-lines { display: none !important; }
.tycoon-plot.is-empty > strong,
.tycoon-plot.is-empty > small {
  position: absolute;
  z-index: 15;
  left: 50%;
  display: none;
  width: max-content;
  padding: 4px 8px;
  border-radius: 8px;
  background: rgba(35,62,36,.92);
  box-shadow: 0 6px 14px rgba(25,47,25,.2);
  transform: translateX(-50%);
  white-space: nowrap;
}
.tycoon-plot.is-empty > strong { bottom: 58px; font-size: .62rem; }
.tycoon-plot.is-empty > small { bottom: 39px; color: #edf2dc; font-size: .51rem; }
.tycoon-plot.is-empty:hover > strong,
.tycoon-plot.is-empty:hover > small,
.tycoon-plot-grid.is-selecting .tycoon-plot.is-empty > strong,
.tycoon-plot-grid.is-selecting .tycoon-plot.is-empty > small { display: block; }

/* Jede Pflanze ist eine eigene gerenderte Grafik mit vier Wachstumsstufen. */
.tycoon-plot > .tycoon-crop-visual {
  position: absolute;
  z-index: 8;
  left: -12px;
  bottom: 18px;
  display: block;
  width: 124px;
  height: 112px;
  min-height: 0;
  overflow: visible;
  font-size: 0;
  filter: drop-shadow(0 8px 5px rgba(48,48,25,.25));
  pointer-events: none;
  transform: none !important;
}
.tycoon-crop-visual i,
.tycoon-crop-visual i:first-child,
.tycoon-crop-visual i:last-child {
  position: absolute;
  inset: 0;
  display: block !important;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url('/tycoon/crop-growth-atlas.png?v=20260810-1');
  background-repeat: no-repeat;
  background-size: 400% 300%;
  opacity: 1;
  transform: scale(calc(.86 + var(--growth) * .14)) !important;
  transform-origin: 50% 88%;
  transition: transform .9s linear;
}
.tycoon-crop-visual i::before { content: none; }
.tycoon-plot.stage-0 .tycoon-crop-visual i { background-position-x: 0%; }
.tycoon-plot.stage-1 .tycoon-crop-visual i { background-position-x: 33.333%; }
.tycoon-plot.stage-2 .tycoon-crop-visual i { background-position-x: 66.667%; }
.tycoon-plot.stage-3 .tycoon-crop-visual i { background-position-x: 100%; }
.tycoon-plot[data-crop="wheat"] .tycoon-crop-visual i { background-position-y: 0%; }
.tycoon-plot[data-crop="corn"] .tycoon-crop-visual i { background-position-y: 50%; }
.tycoon-plot[data-crop="carrot"] .tycoon-crop-visual i { background-position-y: 100%; }
.tycoon-plot.is-ready > .tycoon-crop-visual { animation: tycoonFarmCropReady 1.35s ease-in-out infinite; }
@keyframes tycoonFarmCropReady {
  50% { transform: translateY(-5px) !important; filter: drop-shadow(0 0 12px rgba(255,226,91,.96)); }
}

/* Kompakter Fortschritt; Details werden beim Darüberfahren ausgeklappt. */
.tycoon-plot > .tycoon-growth-card,
.tycoon-plot.is-growing > .tycoon-growth-card,
.tycoon-plot.is-ready > .tycoon-growth-card,
.tycoon-plot:hover > .tycoon-growth-card {
  position: absolute;
  z-index: 35;
  left: 50%;
  bottom: 91px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 5px;
  width: 88px;
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 10px;
  background: rgba(35,64,38,.9);
  box-shadow: 0 7px 18px rgba(28,49,27,.2);
  color: #fff9da;
  text-align: left;
  transform: translateX(-50%) !important;
  transform-origin: bottom;
  animation: none !important;
  pointer-events: none;
  backdrop-filter: blur(9px);
  transition: width .18s ease, padding .18s ease;
}
.tycoon-growth-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 8px;
  height: 8px;
  background: rgba(35,64,38,.9);
  transform: translateX(-50%) rotate(45deg);
}
.tycoon-growth-card strong { overflow: hidden; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.tycoon-growth-card small,
.tycoon-growth-card u { display: none; }
.tycoon-growth-card > i { grid-column: 1 / -1; display: block; height: 5px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.2); }
.tycoon-growth-card > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#86c957,#f4d45b); transition: width .9s linear; }
.tycoon-growth-card em { color: #ffe172; font-size: .5rem; font-style: normal; font-weight: 900; }
.tycoon-plot:hover > .tycoon-growth-card,
.tycoon-plot:focus-visible > .tycoon-growth-card {
  z-index: 50;
  width: 132px;
  padding: 7px 9px;
}
.tycoon-plot:hover .tycoon-growth-card small,
.tycoon-plot:hover .tycoon-growth-card u,
.tycoon-plot:focus-visible .tycoon-growth-card small,
.tycoon-plot:focus-visible .tycoon-growth-card u { display: block; grid-column: 1 / -1; }
.tycoon-growth-card small { color: #cde3bc; font-size: .49rem; }
.tycoon-growth-card u { color: #fff; font-size: .48rem; text-decoration: none; }

.tycoon-farm-builder {
  z-index: 20;
  top: 20px;
  right: 20px;
  width: 238px;
  padding: 11px;
  border-radius: 17px;
}
.tycoon-farm-builder__tools { grid-template-columns: 1fr 1fr; gap: 7px; }
.tycoon-farm-builder button {
  min-height: 39px;
  border: 1px solid #d3d9c5;
  border-radius: 11px;
  background: #f3f5e8;
  color: #35583a;
  font-size: .58rem;
}
.tycoon-farm-builder button.is-active { border-color: #52784f; background: #426b46; color: #fff; }
.tycoon-farm-builder p { margin: 8px 3px 0; color: #62705f; font-size: .54rem; line-height: 1.4; }

@media (max-width: 1120px) {
  .tycoon-farm-board { left: 49%; transform: translateX(-50%) scale(.85); transform-origin: center bottom; }
  .tycoon-farm-builder { right: 10px; }
}
@media (max-width: 820px) {
  .tycoon-farm-scene { min-height: 720px; background-position: 52% center; }
  .tycoon-farm-board { left: 50%; bottom: 92px; transform: translateX(-50%) scale(.67); }
  .tycoon-farm-builder { top: 72px; width: 224px; }
  .tycoon-farm-scene .tycoon-order-board { top: 36%; }
  .tycoon-building-hotspot--mill { top: 26%; right: 5%; }
  .tycoon-building-hotspot--bakery { top: 26%; left: 4%; }
  .tycoon-seed-merchant { left: 9px; bottom: 178px; }
  .tycoon-seed-pouch { left: 9px; bottom: 125px; }
}
@media (max-width: 520px) {
  .tycoon-farm-scene { min-height: 650px; background-position: 50% center; }
  .tycoon-farm-board { bottom: 118px; transform: translateX(-50%) scale(.51); }
  .tycoon-farm-builder { top: 70px; width: 214px; }
  .tycoon-farm-builder p { display: block; }
  .tycoon-farm-scene .tycoon-building-hotspot { display: none; }
  .tycoon-farm-scene .tycoon-order-board { top: 31%; left: 8px; transform: scale(.86); transform-origin: left top; }
  .tycoon-growth-card { transform: translateX(-50%) !important; }
}

/* Grid City v6: feste Farmplätze und originaler Restaurant-Raum */
.tycoon-farm-board {
  left: 50%;
  bottom: 48px;
  width: 852px;
  height: 448px;
  transform: translateX(-50%);
}
.tycoon-farm-board::before {
  content: "FELDBEREICH · 24 FESTE BAUPLÄTZE";
  position: absolute;
  inset: -34px -15px -15px;
  display: block;
  padding: 9px 16px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 24px;
  background: rgba(55,111,50,.14);
  box-shadow: inset 0 0 35px rgba(255,255,255,.08), 0 18px 42px rgba(35,72,33,.12);
  color: rgba(255,255,237,.92);
  font-size: .57rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-shadow: 0 2px 8px rgba(27,56,27,.6);
  backdrop-filter: blur(2px);
}
.tycoon-plot-grid {
  width: 852px;
  height: 448px;
}
.tycoon-farm-tile {
  left: var(--iso-x);
  top: var(--iso-y);
  width: 132px;
  height: 102px;
  border: 2px dashed rgba(255,251,204,.58);
  border-radius: 18px;
  clip-path: none;
  background: rgba(82,139,67,.2);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.04);
  opacity: .24;
  pointer-events: none;
}
.tycoon-farm-tile.is-occupied { opacity: .09; }
.tycoon-plot-grid.is-selecting .tycoon-farm-tile { opacity: .2; }
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled) {
  z-index: 80;
  opacity: .9;
  border-style: solid;
  background: rgba(239,217,101,.43);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.16), 0 0 18px rgba(255,231,113,.4);
  pointer-events: auto;
}
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled):hover {
  background: rgba(255,224,103,.72);
  transform: translateY(-3px);
}
.tycoon-plot {
  left: var(--iso-x);
  top: var(--iso-y);
  width: 132px;
  min-height: 102px;
  border-radius: 18px;
}
.tycoon-plot::before {
  left: 0;
  top: -8px;
  width: 132px;
  height: 117px;
}
.tycoon-plot > .tycoon-crop-visual {
  left: 16px;
  bottom: 25px;
  width: 100px;
  height: 92px;
}
.tycoon-plot > .tycoon-growth-card,
.tycoon-plot.is-growing > .tycoon-growth-card,
.tycoon-plot.is-ready > .tycoon-growth-card,
.tycoon-plot:hover > .tycoon-growth-card {
  bottom: 3px;
  width: 112px;
  padding: 5px 7px;
  border-radius: 9px;
  background: rgba(34,62,36,.91);
}
.tycoon-growth-card::after { display: none; }
.tycoon-plot:hover > .tycoon-growth-card,
.tycoon-plot:focus-visible > .tycoon-growth-card { width: 126px; }
.tycoon-plot.is-empty > strong { bottom: 53px; }
.tycoon-plot.is-empty > small { bottom: 34px; }

/* Restaurant: ein vollständiger Raum statt gezeichneter CSS-Flächen. */
.tycoon-restaurant-scene {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(60,29,12,.04), rgba(64,29,9,.11)), url('/tycoon/restaurant-world-v2.png?v=20260810-1') center / cover no-repeat;
  isolation: isolate;
}
.tycoon-restaurant-scene::before { display: none; }
.tycoon-restaurant-scene::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(34,17,8,.18), transparent 24%, transparent 76%, rgba(43,20,7,.13));
  box-shadow: none;
  pointer-events: none;
}
.tycoon-restaurant-header {
  position: relative;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 104px;
  padding: 17px 28px !important;
  border-bottom: 1px solid rgba(255,255,255,.24);
  background: linear-gradient(90deg, rgba(46,62,38,.91), rgba(63,75,46,.76), rgba(77,48,28,.68));
  box-shadow: 0 10px 30px rgba(55,27,10,.18);
  color: #fff9df;
  text-shadow: 0 2px 7px rgba(35,19,9,.2);
  backdrop-filter: blur(12px);
}
.tycoon-restaurant-header h2 { font-size: 2.2rem !important; }
.tycoon-restaurant-header p { color: #f6d58e !important; }
.tycoon-restaurant-tools { display: flex; gap: 8px; }
.tycoon-restaurant-tools button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 12px;
  background: rgba(255,251,226,.94);
  color: #3c5539;
  font-size: .66rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 17px rgba(44,27,13,.15);
}
.tycoon-restaurant-tools button.is-active { background: #466746; color: #fff; }
.tycoon-restaurant-room {
  position: relative;
  z-index: 5;
  display: block;
  width: 100%;
  height: 565px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tycoon-restaurant-floor {
  position: absolute;
  z-index: 12;
  left: 52%;
  top: 94px;
  display: block;
  width: 688px;
  min-width: 688px;
  height: 350px;
  min-height: 350px;
  overflow: visible;
  border: 1px solid rgba(255,249,210,.22);
  border-radius: 19px;
  background: rgba(255,247,208,.025);
  box-shadow: inset 0 0 28px rgba(255,241,187,.06);
  transform: translateX(-50%);
  isolation: isolate;
}
.tycoon-restaurant-floor::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  width: auto;
  height: auto;
  clip-path: none;
  border-radius: inherit;
  background: none;
  box-shadow: none;
  pointer-events: none;
}
.tycoon-restaurant-floor.is-building::before {
  background-image: linear-gradient(rgba(255,248,210,.17) 1px, transparent 1px), linear-gradient(90deg, rgba(255,248,210,.17) 1px, transparent 1px);
  background-size: 86px 70px;
}
.tycoon-room-cell {
  position: absolute;
  z-index: 2;
  left: var(--iso-x);
  top: var(--iso-y);
  width: 80px;
  height: 64px;
  min-width: 0;
  margin: 3px;
  border: 1px solid rgba(255,249,211,.36);
  border-radius: 10px;
  clip-path: none;
  background: rgba(255,245,200,.08);
  box-shadow: inset 0 0 0 2px rgba(105,70,33,.05);
  opacity: .22;
  pointer-events: none;
  cursor: default;
  transition: opacity .16s, background .16s, transform .16s;
}
.tycoon-room-cell.is-occupied { opacity: .07; }
.tycoon-restaurant-floor.is-placing .tycoon-room-cell:not(:disabled) {
  z-index: 80;
  opacity: .92;
  border-color: #fff1a5;
  background: rgba(250,219,111,.38);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.12), 0 0 15px rgba(255,225,114,.34);
  pointer-events: auto;
  cursor: pointer;
  animation: none;
}
.tycoon-restaurant-floor.is-placing .tycoon-room-cell:not(:disabled):hover {
  background: rgba(255,224,108,.66);
  filter: brightness(1.08);
  transform: translateY(-3px);
}
.tycoon-furniture {
  position: absolute;
  z-index: calc(20 + var(--iso-depth));
  left: var(--iso-x);
  top: var(--iso-y);
  display: block;
  width: 86px;
  height: 70px;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 12px;
  background: transparent;
  filter: drop-shadow(0 7px 5px rgba(74,41,16,.24));
  font-size: 0;
  cursor: default;
  transform: none;
}
.tycoon-furniture > span,
.tycoon-furniture-preview {
  position: absolute;
  left: 50%;
  bottom: 1px;
  display: block;
  width: 76px;
  height: 96px;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-50%);
}
.tycoon-furniture--chair > span,
.tycoon-furniture-preview--chair { background-image: url('/tycoon/restaurant-furniture-chair.png?v=20260810-1'); }
.tycoon-furniture--table > span,
.tycoon-furniture-preview--table { width: 94px; height: 78px; background-image: url('/tycoon/restaurant-furniture-table.png?v=20260810-1'); }
.tycoon-furniture--plant > span,
.tycoon-furniture-preview--plant { width: 76px; height: 95px; background-image: url('/tycoon/restaurant-furniture-plant.png?v=20260810-1'); }
.tycoon-furniture--lamp > span,
.tycoon-furniture-preview--lamp { width: 54px; height: 108px; background-image: url('/tycoon/restaurant-furniture-lamp.png?v=20260810-1'); }
.tycoon-furniture.is-editable {
  cursor: pointer;
  outline: 2px dashed rgba(255,237,141,.9);
  outline-offset: -4px;
  background: rgba(255,231,133,.08);
}
.tycoon-furniture.is-selected { z-index: 78; outline: 3px solid #ffe57b; filter: drop-shadow(0 0 11px #ffe57b); }
.tycoon-restaurant-floor.is-placing .tycoon-furniture { opacity: .7; pointer-events: none; }
.tycoon-furniture--chair.is-occupied > span { opacity: 0; }

.tycoon-guest-sprite {
  display: block;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
.tycoon-guest-sprite--0 { background-image: url('/tycoon/restaurant-guest-0.png?v=20260810-1'); }
.tycoon-guest-sprite--1 { background-image: url('/tycoon/restaurant-guest-1.png?v=20260810-1'); }
.tycoon-guest-sprite--2 { background-image: url('/tycoon/restaurant-guest-2.png?v=20260810-1'); }
.tycoon-guest-sprite--3 { background-image: url('/tycoon/restaurant-guest-3.png?v=20260810-1'); }
.tycoon-guest-sprite--4 { background-image: url('/tycoon/restaurant-guest-4.png?v=20260810-1'); }
.tycoon-guest-sprite--5 { background-image: url('/tycoon/restaurant-guest-5.png?v=20260810-1'); }
.tycoon-seated-guest {
  position: absolute;
  z-index: calc(44 + var(--iso-depth));
  left: var(--iso-x);
  top: var(--iso-y);
  display: block;
  width: 86px;
  min-height: 70px;
  margin: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  animation: tycoonGuestIdle 2.4s ease-in-out infinite;
  cursor: pointer;
}
.tycoon-seated-guest > .tycoon-guest-sprite {
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 82px;
  height: 112px;
  transform: translateX(-50%);
  filter: drop-shadow(0 6px 4px rgba(65,36,15,.24));
}
.tycoon-seated-guest .tycoon-guest-sprite--0 { background-image: url('/tycoon/restaurant-seated-0.png?v=20260810-1'); }
.tycoon-seated-guest .tycoon-guest-sprite--1 { background-image: url('/tycoon/restaurant-seated-1.png?v=20260810-1'); }
.tycoon-seated-guest .tycoon-guest-sprite--2 { background-image: url('/tycoon/restaurant-seated-2.png?v=20260810-1'); }
.tycoon-seated-guest .tycoon-guest-sprite--3 { background-image: url('/tycoon/restaurant-seated-3.png?v=20260810-1'); }
.tycoon-seated-guest .tycoon-guest-sprite--4 { background-image: url('/tycoon/restaurant-seated-4.png?v=20260810-1'); }
.tycoon-seated-guest .tycoon-guest-sprite--5 { background-image: url('/tycoon/restaurant-seated-5.png?v=20260810-1'); }
.tycoon-seated-guest > i {
  position: absolute;
  z-index: 5;
  top: -45px;
  right: -2px;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 2px solid white;
  border-radius: 50%;
  background: #d98b3d;
  color: white;
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
  box-shadow: 0 5px 10px rgba(58,31,13,.2);
}
.tycoon-seated-guest.is-ready > i { background: #5d9654; }
.tycoon-seated-guest small {
  position: absolute;
  z-index: 6;
  top: 68px;
  left: 50%;
  width: max-content;
  max-width: 100px;
  padding: 3px 6px;
  border-radius: 6px;
  background: rgba(64,50,33,.84);
  color: white;
  font-size: .48rem;
  transform: translateX(-50%);
}
.tycoon-kitchen-station {
  position: absolute;
  z-index: 22;
  top: 70px;
  left: 20px;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 0 8px;
  width: 178px;
  min-height: 0;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.54);
  border-radius: 14px;
  background: rgba(42,73,43,.9);
  box-shadow: 0 10px 22px rgba(52,30,15,.22);
  color: #fff9df;
  text-align: left;
  backdrop-filter: blur(9px);
}
.tycoon-kitchen-station::before { display: none; }
.tycoon-kitchen-station > span { grid-row: 1 / 3; font-size: 1.55rem; }
.tycoon-kitchen-station strong { font-size: .72rem; }
.tycoon-kitchen-station small { color: #d7e4cc; font-size: .54rem; }
.tycoon-guest-queue {
  position: absolute;
  z-index: 24;
  top: 66px;
  right: 16px;
  width: 205px;
  max-height: 390px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 17px;
  background: rgba(255,251,230,.93);
  box-shadow: 0 14px 30px rgba(57,30,12,.2);
  backdrop-filter: blur(12px);
}
.tycoon-guest-queue > header {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 7px;
  padding: 11px 12px !important;
  background: #486347;
  color: white;
  text-shadow: none;
}
.tycoon-guest-queue > header span { font-size: 1.15rem; }
.tycoon-guest-queue > header strong,
.tycoon-guest-queue > header small { display: block; }
.tycoon-guest-queue > header strong { font-size: .66rem; }
.tycoon-guest-queue > header small { color: #dce6d7; font-size: .48rem; }
.tycoon-guest-queue > div { max-height: 315px; overflow-y: auto; padding: 7px; }
.tycoon-waiting-guest {
  display: grid;
  grid-template-columns: 48px 1fr 18px;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 66px;
  padding: 5px 7px;
  border: 1px solid #e7dfc7;
  border-radius: 11px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 4px 10px rgba(80,54,30,.06);
  color: #3e4e39;
  cursor: grab;
}
.tycoon-waiting-guest + .tycoon-waiting-guest { margin-top: 6px; }
.tycoon-waiting-guest > .tycoon-guest-sprite { width: 44px; height: 58px; }
.tycoon-waiting-guest strong,
.tycoon-waiting-guest small { display: block; text-align: left; }
.tycoon-waiting-guest strong { font-size: .62rem; }
.tycoon-waiting-guest small { color: #7e8877; font-size: .49rem; }
.tycoon-waiting-guest > i { color: #719064; font-size: .8rem; font-style: normal; }
.tycoon-waiting-guest.is-selected { border-color: #d7ae49; background: #fff7d7; box-shadow: 0 0 0 3px rgba(228,187,83,.18); }
.tycoon-restaurant-hint {
  position: absolute;
  z-index: 35;
  left: 50%;
  bottom: 12px;
  width: max-content;
  max-width: calc(100% - 32px);
  margin: 0;
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.27);
  border-radius: 999px;
  background: rgba(48,56,37,.9);
  box-shadow: 0 8px 20px rgba(49,29,14,.2);
  color: #fff9df;
  font-size: .6rem;
  text-align: center;
  transform: translateX(-50%);
  backdrop-filter: blur(9px);
}
.tycoon-furniture-preview {
  position: relative;
  left: auto;
  bottom: auto;
  width: 54px;
  height: 62px;
  transform: none;
}
.tycoon-furniture-shop button > .tycoon-furniture-preview { margin: 0 auto 6px; }
.tycoon-dialog-title > .tycoon-furniture-preview { flex: 0 0 58px; }

@media (max-width: 1120px) {
  .tycoon-farm-board { left: 50%; transform: translateX(-50%) scale(.82); transform-origin: center bottom; }
  .tycoon-restaurant-floor { left: 49%; transform: translateX(-50%) scale(.8); transform-origin: center top; }
  .tycoon-guest-queue { right: 8px; width: 190px; }
  .tycoon-kitchen-station { left: 9px; transform: scale(.88); transform-origin: left top; }
}
@media (max-width: 820px) {
  .tycoon-farm-board { bottom: 92px; transform: translateX(-50%) scale(.63); }
  .tycoon-restaurant-scene { min-height: 770px; }
  .tycoon-restaurant-room { height: 650px; }
  .tycoon-restaurant-floor { left: 50%; top: 105px; transform: translateX(-50%) scale(.63); }
  .tycoon-guest-queue { top: auto; right: 10px; bottom: 42px; left: 10px; width: auto; max-height: 142px; }
  .tycoon-guest-queue > header { float: left; width: 138px; min-height: 124px; align-content: center; }
  .tycoon-guest-queue > div { display: flex; gap: 6px; max-height: 124px; overflow-x: auto; padding: 7px; }
  .tycoon-waiting-guest { flex: 0 0 178px; }
}
@media (max-width: 520px) {
  .tycoon-farm-board { bottom: 120px; transform: translateX(-50%) scale(.46); }
  .tycoon-restaurant-header { align-items: flex-start; flex-direction: column; min-height: 132px; padding: 12px 14px !important; }
  .tycoon-restaurant-header h2 { font-size: 1.65rem !important; }
  .tycoon-restaurant-tools { width: 100%; }
  .tycoon-restaurant-tools button { flex: 1; }
  .tycoon-restaurant-floor { top: 76px; transform: translateX(-50%) scale(.48); }
  .tycoon-kitchen-station { top: 12px; }
  .tycoon-guest-queue { bottom: 45px; }
  .tycoon-guest-queue > header { display: none; }
}

/* Valley World v8: abschließende Ausrichtung nach allen älteren Layoutregeln. */
.tycoon-market-layout { grid-template-columns: 320px minmax(0, 1fr); align-items: start; }
@media (max-width: 760px) { .tycoon-market-layout { grid-template-columns: 1fr; } }
.tycoon-market-trade { align-self: start; }
.tycoon-market-waiting[hidden],
#marketBuySection[hidden],
#marketSellSection[hidden] { display: none !important; }
#marketBuySection:not([hidden]),
#marketSellSection:not([hidden]) {
  display: block;
  animation: tycoonMarketTradeRise .28s ease both;
}
@keyframes tycoonMarketTradeRise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* UI Fix v11: Pflanzen bleiben sichtbar, der Fortschritt sitzt kompakt am Feldrand. */
.tycoon-plot > .tycoon-growth-card,
.tycoon-plot.is-growing > .tycoon-growth-card,
.tycoon-plot.is-ready > .tycoon-growth-card,
.tycoon-plot:hover > .tycoon-growth-card,
.tycoon-plot:focus-visible > .tycoon-growth-card {
  bottom: -4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 5px;
  width: 96px;
  min-height: 22px;
  padding: 4px 6px;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 8px;
  background: rgba(31,55,34,.84);
  box-shadow: 0 5px 12px rgba(28,49,27,.18);
  transform: translateX(-50%) !important;
  backdrop-filter: blur(7px);
}
.tycoon-growth-card::after { display: none; }
.tycoon-growth-card strong {
  overflow: hidden;
  font-size: .5rem;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tycoon-growth-card em { font-size: .45rem; line-height: 1.1; }
.tycoon-growth-card small,
.tycoon-growth-card progress,
.tycoon-growth-card u { display: none; }
.tycoon-plot:hover > .tycoon-growth-card,
.tycoon-plot:focus-visible > .tycoon-growth-card { width: 108px; }
.tycoon-plot:hover .tycoon-growth-card u,
.tycoon-plot:focus-visible .tycoon-growth-card u {
  display: block;
  grid-column: 1 / -1;
  font-size: .45rem;
}

/* Möbelbilder sichtbar; nur der von einem Gast belegte Stuhl wird verdeckt. */
.tycoon-furniture > span {
  visibility: visible;
  opacity: 1 !important;
  filter: drop-shadow(0 6px 4px rgba(54,34,20,.25));
}
.tycoon-furniture--chair.is-occupied > span { opacity: 0 !important; }

/* UI Fix v12: klare Spielsymbole und ein sichtbar bleibendes Profilbild. */
.tycoon-player-chip > .tycoon-avatar {
  flex: 0 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.tycoon-building-hotspot--mill > .tycoon-mill-icon {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #bfe2ef 0 48%, #d7c88c 49% 100%);
  box-shadow: inset 0 0 0 1px rgba(84,92,56,.18);
}
.tycoon-mill-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3px;
  width: 15px;
  height: 22px;
  clip-path: polygon(23% 0, 77% 0, 100% 100%, 0 100%);
  background: linear-gradient(90deg, #e9ddb0, #fff3c9 48%, #c9b77e);
  box-shadow: inset 0 -4px #9f7047;
  transform: translateX(-50%);
}
.tycoon-mill-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 10px;
  width: 20px;
  height: 7px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: #7d4c32;
  transform: translateX(-50%);
}
.tycoon-mill-icon > i {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 18px;
  width: 31px;
  height: 4px;
  border-radius: 999px;
  background: #765033;
  box-shadow: 0 1px 2px rgba(54,33,19,.25);
  transform: translate(-50%, -50%);
  animation: tycoonMillBlades 5s linear infinite;
}
.tycoon-mill-icon > i::before,
.tycoon-mill-icon > i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.tycoon-mill-icon > i::before {
  width: 4px;
  height: 31px;
  border-radius: 999px;
  background: #765033;
}
.tycoon-mill-icon > i::after {
  width: 7px;
  height: 7px;
  border: 2px solid #fff0b2;
  border-radius: 50%;
  background: #8a5b36;
}
@keyframes tycoonMillBlades {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

.tycoon-map-pin--restaurant,
.tycoon-map-pin--town { grid-template-columns: 48px auto; }
.tycoon-map-pin > .tycoon-map-icon {
  width: 48px;
  height: 48px;
  border: 2px solid rgba(255,255,255,.86);
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  font-size: 1.65rem;
  line-height: 1;
  text-shadow: 0 2px 3px rgba(55,34,17,.24);
  box-shadow: 0 5px 12px rgba(29,48,29,.25), inset 0 1px rgba(255,255,255,.5);
}
.tycoon-map-pin > .tycoon-map-icon--restaurant { background: linear-gradient(145deg, #ffe29a, #d77846); }
.tycoon-map-pin > .tycoon-map-icon--town { background: linear-gradient(145deg, #fff0ac, #73a867); }
.tycoon-scene-link--restaurant > .tycoon-restaurant-link-icon {
  width: 44px;
  height: 44px;
  border: 2px solid rgba(255,255,255,.84);
  background: linear-gradient(145deg, #ffe398, #c96d45);
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  box-shadow: 0 5px 12px rgba(55,34,20,.2);
}

.tycoon-seed-pouch { gap: 7px; padding: 7px; }
.tycoon-seed-pouch > .tycoon-seed-slot {
  display: grid;
  grid-template-columns: 30px auto;
  align-items: center;
  gap: 5px;
  min-width: 61px;
  padding: 5px 8px 5px 5px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  color: white;
}
.tycoon-seed-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #fff4c6;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  font-size: 1.15rem;
  font-style: normal;
  line-height: 1;
  filter: drop-shadow(0 2px 2px rgba(24,40,22,.2));
}
.tycoon-seed-slot[data-seed-crop="corn"] .tycoon-seed-icon { background: #fff0a5; }
.tycoon-seed-slot[data-seed-crop="carrot"] .tycoon-seed-icon { background: #ffe0bb; }
.tycoon-seed-slot > strong { font-size: .68rem; }

@media (max-width: 560px) {
  .tycoon-map-pin--restaurant,
  .tycoon-map-pin--town { grid-template-columns: 38px auto; }
  .tycoon-map-pin > .tycoon-map-icon { width: 38px; height: 38px; font-size: 1.25rem; }
  .tycoon-seed-pouch > .tycoon-seed-slot { min-width: 52px; padding-right: 5px; }
}

/* Farm Care v13: zentrierte Pflanzen, Backstube, Mühlenplätze und Feldpflege. */
.tycoon-plot > .tycoon-crop-visual {
  left: 50% !important;
  bottom: 12px !important;
  width: 110px !important;
  height: 100px !important;
  transform: translateX(-50%) !important;
  transform-origin: 50% 88%;
}
.tycoon-plot.is-ready > .tycoon-crop-visual { animation: tycoonCenteredCropReady 1.35s ease-in-out infinite; }
@keyframes tycoonCenteredCropReady {
  50% { transform: translate(-50%, -5px) !important; filter: drop-shadow(0 0 12px rgba(255,226,91,.96)); }
}
.tycoon-care-badges {
  position: absolute !important;
  z-index: 28 !important;
  top: 5px;
  right: 5px;
  display: flex !important;
  gap: 2px;
  font-size: 0 !important;
  filter: none !important;
}
.tycoon-care-badges > i {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 7px;
  background: rgba(38,78,45,.88);
  font-size: .72rem;
  font-style: normal;
  box-shadow: 0 3px 8px rgba(29,50,29,.2);
}

.tycoon-building-hotspot--bakery > .tycoon-bakery-icon {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #f9d69a 0 48%, #c9824d 49% 100%);
  box-shadow: inset 0 0 0 1px rgba(104,62,39,.18);
}
.tycoon-bakery-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 25px;
  height: 24px;
  border: 2px solid #7a462f;
  border-radius: 12px 12px 5px 5px;
  background: linear-gradient(#f3c278 0 38%, #a85d3d 39% 100%);
  transform: translateX(-50%);
}
.tycoon-bakery-icon::after {
  content: "";
  position: absolute;
  left: calc(50% + 7px);
  top: 3px;
  width: 7px;
  height: 14px;
  border-radius: 2px 2px 0 0;
  background: #75452f;
}
.tycoon-bakery-icon > i {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 8px;
  width: 16px;
  height: 11px;
  border-radius: 9px 9px 4px 4px;
  background: radial-gradient(ellipse at 50% 74%, #ffd66d 0 34%, #dc7a35 38% 58%, #3f2822 62%);
  transform: translateX(-50%);
  animation: tycoonBakeryGlow 1.7s ease-in-out infinite;
}
@keyframes tycoonBakeryGlow { 50% { filter: brightness(1.18) drop-shadow(0 0 5px #ffc65e); } }
.tycoon-dialog-station-icon {
  flex: 0 0 58px;
  position: relative;
  display: block;
  width: 58px;
  height: 58px;
  overflow: hidden;
  border-radius: 18px;
}
.tycoon-dialog-station-icon.tycoon-mill-icon { background: linear-gradient(180deg, #bfe2ef 0 48%, #d7c88c 49% 100%); }
.tycoon-dialog-station-icon.tycoon-bakery-icon { background: linear-gradient(180deg, #f9d69a 0 48%, #c9824d 49% 100%); }
.tycoon-dialog-station-icon.tycoon-mill-icon > i { top: 26px; width: 43px; }
.tycoon-dialog-station-icon.tycoon-mill-icon > i::before { height: 43px; }

.tycoon-farm-builder__tools > .tycoon-farm-care-button { grid-column: 1 / -1; border-color: #7ca6a0; background: #e4f2e8; color: #315d55; }
.tycoon-care-shop { display: grid; gap: 10px; margin-top: 18px; }
.tycoon-care-shop article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid #d9decf;
  border-radius: 15px;
  background: #fffef7;
}
.tycoon-care-shop__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #e3f2d4; font-size: 1.65rem; }
.tycoon-care-shop strong,
.tycoon-care-shop small { display: block; }
.tycoon-care-shop small { margin-top: 3px; color: #788174; font-size: .58rem; line-height: 1.4; }
.tycoon-care-shop button,
.tycoon-crop-care-actions button,
.tycoon-production-jobs button,
.tycoon-production-upgrade {
  min-height: 38px;
  padding: 8px 12px;
  border: 0;
  border-radius: 10px;
  background: #50764b;
  color: white;
  font-size: .61rem;
  font-weight: 900;
  cursor: pointer;
}
.tycoon-care-shop button:disabled,
.tycoon-crop-care-actions button:disabled,
.tycoon-production-jobs button:disabled { background: #c9cfc2; color: #6f786d; cursor: default; }
.tycoon-care-balance { padding: 11px 13px; border-radius: 12px; background: #eef4df; color: #61705e; font-size: .63rem; line-height: 1.5; }
.tycoon-crop-care-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.tycoon-crop-care-summary > span { padding: 6px 9px; border-radius: 999px; background: #edf2df; color: #61705e; font-size: .58rem; }
.tycoon-crop-care-actions { display: grid; gap: 9px; }
.tycoon-crop-care-actions article { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 9px; padding: 12px; border: 1px solid #dce0d2; border-radius: 14px; background: white; }
.tycoon-crop-care-actions article > span { font-size: 1.55rem; }
.tycoon-crop-care-actions strong,
.tycoon-crop-care-actions small { display: block; }
.tycoon-crop-care-actions small { margin-top: 2px; color: #7a8275; font-size: .55rem; line-height: 1.4; }

.tycoon-water-tap { display: grid; grid-template-columns: 120px 110px 1fr; align-items: end; gap: 12px; margin-top: 18px; padding: 20px; border: 1px solid #cbdcd4; border-radius: 18px; background: linear-gradient(180deg, #e9f4ef, #d7e8dc); }
.tycoon-water-tap__fixture { position: relative; align-self: center; width: 105px; height: 100px; }
.tycoon-water-tap__fixture::before { content: ""; position: absolute; left: 16px; top: 31px; width: 70px; height: 20px; border-radius: 10px 11px 4px 10px; background: linear-gradient(#bfc8c4,#768783); box-shadow: inset 0 3px rgba(255,255,255,.55); }
.tycoon-water-tap__fixture::after { content: ""; position: absolute; right: 8px; top: 46px; width: 15px; height: 34px; border-radius: 0 0 10px 10px; background: linear-gradient(90deg,#b8c4bf,#6d7f7a); }
.tycoon-water-tap__fixture > i { position: absolute; z-index: 2; left: 31px; top: 8px; width: 47px; height: 13px; border-radius: 999px; background: #5e7770; box-shadow: 0 18px 0 -4px #82938e; }
.tycoon-water-tap__fixture > b { position: absolute; right: 11px; top: 77px; width: 8px; height: 17px; border-radius: 50% 50% 55% 55%; background: #4eb3d1; opacity: .75; animation: tycoonWaterDrop .7s ease-in infinite; }
@keyframes tycoonWaterDrop { to { transform: translateY(18px) scale(.7); opacity: 0; } }
.tycoon-water-tap__can { position: relative; width: 96px; height: 82px; overflow: hidden; border: 5px solid #557c70; border-top-width: 9px; border-radius: 17px 17px 24px 24px; background: rgba(238,248,237,.85); box-shadow: inset 0 0 0 3px rgba(255,255,255,.35); }
.tycoon-water-tap__can::before { content: ""; position: absolute; z-index: 2; left: 17px; right: 17px; top: -24px; height: 38px; border: 6px solid #557c70; border-bottom: 0; border-radius: 40px 40px 0 0; }
.tycoon-water-tap__can > i { position: absolute; left: 0; right: 0; bottom: 0; height: 0; background: linear-gradient(#69c6db,#3c9dbb); transition: height .12s linear; }
.tycoon-water-tap__can > .fill-1 { height: 10%; }.tycoon-water-tap__can > .fill-2 { height: 20%; }.tycoon-water-tap__can > .fill-3 { height: 30%; }.tycoon-water-tap__can > .fill-4 { height: 40%; }.tycoon-water-tap__can > .fill-5 { height: 50%; }.tycoon-water-tap__can > .fill-6 { height: 60%; }.tycoon-water-tap__can > .fill-7 { height: 70%; }.tycoon-water-tap__can > .fill-8 { height: 80%; }.tycoon-water-tap__can > .fill-9 { height: 90%; }.tycoon-water-tap__can > .fill-10 { height: 100%; }
.tycoon-water-tap__meter { align-self: center; display: grid; gap: 7px; }
.tycoon-water-tap__meter progress { width: 100%; height: 14px; accent-color: #4ea9c4; }
.tycoon-water-tap__meter strong { color: #426b65; font-size: .7rem; text-align: center; }
.tycoon-water-tap > button { grid-column: 1 / -1; min-height: 48px; border: 0; border-radius: 13px; background: #416c65; color: white; font-weight: 900; cursor: pointer; touch-action: none; user-select: none; }
.tycoon-water-tap > button.is-running { background: #2f8c9e; box-shadow: 0 0 0 4px rgba(69,153,173,.17); }
.tycoon-water-tap > small { grid-column: 1 / -1; color: #657873; font-size: .58rem; text-align: center; }

.tycoon-production-jobs { display: grid; gap: 7px; margin: 14px 0; }
.tycoon-production-jobs article { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid #dde0d2; border-radius: 13px; background: #fffef8; }
.tycoon-production-jobs article > span { font-size: 1.55rem; }
.tycoon-production-jobs strong,
.tycoon-production-jobs small { display: block; }
.tycoon-production-jobs small { margin-top: 2px; color: #788174; font-size: .57rem; }
.tycoon-production-upgrade { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; width: 100%; margin-bottom: 15px; background: linear-gradient(135deg,#4f7149,#6d935b); text-align: left; }
.tycoon-production-upgrade > span { grid-row: 1 / 3; font-size: 1.3rem; text-align: center; }
.tycoon-production-upgrade strong,
.tycoon-production-upgrade small { display: block; }
.tycoon-production-upgrade small { margin-top: 2px; color: #e2edd9; font-size: .54rem; }
.tycoon-production-heading { margin: 17px 0 9px; color: #50624f; font-size: .78rem; }
.tycoon-production-max { margin: 8px 0 14px; padding: 8px 10px; border-radius: 10px; background: #edf2df; color: #60715b; font-size: .6rem; }

@media (max-width: 620px) {
  .tycoon-care-shop article,
  .tycoon-crop-care-actions article { grid-template-columns: 42px 1fr; }
  .tycoon-care-shop button,
  .tycoon-crop-care-actions button { grid-column: 2; }
  .tycoon-water-tap { grid-template-columns: 1fr 1fr; }
  .tycoon-water-tap__meter { grid-column: 1 / -1; }
}
.tycoon-farm-board::before {
  content: "";
  inset: -10px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.tycoon-farm-board:has(.tycoon-plot-grid.is-building)::before {
  content: "FELDER BEARBEITEN · FELD ZIEHEN ODER ZWEIMAL ANTIPPEN";
  inset: -35px -10px -10px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,220,.35);
  border-radius: 19px;
  background: rgba(42,87,40,.1);
  color: rgba(255,255,237,.95);
  font-size: .55rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-shadow: 0 2px 8px rgba(27,56,27,.7);
  backdrop-filter: blur(2px);
}
.tycoon-farm-tile,
.tycoon-farm-tile.is-occupied,
.tycoon-plot-grid.is-selecting .tycoon-farm-tile {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.tycoon-plot-grid.is-placing .tycoon-farm-tile:not(:disabled) {
  visibility: visible;
  opacity: .86;
  pointer-events: auto;
}
.tycoon-plot-grid.is-building .tycoon-plot { cursor: grab; }
.tycoon-plot-grid.is-building .tycoon-plot:active { cursor: grabbing; }
.tycoon-plot { height: 102px; min-height: 102px; overflow: visible; }
.tycoon-plot::before { top: 0; height: 102px; }
.tycoon-plot > .tycoon-crop-visual { left: 19px; bottom: 24px; width: 94px; height: 79px; pointer-events: auto; }
.tycoon-plot-grid.is-placing .tycoon-crop-visual { pointer-events: none; }
.tycoon-plot.is-selected { z-index: 90 !important; filter: drop-shadow(0 0 10px #ffe678) brightness(1.08); }

.tycoon-restaurant-floor {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tycoon-restaurant-floor::before,
.tycoon-restaurant-floor.is-building::before { display: none; background: none; }
.tycoon-room-cell,
.tycoon-room-cell.is-occupied { visibility: hidden; opacity: 0; pointer-events: none; }
.tycoon-restaurant-floor.is-placing::before {
  display: block;
  inset: 0;
  border: 1px dashed rgba(255,241,166,.48);
  border-radius: 16px;
  background-image: linear-gradient(rgba(255,248,210,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(255,248,210,.13) 1px, transparent 1px);
  background-size: 86px 70px;
  background-color: rgba(65,48,31,.06);
}
.tycoon-restaurant-floor.is-placing .tycoon-room-cell:not(:disabled) { visibility: visible; opacity: .82; }
.tycoon-furniture > span { width: 70px; height: 88px; }
.tycoon-furniture--table > span { width: 84px; height: 69px; }
.tycoon-furniture--plant > span { width: 68px; height: 86px; }
.tycoon-furniture--lamp > span { width: 48px; height: 98px; }
.tycoon-seated-guest > .tycoon-guest-sprite { width: 74px; height: 101px; }
.tycoon-dialog-guest-art { flex: 0 0 76px; width: 76px; height: 96px; }

/* Farm layout v15: Pflanzen sauber im Beet und freie Sicht auf die Mühle. */
.tycoon-plot[data-crop] > .tycoon-crop-visual {
  left: 50% !important;
  bottom: 31px !important;
  width: 104px !important;
  height: 94px !important;
  transform: translateX(-50%) !important;
  transform-origin: 50% 88%;
}
.tycoon-plot[data-crop] > .tycoon-crop-visual > i {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url('/tycoon/crop-growth-atlas.png?v=20260811-2') !important;
  background-repeat: no-repeat !important;
  background-size: 400% 300% !important;
  opacity: 1 !important;
  transform-origin: 50% 88% !important;
}
.tycoon-plot[data-crop] > .tycoon-crop-visual > i::before { content: none !important; }
.tycoon-plot.stage-0 > .tycoon-crop-visual > i { background-position-x: 0% !important; transform: translateX(0) scale(.86) !important; }
.tycoon-plot.stage-1 > .tycoon-crop-visual > i { background-position-x: 33.333% !important; transform: translateX(4px) scale(.91) !important; }
.tycoon-plot.stage-2 > .tycoon-crop-visual > i { background-position-x: 66.667% !important; transform: translateX(8px) scale(.96) !important; }
.tycoon-plot.stage-3 > .tycoon-crop-visual > i { background-position-x: 100% !important; transform: translateX(14px) scale(1) !important; }
.tycoon-plot[data-crop="wheat"] > .tycoon-crop-visual > i { background-position-y: 0% !important; }
.tycoon-plot[data-crop="corn"] > .tycoon-crop-visual > i { background-position-y: 50% !important; }
.tycoon-plot[data-crop="carrot"] > .tycoon-crop-visual > i { background-position-y: 100% !important; }
.tycoon-plot.is-ready[data-crop] > .tycoon-crop-visual { animation: tycoonCenteredCropReady 1.35s ease-in-out infinite; }

.tycoon-farm-builder {
  left: 50% !important;
  right: auto !important;
  top: 18px !important;
  width: min(520px, calc(100% - 360px)) !important;
  padding: 8px !important;
  transform: translateX(-50%);
}
.tycoon-farm-builder__tools { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 7px; }
.tycoon-farm-builder__tools > .tycoon-farm-care-button { grid-column: auto; }
.tycoon-farm-builder p { display: none !important; }

@media (max-width: 820px) {
  .tycoon-farm-builder {
    top: 76px !important;
    width: min(620px, calc(100% - 20px)) !important;
  }
}
@media (max-width: 520px) {
  .tycoon-farm-builder { top: 68px !important; }
  .tycoon-farm-builder button { min-height: 38px; padding: 5px; font-size: .54rem; }
}

/* Admin security login v16: kompakt, ruhig und ohne überflüssige Texte. */
.tycoon-admin-auth {
  background: #101d16;
}
.tycoon-auth-shell--admin {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100vh;
  overflow: hidden;
  padding: 54px 24px;
  background:
    radial-gradient(circle at 18% 18%, rgba(196, 154, 69, .18), transparent 32%),
    radial-gradient(circle at 84% 82%, rgba(74, 112, 76, .3), transparent 38%),
    linear-gradient(145deg, #0e1913, #1e3225 56%, #111e16);
}
.tycoon-auth-shell--admin::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(229, 194, 111, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(229, 194, 111, .035) 1px, transparent 1px);
  background-size: 42px 42px;
  pointer-events: none;
}
.tycoon-admin-back-button {
  position: fixed;
  z-index: 5;
  top: 24px;
  left: 24px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(241, 211, 137, .32);
  border-radius: 50%;
  background: rgba(15, 28, 20, .72);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .2);
  color: #f3d98d;
  font-size: 2rem;
  line-height: 1;
  text-decoration: none;
  backdrop-filter: blur(12px);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.tycoon-admin-back-button:hover,
.tycoon-admin-back-button:focus-visible {
  border-color: #f2d27a;
  background: rgba(51, 76, 56, .92);
  outline: none;
  transform: translateX(-2px);
}
.tycoon-admin-login-card {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(320px, .85fr);
  width: min(900px, 100%);
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(235, 202, 121, .22);
  border-radius: 34px;
  background: #f9f3e3;
  box-shadow: 0 38px 100px rgba(0, 0, 0, .48), 0 0 0 1px rgba(255, 255, 255, .04) inset;
  animation: tycoonCardRise .55s ease both;
}
.tycoon-admin-login-card__art {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: #102018;
}
.tycoon-admin-login-card__art::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset -18px 0 40px rgba(8, 16, 11, .28), inset 0 0 0 1px rgba(242, 209, 126, .1);
  pointer-events: none;
}
.tycoon-admin-login-card__art img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: 50% 46%;
}
.tycoon-admin-login-card__form {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 64px);
  background:
    radial-gradient(circle at 100% 0%, rgba(222, 190, 106, .16), transparent 36%),
    linear-gradient(155deg, #fffaf0, #f3ead4);
}
.tycoon-admin-login-card__form::before {
  content: "";
  width: 46px;
  height: 3px;
  margin-bottom: 28px;
  border-radius: 99px;
  background: linear-gradient(90deg, #b98932, #edd081);
  box-shadow: 0 5px 16px rgba(185, 137, 50, .25);
}
.tycoon-admin-login-card__form .tycoon-form {
  gap: 18px;
  margin: 0;
}
.tycoon-admin-login-card__form .tycoon-form label {
  gap: 10px;
  color: #324b3a;
  font-size: .86rem;
  letter-spacing: .025em;
}
.tycoon-admin-login-card__form .tycoon-form input {
  min-height: 56px;
  border: 1px solid #d7c9a8;
  border-radius: 15px;
  background: rgba(255, 253, 246, .9);
  box-shadow: 0 8px 22px rgba(54, 62, 45, .06);
}
.tycoon-admin-login-card__form .tycoon-form input:focus {
  border-color: #aa7f31;
  box-shadow: 0 0 0 4px rgba(195, 153, 71, .16), 0 10px 24px rgba(54, 62, 45, .08);
}
.tycoon-admin-login-card__form .tycoon-primary-button--dark {
  min-height: 56px;
  border: 1px solid rgba(242, 211, 137, .2);
  border-radius: 15px;
  background: linear-gradient(135deg, #294534, #172d21);
  box-shadow: 0 14px 28px rgba(25, 47, 34, .25);
  color: #fff4d1;
  letter-spacing: .02em;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.tycoon-admin-login-card__form .tycoon-primary-button--dark:hover,
.tycoon-admin-login-card__form .tycoon-primary-button--dark:focus-visible {
  outline: none;
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 17px 32px rgba(25, 47, 34, .3);
}
.tycoon-admin-login-card__form .tycoon-form-message {
  margin: 0 0 18px;
}

@media (max-width: 720px) {
  .tycoon-auth-shell--admin { padding: 72px 14px 22px; }
  .tycoon-admin-back-button { top: 16px; left: 16px; }
  .tycoon-admin-login-card {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 26px;
  }
  .tycoon-admin-login-card__art,
  .tycoon-admin-login-card__art img {
    min-height: 340px;
    height: 340px;
  }
  .tycoon-admin-login-card__art img { object-position: 50% 32%; }
  .tycoon-admin-login-card__art::after { box-shadow: inset 0 -22px 36px rgba(8, 16, 11, .3); }
  .tycoon-admin-login-card__form { padding: 30px 24px 34px; }
  .tycoon-admin-login-card__form::before { margin-bottom: 22px; }
}

/* Admin bulk selection v17: sichere Mehrfachlöschung direkt in der Kontenliste. */
.tycoon-player-bulk-form { min-width: 0; }
.tycoon-player-bulk-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 9px 10px;
  padding: 12px 14px 14px;
  border-bottom: 1px solid #e2e4da;
  background: linear-gradient(155deg, #f2f3e9, #ebece1);
}
.tycoon-player-select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #405243;
  font-size: .75rem;
  font-weight: 800;
  cursor: pointer;
}
.tycoon-player-select-all input,
.tycoon-player-row-check input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #4e7653;
  cursor: pointer;
}
.tycoon-player-bulk-toolbar > strong {
  color: #778076;
  font-size: .68rem;
  white-space: nowrap;
}
.tycoon-player-bulk-toolbar > input {
  min-width: 0;
  min-height: 38px;
  grid-column: 1 / -1;
  border: 1px solid #d5d8cc;
  border-radius: 9px;
  outline: 0;
  background: #fffef9;
  color: #4c554d;
  padding: 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
}
.tycoon-player-bulk-toolbar > input:focus {
  border-color: #a65b50;
  box-shadow: 0 0 0 3px rgba(166, 91, 80, .12);
}
.tycoon-player-bulk-toolbar > button {
  min-height: 39px;
  grid-column: 1 / -1;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(135deg, #a94e45, #853b35);
  box-shadow: 0 8px 18px rgba(135, 58, 52, .18);
  color: white;
  padding: 0 12px;
  font-size: .74rem;
  font-weight: 800;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tycoon-player-bulk-toolbar > button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 11px 22px rgba(135, 58, 52, .24); }
.tycoon-player-bulk-toolbar > button:disabled { opacity: .38; cursor: not-allowed; box-shadow: none; }
.tycoon-player-row-wrap {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: stretch;
  border-bottom: 1px solid #e7e8df;
  transition: background .18s ease, box-shadow .18s ease;
}
.tycoon-player-row-wrap.is-checked { background: #e3eadb; box-shadow: inset 3px 0 #5c825d; }
.tycoon-player-row-check { display: grid; place-items: center; cursor: pointer; }
.tycoon-player-row-check span { display: none; }
.tycoon-player-row-wrap .tycoon-player-row {
  min-width: 0;
  border-bottom: 0;
  padding: 12px 12px 12px 4px;
}

@media (max-width: 900px) {
  .tycoon-player-row-wrap { min-width: 250px; flex: 0 0 250px; border-right: 1px solid #e1e4d8; }
  .tycoon-player-bulk-form .tycoon-player-list__scroll { display: flex; max-height: 132px; overflow-x: auto; }
}

@media (max-width: 520px) {
  .tycoon-player-bulk-toolbar { grid-template-columns: 1fr auto; }
  .tycoon-player-row-wrap { min-width: 235px; flex-basis: 235px; }
}
