html { background:#f7f6f2; color-scheme:light; scroll-padding-top:2rem; }
body { margin:0; }
button, input, textarea { font:inherit; }
[hidden] { display:none !important; }
#sumomo-editorial { --paper:#f7f6f2; --ink:#343432; --quiet:#777772; --line:#e1dfda; --plum:#80024e; --blue:#009cad; --serif:Georgia,"Songti SC","STSong","Yu Mincho",serif; background:var(--paper); color:var(--ink); font:1rem/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; min-height:100vh; }
#sumomo-editorial *, #sumomo-editorial *::before, #sumomo-editorial *::after { box-sizing:border-box; }
#sumomo-editorial a { color:inherit; text-decoration:none; }
#sumomo-editorial button { color:inherit; cursor:pointer; }
#sumomo-editorial :is(a,button):hover { color:var(--plum); }
#sumomo-editorial :is(a,button):focus-visible { outline:2px solid var(--plum); outline-offset:5px; }
.garden-header { position:relative; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:20px 32px; }
.garden-brand { display:flex; align-items:center; gap:12px; min-height:44px; }
.garden-monogram { color:var(--plum); font:500 44px/1 Georgia,serif; letter-spacing:-.05em; }
.garden-brand-name { font:13px/1.5 Georgia,"Songti SC",serif; letter-spacing:.05em; }
.garden-nav { position:relative; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:30px; max-width:100%; }
.garden-nav > a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
.garden-languages { display:flex; align-items:center; gap:9px; font-size:12px; white-space:nowrap; color:var(--quiet); }
.garden-languages button { padding:0 2px; min-height:44px; background:none; border:0; color:inherit; }
.garden-languages button[aria-pressed="true"] { color:var(--plum); text-decoration:underline; text-underline-offset:5px; }
html[lang="ja"] #sumomo-editorial { --serif:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",Georgia,serif; }
.editor-language-title { font:400 26px/1.5 Georgia,"Songti SC",serif; margin:0 0 12px; }
.editor-language-coverage { font-size:14px; color:#7d164f; margin:18px 0; }
.editor-language-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:18px 0; }
.editor-language-filter { display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; margin:24px 0 12px; }
.editor-language-filter input,.editor-language-filter select { min-width:0; font:inherit; padding:10px; border:1px solid #d6d4cd; border-radius:3px; background:#fffdfa; }
.editor-translation-row { border-bottom:1px solid #dedbd4; padding:15px 0; }
.editor-translation-row summary { cursor:pointer; font-size:14px; overflow-wrap:anywhere; }
.editor-translation-source { font-size:13px; line-height:1.7; white-space:pre-wrap; color:#77756e; padding:12px; background:#efede7; }
.editor-translation-row textarea { min-height:130px; font-family:"Hiragino Kaku Gothic ProN",sans-serif; }
.editor-language-message { font-size:14px; line-height:1.7; }
@media(max-width:768px) { .garden-nav { gap:14px; } .garden-languages { gap:5px; } .garden-languages button { font-size:11px; } }
.garden-directory { display:flex; align-items:center; gap:9px; }
.garden-directory-link { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
.garden-directory-toggle { border:0; background:transparent; display:flex; align-items:center; justify-content:center; width:28px; padding:6px; min-height:44px; }
.garden-directory-toggle svg { display:block; flex:none; }
.garden-directory-toggle[aria-expanded="true"] { color:var(--plum); }
.garden-directory-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.garden-directory-panel { position:absolute; right:0; top:100%; z-index:10; width:min(660px,calc(100vw - 40px)); padding:30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 38px; border:1px solid var(--line); border-radius:7px; background:var(--paper); box-shadow:0 13px 24px #34343216; }
.garden-directory-entry { display:flex; align-items:flex-start; gap:14px; }
.garden-directory-marker { color:var(--blue); font:24px/1.3 Georgia,serif; width:24px; flex:none; }
.garden-directory-entry strong { display:block; font-size:16px; font-weight:600; margin-bottom:5px; }
.garden-directory-entry > span:last-child > span { display:block; font-size:14px; line-height:1.5; color:var(--quiet); }
.garden-main, .garden-footer { width:100%; max-width:1420px; margin:0 auto; padding-left:44px; padding-right:44px; }
.garden-opening { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); align-items:center; gap:48px; padding:68px 0 86px; }
.garden-opening-copy { min-width:0; }
.garden-tabletop { min-width:0; margin:0; width:100%; max-width:560px; justify-self:end; }
.garden-tabletop-art { display:block; width:100%; height:auto; }
.garden-tabletop-labels { display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:12px 30px; margin-top:14px; color:var(--quiet); font:400 16px/1.5 var(--serif); }
.garden-tabletop-labels > :first-child { color:var(--plum); }
.garden-opening h1 { font:400 clamp(4rem,9vw,8rem)/1.07 var(--serif); letter-spacing:-.055em; margin:0 0 20px; overflow-wrap:anywhere; }
.garden-opening-caption { display:flex; align-items:baseline; flex-wrap:wrap; gap:32px; }
.garden-opening-title { font:400 36px/1.5 var(--serif); }
.garden-nickname { color:var(--plum); font:400 22px/1.5 "Hiragino Mincho ProN","Yu Mincho",serif; letter-spacing:.15em; }
.garden-intro { color:var(--quiet); font-size:20px; max-width:42rem; margin:20px 0 0; }
.garden-agora-entry { display:inline-flex; align-items:center; min-height:44px; width:fit-content; max-width:100%; margin-top:24px; font-size:16px; color:var(--plum) !important; text-decoration:underline !important; text-underline-offset:5px; text-decoration-thickness:1px; }
.garden-overview-heading { margin-bottom:44px; }
.garden-overview-heading h2 { margin:0; font:400 46px/1.3 var(--serif); letter-spacing:-.02em; }
.garden-band { --garden-height-difference:160px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:62px; margin-bottom:72px; align-items:start; }
.garden-band-lead > :first-child, .garden-band-media > :first-child { grid-column:span 2; }
.garden-band-shelf > :last-child { grid-column:span 2; }
.garden-group { min-width:0; }
.garden-group-more { display:flex; align-items:center; width:fit-content; min-height:44px; margin:16px 0 0; font-size:14px; color:var(--plum) !important; }
.garden-section-heading { margin-bottom:28px; }
.garden-section-link { display:inline-flex; align-items:center; min-height:44px; font-size:18px; font-weight:600; }
.garden-section-heading p { margin:2px 0 0; font-size:18px; line-height:1.55; color:#666661; }
.garden-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.garden-project-card { min-width:0; background:#fbfaf7; border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.garden-project-cover { display:block; aspect-ratio:1.05; }
.garden-project-cover img { display:block; height:100%; width:100%; object-fit:contain; }
.garden-project-copy { padding:4px 21px 20px; }
.garden-project-copy h3 { font:400 28px/1.3 var(--serif); margin:0 0 9px; overflow-wrap:anywhere; }
.garden-project-description { color:var(--quiet); font-size:16px; margin:0 0 10px; }
.garden-item-meta { margin:0; color:var(--quiet); font-size:13px; line-height:1.5; }
.garden-status { display:inline-block; margin-left:14px; color:var(--plum); }
.garden-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; align-items:start; }
.garden-collection-card { text-align:left; min-width:0; display:flex; flex-direction:column; width:100%; padding:0; border:0; background:transparent; font:inherit; }
.garden-collection-image { display:block; width:100%; aspect-ratio:3/2; border-radius:4px; overflow:hidden; background:#efede7; margin-bottom:15px; }
.garden-collection-image img { width:100%; height:100%; display:block; object-fit:cover; }
.garden-collection-copy { display:flex; flex-direction:column; min-width:0; width:100%; }
.garden-collection-title { font:400 27px/1.35 var(--serif); overflow-wrap:anywhere; }
.garden-collection-note { display:block; margin-top:7px; font-size:15px; line-height:1.5; color:var(--quiet); }
.garden-demo-label { color:var(--quiet); font-size:12px; margin-top:5px; }
.garden-grid-rows { grid-template-columns:minmax(0,1fr); gap:0; }
.garden-card-rows { flex-direction:row; align-items:center; gap:17px; padding:18px 0; border-bottom:1px solid var(--line); }
.garden-card-rows:first-child { padding-top:0; }
.garden-card-rows .garden-collection-image { width:72px; aspect-ratio:1; flex:none; margin:0; }
.garden-card-rows .garden-collection-title { font-size:24px; }
.garden-card-rows .garden-collection-note { font-size:14px; }
.garden-grid-books { grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px 22px; }
.garden-card-books .garden-collection-image { aspect-ratio:2/3; background:transparent; overflow:visible; }
.garden-card-books .garden-collection-image img { object-fit:contain; object-position:left bottom; filter:drop-shadow(0 1px 2px #34343220); border-radius:3px; }
.garden-card-books .garden-collection-title { font-size:24px; }
.garden-card-books .garden-collection-note { font-size:14px; }
.garden-grid-media { grid-template-columns:repeat(3,minmax(0,1fr)); }
.garden-card-media .garden-collection-image { aspect-ratio:4/5; }
.garden-card-media .garden-collection-image img { object-fit:cover; }
.garden-card-media .garden-collection-title { font-size:23px; }
.garden-group-technology .garden-collection-image img { object-fit:contain; }
.garden-collection-image img.garden-technology-mark { object-fit:contain; padding:18%; }
.garden-collection-image:has(.garden-bilibili-mark) { background:#f1e7ed; }
.garden-collection-image:has(.garden-badminton-mark) { background:#e4eeec; }
.garden-drawer-image.garden-technology-mark { width:160px; height:120px; padding:24px; background:#efede7; border-radius:4px; }
.garden-drawer-image.garden-bilibili-mark { background:#f1e7ed; }
.garden-drawer-image.garden-badminton-mark { background:#e4eeec; }
.garden-websites .garden-grid-rows { grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.garden-websites .garden-card-rows { border:0; padding:0; }
.garden-empty-quiet { color:var(--quiet); font:400 23px/1.5 var(--serif); margin:0; padding:12px 0; }
.garden-page-heading { padding-top:76px; margin-bottom:74px; }
.garden-back { display:inline-flex; align-items:center; min-height:44px; font-size:14px; color:var(--quiet) !important; margin-bottom:19px; }
.garden-page-title { display:flex; align-items:flex-start; gap:18px; margin-left:-40px; }
.garden-count { color:var(--blue); font:400 25px/1 var(--serif); padding-top:20px; width:22px; flex:none; }
.garden-page-title h1 { margin:0; font:400 82px/1.1 var(--serif); letter-spacing:-.04em; }
.garden-page-intro { font:400 32px/1.45 var(--serif); color:#595954; margin:28px 0 0; max-width:55rem; }
.garden-full-projects { display:block; column-count:3; column-gap:22px; }
.garden-full-projects .garden-project-card { break-inside:avoid; margin-bottom:24px; }
.garden-directory-title { font:400 82px/1.1 var(--serif); margin:0; letter-spacing:-.04em; }
.garden-index-nav { display:flex; flex-wrap:wrap; gap:14px 28px; margin:-25px 0 55px; padding-bottom:22px; border-bottom:1px solid var(--line); font-size:16px; }
.garden-index-nav a { display:inline-flex; align-items:center; min-height:44px; }
.garden-empty { margin:0 0 100px; color:var(--quiet); font-size:18px; }
.garden-project-detail { max-width:1080px; margin:0 auto; padding-top:65px; }
.garden-detail-heading { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:54px; align-items:center; margin:22px 0 55px; }
.garden-detail-heading h1 { font:400 64px/1.12 var(--serif); margin:17px 0 0; overflow-wrap:anywhere; letter-spacing:-.035em; }
.garden-detail-heading .garden-page-intro { font-size:27px; margin-top:17px; }
.garden-detail-art { width:100%; height:auto; }
.garden-visit { color:var(--plum) !important; display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid var(--plum); margin-top:24px; font-size:16px; }
.garden-inline-edit { display:block; margin:18px 0 0; padding:8px 0; border:0; border-bottom:1px solid var(--line); background:none; color:var(--plum); font:inherit; font-size:14px; cursor:pointer; min-height:44px; }
.garden-inline-edit:focus-visible { outline:2px solid var(--plum); outline-offset:4px; }
.editor-context { margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #d8d3ca; }
.editor-context p { margin:0 0 8px; font-size:16px; }
.editor-recovery-select { width:100%; min-height:44px; margin:0 0 16px; font:inherit; }
.garden-project-screenshot { margin:0; }
.garden-project-screenshot > img { display:block; width:100%; height:auto; border:1px solid var(--line); }
.garden-project-screenshot figcaption { display:flex; justify-content:space-between; gap:16px; color:var(--quiet); font-size:14px; margin-top:14px; }
.garden-article { max-width:800px; margin:0 auto; padding-top:65px; }
.garden-article h1 { font:400 64px/1.2 var(--serif); letter-spacing:-.03em; margin:22px 0 36px; overflow-wrap:anywhere; }
.garden-article > p:not(.garden-page-intro) { font:400 21px/1.85 var(--serif); white-space:pre-wrap; }
.garden-article h2 { font:400 30px/1.4 var(--serif); margin:55px 0 24px; }
.garden-resume { max-width:1080px; margin:0 auto; }
.garden-resume-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,.65fr); column-gap:40px; align-items:end; padding:54px 0 56px; }
.garden-resume-heading > .garden-back,.garden-resume-eyebrow { grid-column:1 / -1; justify-self:start; }
.garden-resume-identity { min-width:0; }
.garden-resume-heading h1 { font:400 82px/1.1 var(--serif); letter-spacing:-.04em; margin:0; }
.garden-resume-eyebrow { margin:0 0 18px; font-size:14px; color:var(--quiet); letter-spacing:.1em; }
.garden-resume-name { display:flex; flex-wrap:wrap; align-items:baseline; gap:24px; font:400 25px/1.5 var(--serif); margin:28px 0 0; }
.garden-resume-name:lang(ja) { color:var(--plum); font-size:18px; letter-spacing:.1em; margin-top:18px; }
.garden-resume-name span { color:var(--plum); font-size:18px; letter-spacing:.1em; }
.garden-resume-introduction { max-width:640px; font:400 21px/1.75 var(--serif); white-space:pre-wrap; margin:0 0 3px; }
.garden-resume-section { display:grid; grid-template-columns:180px minmax(0,1fr); gap:60px; padding:44px 0 50px; border-top:1px solid var(--line); }
.garden-resume-section > h2 { font-size:16px; font-weight:500; margin:5px 0 0; color:var(--quiet); }
.garden-experiences,.garden-resume-projects { display:grid; gap:48px; }
.garden-resume-project h3 { font:400 36px/1.3 var(--serif); margin:0 0 14px; overflow-wrap:anywhere; }
.garden-resume-meta { font-size:14px; color:var(--quiet); margin:0 0 12px; }
.garden-experience-role { font-size:16px; color:var(--plum); margin:0 0 18px; }
.garden-resume-prose { font-size:18px; line-height:1.8; white-space:pre-wrap; margin:0; overflow-wrap:anywhere; }
.garden-achievements { padding-left:20px; margin:20px 0 0; font-size:17px; line-height:1.8; }
.garden-achievements li { padding-left:5px; margin-bottom:10px; overflow-wrap:anywhere; }
.garden-achievements li::marker { color:var(--blue); }
.garden-resume-project { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:30px; align-items:center; }
.garden-resume-project-cover img { display:block; width:100%; height:auto; }
.garden-resume-project-link { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; color:var(--plum) !important; font-size:14px; }
.garden-resume-introduction,.garden-resume-meta,.garden-experience-role { overflow-wrap:anywhere; }
.garden-resume-work { border-top:1px solid var(--line); padding:38px 0 62px; }
.garden-resume-section-label { margin:0 0 34px; font-size:16px; font-weight:500; color:var(--quiet); }
.garden-experience + .garden-experience { border-top:1px solid var(--line); padding-top:42px; }
.garden-experience-heading { display:grid; grid-template-columns:minmax(0,1fr) 225px; gap:48px; align-items:end; }
.garden-experience-name { font:400 64px/1.15 var(--serif); margin:0 0 18px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.garden-experience-focus { font:400 34px/1.5 var(--serif); margin:0; max-width:740px; text-wrap:pretty; }
.garden-experience-context { border-left:1px solid var(--plum); padding-left:22px; }
.garden-experience-context:empty { display:none; }
.garden-experience-context .garden-resume-meta { color:var(--plum); font-size:15px; margin:0 0 14px; }
.garden-experience-context .garden-experience-role { color:var(--quiet); font-size:15px; line-height:1.85; margin:0; }
.garden-experience-summary { max-width:890px; margin:34px 0 42px; line-height:1.9; }
.garden-work-highlights { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:30px 42px; align-items:start; }
.garden-work-highlight { grid-column:span 5; display:grid; grid-template-columns:25px minmax(0,1fr); gap:13px; padding:25px 0 0; border-top:1px solid var(--line); }
.garden-work-highlight:nth-child(4n+2),.garden-work-highlight:nth-child(4n+3) { grid-column:span 7; }
.garden-work-highlight:nth-child(2) { border-top:2px solid var(--blue); background:#efeee8; padding:24px 26px 28px; }
.garden-work-highlight:last-child:nth-child(odd) { grid-column:1 / -1; grid-template-columns:25px minmax(0,1fr); }
.garden-work-highlight:last-child:nth-child(odd) > div { display:grid; grid-template-columns:minmax(200px,.65fr) minmax(0,1fr); column-gap:40px; }
.garden-work-number { color:var(--plum); font:400 17px/1.5 Georgia,serif; padding-top:4px; }
.garden-work-highlight h4 { font:400 25px/1.55 var(--serif); margin:0 0 16px; text-wrap:pretty; }
.garden-work-highlight p { margin:0; font-size:17px; line-height:1.9; overflow-wrap:anywhere; white-space:pre-wrap; }
.garden-work-progress { display:grid; grid-template-columns:165px minmax(0,1fr); gap:30px; margin-top:42px; padding:28px 30px; background:#e9efec; }
.garden-work-progress h4 { font:400 24px/1.5 var(--serif); margin:0; color:#315f60; }
.garden-work-progress p { margin:0; font-size:16px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.garden-work-tools { display:grid; grid-template-columns:165px minmax(0,1fr); gap:30px; margin-top:36px; padding:30px 0 0; border-top:1px solid var(--line); }
.garden-work-tools > h4 { margin:0; font-size:16px; font-weight:500; color:var(--quiet); }
.garden-work-tools dl { display:grid; gap:20px; margin:0; }
.garden-work-tools dl > div { display:grid; grid-template-columns:115px minmax(0,1fr); gap:20px; }
.garden-work-tools dt { font-size:14px; color:var(--plum); }
.garden-work-tools dd { font-size:16px; line-height:1.85; margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.garden-note-row { padding:22px 0; border-bottom:1px solid var(--line); }
.garden-note-row > a { font:400 28px/1.3 var(--serif); }
.garden-note-row p { color:var(--quiet); font-size:17px; margin:10px 0 0; }
.garden-notes { margin-top:70px; }
.garden-image-empty { display:flex; align-items:center; justify-content:center; height:100%; width:100%; padding:16px; background:#eeece6; color:var(--quiet); font:400 16px/1.5 var(--serif); }
.garden-footer { display:flex; justify-content:flex-end; align-items:center; padding-top:35px; padding-bottom:38px; margin-top:80px; font-size:14px; color:var(--quiet); }
.garden-footer a { display:inline-flex; align-items:center; min-height:44px; }
#sumomo-editorial .folio-edit-open { background:none; border:0; color:var(--plum); font-size:14px; min-height:44px; padding:0; }
.garden-drawer { position:fixed; inset:0 0 0 auto; height:100%; max-height:none; margin:0; width:min(650px,100%); max-width:none; border:0; border-left:1px solid var(--line); padding:24px 38px 48px; background:var(--paper); color:var(--ink); overflow:auto; overscroll-behavior:contain; }
.garden-drawer[data-kind="topic"] { width:min(740px,100%); }
.garden-drawer-top { position:sticky; top:-24px; z-index:3; background:var(--paper); }
.garden-collection-hero { display:grid; grid-template-columns:110px minmax(0,1fr); gap:28px; align-items:center; margin:12px 0 26px; }
.garden-collection-hero .garden-drawer-image { width:100%; height:auto; max-height:180px; object-fit:contain; margin:0; }
.garden-drawer .garden-collection-hero h2 { margin:0 0 10px; font-size:36px; }
.garden-collection-hero .garden-drawer-description { font:400 16px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:var(--quiet); margin:0; }
.garden-drawer[data-kind="topic"] .garden-collection-hero { grid-template-columns:86px minmax(0,1fr); }
.garden-drawer[data-kind="topic"] .garden-drawer .garden-collection-hero h2 { font-size:44px; }
.garden-drawer[data-kind="game"] .garden-collection-hero { display:block; }
.garden-drawer[data-kind="game"] .garden-collection-hero .garden-drawer-image { width:100%; aspect-ratio:16/8; object-fit:cover; max-height:260px; margin:0 0 24px; }
.garden-drawer[data-kind="creator"] .garden-collection-hero .garden-drawer-image { border-radius:50%; aspect-ratio:1; object-fit:cover; }
.garden-collection-facts { display:flex; flex-wrap:wrap; gap:12px 30px; margin:0 0 25px; padding:17px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.garden-collection-facts > div { min-width:0; }
.garden-collection-facts dt { font-size:13px; color:var(--quiet); }
.garden-collection-facts dd { font-size:15px; margin:3px 0 0; overflow-wrap:anywhere; }
.garden-collection-intro { margin:0 0 28px; font:400 18px/1.9 var(--serif); white-space:pre-wrap; }
.garden-module-nav { display:flex; gap:5px 24px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:30px; }
.garden-module-nav button { background:none; border:0; padding:0; min-height:44px; font-size:14px; color:var(--plum) !important; }
.garden-detail-module { margin:0 0 38px; scroll-margin-top:75px; }
.garden-detail-module > h3 { font:400 27px/1.4 var(--serif); margin:0 0 20px; }
.garden-module-prose { font-size:16px; line-height:1.9; }
.garden-module-prose p { margin:0 0 15px; white-space:pre-wrap; overflow-wrap:anywhere; }
.garden-module-prose h4 { font:400 22px/1.5 var(--serif); margin:24px 0 14px; }
.garden-module-entries { display:grid; }
.garden-module-entry { border-top:1px solid var(--line); padding:18px 0; }
.garden-module-entry h4 { font:400 21px/1.5 var(--serif); margin:0 0 9px; }
.garden-module-entry h4 a { display:block; }
.garden-module-entry h4 a:hover { text-decoration:underline; text-underline-offset:5px; }
.garden-module-entry p { font-size:15px; line-height:1.8; margin:0; color:var(--quiet); overflow-wrap:anywhere; }
.garden-entry-meta { font-size:13px !important; color:var(--plum) !important; margin:0 0 6px !important; }
.garden-module-articles .garden-module-entry:first-child { padding:22px 25px; border-top:0; background:#eee8ec; margin-bottom:5px; }
.garden-module-articles .garden-module-entry:first-child h4 { font-size:25px; }
.garden-collection-sources { margin-top:35px; padding-top:22px; border-top:1px solid var(--line); }
.garden-source-list { display:flex; gap:7px 17px; flex-wrap:wrap; margin-top:20px; font-size:13px; color:var(--quiet); }
.garden-source-list > span { flex-basis:100%; margin-bottom:2px; }
.garden-source-list a { text-decoration:underline !important; text-underline-offset:4px; }
.garden-quiz { border-top:1px solid var(--line); padding:16px 0; }
.garden-quiz summary { font:400 19px/1.6 var(--serif); cursor:pointer; }
.garden-quiz fieldset { border:0; margin:18px 0; padding:0; display:grid; gap:9px; }
.garden-quiz label { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.7; padding:9px 12px; background:#eeede8; cursor:pointer; }
.garden-quiz label input { flex:none; margin:5px 0 0; accent-color:var(--plum); }
.garden-quiz-check { border:1px solid var(--plum); color:var(--plum) !important; background:transparent; padding:8px 16px; min-height:44px; font-size:14px; }
.garden-quiz-feedback { font-size:15px; line-height:1.8; }
.garden-quiz-feedback:not(:empty) { margin-top:17px; }
.garden-quiz-feedback strong { color:var(--plum); font-weight:500; }
.garden-quiz-feedback p { margin:7px 0 12px; }
.garden-quiz-feedback a { text-decoration:underline !important; }
.garden-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.garden-reading { max-width:800px; }
.garden-reading > p.garden-reading-summary { font:400 24px/1.7 var(--serif); color:var(--quiet); margin-bottom:38px; }
.garden-drawer::backdrop { background:#34343238; }
.garden-drawer-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; font-size:14px; color:var(--quiet); }
.garden-drawer-top button { display:flex; align-items:center; gap:14px; min-height:44px; background:none; border:0; padding:0; font-size:14px; }
.garden-drawer-top button span { font-size:27px; }
.garden-drawer-image { display:block; max-width:100%; width:auto; height:auto; max-height:290px; object-fit:contain; object-position:left; margin:0 0 28px; }
.garden-drawer h2 { font:400 36px/1.3 var(--serif); margin:0 0 18px; overflow-wrap:anywhere; }
.garden-drawer-description { font:400 20px/1.7 var(--serif); margin:0 0 28px; white-space:pre-wrap; }
.garden-demo-note { color:var(--quiet); font-size:14px; border-top:1px solid var(--line); padding-top:20px; margin-top:26px; }
.garden-drawer-credit { color:var(--quiet); font-size:13px; }
@media(min-width:769px) and (max-width:1512px) { .garden-main,.garden-footer { padding-left:76px; padding-right:76px; } }
@media(max-width:1100px) { .garden-full-projects { column-count:2; } }
@media(max-width:1050px) { .garden-band { column-gap:32px; } .garden-project-copy { padding:4px 16px 19px; } .garden-project-copy h3 { font-size:25px; } .garden-card-rows .garden-collection-image { width:58px; } .garden-card-rows .garden-collection-title { font-size:21px; } .garden-section-heading p { font-size:16px; } .garden-card-books .garden-collection-title { font-size:20px; } }
@media(max-width:960px) {
 .garden-opening { grid-template-columns:minmax(0,1fr); gap:28px; }
 .garden-tabletop { justify-self:center; width:min(100%,480px); }
}
@media(max-width:768px) {
 .garden-header { padding:18px 26px; } .garden-main,.garden-footer { padding-left:32px; padding-right:32px; }
 .garden-opening { padding:58px 0 68px; } .garden-opening h1 { font-size:clamp(3.5rem,12vw,6rem); } .garden-opening-title { font-size:30px; }
 .garden-tabletop { width:min(100%,380px); }
 .garden-band { grid-template-columns:minmax(0,1fr); gap:44px; margin-bottom:50px; } .garden-band > * { grid-column:auto !important; }
 .garden-overview-heading { margin-bottom:28px; } .garden-overview-heading h2 { font-size:38px; }
 .garden-group-technology .garden-grid-rows { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } .garden-group-technology .garden-card-rows { border:0; padding:0; }
 .garden-group-games .garden-grid-rows { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } .garden-group-games .garden-card-rows { flex-direction:column; align-items:stretch; padding:0; border:0; gap:0; }
 .garden-group-games .garden-collection-image { width:100%; aspect-ratio:3/2; margin-bottom:13px; }
 .garden-websites .garden-grid-rows { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .garden-page-heading { padding-top:50px; margin-bottom:50px; } .garden-page-title { margin-left:0; gap:12px; } .garden-count { width:auto; font-size:20px; padding-top:14px; }
 .garden-page-title h1 { font-size:62px; } .garden-page-intro { font-size:27px; margin-top:20px; }
 .garden-full-projects { column-count:2; } .garden-grid-visual,.garden-grid-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .garden-directory-panel { width:min(570px,calc(100vw - 52px)); padding:25px; gap:25px; }
 .garden-detail-heading { grid-template-columns:minmax(0,1fr) 150px; gap:30px; } .garden-detail-heading h1,.garden-article h1 { font-size:48px; }
 .garden-resume-heading { padding:50px 0; } .garden-resume-heading h1 { font-size:62px; }
 .garden-resume-heading { grid-template-columns:minmax(0,1fr) minmax(170px,.7fr); gap:0 26px; }
 .garden-resume-introduction { font-size:18px; }
 .garden-experience-heading { grid-template-columns:minmax(0,1fr); gap:25px; }
 .garden-experience-context { display:flex; gap:26px; padding-left:18px; }
 .garden-experience-context .garden-resume-meta { flex:none; margin:0; }
 .garden-experience-name { font-size:56px; }
 .garden-experience-focus { font-size:31px; }
 .garden-work-highlights { gap:30px 26px; }
 .garden-work-highlight,.garden-work-highlight:nth-child(4n+2),.garden-work-highlight:nth-child(4n+3) { grid-column:span 6; }
 .garden-work-highlight:nth-child(2) { padding:23px 20px; }
 .garden-work-highlight h4 { font-size:23px; }
 .garden-work-highlight:last-child:nth-child(odd) > div { grid-template-columns:minmax(0,1fr); }
 .garden-work-tools,.garden-work-progress { grid-template-columns:100px minmax(0,1fr); gap:24px; }
 .garden-work-tools dl > div { grid-template-columns:minmax(0,1fr); gap:6px; }
 .garden-resume-section { grid-template-columns:130px minmax(0,1fr); gap:30px; } .garden-resume-project { grid-template-columns:minmax(0,1fr) 140px; }
 .garden-footer { margin-top:65px; } .garden-collection-title { font-size:25px; }
}
@media(max-width:576px) {
 .garden-header { padding:14px 20px; gap:15px; } .garden-brand-name { display:none; } .garden-nav { gap:20px; }
 .garden-main,.garden-footer { padding-left:22px; padding-right:22px; } .garden-opening { padding:50px 0 64px; }
 .garden-tabletop { width:min(100%,320px); } .garden-tabletop-labels { gap:10px 24px; margin-top:10px; font-size:15px; }
 .garden-agora-entry { margin-top:18px; }
 .garden-opening-caption { gap:20px; } .garden-opening-title { font-size:27px; } .garden-nickname { font-size:17px; }
 .garden-project-grid { gap:16px; } .garden-project-cover { aspect-ratio:1; } .garden-project-copy { padding:7px 13px 16px; } .garden-project-copy h3 { font-size:23px; } .garden-project-description { font-size:14px; }
 .garden-item-meta { font-size:12px; } .garden-status { margin-left:8px; }
 .garden-section-heading { margin-bottom:23px; } .garden-section-heading p { font-size:16px; } .garden-section-link { font-size:18px; }
 .garden-grid-books { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 22px; } .garden-card-books .garden-collection-title { font-size:24px; }
 .garden-grid-media { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 18px; } .garden-card-media .garden-collection-title { font-size:23px; }
 .garden-group-games .garden-grid-rows { grid-template-columns:minmax(0,1fr); gap:0; } .garden-group-games .garden-card-rows { flex-direction:row; align-items:center; gap:17px; padding:18px 0; border-bottom:1px solid var(--line); }
 .garden-group-games .garden-collection-image { width:88px; aspect-ratio:4/3; margin:0; } .garden-group-games .garden-collection-title { font-size:24px; }
 .garden-websites .garden-grid-rows,.garden-group-technology .garden-grid-rows { grid-template-columns:minmax(0,1fr); gap:0; } .garden-websites .garden-card-rows,.garden-group-technology .garden-card-rows { padding:18px 0; border-bottom:1px solid var(--line); }
 .garden-card-rows .garden-collection-image { width:72px; } .garden-card-rows .garden-collection-title { font-size:24px; }
 .garden-directory-panel { width:calc(100vw - 40px); padding:23px; gap:26px 22px; } .garden-directory-entry { gap:10px; } .garden-directory-marker { font-size:20px; width:20px; }
 .garden-directory-entry > span:last-child > span { font-size:13px; } .garden-directory-entry strong { font-size:15px; }
 .garden-page-title h1,.garden-directory-title { font-size:56px; } .garden-page-intro { font-size:24px; }
 .garden-detail-heading { grid-template-columns:minmax(0,1fr); gap:24px; } .garden-detail-art { width:150px; } .garden-detail-heading h1 { font-size:48px; }
 .garden-project-detail,.garden-article { padding-top:40px; } .garden-article h1 { font-size:42px; } .garden-article > p:not(.garden-page-intro) { font-size:20px; }
 .garden-drawer { padding:18px 22px 35px; } .garden-drawer-image { max-height:250px; }
 .garden-drawer-top { top:-18px; }
 .garden-collection-hero { grid-template-columns:88px minmax(0,1fr); gap:20px; }
 .garden-drawer .garden-collection-hero h2 { font-size:29px; }
 .garden-drawer[data-kind="topic"] .garden-drawer .garden-collection-hero h2 { font-size:36px; }
 .garden-drawer[data-kind="creator"] .garden-collection-hero { grid-template-columns:70px minmax(0,1fr); }
 .garden-collection-intro { font-size:17px; }
 .garden-module-nav { gap:5px 20px; }
 .garden-module-articles .garden-module-entry:first-child { padding:20px; }
 .garden-resume-heading h1 { font-size:56px; } .garden-resume-name { font-size:24px; }
 .garden-resume-heading { grid-template-columns:minmax(0,1fr); }
 .garden-resume-introduction { margin-top:24px; }
 .garden-resume-work { padding:30px 0 44px; }
 .garden-resume-section-label { margin-bottom:26px; }
 .garden-experience-name { font-size:46px; }
 .garden-experience-focus { font-size:29px; }
 .garden-experience-context { display:block; }
 .garden-experience-context .garden-resume-meta { margin-bottom:8px; }
 .garden-experience-summary { margin:28px 0 32px; }
 .garden-work-highlights { grid-template-columns:minmax(0,1fr); gap:30px; }
 .garden-work-highlight,.garden-work-highlight:nth-child(4n+2),.garden-work-highlight:nth-child(4n+3),.garden-work-highlight:last-child:nth-child(odd) { grid-column:auto; }
 .garden-work-highlight h4 { font-size:23px; margin-bottom:13px; }
 .garden-work-highlight p { font-size:16px; }
 .garden-work-highlight:nth-child(2) { padding:22px 18px; }
 .garden-work-progress,.garden-work-tools { grid-template-columns:minmax(0,1fr); gap:18px; }
 .garden-work-progress { padding:24px 22px; margin-top:30px; }
 .garden-resume-section { grid-template-columns:minmax(0,1fr); gap:24px; padding:30px 0 40px; }
 .garden-resume-project h3 { font-size:30px; } .garden-resume-project { grid-template-columns:minmax(0,1fr) 104px; gap:20px; }
 .garden-resume-prose { font-size:16px; } .garden-resume-introduction { font-size:21px; }
}
@media(max-width:700px) { .garden-full-projects { column-count:1; } }
@media(min-width:760px) { body.is-editing .garden-directory-panel { max-width:calc(100vw - min(392px,44vw) - 64px); } }
@media(min-width:760px) and (max-width:1200px) {
 body.is-editing .garden-main,body.is-editing .garden-footer { padding-left:24px; padding-right:24px; }
 body.is-editing .garden-band { grid-template-columns:minmax(0,1fr); gap:40px; } body.is-editing .garden-band > * { grid-column:auto !important; }
 body.is-editing .garden-grid-books { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.is-editing .garden-resume-section { grid-template-columns:minmax(0,1fr); gap:24px; }
 body.is-editing .garden-resume-project { grid-template-columns:minmax(0,1fr) 104px; gap:20px; }
 body.is-editing .garden-resume-heading,body.is-editing .garden-experience-heading { grid-template-columns:minmax(0,1fr); }
 body.is-editing .garden-resume-introduction { margin-top:24px; }
 body.is-editing .garden-work-highlights { grid-template-columns:minmax(0,1fr); }
 body.is-editing .garden-work-highlight,body.is-editing .garden-work-highlight:nth-child(4n+2),body.is-editing .garden-work-highlight:nth-child(4n+3),body.is-editing .garden-work-highlight:last-child:nth-child(odd) { grid-column:auto; }
 body.is-editing .garden-work-highlight:last-child:nth-child(odd) > div { grid-template-columns:minmax(0,1fr); }
 body.is-editing .garden-work-tools,body.is-editing .garden-work-progress { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:no-preference) {
 .garden-project-card { transition:box-shadow .2s ease; } .garden-project-card:hover { box-shadow:0 9px 22px #3434320c; }
 .garden-collection-image img { transition:opacity .2s ease; } .garden-collection-card:hover img { opacity:.85; }
 .garden-drawer[open] { animation:garden-drawer-in .2s ease-out; }
 @keyframes garden-drawer-in { from { transform:translateX(30px); opacity:.6; } to { transform:translateX(0); opacity:1; } }
}
.content-editor, .editor-preview-bar, .editor-notice { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; color: #292725; }
.content-editor * { box-sizing: border-box; }
.content-editor { position: fixed; top: 0; right: 0; bottom: 0; width: 392px; z-index: 50; background: #fbfaf7; border-left: 1px solid #d8d3ca; display: flex; flex-direction: column; box-shadow: -8px 0 30px #29272509; }
[hidden] { display: none !important; }
.editor-header { display: flex; align-items: center; justify-content: space-between; padding: 24px 24px 18px; }
.editor-eyebrow { margin: 0 0 5px; color: #762b53; font: .75rem Georgia,serif; letter-spacing: .1em; }
.editor-header h2 { font: 1.625rem "Songti SC", "Noto Serif SC", serif; margin: 0; }
.editor-tabs { display: flex; padding: 0 24px; gap: 24px; border-bottom: 1px solid #d8d3ca; }
.editor-tab { border: 0; background: transparent; padding: 10px 0 12px; color: #70695f; font: inherit; font-size: .9375rem; cursor: pointer; border-bottom: 2px solid transparent; }
.editor-tab[aria-selected="true"] { color: #762b53; border-color: #762b53; }
.editor-body { flex: 1; overflow-y: auto; padding: 24px; overscroll-behavior: contain; }
.editor-field { display: block; margin-bottom: 20px; font-size: .875rem; }
.editor-field > span, .editor-label { display: block; margin-bottom: 8px; font-size: .875rem; color: #514a43; }
.editor-field input, .editor-field textarea { width: 100%; padding: 10px 12px; border: 1px solid #d8d3ca; border-radius: 3px; background: #fff; color: #292725; font: inherit; font-size: 1rem; line-height: 1.5; }
.editor-field textarea { resize: vertical; min-height: 90px; }
.editor-field input:focus, .editor-field textarea:focus { outline: 2px solid #762b5355; outline-offset: 1px; border-color: #762b53; }
.editor-button, .editor-text-button { font: inherit; font-size: .875rem; cursor: pointer; }
.editor-button { min-height: 42px; padding: 10px 16px; border: 1px solid #d8d3ca; border-radius: 3px; background: transparent; color: #292725; display: inline-flex; align-items: center; justify-content: center; }
.editor-button:hover { border-color: #762b53; color: #762b53; }
.editor-button.editor-save { color: #fff; background: #762b53; border-color: #762b53; }
.editor-text-button { padding: 8px 0; color: #70695f; border: 0; background: none; min-height: 40px; }
.editor-text-button:hover { color: #762b53; }
.editor-delete { margin-left: auto; color: #934c45; }
.editor-button:disabled, .editor-text-button:disabled, .editor-disabled { opacity: .45; cursor: wait; }
.editor-footer { padding: 14px 24px 22px; border-top: 1px solid #d8d3ca; background: #fbfaf7; }
.editor-status { min-height: 1.5em; margin: 0 0 12px; font-size: .875rem; line-height: 1.5; color: #70695f; }
.editor-footer-actions { display: flex; gap: 12px; }
.editor-footer-actions .editor-button { flex: 1; }
.editor-item { border-top: 1px solid #d8d3ca; padding: 14px 0; }
.editor-item summary { font-family: "Songti SC",serif; font-size: 1.125rem; cursor: pointer; line-height: 1.6; overflow-wrap: anywhere; }
.editor-item-body { padding-top: 20px; }
.editor-item-actions { display: flex; gap: 20px; }
.editor-add-row { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.editor-add { margin-top: 16px; }
.editor-add-row .editor-add { margin: 0; }
.editor-image-field { margin-bottom: 20px; }
.editor-image-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.editor-image-row img, .editor-image-placeholder { width: 60px; height: 60px; object-fit: contain; background: #f0ece4; }
.editor-image-placeholder { display: flex; align-items: center; justify-content: center; font-size: .75rem; color: #70695f; }
.editor-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.editor-file-input:focus-visible + button, .editor-image-row:focus-within .editor-upload { outline: 2px solid #762b53; outline-offset: 3px; }
.editor-image-field small { display: block; margin-top: 8px; font-size: .75rem; color: #70695f; }
.editor-extra { margin-bottom: 20px; }
.editor-extra summary { font-family: inherit; font-size: .875rem; color: #70695f; }
.editor-extra > div { padding-top: 18px; }
.editor-link-entry { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid #d8d3ca; }
.editor-hint { margin: 0 0 20px; color: #70695f; font-size: .875rem; line-height: 1.6; }
.editor-preview-bar { display: flex; gap: 16px; align-items: center; position: fixed; left: 50%; transform: translateX(-50%); bottom: 20px; z-index: 60; background: #fbfaf7; border: 1px solid #d8d3ca; box-shadow: 0 4px 24px #29272518; padding: 10px 16px; border-radius: 5px; white-space: nowrap; }
.editor-preview-bar > span { font-size: .875rem; color: #70695f; }
.editor-notice { position: fixed; left: 50%; transform: translateX(-50%); bottom: 24px; z-index: 70; background: #292725; color: #fff; padding: 12px 20px; border-radius: 4px; max-width: calc(100vw - 40px); font-size: .9375rem; }
@media (min-width: 1050px) { body.is-editing { padding-right: 392px; } body.is-editing #sumomo-editorial .folio-opening h1 { font-size: clamp(2.5rem, 9.5vw, 8rem); } body.is-editing #sumomo-editorial [data-collection-list] { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 1049px) { .content-editor { width: min(440px,100%); box-shadow: -20px 0 60px #29272522; } }
@media (max-width: 460px) { .content-editor { width: 100%; } .editor-header { padding: 20px; } .editor-tabs { padding: 0 20px; } .editor-body { padding: 20px; } .editor-footer { padding: 14px 20px 20px; } .editor-preview-bar { width: calc(100% - 24px); gap: 10px; justify-content: center; padding: 8px; } .editor-preview-bar .editor-button { padding: 8px 10px; } .editor-preview-bar > span { display: none; } }
.content-editor button:focus-visible, .content-editor summary:focus-visible, .editor-preview-bar button:focus-visible { outline: 2px solid #762b53; outline-offset: 3px; }
@media (pointer: coarse) { .editor-button, .editor-text-button, .editor-tab, #sumomo-editorial .folio-edit-open { min-height: 44px; } }
@media (min-width: 760px) {
  body.is-editing { padding-right: min(392px,44vw); }
  .content-editor { width: min(392px,44vw); }
  body.is-editing #sumomo-editorial .folio-page { padding-left: clamp(24px,4vw,48px); padding-right: clamp(24px,4vw,48px); }
  body.is-editing #sumomo-editorial .folio-opening h1 { font-size: clamp(2.5rem,7vw,7rem); }
  body.is-editing #sumomo-editorial [data-collection-list] { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 760px) and (max-width: 1049px) {
  body.is-editing #sumomo-editorial .folio-projects { grid-template-columns: minmax(0,1fr); gap: 32px; }
  body.is-editing #sumomo-editorial [data-collection-list] { grid-template-columns: minmax(0,1fr); }
  body.is-editing #sumomo-editorial .folio-header { gap: 14px; }
  body.is-editing #sumomo-editorial .folio-header nav { margin-left: 0; gap: 20px; }
}
.editor-confirm { position: absolute; inset: 0; z-index: 2; background: #fbfaf7ed; display: flex; align-items: center; padding: 24px; }
.editor-confirm-content { width: 100%; padding: 24px 20px; border: 1px solid #d8d3ca; border-radius: 4px; background: #fbfaf7; box-shadow: 0 6px 30px #2927250d; }
.editor-confirm-content h3 { margin: 0 0 12px; font: 1.5rem "Songti SC",serif; }
.editor-confirm-content p { margin: 0 0 24px; line-height: 1.7; font-size: 1rem; color: #70695f; }

#sumomo-editorial .folio-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
#sumomo-editorial .folio-manage { color: var(--folio-muted); font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; font-size: .875rem; letter-spacing: 0; padding: 6px 0; min-height: 36px; }
@media (pointer: coarse) { #sumomo-editorial .folio-manage { min-height: 44px; } }
.admin-page { min-height: 100vh; background: #f6f4ee; color: #292725; font-family: -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; }
.admin-page *, .admin-page *::before, .admin-page *::after { box-sizing: border-box; }
.admin-shell { box-sizing: border-box; width: min(100%,480px); padding: 48px 32px; margin: 0 auto; }
.admin-brand { display: inline-flex; align-items: baseline; gap: 14px; text-decoration: none; color: #292725; font: 1.5rem Georgia,serif; letter-spacing: -.04em; }
.admin-brand span { color: #762b53; font: .875rem "Hiragino Mincho ProN",serif; letter-spacing: .12em; }
.admin-heading { margin-top: 76px; }
.admin-kicker { color: #70695f; font-size: .875rem; }
.admin-heading h1 { margin: 10px 0 16px; font: 2.75rem "Songti SC",serif; }
.admin-help { margin: 0 0 36px; color: #70695f; font-size: 1rem; line-height: 1.7; }
.admin-submit { width: 100%; font-size: 1rem; min-height: 48px; }
.admin-back { display: inline-flex; margin-top: 32px; padding: 8px 0; color: #70695f; font-size: .875rem; text-underline-offset: .2em; }
@media(max-width:460px) { .admin-shell { padding: 32px 24px; } .admin-heading { margin-top: 60px; } }

.garden-hero-no-image { display:block; }
.editor-field select { width:100%; padding:11px 12px; border:1px solid #dcd6cc; border-radius:4px; background:#fffdf8; color:#343432; font:inherit; }
.editor-detail-modules { border-top:1px solid #ded8cf; padding-top:20px; margin-top:20px; }
.editor-detail-fields .editor-item { border-color:#e4ded5; }

/* Project case studies and collection reading refinements. */
.garden-case-summary { max-width:680px; font-size:18px; line-height:1.85; margin:23px 0 0; color:var(--quiet); }
.garden-case-context { display:grid; grid-template-columns:1.1fr 1fr; gap:54px; border-top:1px solid var(--line); padding:32px 0 50px; }
.garden-case-context h2 { font:400 28px/1.4 var(--serif); margin:0 0 17px; }
.garden-case-context p { font-size:17px; line-height:1.9; margin:0; white-space:pre-wrap; }
.garden-case-section { margin:0 0 58px; }
.garden-case-section > h2 { font:400 35px/1.45 var(--serif); margin:0 0 30px; text-wrap:pretty; }
.garden-case-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 50px; }
.garden-case-highlight { border-top:1px solid var(--line); padding-top:20px; }
.garden-case-highlight > span { color:var(--blue); font:400 16px Georgia,serif; }
.garden-case-highlight h3 { font:400 25px/1.5 var(--serif); margin:11px 0 13px; }
.garden-case-highlight p { font-size:16px; line-height:1.9; margin:0; white-space:pre-wrap; }
.garden-case-shot { margin:0 0 35px; }
.garden-case-shot > img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:5px; }
.garden-case-shot figcaption { display:flex; align-items:baseline; gap:18px; margin-top:18px; }
.garden-case-shot figcaption > span { color:var(--blue); font:400 16px Georgia,serif; }
.garden-case-shot h3 { font:400 24px/1.5 var(--serif); margin:0; }
.garden-case-shot p { color:var(--quiet); font-size:15px; margin:8px 0 0; }
.garden-case-section > .garden-case-prose { max-width:800px; }
.garden-personal-reason { padding:23px 25px; background:#efede7; border-left:2px solid var(--plum); margin:0 0 30px; }
.garden-personal-reason h3 { font:400 23px/1.5 var(--serif); margin:0 0 12px; }
.garden-personal-reason p { font-size:16px; line-height:1.85; margin:0; white-space:pre-wrap; }
.garden-source-disclosure { width:100%; }
.garden-source-disclosure summary { color:var(--quiet); font-size:14px; cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; }
.garden-source-disclosure summary::after { content:'＋'; }
.garden-source-disclosure[open] summary::after { content:'−'; }
.garden-source-disclosure .garden-source-list { display:flex; flex-wrap:wrap; gap:10px 18px; padding:6px 0 20px; }
.garden-share-link { display:inline-flex; align-items:center; min-height:44px; border:0; padding:0; background:none; font-size:14px; color:var(--plum)!important; }
.garden-collection-title { text-wrap:pretty; }
.garden-group-games .garden-collection-image img,.garden-collection-card[data-category="游戏"] .garden-collection-image img { object-fit:contain; }
.garden-drawer[data-kind="game"] .garden-collection-hero .garden-drawer-image { object-fit:contain; background:#efede7; }
@media(max-width:768px) {
 .garden-case-context,.garden-case-highlights { grid-template-columns:minmax(0,1fr); gap:30px; }
 .garden-case-section > h2 { font-size:28px; }
 .garden-case-context { padding-bottom:36px; }
 .garden-case-shot figcaption { gap:12px; }
 .garden-case-shot h3 { font-size:21px; }
 .garden-case-summary { font-size:16px; }
}

.garden-case-prose p { font-size:17px; line-height:1.9; white-space:pre-wrap; margin:0 0 16px; }

.garden-demo-intro {font-size:17px;line-height:1.8;color:var(--quiet);margin:-10px 0 25px;}
.garden-product-demo {display:block;width:100%;height:740px;border:1px solid var(--line);border-radius:6px;background:#f5f5f1;}
.garden-demo-caption {font-size:13px;color:var(--quiet);line-height:1.8;margin:14px 0 0;}
.garden-case-gallery-disclosure {border-top:1px solid var(--line);margin:-15px 0 58px;padding-top:20px;}
.garden-case-gallery-disclosure>summary {cursor:pointer;color:var(--plum);font-size:15px;min-height:44px;}
.garden-case-gallery-disclosure>.garden-case-section {margin:12px 0 0;}
.garden-case-gallery-disclosure .garden-case-section>h2 {display:none;}
@media(max-width:700px){.garden-product-demo{height:780px;}.garden-demo-intro{font-size:15px;}.garden-demo-section>h2{margin-bottom:26px;}}
