YRobot / style.css
thomas-yanxin's picture
Publish YRobot 3.2.0 for Reachy Mini
ad1a7fb verified
Raw
History Blame Contribute Delete
9.36 kB
:root {
--ink: #10221c;
--muted: #5d6e67;
--paper: #f2f1e9;
--lime: #c9ff5c;
--mint: #65e6bd;
--blue: #2b6dff;
--line: rgba(16, 34, 28, 0.14);
--card: rgba(255, 255, 255, 0.64);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
color: var(--ink);
background:
radial-gradient(circle at 82% 8%, rgba(101, 230, 189, 0.3), transparent 29rem),
linear-gradient(180deg, #f7f6ef 0%, var(--paper) 68%, #e9eee6 100%);
font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
.site-header,
main,
footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.site-header {
height: 84px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid var(--line);
}
.brand { display: flex; gap: 10px; align-items: center; font-weight: 800; text-decoration: none; }
.brand-mark {
width: 34px;
height: 34px;
display: grid;
place-items: center;
color: white;
background: var(--ink);
border-radius: 11px 11px 11px 3px;
}
.store-badge {
display: flex;
align-items: center;
gap: 8px;
padding: 9px 14px;
border: 1px solid var(--line);
border-radius: 999px;
color: var(--muted);
font-size: 13px;
font-weight: 700;
background: rgba(255, 255, 255, 0.48);
}
.store-badge i { width: 7px; height: 7px; border-radius: 50%; background: #30b67b; box-shadow: 0 0 0 4px rgba(48, 182, 123, 0.12); }
.hero {
min-height: 660px;
display: grid;
grid-template-columns: 1.05fr 0.95fr;
align-items: center;
gap: 70px;
padding: 64px 0 76px;
}
.eyebrow { margin: 0 0 18px; font-size: 12px; font-weight: 850; letter-spacing: 0.16em; color: #31735f; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 25px; max-width: 720px; font-size: clamp(54px, 6.8vw, 92px); line-height: 0.92; letter-spacing: -0.065em; }
h1 em { color: var(--blue); font-family: Georgia, serif; font-weight: 500; }
.lede { max-width: 650px; color: var(--muted); font-size: 19px; line-height: 1.68; }
.hero-actions { display: flex; gap: 12px; margin: 34px 0 30px; }
.button { padding: 14px 20px; border-radius: 13px; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: white; background: var(--ink); box-shadow: 0 12px 30px rgba(16, 34, 28, 0.18); }
.button.secondary { border: 1px solid var(--line); background: rgba(255, 255, 255, 0.55); }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; color: var(--muted); font-size: 12px; font-weight: 700; }
.trust-row span::before { content: "✓"; margin-right: 6px; color: #258f69; }
.robot-stage {
position: relative;
min-height: 500px;
display: grid;
place-items: center;
overflow: hidden;
border: 1px solid rgba(255, 255, 255, 0.8);
border-radius: 42px;
background: linear-gradient(145deg, rgba(255, 255, 255, 0.72), rgba(193, 242, 221, 0.52));
box-shadow: inset 0 0 0 1px rgba(16, 34, 28, 0.04), 0 30px 80px rgba(42, 102, 81, 0.12);
}
.orbit { position: absolute; border: 1px solid rgba(43, 109, 255, 0.15); border-radius: 50%; }
.orbit-one { width: 390px; height: 390px; }
.orbit-two { width: 270px; height: 270px; border-style: dashed; animation: spin 24s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.robot { position: relative; z-index: 2; width: 220px; height: 310px; }
.antenna { position: absolute; top: 0; width: 18px; height: 108px; border-radius: 12px; background: var(--ink); transform-origin: bottom; }
.antenna.left { left: 61px; transform: rotate(-17deg); }
.antenna.right { right: 61px; transform: rotate(17deg); }
.head { position: absolute; z-index: 2; top: 76px; left: 35px; width: 150px; height: 142px; border: 9px solid var(--ink); border-radius: 48% 48% 44% 44%; background: #f8fff9; box-shadow: 0 10px 0 var(--lime); }
.eye { position: absolute; top: 47px; left: 58px; width: 26px; height: 34px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 9px rgba(43, 109, 255, 0.11); animation: blink 4.5s infinite; }
@keyframes blink { 0%, 44%, 50%, 100% { transform: scaleY(1); } 47% { transform: scaleY(0.08); } }
.neck { position: absolute; top: 210px; left: 89px; width: 42px; height: 35px; background: var(--ink); }
.body { position: absolute; bottom: 0; left: 36px; width: 148px; height: 88px; display: grid; place-items: center; border-radius: 44px 44px 16px 16px; background: var(--ink); }
.body span { padding: 5px 9px; color: var(--lime); border: 1px solid rgba(201, 255, 92, 0.4); border-radius: 999px; font-size: 9px; letter-spacing: 0.14em; }
.sound-wave { position: absolute; top: 185px; z-index: 3; display: flex; align-items: center; gap: 5px; }
.sound-wave.wave-left { left: 34px; }
.sound-wave.wave-right { right: 34px; }
.sound-wave i { display: block; width: 4px; border-radius: 3px; background: var(--blue); animation: wave 1s ease-in-out infinite alternate; }
.sound-wave i:nth-child(1) { height: 16px; }
.sound-wave i:nth-child(2) { height: 32px; animation-delay: 120ms; }
.sound-wave i:nth-child(3) { height: 21px; animation-delay: 220ms; }
@keyframes wave { to { transform: scaleY(0.45); opacity: 0.45; } }
.status-chip { position: absolute; z-index: 4; padding: 10px 13px; border: 1px solid rgba(16, 34, 28, 0.1); border-radius: 11px; background: rgba(255, 255, 255, 0.82); box-shadow: 0 10px 30px rgba(16, 34, 28, 0.09); font-size: 11px; font-weight: 800; }
.status-chip b { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #23b878; }
.chip-vision { top: 44px; right: 31px; }
.chip-audio { bottom: 42px; left: 27px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.feature-grid article { padding: 42px 36px 46px 0; }
.feature-grid article + article { padding-left: 36px; border-left: 1px solid var(--line); }
.feature-number { font: italic 24px Georgia, serif; color: var(--blue); }
.feature-grid h2 { margin: 26px 0 12px; font-size: 22px; letter-spacing: -0.025em; }
.feature-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.signal-section, .install-section { padding: 94px 0; display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 90px; align-items: center; }
.signal-section h2, .install-section h2, .privacy-section h2 { max-width: 560px; margin: 0; font-size: clamp(34px, 4vw, 55px); line-height: 1.04; letter-spacing: -0.045em; }
.signal-flow { padding: 34px; display: flex; align-items: center; justify-content: space-between; border-radius: 22px; color: white; background: var(--ink); }
.signal-flow span { font-size: 12px; font-weight: 800; }
.signal-flow i { width: 46px; height: 1px; background: linear-gradient(90deg, var(--mint), var(--lime)); position: relative; }
.signal-flow i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid var(--lime); border-right: 1px solid var(--lime); transform: rotate(45deg); }
.privacy-section { padding: 56px; display: grid; grid-template-columns: auto 1fr; gap: 34px; align-items: start; color: #ebfff6; border-radius: 32px; background: linear-gradient(135deg, #183b30, #10221c); box-shadow: 0 24px 70px rgba(16, 34, 28, 0.16); }
.privacy-section .eyebrow { color: var(--mint); }
.privacy-section h2 { margin-bottom: 20px; }
.privacy-section p:last-child { max-width: 820px; margin: 0; color: #b9d0c7; line-height: 1.72; }
.privacy-icon { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(201, 255, 92, 0.35); border-radius: 18px; color: var(--lime); font-size: 27px; }
.install-section ol { list-style: none; padding: 0; margin: 0; }
.install-section li { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.install-section li b { color: var(--blue); font: italic 18px Georgia, serif; }
.install-section strong { color: var(--ink); }
footer { min-height: 100px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; font-weight: 700; }
@media (max-width: 900px) {
.hero { grid-template-columns: 1fr; gap: 45px; }
.robot-stage { min-height: 450px; }
.feature-grid { grid-template-columns: 1fr; }
.feature-grid article, .feature-grid article + article { padding: 32px 0; border-left: 0; border-top: 1px solid var(--line); }
.feature-grid article:first-child { border-top: 0; }
.signal-section, .install-section { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 600px) {
.site-header, main, footer { width: min(100% - 28px, 1180px); }
.site-header { height: 68px; }
.store-badge { padding: 7px 10px; font-size: 11px; }
.hero { min-height: 0; padding: 48px 0 60px; }
h1 { font-size: 54px; }
.lede { font-size: 16px; }
.hero-actions { flex-direction: column; }
.button { text-align: center; }
.robot-stage { min-height: 390px; border-radius: 28px; }
.robot { transform: scale(0.85); }
.signal-flow { padding: 24px 18px; }
.signal-flow span { font-size: 9px; }
.signal-flow i { width: 18px; }
.privacy-section { padding: 32px 24px; grid-template-columns: 1fr; }
footer { gap: 20px; }
}