ppt-web / src /landppt /web /static /css /shared /site_notice.css
26fwyzpz6f-max
Clean deploy without binary files
6aecb2e
Raw
History Blame Contribute Delete
4.8 kB
.site-notice {
--notice-accent: var(--ink-strong, var(--ink, #0b0b0d));
--notice-accent-soft: rgba(11, 11, 13, 0.08);
--notice-accent-border: rgba(11, 11, 13, 0.16);
--notice-surface: var(--surface, var(--paper, #ffffff));
--notice-text: var(--text-primary, var(--ink-2, #111827));
--notice-text-soft: var(--text-secondary, var(--muted, #6b7280));
position: relative;
display: grid;
grid-template-columns: 44px minmax(0, 1fr);
align-items: start;
gap: 14px;
width: 100%;
margin: 0 0 18px;
padding: 16px 18px 16px 22px;
border-radius: var(--radius-xl, var(--border-radius-xl, 22px));
border: 1px solid var(--notice-accent-border);
background:
radial-gradient(circle at 100% 0, rgba(11, 11, 13, 0.05), transparent 34%),
linear-gradient(135deg, var(--notice-accent-soft) 0%, rgba(255, 255, 255, 0.98) 56%, var(--notice-surface) 100%);
box-shadow: 0 18px 40px rgba(11, 11, 13, 0.08);
overflow: hidden;
}
.site-notice::before {
content: "";
position: absolute;
top: 10px;
bottom: 10px;
left: 10px;
width: 4px;
border-radius: 999px;
background: linear-gradient(180deg, var(--notice-accent) 0%, rgba(11, 11, 13, 0.22) 100%);
}
.site-notice::after {
content: "";
position: absolute;
top: 0;
left: 22px;
right: 22px;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.92), transparent);
}
.site-notice[hidden],
.site-notice--hidden {
display: none !important;
}
.site-notice__icon {
position: relative;
z-index: 1;
width: 44px;
height: 44px;
border-radius: 14px;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1rem;
line-height: 1;
color: var(--notice-accent);
background: rgba(255, 255, 255, 0.72);
border: 1px solid rgba(255, 255, 255, 0.78);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}
.site-notice__content {
position: relative;
z-index: 1;
display: grid;
gap: 6px;
min-width: 0;
}
.site-notice__title {
font-size: 1rem;
font-weight: 900;
line-height: 1.35;
letter-spacing: -0.01em;
color: var(--notice-text);
}
.site-notice__message {
font-size: 0.93rem;
line-height: 1.65;
white-space: pre-wrap;
word-break: break-word;
color: var(--notice-text-soft);
}
.site-notice__title + .site-notice__message {
margin-top: -2px;
}
.site-notice__content > :only-child.site-notice__message {
color: var(--notice-text);
font-weight: 600;
}
.site-notice--info {
--notice-accent: #0f172a;
--notice-accent-soft: rgba(15, 23, 42, 0.08);
--notice-accent-border: rgba(15, 23, 42, 0.16);
}
.site-notice--success {
--notice-accent: #166534;
--notice-accent-soft: rgba(22, 101, 52, 0.10);
--notice-accent-border: rgba(22, 101, 52, 0.18);
}
.site-notice--warning {
--notice-accent: #92400e;
--notice-accent-soft: rgba(146, 64, 14, 0.10);
--notice-accent-border: rgba(146, 64, 14, 0.18);
}
.site-notice--danger {
--notice-accent: #b42318;
--notice-accent-soft: rgba(180, 35, 24, 0.10);
--notice-accent-border: rgba(180, 35, 24, 0.18);
}
.container > .site-notice {
margin-bottom: 22px;
}
body.auth-body .site-notice {
margin-bottom: 6px;
padding: 15px 16px 15px 20px;
border-radius: var(--radius-lg, 18px);
box-shadow: 0 16px 36px rgba(11, 11, 13, 0.08);
}
body.auth-body .site-notice::before {
left: 9px;
}
body.auth-body .site-notice::after {
left: 20px;
right: 20px;
}
body.auth-body .site-notice__icon {
width: 40px;
height: 40px;
border-radius: 12px;
}
body.auth-body .site-notice__title {
font-size: 0.96rem;
}
body.auth-body .site-notice__message {
font-size: 0.89rem;
line-height: 1.58;
}
@media (max-width: 640px) {
.site-notice {
grid-template-columns: 38px minmax(0, 1fr);
gap: 12px;
padding: 14px 14px 14px 18px;
border-radius: 18px;
}
.site-notice::before {
top: 8px;
bottom: 8px;
left: 8px;
}
.site-notice::after {
left: 18px;
right: 18px;
}
.site-notice__icon {
width: 38px;
height: 38px;
border-radius: 12px;
}
.site-notice__title {
font-size: 0.95rem;
}
.site-notice__message {
font-size: 0.88rem;
line-height: 1.55;
}
}
@media (prefers-reduced-motion: no-preference) {
.site-notice {
animation: siteNoticeEnter 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
}
}
@keyframes siteNoticeEnter {
from {
opacity: 0;
transform: translateY(-6px);
}
to {
opacity: 1;
transform: translateY(0);
}
}