*{box-sizing:border-box}body{margin:0;background:#eee;color:#222;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px}header{background:#fff;border-bottom:1px solid #aaa}.head{max-width:980px;margin:auto;padding:12px 10px 7px;display:flex;justify-content:space-between;align-items:center}.head h1{font-size:25px;margin:0;color:#444}.head p{font-size:12px;margin:3px 0;color:#777}button,input,textarea,select{font:inherit}button{cursor:pointer}.head nav button{border:0;background:none;color:#555}main{max-width:980px;margin:auto;background:#fff;min-height:calc(100vh - 100px);padding:10px}.notice{background:#fffbe5;border:1px solid #dfd7a2;padding:9px;margin-bottom:9px;font-size:13px}.toolbar{display:flex;gap:6px;margin:8px 0}.toolbar input{flex:1;min-width:80px}.primary{background:#555;color:#fff;border:1px solid #333;border-radius:3px;padding:7px 12px}.subbar{display:flex;justify-content:space-between;background:#666;color:#fff;padding:6px 10px;font-size:13px}.threadRow{display:grid;grid-template-columns:1fr 72px;border-bottom:1px solid #ccc;min-height:51px}.threadRow:hover{background:#f5f5f5}.threadMain{padding:7px 8px;cursor:pointer}.threadTitle{font-weight:bold;color:#174b87}.threadPreview{font-size:12px;color:#777;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.threadCount{display:flex;align-items:center;justify-content:center;border-left:1px solid #ddd;font-weight:bold;color:#555;cursor:pointer}.hidden{display:none!important}.back{border:0;background:none;color:#174b87;padding:4px}.threadHead{border-bottom:3px solid #555;padding:5px 8px}.threadHead h2{font-size:20px;margin:5px 0}.threadHead span{font-size:12px;color:#777}.post{padding:9px 7px;border-bottom:1px solid #ccc}.postHead{font-size:13px;color:#555;margin-bottom:5px}.postNo{color:#174b87;font-weight:bold;cursor:pointer}.postName{font-weight:bold;color:#26722e}.postBody{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.anchor{color:#174b87;cursor:pointer}.postImgs{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.postImgs img{max-width:180px;max-height:180px;object-fit:cover;cursor:pointer;border:1px solid #bbb}.postActions{text-align:right}.postActions button{border:0;background:none;color:#777;font-size:12px}.postForm{border-top:3px solid #555;padding:10px;margin-top:10px;background:#f2f2f2}.postForm textarea,.postForm input[type=text],#replyName{width:100%;border:1px solid #aaa;padding:7px}.formRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0}.newPosts{position:sticky;bottom:5px;background:#444;color:#fff;text-align:center;padding:7px;cursor:pointer}dialog{border:1px solid #777;border-radius:4px;max-width:600px;width:calc(100% - 30px)}dialog form{display:grid;gap:8px}dialog input,dialog textarea,dialog select{width:100%;padding:7px}.dialogBtns{display:flex;justify-content:flex-end;gap:7px}.viewer{position:fixed;inset:0;background:#000d;z-index:20;display:flex;align-items:center;justify-content:center}.viewer img{max-width:95vw;max-height:95vh}.viewer button{position:absolute;right:15px;top:10px;font-size:30px;background:none;color:white;border:0}.mention{animation:flash 1.3s}@keyframes flash{0%,50%{background:#fff0a8}100%{background:transparent}}body.dark{background:#151719;color:#ddd}body.dark header,body.dark main{background:#202326}body.dark .threadRow:hover,body.dark .postForm{background:#292d31}body.dark .threadRow,body.dark .post{border-color:#444}body.dark input,body.dark textarea,body.dark select,body.dark dialog{background:#24272b;color:#eee;border-color:#555}
@media(max-width:600px){main{padding:5px}.head h1{font-size:20px}.head p{display:none}.toolbar{flex-wrap:wrap}.toolbar #newThread{width:100%}.threadRow{grid-template-columns:1fr 52px}.threadMain{padding:7px 5px}.threadTitle{font-size:15px}.post{padding:8px 4px}.postImgs img{max-width:46%;height:auto}.threadHead h2{font-size:18px}.postForm{padding:7px}}
.brand{display:flex;align-items:center;gap:10px}.brand img{height:62px;width:auto;object-fit:contain}.brandLink{text-decoration:none;color:inherit}.brandLink:hover h1{text-decoration:underline}.back{display:inline-block;text-decoration:none;margin-bottom:4px}
@media(max-width:600px){.brand{gap:6px}.brand img{height:48px}.head{padding-top:6px;padding-bottom:4px}}

/* v4: site background + Pokemon BBS-like pale gray thread surface */
body{
  background-color:#f5f5f5;
  background-image:url('background.png');
  background-repeat:repeat;
  background-position:top left;
  background-size:687px 616px;
  background-attachment:fixed;
}
main{
  background:rgba(255,255,255,.86);
}
.threadHead,
#posts,
.post{
  background:#eeeeee;
}
.threadHead{
  border-bottom-color:#c8c8c8;
}
.post{
  border-bottom-color:#d0d0d0;
}
.postForm{
  background:#e9e9e9;
}
@media(max-width:600px){
  body{background-attachment:scroll;background-size:687px 616px}
  main{background:rgba(255,255,255,.90)}
}

/* v5: trip + mobile horizontal submit button */
.trip{font-weight:bold;color:#7a3d86}
@media(max-width:600px){
  .postForm .formRow:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
  .postForm .formRow:last-child input[type=file]{min-width:0;width:100%}
  .postForm .formRow:last-child .primary{writing-mode:horizontal-tb;white-space:nowrap;width:auto;min-width:82px;height:40px;padding:7px 12px}
}
/* server version additions */
.searchForm{display:flex;gap:6px;flex:1}.searchForm input{flex:1;min-width:80px}.threadMain,.threadCount{text-decoration:none}.empty{padding:20px;text-align:center;color:#777}.error{color:#b00020;font-weight:bold}.inlineReport{display:inline}.inlineReport button{border:0;background:none;color:#777;font-size:12px}.adminBox{padding:18px}.adminForm{display:grid;gap:10px;max-width:480px}.adminForm input{padding:9px}.adminTop{display:flex;justify-content:space-between;align-items:center}.adminList>div{padding:10px;border-bottom:1px solid #ccc;background:#eee}.adminActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.adminActions form{display:flex;gap:5px;flex-wrap:wrap}.adminActions input{padding:4px}.postNo{text-decoration:none}.postActions{display:flex;justify-content:flex-end;gap:4px}
@media(max-width:600px){.searchForm{width:100%}.toolbar{display:flex}.adminBox{padding:8px}.adminActions form{width:100%}.adminActions input{min-width:0;flex:1}}

/* public-ready additions */
.pager{display:flex;justify-content:center;align-items:center;gap:18px;padding:14px 6px}.pager a{color:#174b87;text-decoration:none}.threadClosed{margin-top:12px;padding:14px;text-align:center;background:#eee;border:1px solid #ccc;font-weight:bold}.deletedPost{min-height:48px;color:#777}.deletedText{color:#777;font-weight:bold}.postError{margin:10px 0;padding:9px;background:#fff0f0;border:1px solid #d8a0a0}.adminSearch{margin:8px 0 10px}.adminForm textarea{width:100%;padding:8px;resize:vertical}.banPage{text-align:left}

/* thread top/bottom quick navigation */
.scrollNav{position:fixed;right:16px;bottom:16px;z-index:15;display:flex;flex-direction:column;gap:6px}
.scrollNav button{min-width:58px;padding:7px 9px;border:1px solid #777;border-radius:5px;background:rgba(255,255,255,.94);color:#444;font-weight:bold;box-shadow:0 1px 5px rgba(0,0,0,.18)}
.scrollNav button:hover{background:#f2f2f2}
@media(max-width:600px){.scrollNav{right:8px;bottom:8px}.scrollNav button{min-width:52px;padding:6px 7px;font-size:13px}}

/* 今日のお題枠 */
.topicBox { box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
