@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Onest:wght@400;500;600;700;800;900&display=swap');
:root { color-scheme: dark; font-family: Manrope, Arial, sans-serif; font-synthesis: none; text-rendering: optimizeLegibility; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: #0b0c0d; color: #f1f1ed; }
button, a { font: inherit; }
button { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #ff5a43; outline-offset: 3px; }
.prototype-root { --surface: #121415; --ink: #f3f0e6; --muted: #a5a79f; --accent: #ff5a43; --line: rgba(255,255,255,.17); min-height: 100vh; color: var(--ink); background: var(--surface); }
.prototype-root.is-alto { --surface: #f1eadb; --ink: #24362b; --muted: #657268; --accent: #d95d40; --line: rgba(36,54,43,.2); }
.prototype-root.is-phantom { --surface: #0a0d0c; --ink: #f0f2e9; --muted: #a4aba0; --accent: #d8ff54; --line: rgba(240,242,233,.18); }
.prototype-root.is-frame { --surface: #f2f4f8; --ink: #20283a; --muted: #68758b; --accent: #6477e4; --line: #d8deea; }
.prototype-root.is-frame { color-scheme: light; }
.prototype-note { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 9px max(20px,calc((100% - 1240px)/2)); color: #f4f4f0; background: #e84f3b; font: 800 9px/1.3 'DM Mono', monospace; letter-spacing: .08em; }
.prototype-note span:last-child { opacity: .8; text-align: right; }
.prototype-shell { width: min(1240px,calc(100% - 64px)); margin-inline: auto; }
.prototype-header { display: flex; justify-content: space-between; align-items: center; gap: 22px; min-height: 82px; border-bottom: 1px solid var(--line); }
.prototype-brand { font: 900 21px/1 Onest, sans-serif; letter-spacing: -.06em; }
.prototype-brand em { color: var(--accent); font-style: normal; }
.prototype-nav { display: flex; align-items: center; gap: clamp(12px,2.5vw,32px); }
.prototype-nav a, .prototype-nav button { padding: 8px 0; border: 0; color: var(--ink); background: none; cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.prototype-nav a:hover, .prototype-nav button:hover { color: var(--accent); }
.prototype-link { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 46px; padding: 0 17px; border: 1px solid var(--accent); color: #151712; background: var(--accent); cursor: pointer; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; transition: transform .18s ease, box-shadow .18s ease; }
.prototype-link:hover { transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--ink); }
.prototype-link.is-outline { color: var(--ink); background: transparent; border-color: var(--line); }
.prototype-link.is-outline:hover { border-color: var(--accent); box-shadow: none; }
.prototype-kicker { display: block; color: var(--accent); font: 500 10px/1.5 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.prototype-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: clamp(28px,6vw,90px); align-items: center; padding: clamp(62px,9vw,120px) 0 74px; }
.prototype-hero h1 { margin: 22px 0 20px; max-width: 760px; font: 800 clamp(54px,8.4vw,112px)/.88 Onest, sans-serif; letter-spacing: -.085em; text-wrap: balance; }
.prototype-hero h1 em { color: var(--accent); font-style: normal; }
.prototype-hero p { max-width: 480px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.prototype-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.prototype-art { position: relative; min-height: 360px; overflow: hidden; border: 1px solid var(--line); background: #c6b89d; }
.prototype-art::before, .prototype-art::after { position: absolute; content: ''; border-radius: 50%; }
.prototype-art::before { width: 78%; aspect-ratio: 1; top: 10%; left: 18%; background: #e7d4ad; box-shadow: 0 0 0 22px rgba(36,54,43,.06), 0 0 0 52px rgba(36,54,43,.04); }
.prototype-art::after { width: 50%; aspect-ratio: 1; top: 29%; left: 32%; border: 12px solid #24362b; background: linear-gradient(135deg,#fff5e3,#c9ac80); box-shadow: 18px 23px 0 rgba(36,54,43,.16); }
.prototype-art-stamp { position: absolute; right: 5%; bottom: 6%; z-index: 2; display: grid; place-items: center; width: 92px; aspect-ratio: 1; border-radius: 50%; color: #fff2dd; background: #d95d40; font: 800 10px/1.4 'DM Mono',monospace; text-align: center; transform: rotate(10deg); }
.prototype-section { padding: 32px 0 78px; }
.prototype-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 25px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.prototype-section-heading h2 { margin: 7px 0 0; font: 800 clamp(28px,4vw,46px)/1 Onest,sans-serif; letter-spacing: -.06em; }
.prototype-section-heading p { max-width: 340px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.prototype-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.prototype-filter { padding: 10px 13px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.prototype-filter.is-active { border-color: var(--accent); color: var(--surface); background: var(--accent); }
.prototype-menu-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.prototype-menu-card { display: flex; flex-direction: column; min-height: 190px; padding: 19px; border: 1px solid var(--line); background: rgba(255,255,255,.1); }
.prototype-menu-card[hidden] { display: none; }
.prototype-menu-card .dish-mark { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 25px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent); font-size: 18px; }
.prototype-menu-card h3 { margin: 0 0 6px; font-size: 15px; }
.prototype-menu-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.prototype-menu-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; }
.prototype-menu-bottom strong { font-size: 14px; }
.prototype-small-button { padding: 8px 11px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: 10px; font-weight: 900; }
.prototype-small-button:hover { border-color: var(--accent); }
.prototype-cart { position: sticky; bottom: 10px; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 20px 0 0; padding: 15px 18px; border: 1px solid var(--accent); color: #fff4e5; background: #24362b; box-shadow: 0 10px 36px rgba(20,30,20,.14); }
.prototype-cart p { margin: 0; font-size: 12px; }
.prototype-cart strong { color: #e9cda6; }
.prototype-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 25px; border: 1px solid var(--line); background: rgba(255,255,255,.12); }
.prototype-visit h3 { margin: 0 0 9px; font-size: 19px; }
.prototype-visit p { margin: 4px 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.prototype-footer { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 0 28px; border-top: 1px solid var(--line); color: var(--muted); font: 10px/1.6 'DM Mono',monospace; }
.prototype-toast { position: fixed; right: 22px; bottom: 22px; z-index: 20; max-width: min(380px,calc(100% - 44px)); padding: 13px 16px; border: 1px solid var(--accent); color: var(--ink); background: var(--surface); box-shadow: 4px 4px 0 var(--accent); font-size: 12px; line-height: 1.5; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .2s,transform .2s; }
.prototype-toast.is-visible { opacity: 1; transform: none; }
/* PHANTOM RP concept */
.phantom-hero { position: relative; overflow: hidden; padding: clamp(70px,10vw,130px) 0 84px; border-bottom: 1px solid var(--line); background-image: linear-gradient(rgba(216,255,84,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(216,255,84,.045) 1px,transparent 1px); background-size: 38px 38px; }
.phantom-hero-inner { position: relative; z-index: 1; max-width: 970px; }
.phantom-hero h1 { margin: 20px 0 18px; font: 900 clamp(66px,12vw,154px)/.78 Onest,sans-serif; letter-spacing: -.1em; }
.phantom-hero h1 span { color: var(--accent); }
.phantom-hero p { max-width: 540px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.phantom-hero-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.phantom-stat { min-width: 130px; padding: 13px 15px; border: 1px solid var(--line); background: rgba(255,255,255,.02); }
.phantom-stat b { display: block; color: var(--accent); font: 800 22px/1 Onest,sans-serif; }
.phantom-stat span { display: block; margin-top: 7px; color: var(--muted); font: 9px/1.4 'DM Mono',monospace; }
.phantom-terminal { display: grid; grid-template-columns: minmax(190px,.65fr) minmax(0,1.35fr); gap: 20px; align-items: start; }
.phantom-tabs { display: grid; gap: 7px; }
.phantom-tab { display: flex; justify-content: space-between; gap: 12px; padding: 15px; border: 1px solid var(--line); color: var(--ink); background: transparent; cursor: pointer; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-align: left; }
.phantom-tab span { color: var(--muted); }
.phantom-tab.is-active { border-color: var(--accent); color: var(--accent); background: rgba(216,255,84,.06); }
.phantom-panel { min-height: 270px; padding: clamp(20px,4vw,35px); border: 1px solid var(--line); background: #111614; }
.phantom-panel h3 { margin: 0 0 10px; font: 800 clamp(24px,3vw,35px)/1.05 Onest,sans-serif; letter-spacing: -.05em; }
.phantom-panel p { max-width: 520px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.phantom-list { display: grid; gap: 9px; margin: 19px 0 0; padding: 0; list-style: none; }
.phantom-list li { padding: 12px; border: 1px solid var(--line); color: #dce0d4; font-size: 12px; line-height: 1.5; }
.phantom-server-address { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding: 14px; border: 1px dashed var(--accent); background: rgba(216,255,84,.04); }
.phantom-server-address code { color: var(--accent); font: 12px 'DM Mono',monospace; }
.phantom-disclaimer { margin-top: 18px; color: var(--muted); font-size: 10px; line-height: 1.6; }
/* FRAME app concept */
.frame-app { display: grid; grid-template-columns: 220px minmax(0,1fr); min-height: calc(100vh - 38px); color: #20283a; background: #f2f4f8; }
.frame-sidebar { display: flex; flex-direction: column; padding: 25px 17px; border-right: 1px solid #d8deea; background: #e9edf5; }
.frame-logo { padding: 0 9px 25px; color: #222a3b; font: 900 22px Onest,sans-serif; letter-spacing: -.07em; }
.frame-logo span { color: #6477e4; }
.frame-sidebar-label { padding: 18px 9px 9px; color: #8a93a4; font: 10px 'DM Mono',monospace; letter-spacing: .12em; }
.frame-sidebar nav { display: grid; gap: 5px; }
.frame-nav-button { display: flex; align-items: center; gap: 10px; padding: 12px 10px; border: 0; border-radius: 7px; color: #566176; background: transparent; cursor: pointer; font-size: 12px; font-weight: 800; text-align: left; }
.frame-nav-button span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #ccd3e2; border-radius: 5px; font-size: 10px; }
.frame-nav-button.is-active { color: #4357be; background: #dce3ff; }
.frame-nav-button.is-active span { border-color: #6477e4; color: #fff; background: #6477e4; }
.frame-sidebar-bottom { margin-top: auto; padding: 14px 9px; border-top: 1px solid #d3dae7; color: #68758b; font-size: 10px; line-height: 1.6; }
.frame-main { min-width: 0; padding: clamp(20px,4vw,46px); }
.frame-topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 31px; }
.frame-breadcrumb { color: #8992a2; font: 10px 'DM Mono',monospace; letter-spacing: .08em; }
.frame-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: #6378e1; font-size: 11px; font-weight: 900; }
.frame-view-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.frame-view-heading h1 { margin: 7px 0 0; font: 800 clamp(28px,4vw,42px)/1 Onest,sans-serif; letter-spacing: -.06em; }
.frame-view-heading p { max-width: 370px; margin: 0; color: #768197; font-size: 12px; line-height: 1.6; }
.frame-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 15px; }
.frame-metric { padding: 17px; border: 1px solid #dce1eb; border-radius: 9px; background: #fff; }
.frame-metric span { display: block; color: #7c879b; font-size: 10px; }
.frame-metric b { display: block; margin: 12px 0 6px; font: 800 31px/1 Onest,sans-serif; letter-spacing: -.06em; }
.frame-metric small { color: #6477e4; font-size: 10px; }
.frame-panel { margin-top: 15px; padding: 20px; border: 1px solid #dce1eb; border-radius: 9px; background: #fff; }
.frame-panel-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.frame-panel-heading h2 { margin: 0; font-size: 15px; letter-spacing: -.03em; }
.frame-panel-heading span { color: #8791a4; font-size: 10px; }
.frame-task-list { display: grid; gap: 8px; }
.frame-task { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid #e6eaf1; border-radius: 7px; }
.frame-task input { width: 17px; height: 17px; accent-color: #6477e4; cursor: pointer; }
.frame-task-main { min-width: 0; flex: 1; }
.frame-task-main b { display: block; font-size: 12px; line-height: 1.45; }
.frame-task-main small { display: block; margin-top: 4px; color: #8993a5; font-size: 10px; }
.frame-task.is-done .frame-task-main b { color: #8993a5; text-decoration: line-through; }
.frame-status { padding: 5px 7px; border-radius: 4px; color: #3e59c0; background: #e8ecff; font-size: 9px; font-weight: 800; }
.frame-progress { height: 7px; overflow: hidden; margin-top: 15px; border-radius: 20px; background: #e9edf4; }
.frame-progress span { display: block; height: 100%; width: 0; border-radius: inherit; background: #6477e4; transition: width .25s ease; }
.frame-team { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.frame-person { padding: 17px; border: 1px solid #dce1eb; border-radius: 9px; background: #fff; }
.frame-person .frame-avatar { margin-bottom: 13px; }
.frame-person b { display: block; font-size: 12px; }
.frame-person p { margin: 5px 0 0; color: #7f899c; font-size: 10px; line-height: 1.5; }
.prototype-bottom-link { color: var(--accent); font-size: 10px; font-weight: 900; letter-spacing: .06em; }
@media (max-width: 760px) {
  .prototype-shell { width: calc(100% - 34px); }
  .prototype-header { min-height: 70px; }
  .prototype-nav { gap: 11px; }
  .prototype-nav a, .prototype-nav button { font-size: 9px; }
  .prototype-nav .nav-secondary { display: none; }
  .prototype-hero { grid-template-columns: minmax(0,1fr); gap: 25px; padding: 56px 0 48px; }
  .prototype-hero h1 { font-size: clamp(54px,14vw,86px); }
  .prototype-art { min-height: 270px; }
  .prototype-section { padding-bottom: 55px; }
  .prototype-section-heading { align-items: flex-start; flex-direction: column; }
  .prototype-menu-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prototype-visit { grid-template-columns: minmax(0,1fr); }
  .prototype-footer { flex-wrap: wrap; }
  .phantom-terminal { grid-template-columns: minmax(0,1fr); }
  .phantom-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .phantom-tab { padding: 12px 8px; font-size: 9px; }
  .phantom-tab span { display: none; }
  .frame-app { grid-template-columns: minmax(0,1fr); }
  .frame-sidebar { padding: 14px 17px; border-right: 0; border-bottom: 1px solid #d8deea; }
  .frame-logo { padding: 0 0 12px; }
  .frame-sidebar-label, .frame-sidebar-bottom { display: none; }
  .frame-sidebar nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .frame-nav-button { justify-content: center; padding: 9px 6px; font-size: 10px; }
  .frame-main { padding: 22px 17px 35px; }
  .frame-view-heading { align-items: flex-start; flex-direction: column; }
  .frame-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .frame-metric:last-child { grid-column: 1 / -1; }
  .frame-team { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 430px) {
  .prototype-note { align-items: flex-start; flex-direction: column; gap: 3px; padding-inline: 17px; }
  .prototype-nav a, .prototype-nav button { letter-spacing: 0; }
  .prototype-brand { font-size: 18px; }
  .prototype-nav { gap: 9px; }
  .prototype-menu-grid { grid-template-columns: minmax(0,1fr); }
  .prototype-menu-card { min-height: 160px; }
  .prototype-cart { align-items: flex-start; flex-direction: column; }
  .phantom-stat { flex: 1; min-width: 95px; }
  .phantom-hero h1 { font-size: clamp(58px,17vw,82px); }
  .frame-metrics { grid-template-columns: minmax(0,1fr); }
  .frame-metric:last-child { grid-column: auto; }
  .frame-task { align-items: flex-start; }
  .frame-status { display: none; }
}
