/* Public surfaces. The shared palette also powers the management workspace. */
.topbar,main,footer { max-width:1240px; padding-left:40px; padding-right:40px; }
.topbar { margin:20px auto 0; height:78px; border:1px solid #ffffffd9; border-radius:26px; background:var(--glass); backdrop-filter:blur(28px) saturate(150%); -webkit-backdrop-filter:blur(28px) saturate(150%); box-shadow:var(--shadow); }
.topbar nav { gap:24px; }.topbar .brand { font-size:24px; }.nav-active { border:0; color:var(--green); font-weight:650; }
.text-button { font-size:14px; font-weight:500; color:var(--muted); }.text-button:hover { color:var(--green); }
#publish-entry { background:var(--green); color:white; border-radius:16px; padding:12px 18px; }
#account-entry { max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.hero { padding:78px 12px 64px; gap:72px; background:none; align-items:center; }
.hero h1 { font:650 clamp(40px,4.6vw,60px)/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif; letter-spacing:-.045em; }
.hero h1 span { color:var(--green); }.hero-copy { font-size:16px; line-height:1.85; color:var(--muted); margin:22px 0 28px; }
.eyebrow { color:#80958a; font-size:10px; font-weight:650; letter-spacing:.16em; }
.primary-link { border:0; border-radius:16px; min-height:46px; padding:13px 22px; font-size:14px; font-weight:600; background:var(--green); color:white; gap:24px; text-decoration:none; box-shadow:0 5px 12px #315b4d10; }
.primary-link:hover { background:#264c3e; }
.hero-note { position:relative; padding:30px 30px 26px 145px; border:1px solid #ffffffdc; background:var(--glass); border-radius:32px; box-shadow:var(--shadow); backdrop-filter:blur(24px); min-height:265px; }
.hero-note::before { content:""; width:124px; height:124px; position:absolute; left:10px; top:65px; border-radius:50%; background:url('/shared-static/mascot.png') center/cover; }
.note-index { font-size:11px; letter-spacing:.02em; color:var(--muted); margin-bottom:22px; }.hero-note>div { margin-top:17px; padding-left:28px; }.hero-note strong { font-size:15px; font-weight:600; }.hero-note p { font-size:12px; margin-top:5px; }
.hero-note>div>span { font-family:inherit; font-style:normal; font-size:11px; color:#8a9c90; }
.objects { border:0; padding-top:20px; }.section-head h2 { font-size:27px; font-weight:650; letter-spacing:-.04em; }.section-head .eyebrow { margin-bottom:10px; }
.filter-row { margin-top:25px; margin-bottom:26px; gap:20px; }.categories { gap:8px; }.categories button { border:1px solid transparent; border-radius:14px; background:#ffffff8c; color:#76837d; padding:11px 16px; font-size:13px; }.categories button.active { background:#dce9e0; color:var(--green); font-weight:600; }
.search { background:#ffffffb8; border:1px solid #ffffff; border-radius:16px; padding:3px 9px; }.search input { font-size:13px; padding:10px; }.sort-label select { border:1px solid #ffffff; background:var(--glass); border-radius:12px; padding:10px 12px; }
.feed { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }.object-card { border:1px solid #ffffffd9; border-radius:25px; background:rgba(255,255,255,.76); box-shadow:var(--shadow); padding-bottom:19px; transition:transform .2s ease,box-shadow .2s ease; }
.card-cover { border-radius:23px 23px 0 0; aspect-ratio:4/3; }.card-cover img { width:100%; height:100%; object-fit:cover; }.card-badge { border-radius:9px; background:#ffffffbf; backdrop-filter:blur(12px); color:#3f5b4d; font-size:10px; }.card-corner { background:#ffffffc9; border-radius:50%; }
.object-card h3 { font-size:19px;line-height:1.5;font-weight:600;font-family:inherit; letter-spacing:-.025em; margin-top:12px; margin-bottom:8px; }.object-card h3 button { font:inherit; }.card-copy { font-size:13px; line-height:1.75; color:var(--muted); min-height:44px; }.card-meta { margin-top:17px; font-size:11px; }.card-meta .question { color:var(--green); font-weight:600; }.card-bottom { border-top:1px solid var(--line); padding-top:14px; margin-top:14px; font-size:11px; }
.closing-note { border-color:var(--line); margin-top:50px; }.closing-note h2 { font-size:24px; font-weight:600; }.closing-note p { font-size:13px; color:var(--muted); }footer { border-color:var(--line); font-size:12px; padding-top:24px; padding-bottom:30px; }
.publish-dialog,.post-dialog,.about-dialog { border:1px solid #ffffffe6; border-radius:30px; background:rgba(249,252,250,.94); box-shadow:0 32px 100px #243d3026,0 1px 1px #ffffff inset; backdrop-filter:blur(36px) saturate(130%); -webkit-backdrop-filter:blur(36px) saturate(130%); }
.publish-dialog { padding:36px; width:min(680px,calc(100% - 32px)); }.sheet-heading { padding-right:42px; margin-bottom:26px; }.sheet-heading .eyebrow { display:block; margin-bottom:12px; }.sheet-heading h2 { font-size:30px;line-height:1.25;font-weight:650;font-family:inherit; letter-spacing:-.04em; }.sheet-heading p { color:var(--muted); font-size:14px; margin:12px 0 0; }
.close-button { position:sticky; top:0; right:0; float:right; margin:0; width:36px; height:36px; display:grid; place-items:center; border:1px solid #ffffff; background:#e9eeeaab; color:#75847a; box-shadow:none; font-size:25px; z-index:3; }.close-button:hover { background:#dce6df; }
#web-user { display:inline-flex; background:#e5efe7; color:#47735b; padding:8px 12px; border-radius:10px; font-size:12px; margin:0 0 6px; }
.publish-dialog label { font-size:14px; font-weight:550; margin:20px 0; }.publish-dialog input,.publish-dialog select,.publish-dialog textarea { border:1px solid #e5ebe6; border-radius:14px; background:#ffffffc9; padding:13px 15px; font-size:14px; box-shadow:0 1px 2px #244b351f inset; }
.publish-dialog textarea { line-height:1.75; min-height:95px; resize:vertical; }.publish-dialog input:focus,.publish-dialog textarea:focus,.publish-dialog select:focus { border-color:#a1bfaa; }
.publish-dialog .upload-zone { position:relative; display:flex; flex-direction:column; align-items:center; gap:7px; border:1.5px dashed #bdcfc2; background:#edf4ef99; border-radius:18px; padding:26px 20px; cursor:pointer; overflow:hidden; }
.upload-zone .upload-symbol { font-size:28px; font-weight:300; width:44px; height:44px; display:grid; place-items:center; background:#e0ebe3; color:#527c61; border-radius:14px; }.upload-zone strong { font-size:14px; font-weight:600; }.upload-zone small { font-size:11px; color:var(--muted); }.upload-zone input[type=file] { position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.upload-zone:focus-within { outline:3px solid #a1bfaa; outline-offset:3px; }#publish-preview { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }#publish-preview img { width:100%; height:auto; aspect-ratio:1; border-radius:12px; }
#publish-fields>p { color:var(--muted); font-size:11px; line-height:1.8; margin:8px 0 20px; }.composer-footer { display:flex; justify-content:space-between; gap:18px; align-items:center; border-top:1px solid var(--line); padding-top:20px; }.composer-footer>span { font-size:12px; color:var(--muted); }.composer-footer button { flex-shrink:0; }.publish-dialog #publish-status { margin-bottom:0; font-size:12px; }
.account-sheet { width:min(900px,calc(100% - 32px)); }.account-tabs { display:flex; gap:5px; padding:5px; border-radius:16px; background:#e7ece8b3; margin:20px 0 24px; width:max-content; max-width:100%; }.account-tabs button { border:0; padding:11px 22px; border-radius:12px; color:#87958b; font-size:14px; background:transparent; }.account-tabs button[aria-selected=true] { color:var(--green); font-weight:600; background:#ffffffe8; box-shadow:0 2px 5px #2a4b3710; }.account-tabs span { font-size:10px; margin-left:8px; padding:3px 6px; border-radius:6px; background:#e9eeeb; color:#819287; }
.personal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; min-height:120px; }.personal-record { border:1px solid #ffffff; border-radius:22px; background:#ffffffbe; overflow:hidden; box-shadow:0 5px 22px #375b4305; padding:0; min-width:0; }.record-cover { display:block; aspect-ratio:16/10; background:#e8eeea; overflow:hidden; }.record-cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }.record-cover:hover img { transform:scale(1.035); }.record-placeholder { width:100%; height:100%; display:grid; place-items:center; color:#9aaba0; font-size:13px; background:linear-gradient(130deg,#edf1ed,#e3eae7); }.record-body { padding:20px; }.record-tag { display:inline-block; background:#edf3ee; color:#668d73; padding:4px 7px; border-radius:6px; font-size:10px; margin-bottom:10px; }.record-title { display:block; font-size:17px; font-weight:600; color:var(--ink)!important; line-height:1.5; overflow-wrap:anywhere; }.personal-record .record-price { font-size:17px; font-weight:600; color:var(--green); margin:12px 0 8px; }.record-meta,.record-reason { color:var(--muted); font-size:12px!important; line-height:1.8; margin:7px 0; }.record-reason { overflow-wrap:anywhere; }.record-footer { border-top:1px solid var(--line); margin-top:16px; padding-top:13px; display:flex; justify-content:flex-end; }.record-footer .text-button { font-size:11px; color:#9b8c83; }
.section-note { color:var(--muted); font-size:11px!important; margin:0 0 18px; }.account-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }.account-footer>span { color:#8b9990; font-size:11px; }.account-footer button { font-size:12px; }.secondary-button { border:1px solid #dbe6df; background:#f8fbf8; color:var(--green); padding:12px 18px; border-radius:12px; margin-top:20px; }
.detail-top h2,.detail-comments h3 { font-family:inherit; font-weight:600; }.detail-main { gap:24px; }.facts { background:#e8efea9c; border:1px solid #ffffff; }.opinion-panel,.web-guess { background:#ffffffa8; border:1px solid #ffffff; box-shadow:var(--shadow); }.web-guess { border-radius:24px; }.web-guess select,.web-guess input,.web-guess textarea { border-color:#e0e9e2; border-radius:14px; background:#ffffffbd; }.detail-meta { flex-wrap:wrap; gap:12px; }.detail-meta .share-button { font-size:11px; color:#769381; }.session-status { font-size:12px; color:#789483; }.demo-banner { border-radius:14px; background:#eaf0e9; color:#7d9181; }
@media(max-width:900px) { .topbar,main,footer { padding-left:24px; padding-right:24px; }.topbar { margin:14px 20px 0; }.hero { gap:30px; padding:55px 4px 45px; }.hero-note { padding-left:110px; }.hero-note::before { width:90px; height:90px; left:8px; }.feed { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:600px) { .topbar { margin:10px 12px 0; height:auto; min-height:76px; padding:13px 15px; gap:10px; border-radius:23px; }.topbar .brand { font-size:20px; gap:8px; flex-shrink:0; }.topbar .brand .seal { width:38px; height:38px; border-radius:13px; }.brand small { display:none; }.topbar nav { gap:9px; justify-content:flex-end; flex-wrap:wrap; font-size:11px; }.topbar nav a { display:none; }.topbar #about-button { display:none; }.topbar .text-button { font-size:11px; }#publish-entry { padding:10px 12px; border-radius:12px; }#account-entry { max-width:100px; }main,footer { padding-left:20px; padding-right:20px; }.hero { padding:40px 0 25px; grid-template-columns:1fr; gap:24px; }.hero h1 { font-size:43px; }.hero-copy { font-size:14px; margin:17px 0 21px; }.hero-note { min-height:0; border-radius:23px; padding:20px 20px 20px 94px; grid-template-columns:1fr; gap:0; }.hero-note::before { top:32px; left:9px; width:76px; height:76px; }.hero-note .note-index { display:block; margin:0 0 14px; font-size:10px; }.hero-note>div { display:none; }.hero-note>div:nth-child(3) { display:block; margin:0; padding:0; }.hero-note>div>span { display:none; }.hero-note strong { font-size:14px; }.hero-note p { font-size:11px; }.section-head h2 { font-size:23px; }.filter-row { gap:14px; margin-top:18px; }.categories { gap:6px; }.categories button { font-size:11px; padding:9px 12px; border-radius:11px; }.feed { gap:16px; }.object-card { border-radius:20px; padding-bottom:14px; }.card-cover { border-radius:18px 18px 0 0; aspect-ratio:1; }.object-card h3,.object-card .card-copy,.object-card .card-meta,.object-card .card-bottom { margin-left:12px; margin-right:12px; }.object-card h3 { font-size:15px; margin-top:8px; }.object-card .card-copy { display:none; }.card-meta { font-size:10px; gap:5px; flex-wrap:wrap; }.card-meta>span:last-child { display:none; }.card-bottom { font-size:10px; gap:6px; flex-wrap:wrap; padding-top:10px; margin-top:10px; }.card-badge { left:10px; top:10px; font-size:9px; padding:4px 6px; }.card-corner { display:none; }.publish-dialog { padding:24px 20px; width:calc(100% - 22px); border-radius:26px; max-height:94dvh; }.sheet-heading { margin-bottom:22px; }.sheet-heading h2 { font-size:25px; }.sheet-heading p { font-size:12px; }.publish-dialog label { font-size:13px; margin:16px 0; }.publish-dialog input,.publish-dialog select,.publish-dialog textarea { font-size:14px; padding:12px; }.composer-footer { flex-direction:column-reverse; align-items:stretch; text-align:center; gap:12px; }.composer-footer button { justify-content:center; }.composer-footer>span { font-size:10px; }#publish-preview { grid-template-columns:repeat(3,1fr); }.account-tabs { width:100%; }.account-tabs button { flex:1; padding:10px 6px; font-size:13px; }.personal-grid { grid-template-columns:1fr; gap:18px; }.personal-record { border-radius:20px; }.record-cover { aspect-ratio:16/9; }.record-body { padding:17px; }.account-footer { align-items:center; }.account-footer>span { font-size:10px; }.account-footer button { font-size:11px; } }

.publish-dialog input,.publish-dialog select,.publish-dialog textarea{font-weight:400}
