@charset "UTF-8";
:root{--ink:#173b61;--muted:#476483;--button-bg:#087f72;--button-hover:#06675c;--surface-soft:#eff7ff;--page-bg:#f6fbff;--line:#d8e8f5;--accent-muted:#ffdf7b;--white:#fff;--radius:0;--shadow:0 5px 22px #173b610a;font-family:Meiryo,"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:var(--ink);background:var(--page-bg);font-size:17px;line-height:1.85}

*{box-sizing:border-box}
body{margin:0}
a{color:var(--button-bg);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
img{max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.5}
h1{font-size:clamp(25px,3.2vw,36px);letter-spacing:.035em;font-weight:800}
h2{font-size:24px}
h3{font-size:19px}
p+p{margin-top:1em}
.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #087f72;outline-offset:3px}
.container{width:min(1180px,calc(100% - 64px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{width:min(1280px,calc(100% - 64px));min-height:90px;margin:auto;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:24px;font-weight:800;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand small{display:block;font-size:14px;letter-spacing:.1em;font-weight:400;color:var(--muted);line-height:1.4;margin-top:2px}
.brand-symbol{width:47px;height:47px;border-radius:0;background:var(--button-bg);color:var(--ink);display:grid;place-items:center;transform:rotate(-12deg)}
.brand-symbol .icon{width:31px;height:31px}
.header-inner nav{display:flex;gap:28px;margin-left:auto}
.header-inner nav a{color:var(--ink);font-size:17px;font-weight:700;white-space:nowrap;padding:30px 0;position:relative}
.header-inner nav a.current{color:var(--button-bg)}
.header-inner nav a.current:after{content:"";height:3px;border-radius:0;background:var(--button-bg);position:absolute;bottom:0;left:0;right:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--button-bg);color:#fff;border:1px solid var(--button-bg);border-radius:0;min-height:46px;padding:10px 20px;font-size:17px;font-weight:700;line-height:1.6;transition:background .15s,transform .15s;white-space:nowrap}
.button:hover{background:var(--button-hover);text-decoration:none}
.button.secondary{background:#fff;color:var(--button-bg);border-color:var(--line)}
.button.secondary:hover{background:var(--surface-soft)}
.button.danger{background:#fff;color:var(--ink);border-color:var(--line)}
.button.danger:hover{background:var(--surface-soft)}
.button.wide{width:100%;margin-top:18px;min-height:52px}
.text-link{display:inline-flex;gap:8px;align-items:center;font-size:17px;font-weight:700}
.text-link .icon{width:17px;height:17px}
.muted,.small,small,time{color:var(--muted)}
.small,small{font-size:16px}
.eyebrow{font-size:15px;font-weight:800;letter-spacing:.16em;color:var(--ink);margin-bottom:12px}
.lead{font-size:17px;color:var(--ink);line-height:1.9;margin-top:12px}
.home-intro{display:flex;justify-content:space-between;align-items:center;padding:36px 0 30px;gap:28px}
.home-intro h1{font-size:34px}
.intro-actions{display:flex;align-items:center;gap:22px;margin-top:22px}
.mobile-break{display:none}
.sleep-note{width:280px;height:154px;flex-shrink:0;background:var(--surface-soft);border-radius:0;position:relative;display:flex;align-items:center;justify-content:center;gap:16px}
.sleep-note p{font-size:17px;line-height:1.9;letter-spacing:.1em;color:var(--ink)}
.orbit-moon{width:65px;height:65px;border-radius:0;background:var(--surface-soft);color:var(--ink);display:grid;place-items:center;transform:rotate(-10deg)}
.orbit-moon .icon{width:47px;height:47px;stroke-width:1.4}
.star{position:absolute;color:var(--ink);font-size:24px}
.star.one{top:12px;right:73px}
.star.two{bottom:13px;left:30px;font-size:17px}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px}
.section-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-heading h2{display:flex;align-items:center;gap:9px;font-size:22px}
.count{font-size:16px;background:var(--surface-soft);color:var(--button-bg);padding:3px 13px;border-radius:0;font-weight:700;margin-right:auto}
.filters{display:flex;align-items:end;gap:9px;padding:17px 18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:0}
.filters label{display:block;font-size:15px;color:var(--ink);font-weight:700;flex:1;min-width:0}
.filters select{width:100%;font-size:16px;padding:8px 22px 8px 10px;min-height:40px;margin-top:4px;border-color:var(--line)}
.filters .button{min-height:40px;padding:7px 12px;font-size:16px}
.filters .icon{width:16px;height:16px}
.filter-reset{font-size:15px;padding-bottom:9px;white-space:nowrap}
.list-note{font-size:15px;color:var(--muted);margin:11px 0 17px}
.recruit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.recruit-card{background:#fff;border:1px solid var(--line);border-radius:0;padding:21px 20px 14px;box-shadow:none;overflow:hidden}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.status{font-size:14px;font-weight:700;color:var(--ink);background:var(--surface-soft);border-radius:0;padding:2px 9px}
.status:before{content:"";display:inline-block;width:5px;height:5px;border-radius:0;background:var(--surface-soft);margin-right:5px}
.card-top time{font-size:14px}
.researcher{display:flex;gap:10px;align-items:center;margin-bottom:15px}
.avatar{height:39px;width:39px;border-radius:0;background:var(--surface-soft);color:var(--ink);display:grid;place-items:center}
.researcher h3{font-size:17px;overflow-wrap:anywhere}
.researcher h3 a{color:var(--ink)}
.researcher small{font-size:14px}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 10px}
.tags span{font-size:14px;color:var(--ink);background:var(--surface-soft);border-radius:0;padding:3px 8px;line-height:1.5}
.tags span.soft{background:var(--surface-soft);color:var(--ink)}
.card-body{font-size:16px;line-height:1.9;overflow-wrap:anywhere;margin:13px 0}
.code-row{margin-top:17px;border-radius:0;background:var(--surface-soft);display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px}
.code-row code{font-family:ui-monospace,Consolas,monospace;font-size:19px;letter-spacing:.03em;color:var(--ink);white-space:nowrap}
.copy-button{border:0;background:#fff;border-radius:0;padding:7px 9px;display:flex;gap:5px;align-items:center;color:var(--button-bg);font-size:14px;font-weight:700}
.copy-button .icon{width:14px;height:14px}
.copy-button:hover{background:var(--surface-soft)}
.card-bottom{display:flex;justify-content:space-between;margin-top:12px;align-items:center}
.card-bottom small,.card-bottom a{font-size:14px}
.card-bottom .icon{width:13px;height:13px}
.sidebar{display:flex;flex-direction:column;gap:20px;align-self:start}
.side-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:0;align-self:start}
.side-label{display:block;font-size:14px;letter-spacing:.08em;color:var(--ink);margin-bottom:9px;font-weight:700}
.side-card h2{font-size:22px;margin-bottom:14px}
.side-card p{font-size:16px;color:var(--ink);line-height:1.9;margin-bottom:14px}
.side-guide{display:flex;align-items:center;gap:9px;padding:13px 0;border-top:1px solid var(--line);font-size:16px;font-weight:700}
.side-guide>.icon:first-child{color:var(--ink);width:19px}
.side-guide>.icon:last-child{margin-left:auto;width:15px}
.side-card>.text-link{margin-top:15px;font-size:15px}
.pale{background:var(--surface-soft);border-color:var(--line)}
.event-card{background:var(--surface-soft);border:1px solid var(--line);padding:24px;border-radius:0;display:block;color:var(--ink);position:relative;overflow:hidden}
.event-card:hover{text-decoration:none;background:var(--surface-soft)}
.event-card h2{font-size:22px;margin:12px 0 8px}
.event-card p{font-size:14px;margin-bottom:18px;color:var(--ink)}
.event-card .side-label{color:var(--ink)}
.event-art{height:66px;width:66px;border-radius:0;background:var(--surface-soft);color:var(--ink);display:grid;place-items:center}
.event-art .icon{height:37px;width:37px}
.spaced{margin-top:36px}
.community-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.community-links>a{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:17px 13px;border-radius:0;color:var(--ink)}
.community-links>a:hover{text-decoration:none;border-color:var(--line)}
.community-links strong{font-size:16px;display:block}
.community-links small{font-size:14px;white-space:nowrap;display:block;margin-top:3px}
.community-links>a>.icon{width:14px;height:14px;margin-left:auto}
.tile-icon{width:34px;height:34px;flex-shrink:0;border-radius:0;background:var(--surface-soft);color:var(--ink);display:grid;place-items:center}
.tile-icon.chat{background:var(--surface-soft);color:var(--ink)}
.tile-icon.showcase{background:var(--surface-soft);color:var(--ink)}
.recent-list{padding:10px 0}
.recent-list a{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.recent-list strong{flex:1;overflow-wrap:anywhere}
.recent-list .muted{font-size:14px}
.how-to{padding:26px;background:var(--surface-soft);border-radius:0;margin-top:28px}
.how-to h2{font-size:22px}
.how-to ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:20px 0}
.how-to li>span{display:block;font-size:16px;color:var(--ink);font-weight:800;margin-bottom:4px;letter-spacing:.1em}
.how-to li strong{font-size:16px}
.how-to li p{font-size:14px;color:var(--ink);margin-top:5px}
.guide-section{margin:42px 0 55px}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.guide-card{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:0;padding:22px;color:var(--ink)}
.guide-card:hover{text-decoration:none;border-color:var(--line);background:var(--surface-soft)}
.guide-icon{width:45px;height:45px;border-radius:0;background:var(--surface-soft);color:var(--ink);display:grid;place-items:center;flex-shrink:0}
.guide-card small{font-size:14px}
.guide-card h3{font-size:17px;margin-top:4px}
.guide-card>.icon{width:17px;flex-shrink:0;margin-left:auto;color:var(--ink)}
.site-footer{background:var(--surface-soft);border-top:1px solid var(--line);padding:40px 0}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.footer-brand{font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px}
.footer-inner p{font-size:16px;margin-top:12px}
.footer-inner nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 30px;align-self:start;font-size:15px;padding-left:60px}
.footer-inner nav a{color:var(--ink)}
.copyright{grid-column:1/-1;color:var(--ink);font-size:14px!important}
.mobile-post{display:none}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--ink);padding-top:23px}
.breadcrumbs a{color:var(--ink)}
.page-intro{margin:28px 0 30px}
.page-intro .lead{max-width:850px}
.notice{padding:16px 20px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);border-radius:0;font-size:17px;margin-top:20px}
.notice.error{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.form-layout{display:grid;grid-template-columns:minmax(0,720px) 280px;gap:30px;align-items:start;margin-bottom:60px}
.form-panel{background:#fff;border:1px solid var(--line);border-radius:0;padding:30px}
.form-panel.narrow{max-width:760px;margin:0 auto 60px}
.field{display:block;margin:0 0 21px}
.field>span{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.field em{font-size:14px;color:var(--ink);background:var(--surface-soft);border-radius:0;font-style:normal;padding:1px 6px;font-weight:400}
.field>small{display:block;font-size:15px;line-height:1.8;margin-top:6px}
.field>span>small{font-size:14px;font-weight:400;color:var(--ink)}
input:not([type=checkbox]):not([type=hidden]),select,textarea{border:1px solid var(--line);border-radius:0;background:var(--surface-soft);padding:10px 12px;color:var(--ink);max-width:100%}
input:not([type=checkbox]):not([type=hidden]),textarea{width:100%}
textarea{resize:vertical;line-height:1.8;min-height:120px}
.field select{width:100%}
input[type=file]{font-size:16px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.manage-actions{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.check-list{font-size:16px;padding-left:20px;line-height:2}
.form-panel .small a{text-decoration:underline}
.honeypot{position:absolute;left:-9999px;opacity:0;width:1px;height:1px;overflow:hidden}
.empty-state{text-align:center;padding:50px 24px;background:#fff;border:1px dashed var(--line);border-radius:0;margin-bottom:20px}
.empty-state>.icon{width:43px;height:43px;color:var(--ink);margin-bottom:18px}
.empty-state h3,.empty-state h2{font-size:22px;margin-bottom:10px}
.empty-state h1{font-size:28px}
.empty-state p{font-size:16px;color:var(--ink);margin:12px 0 23px}
.detail-layout{display:grid;grid-template-columns:minmax(0,660px) 280px;gap:30px;margin-bottom:60px;align-items:start}
.detail-layout .recruit-card{padding:28px}
.detail-layout .code-row code{font-size:30px}
.detail-layout .card-body{font-size:17px}
.detail-layout .researcher h3{font-size:22px}
.detail-layout .tags span{font-size:16px}
.detail-layout .copy-button{padding:11px 15px;font-size:16px}
.share-actions{display:flex;gap:9px;flex-wrap:wrap;margin:23px 0}
.share-actions .button{font-size:15px;min-height:40px}
.detail-links{display:flex;justify-content:space-between;font-size:16px;padding:10px 0}
.community-filter{display:flex;gap:12px;margin:22px 0}
.search-field{position:relative;flex:1}
.search-field .icon{position:absolute;top:13px;left:13px;color:var(--ink)}
.search-field .icon+input{padding-left:40px}
.community-filter select{height:48px;min-width:130px}
.thread-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:30px}
.showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.thread-card{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden}
.thread-cover{display:block;height:180px;background:var(--surface-soft)}
.thread-cover img{width:100%;height:100%;object-fit:contain}
.thread-card-inner{padding:22px}
.thread-card h2{font-size:19px;margin:10px 0 22px;overflow-wrap:anywhere}
.thread-card h2 a{color:var(--ink)}
.thread-meta{display:flex;gap:15px;justify-content:space-between;font-size:14px}
.thread-meta .icon{width:14px;height:14px;margin-right:5px}
.checkboxes{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:16px}
fieldset.field{border:1px solid var(--line);border-radius:0;padding:15px}
fieldset legend{font-size:16px;padding:0 8px}
.image-previews{display:flex;gap:10px}
.image-previews img{width:100px;height:100px;object-fit:contain;border-radius:0;margin-bottom:20px}
.thread-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;margin-bottom:60px;align-items:start}
.message{padding:24px;background:#fff;border:1px solid var(--line);border-radius:0;margin:15px 0;scroll-margin-top:20px}
.message-head{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:16px}
.message-head time{font-size:14px;white-space:nowrap}
.message-number{color:var(--ink);font-weight:400;margin-right:10px}
.message-body{margin-top:20px;font-size:17px;line-height:2;overflow-wrap:anywhere}
.message-images{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.message-images a{width:calc(50% - 6px);background:var(--surface-soft);border-radius:0;overflow:hidden}
.message-images img{width:100%;height:200px;object-fit:contain;display:block}
.message-tools{display:flex;gap:20px;justify-content:flex-end;font-size:14px;margin-top:18px}
.reply-form{margin-top:30px}
.reply-form h2{margin-bottom:25px}
.pagination{display:flex;gap:10px;justify-content:center;margin:30px 0}
.pagination a{background:#fff;border:1px solid var(--line);border-radius:0;min-width:39px;text-align:center;padding:6px;font-size:16px}
.pagination a[aria-current]{background:var(--button-bg);color:#fff;border-color:var(--button-bg)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:35px;margin:32px 0 60px;align-items:start}
.article{background:#fff;border:1px solid var(--line);border-radius:0;padding:36px 40px}
.article h1{font-size:30px;line-height:1.65}
.article .lead{font-size:17px}
.article-meta{font-size:14px;color:var(--ink);margin:15px 0}
.article h2{font-size:24px;margin:34px 0 17px;padding-bottom:10px;border-bottom:1px solid var(--line);line-height:1.7}
.article p{font-size:17px;line-height:2.1;overflow-wrap:anywhere}
.article ul,.article ol{font-size:17px;line-height:2.1;padding-left:24px}
.article li{padding-left:4px;margin:5px 0}
.article a{text-decoration:underline}
.article a.button,.article a.text-link{text-decoration:none}
.toc{background:var(--surface-soft);border:1px solid var(--line);border-radius:0;padding:20px 25px;margin-top:27px;font-size:16px}
.toc ol{font-size:16px;margin:10px 0 0}
.toc strong{font-size:16px}
.article section{scroll-margin-top:22px}
.article-sources{padding:0 0 10px}
.article-sources ul{font-size:16px}
.article-sources h2{font-size:19px}
.reading-cta{margin:30px 0;background:var(--surface-soft);border-radius:0;padding:25px}
.reading-cta h2{font-size:22px;border:0;padding:0;margin:0 0 10px}
.reading-cta p{font-size:16px;margin-bottom:20px}
.reading-cta .text-link{margin-left:15px}
.standalone{max-width:850px;margin:30px auto 65px}
.facts{display:grid;grid-template-columns:140px 1fr;font-size:17px;border-top:1px solid var(--line);margin-top:22px}
.facts dt,.facts dd{padding:13px 10px;margin:0;border-bottom:1px solid var(--line)}
.facts dt{background:var(--surface-soft);color:var(--ink)}
.article-list{margin-bottom:40px}
.admin-toolbar{display:flex;align-items:center;gap:25px;justify-content:space-between;margin:20px 0}
.admin-toolbar .form{display:flex;gap:10px}
.admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}
.admin-item{background:#fff;border:1px solid var(--line);border-radius:0;padding:20px;overflow-wrap:anywhere}
.admin-item p{font-size:16px;margin:10px 0}
.admin-item .form{margin:12px 0;font-size:16px}
.admin-item .button{min-height:34px;padding:6px 12px;font-size:15px}
.admin-buttons{display:flex;gap:8px}
.admin-item a{font-size:16px}
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--surface-soft);color:#fff;padding:11px 20px;border-radius:0;font-size:16px;z-index:100;box-shadow:none;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.skip{position:absolute;top:-100px;left:15px;background:#fff;z-index:200;padding:12px}
.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}


@media(max-width:1100px){.header-inner{gap:20px}
.header-inner nav{gap:18px}
.content-layout,.thread-layout,.article-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}
.filters{flex-wrap:wrap}
.filters label{min-width:120px}
.community-links{grid-template-columns:1fr}
.community-links small{display:inline;margin-left:8px}
.community-links>a{padding:12px}
.community-links strong{display:inline}
.sleep-note{width:245px}
.code-row code{font-size:17px}
.copy-button span{display:none}
.side-card,.event-card{padding:20px}
}


@media(max-width:860px){.container,.header-inner{width:calc(100% - 40px)}
.header-inner{min-height:76px;flex-wrap:wrap;gap:0;justify-content:space-between}
.brand{font-size:24px}
.brand-symbol{height:41px;width:41px}
.header-post{min-height:40px;font-size:15px;padding:8px 14px}
.header-inner nav{width:100%;margin:0;justify-content:space-between;gap:10px;order:3}
.header-inner .brand{order:1}
.header-inner .header-post{order:2}
.header-inner nav a{padding:12px 0;font-size:16px}
.home-intro{padding-top:28px}
.home-intro h1{font-size:30px}
.sleep-note{width:200px;height:138px}
.sleep-note p{font-size:16px}
.orbit-moon{width:45px;height:45px}
.orbit-moon .icon{width:34px;height:34px}
.content-layout,.thread-layout,.article-layout{grid-template-columns:1fr}
.sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.sidebar .pale{grid-column:1/-1}
.recruit-grid{gap:17px}
.code-row code{font-size:22px}
.copy-button span{display:inline}
.community-links{grid-template-columns:repeat(3,minmax(0,1fr))}
.community-links strong,.community-links small{display:block;margin-left:0}
.community-links>a>.icon{display:none}
.form-layout,.detail-layout{grid-template-columns:1fr}
.form-layout>aside,.detail-layout>aside{max-width:100%;width:100%}
.article{padding:30px}
.thread-layout>aside{width:100%}
.guide-section{margin-top:35px}
.article-layout .sidebar{grid-template-columns:1fr}
.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


@media(max-width:540px){:root{font-size:17px}
.container,.header-inner{width:calc(100% - 32px)}
.header-inner{min-height:70px;padding-top:14px}
.brand{font-size:22px;gap:9px}
.brand-symbol{width:37px;height:37px}
.brand-symbol .icon{width:26px;height:26px}
.brand small{font-size:14px}
.header-post{padding:7px 11px;min-height:35px;font-size:14px}
.header-post .icon{width:15px;height:15px}
.header-inner nav{margin-top:10px}
.header-inner nav a{font-size:15px;padding:11px 0}
.home-intro{padding:24px 0 26px;position:relative}
.home-intro h1{font-size:28px;line-height:1.55;letter-spacing:.02em}
.home-intro .eyebrow{font-size:14px;margin-bottom:8px}
.home-intro .lead{font-size:16px;margin-top:9px;max-width:250px}
.mobile-break{display:block}
.sleep-note{position:absolute;width:75px;height:75px;right:0;top:36px;border-radius:0}
.sleep-note p{display:none}
.sleep-note .orbit-moon{width:42px;height:42px}
.sleep-note .star.one{right:7px;top:4px;font-size:17px}
.sleep-note .star.two{left:7px;bottom:2px;font-size:14px}
.intro-actions{gap:13px;margin-top:18px;flex-wrap:wrap}
.intro-actions .button{font-size:15px;min-height:43px;padding:10px 15px}
.intro-actions .text-link{font-size:14px}
.section-heading h2{font-size:19px}
.section-heading .text-link{font-size:14px}
.count{font-size:14px}
.filters{padding:13px;gap:9px}
.filters label{min-width:0;flex:1 1 calc(50% - 10px);font-size:14px}
.filters label:nth-child(3){flex-basis:48%}
.filters select{font-size:15px;min-height:37px}
.filters .button{margin-left:auto;font-size:14px;padding:7px 10px;min-height:37px}
.filter-reset{font-size:14px;padding-bottom:10px}
.list-note{font-size:14px;line-height:1.8;margin:10px 0 14px}
.recruit-grid{grid-template-columns:1fr;gap:14px}
.recruit-card{padding:19px 19px 13px}
.code-row{margin-top:14px}
.code-row code{font-size:24px;letter-spacing:.06em}
.copy-button{font-size:15px;padding:9px 12px}
.researcher h3{font-size:17px}
.tags span{font-size:14px}
.card-body{font-size:16px}
.card-top{margin-bottom:13px}
.community-links{grid-template-columns:1fr;gap:9px}
.community-links>a{padding:14px 16px;gap:12px}
.community-links strong{display:inline;font-size:17px}
.community-links small{display:inline;margin-left:9px;font-size:14px}
.community-links>a>.icon{display:block}
.how-to{padding:23px 20px}
.how-to h2{font-size:19px}
.how-to ol{grid-template-columns:1fr;gap:18px;margin:22px 0}
.how-to li{position:relative;padding-left:36px}
.how-to li>span{position:absolute;left:0;top:0}
.how-to li strong{font-size:16px}
.how-to li p{margin-top:3px}
.sidebar{grid-template-columns:1fr;gap:16px}
.side-card h2,.event-card h2{font-size:22px}
.side-card h2 br{display:none}
.side-card p{font-size:16px}
.side-guide{font-size:16px}
.event-card{padding:22px 24px}
.event-art{position:absolute;right:24px;top:33px;width:55px;height:55px}
.event-card p{font-size:14px}
.event-card h2{max-width:210px}
.guide-grid{grid-template-columns:1fr;gap:12px}
.guide-card{padding:19px 17px;gap:12px}
.guide-card h3{font-size:16px}
.guide-icon{height:40px;width:40px}
.guide-section{margin-bottom:35px}
.footer-inner{grid-template-columns:1fr;gap:22px}
.footer-inner nav{padding-left:0;gap:13px 20px}
.site-footer{padding:30px 0 110px}
.footer-brand{font-size:22px}
.footer-inner p{font-size:15px}
.mobile-post{display:flex;align-items:center;justify-content:center;gap:7px;position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));height:46px;background:var(--button-bg);color:#fff;border-radius:0;box-shadow:none;z-index:50;font-size:16px;font-weight:700}
.mobile-post:hover{text-decoration:none}
.toast{bottom:80px;min-width:200px;text-align:center}
.breadcrumbs{padding-top:18px;font-size:14px}
.page-intro{margin:25px 0}
.page-intro h1{font-size:28px}
.page-intro .lead{font-size:16px}
.form-panel{padding:22px 18px}
.form-grid{grid-template-columns:1fr;gap:0}
.field>span{font-size:16px}
.field>small{font-size:14px}
input:not([type=checkbox]):not([type=hidden]),select,textarea{font-size:19px;padding:10px}
.manage-actions{flex-wrap:wrap;gap:9px}
.form-layout{gap:20px;margin-bottom:35px}
.empty-state{padding:35px 20px}
.detail-layout .recruit-card{padding:22px}
.detail-layout .code-row code{font-size:24px}
.detail-layout .copy-button{padding:9px 12px;font-size:14px}
.detail-layout .card-body{font-size:17px}
.detail-layout .tags span{font-size:14px}
.share-actions{gap:8px}
.share-actions .button{padding:8px 12px;font-size:14px}
.thread-grid,.showcase-grid{grid-template-columns:1fr}
.community-filter{flex-wrap:wrap;gap:9px}
.community-filter .search-field{flex-basis:100%}
.community-filter .button{flex:1}
.community-filter select{font-size:17px;height:43px}
.community-filter .search-field input{font-size:17px}
.community-filter .search-field .icon{top:12px}
.thread-cover{height:230px}
.thread-card h2{font-size:19px}
.thread-card-inner{padding:20px}
.message{padding:20px 17px}
.message-head{font-size:15px;gap:8px}
.message-head time{font-size:14px}
.message-body{font-size:17px}
.message-images img{height:155px}
.message-tools{font-size:14px}
.article{padding:25px 20px}
.article h1{font-size:28px}
.article h2{font-size:22px}
.article p,.article ul,.article ol{font-size:17px}
.article-meta{font-size:14px}
.article .lead{font-size:17px}
.toc{padding:17px 18px}
.toc ol{font-size:16px}
.reading-cta{padding:22px 18px}
.reading-cta h2{font-size:19px}
.reading-cta .text-link{margin:16px 0 0;display:flex}
.facts{grid-template-columns:85px 1fr;font-size:16px}
.facts dt,.facts dd{padding:10px}
.standalone{margin-bottom:35px}
.admin-list{grid-template-columns:1fr}
.admin-toolbar{flex-wrap:wrap}
.admin-toolbar .form{flex-wrap:wrap}
.admin-item .button{padding:6px 10px}
.admin-item{padding:17px}
}


@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

.main-column,.messages,.article,.detail-layout>div,.form-layout>div{min-width:0}


@media(max-width:360px){.code-row code,.detail-layout .code-row code{font-size:22px;letter-spacing:0}
.copy-button span{display:none}
.copy-button,.detail-layout .copy-button{flex-shrink:0;padding:9px}
.detail-layout,.form-layout{grid-template-columns:minmax(0,1fr)}
.brand{font-size:22px}
.header-post{font-size:14px;padding:7px 9px;gap:5px}
.header-post .icon{width:14px}
.community-links small{font-size:14px;margin-left:6px}
}




/* 画像生成したPC・スマホのモックアップを基にした配色とレイアウト。 */
.container{width:min(1180px,calc(100% - 48px))}
.site-header{background:#fff;border-bottom:1px solid #d8e8f5}
.header-inner{width:min(1320px,calc(100% - 48px));min-height:86px;gap:24px}
.brand{font-size:25px;gap:12px;color:#173b61}
.brand-name{display:block}
.brand-symbol{flex-shrink:0}
.brand-symbol{width:51px;height:51px;transform:none;border-radius:50%;background:linear-gradient(145deg,#d3edff,#effaff);color:#21629e;border:2px solid #beddf5;position:relative}
.brand-symbol:after{content:"✦";position:absolute;right:-4px;top:-8px;color:#d49b16;font-size:20px}
.brand small{font-size:13px;letter-spacing:.02em;color:#476483;line-height:1.6}
.header-inner nav{gap:0;align-self:stretch;align-items:stretch}
.header-inner nav a{display:flex;align-items:center;justify-content:center;gap:7px;padding:18px 18px;font-size:15px;color:#173b61;border-left:1px solid #edf4fa}
.header-inner nav a .icon{color:#087f72;width:22px;height:22px}
.header-inner nav a.current{color:#087f72;background:#f1fbf7}
.header-inner nav a.current:after{background:#087f72;border-radius:0}
.nav-short{display:none}
.button,.copy-button,.mobile-post{border-radius:9px;min-height:46px;font-size:16px}
.button{background:#087f72;border-color:#087f72;color:#fff;padding:10px 18px}
.button:hover{background:#06675c;color:#fff}
.button.secondary{background:#fff;color:#16568a;border-color:#93c8e7}
.button.secondary:hover{background:#eaf5ff}
.button.danger{background:#a13935;border-color:#a13935;color:#fff}
.button.danger:hover{background:#832a27}
.button:disabled,.copy-button:disabled{opacity:1;background:#5b6b78;color:#fff}
.header-post{white-space:nowrap}
.text-link{color:#165a93;font-size:16px}
.home-main{min-width:0}
.home-main>.notice{max-width:1180px;margin:18px auto}
.home-hero{position:relative;isolation:isolate;background:#123458;overflow:hidden;border-bottom:4px solid #c4e8f2}
.hero-picture{position:absolute;inset:0;z-index:-2;display:block}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102e4910,#102e4940 35%,#102e4940 65%,#102e4910)}
.hero-inner{padding:38px 0 28px;min-height:444px;text-align:center;display:flex;align-items:center;flex-direction:column;justify-content:center}
.hero-eyebrow{color:#d9eeff;font-size:14px;font-weight:700;letter-spacing:.15em;margin-bottom:12px}
.home-hero h1{color:#fff;font-size:clamp(34px,3.5vw,46px);font-weight:800;line-height:1.3;letter-spacing:.02em;text-shadow:0 2px 10px #08234580}
.home-hero h1 span{color:#ffe28a}
.hero-lead{color:#fff;font-size:17px;line-height:1.8;margin-top:13px;text-shadow:0 1px 5px #082345}
.hero-actions{display:flex;gap:16px;justify-content:center;margin-top:22px}
.hero-actions .button{min-width:188px;min-height:50px;font-size:17px;border-radius:30px;font-weight:800}
.hero-actions .hero-primary{background:#ffe082;border-color:#ffe082;color:#143c62}
.hero-actions .hero-primary:hover{background:#ffcd50;border-color:#ffcd50}
.hero-actions .hero-secondary{background:#fff;border-color:#fff;color:#165a93}
.hero-actions .hero-secondary:hover{background:#e6f4ff}
.hero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(760px,100%);margin-top:25px}
.hero-features>div{background:#fffffff2;border:1px solid #bddaf0;display:flex;align-items:center;justify-content:center;gap:12px;padding:13px 16px;text-align:left;box-shadow:0 4px 16px #08234516}
.hero-features .icon{width:34px;height:34px;color:#087f72}
.hero-features>div:nth-child(2) .icon{color:#387c36}
.hero-features>div:nth-child(3) .icon{color:#bd8c16}
.hero-features strong{display:block;font-size:17px;color:#173b61;line-height:1.6}
.hero-features small{display:block;font-size:13px;color:#476483;white-space:nowrap}
.home-content{padding-top:28px}
.content-layout{grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}
.home-main .main-column{padding:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);scroll-margin-top:18px}
.section-heading{flex-wrap:wrap;gap:10px}
.section-heading h2{font-size:24px;color:#173b61}
.section-heading h2>.icon{color:#087f72;width:27px;height:27px}
.count{background:#e6f8ef;color:#146445;font-size:14px;line-height:1.7;border-radius:0;margin-right:0;margin-left:auto}
.filters{padding:17px 16px;background:#f0f7fd;border:1px solid #e0edf8;gap:12px;flex-wrap:wrap;border-radius:0}
.filters label{flex:1 1 140px;min-width:0;font-size:14px;color:#36597c}
.filters select{font-size:16px;width:100%;min-height:44px;border-color:#bdd7eb;background:#fff;padding:9px 25px 9px 10px}
.filters .button{font-size:15px;min-height:44px;padding:9px 14px}
.filter-reset{font-size:14px;padding-bottom:10px}
.list-note{font-size:14px;color:#476483;line-height:1.8}
.recruit-grid{grid-template-columns:1fr;gap:14px}
.home-main .recruit-card{display:grid;grid-template-columns:minmax(0,1fr) 205px;column-gap:20px;padding:18px 18px 14px;box-shadow:none;border-color:#dbeaf5}
.home-main .card-top{grid-column:1/-1;gap:10px;margin-bottom:12px}
.status{background:#e6f8ef;color:#11694f;font-size:13px;border-radius:0}
.status:before{background:#0b9a76}
.card-top time,.card-bottom small,.card-bottom a,.researcher small{font-size:14px;color:#476483}
.home-main .researcher{grid-column:1;margin-bottom:7px;min-width:0}
.avatar{height:45px;width:45px;flex-shrink:0;border-radius:50%;color:#287cc0;background:#eaf5ff;border:1px solid #cce4f6}
.researcher h3{font-size:18px;line-height:1.65}
.researcher small{display:inline-block;background:#eef0ff;color:#495691;padding:2px 7px;margin-top:3px;font-size:13px}
.home-main .tags{grid-column:1;margin:4px 0}
.tags span,.detail-layout .tags span{font-size:14px;line-height:1.65;color:#12644d;background:#e6f8ef;border-radius:0;padding:3px 8px}
.tags span:nth-child(2){background:#eaf3ff;color:#1a5a93}
.tags span.soft{background:#fff5d6;color:#795d17}
.home-main .card-body{grid-column:1;margin:7px 0 10px}
.card-body,.detail-layout .card-body,.message-body{font-size:17px;line-height:1.9;color:#173b61}
.home-main .code-row{grid-column:2;grid-row:2/span 3;display:flex;flex-direction:column;justify-content:center;gap:12px;align-items:stretch;padding:15px 12px;margin:0;background:#f0f7fd;border:1px solid #e3eff8;border-radius:0;min-width:0}
.code-row code{font-size:20px;letter-spacing:0;color:#173b61;text-align:center}
.copy-button{border:1px solid #bdd7eb;background:#fff;color:#165a93;justify-content:center;font-size:15px;min-height:44px;padding:9px 12px;border-radius:8px}
.copy-button:hover{background:#e3f2ff;color:#173b61}
.copy-button .icon{width:18px;height:18px}
.copy-button span{display:inline}
.home-main .card-bottom{grid-column:1/-1;padding-top:10px;border-top:1px solid #edf4fa;gap:8px;flex-wrap:wrap}
.card-bottom a{color:#165a93;font-weight:700}
.detail-layout .code-row{background:#f0f7fd;border-radius:0;flex-wrap:wrap}
.detail-layout .code-row code{font-size:28px}
.detail-layout .copy-button{font-size:16px}
.sidebar{gap:20px}
.side-card{padding:22px;border-color:#d8e8f5;box-shadow:var(--shadow)}
.side-card h2{font-size:22px;line-height:1.6}
.side-label{font-size:14px;color:#476483;letter-spacing:.03em}
.side-card p,.side-guide{font-size:16px;color:#36597c}
.side-guide .icon{color:#087f72}
.side-card>.text-link{font-size:15px}
.beginner-card>.guide-visual{display:block;width:calc(100% + 44px);height:150px;margin:-22px -22px 20px;border-bottom:1px solid #d8e8f5}
.pale{background:#edf9f3;border-color:#cee9dc}
.event-card{background:#fff8df;border-color:#f1e2b1;padding:22px;color:#173b61;box-shadow:var(--shadow)}
.event-card:hover{background:#fff1c5}
.event-card h2{font-size:22px;margin:14px 0 10px}
.event-card .side-label{color:#7b5b17;font-size:14px}
.event-card p{font-size:14px;color:#6c5a32}
.event-art{display:block;width:100%;height:132px;border-radius:0;background-image:url('/assets/guide-art-color.webp');background-size:300% auto;background-position:100% 45%;margin-top:15px}
.event-art .icon{display:none}
.community-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.community-links>a{background:linear-gradient(145deg,#e2f8ef,#f7fff9);padding:18px 14px;border-color:#c4e8d7;min-width:0;align-items:flex-start;box-shadow:var(--shadow);border-radius:0}
.community-links>a:nth-child(2){background:linear-gradient(145deg,#fff1bc,#fffaf0);border-color:#efdfae}
.community-links>a:nth-child(3){background:linear-gradient(145deg,#e4f1ff,#f7faff);border-color:#cbdff5}
.community-links>a:hover{border-color:#5faea0}
.community-links strong{display:block;font-size:18px;line-height:1.65}
.community-links small{display:block;white-space:normal;font-size:14px;color:#36597c;margin-top:5px}
.community-links>a>.icon{display:none}
.tile-icon{width:35px;height:35px;border-radius:50%;background:#ccf0df;color:#087f72}
.tile-icon.chat{background:#ffe082;color:#755608}
.tile-icon.showcase{background:#cfe5ff;color:#2366a7}
.recent-list a{font-size:17px;flex-wrap:wrap}
.recent-list .muted{font-size:14px}
.how-to{background:#eef9f3;border:1px solid #d2eade;border-radius:0;padding:24px}
.how-to h2{font-size:23px}
.how-to li>span{color:#087f72;font-size:16px}
.how-to li strong{font-size:17px}
.how-to li p{font-size:15px;color:#476483}
.guide-section{margin:32px 0 48px}
.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.guide-card{padding:0;align-items:stretch;gap:0;overflow:hidden;border-color:#d8e8f5;background:#fff;box-shadow:var(--shadow);border-radius:0}
.guide-card:hover{background:#f6fcff;border-color:#7caecc}
.guide-visual{display:block;background-image:url('/assets/guide-art-color.webp');background-size:300% auto;background-repeat:no-repeat;background-position:0 50%;flex-shrink:0;width:145px;min-height:152px}
.guide-visual--candy{background-position:50% 50%}
.guide-visual--camp{background-position:100% 50%}
.guide-copy{padding:18px 16px;min-width:0;align-self:center}
.guide-copy small{font-size:14px;color:#476483}
.guide-card h3{font-size:18px;line-height:1.7;margin-top:6px}
.guide-card>.icon{display:none}
.site-footer{background:linear-gradient(180deg,#edf7ff,#e5f4ee);border-top:1px solid #d8e8f5;padding:36px 0}
.footer-brand{color:#173b61;font-size:23px}
.footer-brand .icon{color:#087f72}
.footer-inner p,.footer-inner nav,.copyright{font-size:14px!important;color:#476483}
.footer-inner nav a{color:#173b61}
.breadcrumbs{font-size:14px;color:#476483}
.breadcrumbs a{color:#165a93}
.page-intro{margin:28px 0}
.page-intro .lead{font-size:17px;color:#476483;max-width:850px}
.page-intro h1{font-size:32px;color:#173b61}
.eyebrow{color:#087f72;font-size:14px}
.notice{background:#e8f8ed;color:#205c39;border-color:#c5e7ce;border-radius:0;font-size:16px}
.notice.error{background:#fff0ed;color:#873f31;border-color:#eccabe}
.field>span{font-size:17px}
.field>span>small,.field em{font-size:14px;color:#476483}
.field em{background:#e6f8ef;color:#12644d;border-radius:0}
.field>small{font-size:15px;color:#476483}
input:not([type=checkbox]):not([type=hidden]),select,textarea{border-radius:0;background:#fff;font-size:17px;color:#173b61;border-color:#b6cfe0}
input::placeholder,textarea::placeholder{color:#657e94;opacity:1}
.form-panel,.article,.thread-card,.message,.empty-state,.admin-item{border-radius:0;box-shadow:var(--shadow)}
.form-panel{border-top:3px solid #81cfb5}
.form-grid{column-gap:22px}
.form-panel .button{min-height:48px}
.empty-state{border-style:solid;background:linear-gradient(160deg,#f7fcff,#eefaf4);border-color:#d4e8e0}
.empty-state>.icon{color:#2e9f88}
.empty-state h3,.empty-state h2{font-size:22px;color:#173b61}
.empty-state p{font-size:16px;color:#476483}
.article p,.article ul,.article ol,.article .lead{font-size:18px;line-height:2}
.article .lead{color:#476483}
.article-meta{font-size:14px;color:#476483}
.article-sources ul,.toc,.toc ol,.toc strong,.reading-cta p,.check-list{font-size:16px}
.article h2{font-size:24px;color:#173b61}
.toc{background:#eff7ff;border-color:#d5e6f4;border-radius:0}
.reading-cta{background:#edf9f3;border:1px solid #d1e9da;border-radius:0}
.facts{font-size:16px;grid-template-columns:140px minmax(0,1fr)}
.facts dt{background:#eff7ff;color:#36597c}
.facts dd{overflow-wrap:anywhere}
.thread-cover{background:#edf7ff}
.thread-card h2{font-size:20px}
.thread-meta,.message-head time{font-size:14px;color:#476483}
.message-head{font-size:16px;flex-wrap:wrap}
.message-tools{font-size:14px;flex-wrap:wrap}
.message-number{color:#476483}
.checkboxes,fieldset legend{font-size:16px}
.pagination a{background:#fff;border-color:#b8d3e8;color:#165a93;border-radius:8px;font-size:16px;min-width:44px;min-height:44px;display:grid;place-items:center}
.pagination a[aria-current]{background:#165a93;border-color:#165a93;color:#fff}
.toast{background:#173b61;color:#fff;font-size:16px;border-radius:0}
.admin-item .button{font-size:16px;min-height:44px}
.admin-item p,.admin-item a,.admin-item .form{font-size:16px}
.admin-buttons{flex-wrap:wrap}

@media(max-width:1180px){
 .header-inner{gap:18px;flex-wrap:wrap;padding:16px 0 0}
 .header-inner nav{width:100%;order:3;margin:0;justify-content:space-between;gap:0}
 .header-inner nav a{flex:1;padding:12px 8px;border-top:1px solid #edf4fa}
 .header-post{margin-left:auto}
 .content-layout{grid-template-columns:minmax(0,1fr) 265px;gap:20px}
 .community-links{grid-template-columns:1fr}
 .community-links>a{align-items:center}
 .home-main .recruit-card{grid-template-columns:minmax(0,1fr) 185px;column-gap:14px}
 .home-main .code-row code{font-size:19px}
}
@media(max-width:860px){
 .container,.header-inner{width:calc(100% - 40px)}
 .content-layout,.article-layout,.thread-layout,.detail-layout,.form-layout{grid-template-columns:minmax(0,1fr)}
 .sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar .pale{grid-column:1/-1}
 .article-layout .sidebar{grid-template-columns:1fr}
 .hero-inner{padding:32px 0 25px;min-height:418px}
 .home-hero h1{font-size:36px}
 .hero-features{gap:10px}
 .hero-features>div{padding:12px 8px;gap:8px}
 .hero-features .icon{width:25px;height:25px}
 .hero-features strong{font-size:16px}
 .hero-features small{font-size:13px}
 .home-main .recruit-card{grid-template-columns:minmax(0,1fr) 210px}
 .home-main .code-row code{font-size:20px}
 .community-links{grid-template-columns:repeat(3,minmax(0,1fr))}
 .community-links>a{align-items:flex-start}
 .guide-visual{width:115px}
 .guide-card h3{font-size:17px}
 .how-to ol{grid-template-columns:1fr}
}
@media(max-width:650px){
 .sidebar,.community-links,.guide-grid{grid-template-columns:1fr}
 .community-links>a{align-items:center}
 .community-links>a>.icon{display:block;margin-left:auto;color:#165a93;width:18px;height:18px}
 .home-main .recruit-card{display:block}
 .home-main .code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;margin-top:15px}
 .home-main .code-row code{font-size:23px}
 .copy-button{width:46px;height:46px;padding:10px}
 .copy-button span{display:none}
 .detail-layout .copy-button{width:auto}
 .guide-visual{width:130px;min-height:140px}
}
@media(max-width:540px){
 :root{font-size:17px}
 .container,.header-inner{width:calc(100% - 32px)}
 .header-inner{padding:12px 0 0;min-height:0;gap:0}
 .header-inner .brand{display:flex;order:1;font-size:clamp(18px,5.4vw,22px);gap:10px;margin-bottom:10px}
 .brand-symbol{width:42px;height:42px}
 .brand-symbol .icon{width:29px;height:29px}
 .brand small{font-size:clamp(10px,3vw,12px);line-height:1.5}
 .header-post{display:none}
 .header-inner nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;order:3;margin:0;gap:0}
 .header-inner nav a{font-size:14px;padding:10px 3px;gap:5px;flex-direction:column;line-height:1.4;min-width:0}
 .header-inner nav a .icon{width:20px;height:20px}
 .nav-full{display:none}
 .nav-short{display:inline}
 .hero-inner{padding:25px 0 15px;min-height:0;justify-content:flex-start}
 .hero-picture{bottom:68px}
 .home-hero:after{background:linear-gradient(180deg,#0e2c5040,#0e2c5020 50%,#0e2c5030)}
 .hero-picture img{object-fit:cover;object-position:center bottom}
 .hero-eyebrow{display:none}
 .home-hero h1{font-size:28px;line-height:1.4;letter-spacing:0}
 .hero-lead{font-size:15px;line-height:1.8;margin-top:12px;max-width:320px}
 .hero-actions{gap:10px;margin-top:18px;width:100%}
 .hero-actions .button{min-width:0;flex:1;min-height:46px;font-size:16px;padding:10px 9px;gap:6px}
 .hero-actions .button>.icon:last-child{display:none}
 .hero-actions .hero-secondary>.icon:last-child{display:inline}
 .hero-features{gap:7px;margin-top:clamp(120px,calc(100vw - 250px),170px)}
 .hero-features>div{gap:5px;padding:10px 4px;justify-content:center;text-align:center}
 .hero-features .icon{width:17px;height:17px}
 .hero-features strong{font-size:14px;white-space:nowrap}
 .hero-features small{display:none}
 .home-content{padding-top:20px}
 .home-main .main-column{padding:18px 12px}
 .section-heading h2{font-size:22px}
 .section-heading .text-link{font-size:14px}
 .filters{padding:14px 10px;gap:10px}
 .filters label{flex:1 1 calc(50% - 10px);font-size:14px}
 .filters label:nth-child(3){flex-basis:100%}
 .filters select{font-size:16px;min-height:44px}
 .filters .button{font-size:15px;min-height:44px;margin-left:0}
 .filter-reset{font-size:14px;padding:0;align-self:center}
 .list-note{font-size:14px;line-height:1.8}
 .home-main .recruit-card{padding:16px 12px 12px}
 .researcher h3{font-size:18px}
 .tags span{font-size:14px}
 .card-body{font-size:17px}
 .home-main .code-row{gap:8px;padding:10px}
 .home-main .code-row code{font-size:21px}
 .card-top,.card-bottom{gap:8px;flex-wrap:wrap}
 .card-top time,.card-bottom small,.card-bottom a{font-size:13px}
 .community-links strong{font-size:18px}
 .community-links small{font-size:14px;display:block;margin-left:0}
 .tile-icon{width:40px;height:40px}
 .recent-list a{font-size:17px;flex-wrap:wrap}
 .recent-list strong{min-width:100%}
 .how-to{padding:22px 16px}
 .how-to h2{font-size:22px}
 .how-to li strong{font-size:17px}
 .how-to li p{font-size:15px}
 .sidebar{grid-template-columns:1fr}
 .side-card p,.side-guide{font-size:16px}
 .event-art{position:static;width:100%;height:150px}
 .event-card h2{font-size:22px;max-width:none}
 .event-card p{font-size:14px}
 .guide-section{margin:26px 0 36px}
 .guide-visual{width:112px;min-height:148px}
 .guide-copy{padding:15px 12px}
 .guide-card h3{font-size:17px}
 .guide-copy small{font-size:13px}
 .site-footer{padding:32px 0 105px}
 .footer-brand{font-size:22px}
 .footer-inner nav{padding-left:0}
 .mobile-post{display:flex;align-items:center;justify-content:center;background:#087f72;color:#fff;left:16px;right:16px;min-height:52px;font-size:17px;border-radius:10px;box-shadow:0 5px 18px #087f7230}
 .mobile-post:hover{background:#06675c;color:#fff}
 .breadcrumbs{font-size:14px}
 .page-intro h1{font-size:28px}
 .page-intro .lead{font-size:17px}
 .field>span{font-size:17px;flex-wrap:wrap}
 .field>small{font-size:15px}
 .form-panel{padding:22px 18px}
 .form-grid{grid-template-columns:1fr}
 .detail-layout .code-row code{font-size:24px}
 .detail-layout .copy-button{width:46px;height:46px;padding:10px;font-size:16px}
 .detail-layout .code-row{justify-content:center;gap:10px}
 .share-actions .button{font-size:16px;min-height:44px;padding:10px 13px}
 .detail-links{font-size:16px;flex-wrap:wrap;gap:12px}
 .community-filter select,.community-filter .search-field input{font-size:17px;min-height:48px}
 .community-filter .search-field .icon{top:15px}
 .thread-card h2{font-size:20px}
 .thread-meta,.message-head time,.message-tools{font-size:14px}
 .message-head{font-size:16px}
 .message-body{font-size:17px}
 .article{padding:26px 18px}
 .article h1{font-size:26px}
 .article h2{font-size:23px}
 .article p,.article ul,.article ol,.article .lead{font-size:17px}
 .article-meta{font-size:14px}
 .toc,.toc ol{font-size:16px}
 .facts{grid-template-columns:95px minmax(0,1fr);font-size:16px}
 .admin-item .button{font-size:16px;min-height:44px;padding:8px 12px}
 .admin-toolbar,.admin-toolbar .form,.admin-buttons{flex-wrap:wrap}
}
@media(max-width:360px){
 .home-hero h1{font-size:26px}
 .hero-actions .button{font-size:15px}
 .hero-features .icon{display:none}
 .hero-features strong{font-size:14px}
 .home-main .code-row{grid-template-columns:minmax(0,1fr)}
 .home-main .code-row code{font-size:22px}
 .home-main .copy-button{width:100%;height:auto}
 .home-main .copy-button span{display:inline}
 .detail-layout .code-row code{font-size:21px}
 .guide-visual{width:90px}
 .guide-copy{padding:14px 10px}
 .guide-card h3{font-size:16px}
}
