/* その板｜今日のお題 - quiet, editorial, mobile-first creative studio */
.so-app{--so-ink:#273f3d;--so-mute:#647a73;--so-teal:#486c63;--so-border:#d9e5df;--so-surface:#fff;--so-paper:#f7faf7;--so-pale:#f0f6f2;color:var(--so-ink);max-width:1170px;margin:0 auto;padding:20px 17px 70px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75;box-sizing:border-box}
.so-app *{box-sizing:border-box}.so-app a{text-decoration:none}.so-app button,.so-app input,.so-app textarea{font:inherit}.so-app button{cursor:pointer}.so-app img{max-width:100%}
.so-topbar{display:flex;justify-content:space-between;align-items:center;padding:2px 0 15px;border-bottom:1px solid var(--so-border);gap:12px}.so-brand{display:flex;align-items:center;gap:9px;color:var(--so-ink)!important;font-weight:800;letter-spacing:.05em}.so-mark{width:33px;height:33px;border-radius:10px;background:#55796e;color:white;display:grid;place-items:center;font-family:serif;font-size:17px}.so-topbar nav{display:flex;gap:15px;flex-wrap:wrap}.so-topbar nav a{color:var(--so-mute)!important;font-size:12px;font-weight:700}
.so-intro{padding:34px 8px 29px;text-align:center}.so-eyebrow{color:#69887c;font-weight:800;letter-spacing:.16em;font-size:10px}.so-intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.09em;font-size:clamp(34px,6vw,51px);margin:5px 0;color:#2e5148}.so-title-dot{color:#caa679}.so-intro p{margin:0;color:var(--so-mute);font-size:14px;line-height:1.9}
.so-lead-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(290px,.84fr);gap:15px;margin-bottom:22px}
.so-topic-card,.so-origin,.so-panel{border-radius:18px;border:1px solid var(--so-border);box-shadow:0 10px 35px rgba(44,87,67,.045)}.so-topic-card{background:linear-gradient(150deg,#dfece6,#f9fcfa 65%);padding:30px 32px;position:relative;overflow:hidden}.so-topic-card:after{content:' ';position:absolute;right:-55px;top:-100px;width:240px;height:240px;border:1px solid rgba(119,153,134,.18);border-radius:50%;pointer-events:none}.so-topic-badge{display:inline-block;border-radius:99px;padding:4px 13px;background:#4d766a;color:#fff;font-size:12px;font-weight:800}.so-topic-date{font-size:12px;color:var(--so-mute);margin-left:12px;letter-spacing:.08em}.so-topic-label{margin:21px 0 3px;font-size:12px;color:var(--so-mute)}.so-topic-card h2{font-size:clamp(40px,5.4vw,62px);line-height:1.5;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.11em;margin:1px 0 8px;font-weight:600;color:#294c45}.so-topic-caption{font-size:13px;color:#5b756b;margin:10px 0 20px}.so-topic-hint{color:#4a796a;margin:0 0 11px;font-size:13px}.so-topic-card .so-btn{margin:0 5px 5px 0}
.so-origin{background:#fffcf6;padding:27px 27px 20px}.so-origin h3{font-family:"Yu Mincho",serif;font-size:22px;letter-spacing:.05em;margin:4px 0 16px}.so-origin p{font-size:13px;line-height:2.08;color:#596e65;margin:0 0 10px}.so-origin strong{font-weight:800;color:#365b50}
.so-panel{background:rgba(255,255,255,.97);padding:25px 26px;margin-bottom:22px}.so-heading{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-bottom:20px}.so-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:3px 0 2px;font-size:27px;color:#2c5149;font-weight:600}.so-heading h2 small{font:700 12px/1.5 sans-serif;color:#698078;margin-left:9px}.so-heading p{color:var(--so-mute);font-size:12px;margin:0}.so-editor-topic{background:var(--so-pale);border-radius:99px;padding:6px 14px;font-size:12px;color:#4b7568;white-space:nowrap;font-weight:700}
.so-editor-grid{display:grid;grid-template-columns:minmax(330px,1.12fr) minmax(300px,.88fr);align-items:start;gap:22px}.so-canvas-side{position:sticky;top:12px}.so-canvas-wrap{background:#eff4f0;border:1px solid var(--so-border);border-radius:16px;padding:10px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 12px rgba(50,70,60,.05)}#soCanvas{width:100%;max-width:630px;aspect-ratio:1/1;height:auto;display:block;background:#fff;border-radius:8px;touch-action:none;cursor:crosshair;user-select:none;box-shadow:0 4px 17px rgba(18,40,40,.10)}#soCanvas[data-tool="select"]{cursor:move}#soCanvas[data-tool="eraser"]{cursor:cell}.so-canvas-status{display:flex;justify-content:space-between;gap:7px;color:#6d8178;font-size:11px;padding:8px 4px}.so-history{display:flex;gap:8px;flex-wrap:wrap}.so-history .so-btn{flex:1}
.so-tools-side{display:flex;flex-direction:column;gap:10px}.so-tools-card{background:#f9fbf9;border:1px solid #e4ebe6;border-radius:14px;padding:15px}.so-tools-card h3{font-size:14px;margin:0 0 11px;color:#435f55}.so-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.so-tool{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#fff;border:1px solid #d9e5dd;border-radius:10px;padding:7px 2px;font:700 24px/1.1 sans-serif!important;color:#3f665b;min-height:66px}.so-tool span{font:700 11px/1.4 sans-serif;color:#55736a}.so-tool.is-on{background:#e2efe7;border-color:#5c9481;box-shadow:inset 0 0 0 1px #5c9481}.so-tool:focus-visible,.so-btn:focus-visible{outline:3px solid #bc9275;outline-offset:2px}
.so-inks{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.so-inks button{width:30px;height:30px;border-radius:50%;border:1px solid #b3c0b9;background:var(--ink);padding:0}.so-inks button.is-on{outline:3px solid #6f9188;outline-offset:2px}.so-inks label{width:31px;height:31px;position:relative;display:grid;place-items:center;background:#fff;border:1px solid var(--so-border);border-radius:50%;overflow:hidden}.so-inks label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.so-inks label span{font-size:19px;font-weight:500}.so-control-row{display:flex;gap:9px;align-items:center;font-size:12px;color:#557267}.so-control-row input{min-width:0;flex:1;accent-color:#527d6e}.so-control-row output{min-width:20px;text-align:right}.so-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#557267;margin-top:12px}.so-check input{accent-color:#4f8474}.so-backgrounds{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.so-backgrounds button{background:var(--paper);border:1px solid #bdcfc5;color:#41574f;border-radius:9px;padding:9px 2px;font-size:11px}.so-backgrounds button:last-child{color:#fff}.so-backgrounds button.is-on{outline:2px solid #4f8474;outline-offset:1px}.so-selected-controls{display:flex;flex-wrap:wrap;gap:5px}.so-selected-controls .so-btn{flex:1;font-size:11px;padding:7px 4px}.so-mini{font-size:11px;color:#84918b;line-height:1.75;margin:10px 0}.so-control-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px}.so-upload{display:grid;place-items:center;text-align:center;margin:0;cursor:pointer}
.so-btn{border:1px solid #d4e3da;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 14px;line-height:1.5;font-size:12px;font-weight:800;background:#fff;color:#456b5c!important;transition:background .15s,transform .15s;cursor:pointer}.so-btn:hover{transform:translateY(-1px)}.so-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.so-btn-primary{background:#486f63!important;border-color:#486f63!important;color:#fff!important}.so-btn-primary:hover{background:#36594f!important}.so-btn-light{background:#edf5f0!important;border-color:#d6e6dc!important}.so-btn-ghost{background:#fff!important}
.so-publish{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eef6f1;border:1px solid #d7e6d9;border-radius:13px;padding:17px 18px}.so-publish h3{margin:0 0 3px;font-size:16px}.so-publish p{font-size:12px;color:#677d70;margin:0}.so-publish .so-btn{font-size:13px;white-space:nowrap;padding:13px 16px}
.so-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.so-work{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--so-border);border-radius:12px;color:var(--so-ink)!important;background:#fff;transition:transform .15s,box-shadow .15s}.so-work:hover{transform:translateY(-2px);box-shadow:0 6px 20px #364b3a19}.so-work-frame{background:#f2f7f2;aspect-ratio:1/1;display:block}.so-work-frame img{display:block;object-fit:contain;width:100%;height:100%}.so-work-bottom{padding:10px 11px 13px;display:flex;flex-direction:column;gap:2px;min-width:0}.so-work-bottom strong{font-size:12px;color:#355d51}.so-work-bottom small{font-size:11px;color:#7a8c82;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.so-pagination{display:flex;justify-content:center;gap:12px;margin-top:20px}.so-empty{grid-column:1/-1;background:#f8fbf7;border:1px dashed #cfded4;border-radius:13px;padding:25px;text-align:center;color:#7c8d81;font-size:13px}.so-archive-list{display:flex;flex-wrap:wrap;gap:7px}.so-archive-link{border:1px solid #d9e7dc;color:#526d63!important;background:#f8fbf7;border-radius:99px;display:flex;gap:8px;align-items:center;padding:6px 12px;font-size:12px}.so-archive-link time{color:#8b9b91;font-size:10px}.so-archive-link.is-active{border-color:#658e7e;background:#eaf3ec;font-weight:800}.so-endlinks{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 22px;font-size:12px;margin:24px 0}.so-endlinks a{color:#547e70!important;font-weight:800}
.so-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);gap:22px;margin-top:19px}.so-detail-image{display:block;width:100%;max-width:500px;border-radius:12px;border:1px solid #e0e9e1}.so-detail-layout h2{font-family:"Yu Mincho",serif;font-size:24px}.so-detail-layout p{white-space:normal;word-break:break-word}.so-back{color:#4e786c!important;font-weight:700;font-size:12px}.so-muted{color:#7e9087;font-size:12px}.so-comments{margin:22px 0 0;border-top:1px solid var(--so-border);padding-top:17px}.so-comments h3{font-size:17px}.so-comment{border:1px solid #e5ebe7;background:#fafcf9;border-radius:11px;padding:12px 15px;margin:10px 0}.so-comment-meta{display:flex;gap:15px;align-items:center;font-size:12px;color:#5c766a}.so-comment-meta time{color:#91a096;font-size:10px}.so-comment p{margin:8px 0 0;line-height:1.8;word-break:break-word;font-size:13px}.so-comment-form{border:1px solid #e0e9e0;background:#f7faf7;padding:18px;border-radius:13px;margin-top:17px}.so-app label{color:#516d60;font-weight:700;font-size:12px}.so-comment-form label,.so-dialog-panel label,.so-admin-form label{display:block;margin-bottom:12px}.so-comment-form input,.so-comment-form textarea,.so-dialog-panel input,.so-dialog-panel textarea,.so-admin-form input{display:block;width:100%;min-width:0;color:#34493f;background:#fff;border:1px solid #ccdfd3;border-radius:8px;padding:10px 11px;margin-top:5px;outline-color:#71a38e}.so-comment-form textarea,.so-dialog-panel textarea{min-height:78px;resize:vertical}.so-small{font-size:11px}.so-message{background:#e8f3eb;padding:10px;border-radius:9px;color:#426e5d;font-size:12px}.so-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.so-dialog[hidden]{display:none!important}.so-dialog{position:fixed;z-index:99999;inset:0;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:6vh 14px}.so-dialog-backdrop{position:fixed;inset:0;background:rgba(14,34,28,.65)}.so-dialog-panel{position:relative;max-width:540px;width:100%;border-radius:18px;background:#fff;padding:21px 25px 25px;box-shadow:0 20px 70px rgba(14,45,29,.30);margin:auto 0}.so-dialog-panel h2{font-family:"Yu Mincho",serif;font-size:25px}.so-dialog-panel img{display:block;max-width:280px;max-height:280px;margin:0 auto;border:1px solid #e1e8e0;border-radius:10px}.so-dialog-panel>p{font-size:12px;color:#72867d}.so-dialog-actions{display:flex;justify-content:space-between;gap:9px}.so-close{position:absolute;top:14px;right:14px;width:35px;height:35px;border-radius:50%;background:#f1f5f1;border:0;color:#658174;font-size:24px}.so-modal-open{overflow:hidden}#soPublishStatus{color:#5d8677;font-size:12px}
.so-admin-form{display:grid;grid-template-columns:1fr 1.25fr 1.7fr auto;gap:10px;align-items:end}.so-admin-form label{margin:0}.so-admin h3{margin:25px 0 10px}.so-manage-items{list-style:none;margin:0;padding:0}.so-manage-items li{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e6eee8;padding:8px 0}.so-manage-items img{width:62px;height:62px;object-fit:contain;border:1px solid #e3e9e4;border-radius:7px}.so-manage-items span{min-width:0;flex:1;font-size:11px}.so-manage-items small{display:block;overflow-wrap:anywhere;color:#788a7e}.so-manage-items form{margin:0}
@media(max-width:900px){.so-editor-grid{grid-template-columns:minmax(0,1fr)}.so-canvas-side{position:static;max-width:640px;margin:0 auto;width:100%}.so-tool-grid{grid-template-columns:repeat(5,1fr)}.so-tools-side{display:grid;grid-template-columns:1fr 1fr}.so-tools-side .so-tools-card:first-child{grid-column:1/-1}.so-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.so-admin-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.so-app{padding:13px 10px 45px}.so-topbar nav{gap:10px}.so-topbar nav a{font-size:10px}.so-intro{padding:26px 8px 22px}.so-intro p{font-size:12px}.so-lead-grid{grid-template-columns:1fr;gap:9px}.so-topic-card{padding:22px 19px}.so-topic-card h2{font-size:44px}.so-origin{padding:21px 19px}.so-panel{padding:16px 12px;border-radius:13px}.so-heading{flex-wrap:wrap;gap:7px}.so-heading h2{font-size:24px}.so-editor-topic{font-size:10px}.so-canvas-wrap{padding:6px}.so-tools-side{display:flex}.so-tool-grid{grid-template-columns:repeat(3,1fr)}.so-tool{min-height:62px}.so-publish{flex-direction:column;align-items:stretch;padding:14px}.so-publish .so-btn{width:100%}.so-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.so-work-bottom{padding:8px}.so-work-bottom strong{font-size:11px}.so-detail-layout{grid-template-columns:1fr}.so-admin-form{grid-template-columns:1fr}.so-manage-items li{flex-wrap:wrap}.so-manage-items form{margin-left:auto}.so-dialog-panel{padding:15px}.so-control-stack{grid-template-columns:1fr 1fr}}

.so-adjust-buttons{margin-top:7px}.so-adjust-buttons .so-btn{font-size:10px;white-space:nowrap}

/* 文字アート・アンビグラム工房 v1.1.0 */
.so-ambigram-lab{margin:11px 0 7px;padding:12px 12px 8px;background:#f1f7f3;border:1px solid #d6e5db;border-radius:13px;color:#456358}.so-ambigram-lab summary{font-weight:800;font-size:13px;cursor:pointer}.so-ambigram-lab summary span{display:block;font-size:10px;font-weight:500;color:#799088}.so-ambigram-lab>p{font-size:11px;margin:6px 0 9px;line-height:1.7;color:#71887f}.so-view-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.so-view-grid figure{min-width:0;margin:0;background:#fff;border:1px solid #d9e8df;border-radius:9px;padding:6px 6px 4px;text-align:center}.so-view-grid canvas{width:100%;height:auto;aspect-ratio:1;display:block;background:#fff;border-radius:6px}.so-view-grid figcaption{font-size:10px;color:#516a5f;font-weight:800;padding-top:5px}
.so-feature-badge{display:inline-block;background:#eff4dc;color:#718149;font:800 9px/1.5 sans-serif;border-radius:99px;padding:2px 7px;vertical-align:middle}.so-letters h4{font-size:12px;color:#4a7162;margin:15px 0 7px}.so-letter-input,.so-letter-options select{display:block;width:100%;border-radius:9px;border:1px solid #cbddd3;background:#fff;color:#25473e;padding:11px;font-size:16px;margin:5px 0 10px;max-width:100%}.so-letter-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.so-letter-options label{min-width:0;display:block}.so-letter-options select{font-size:12px;padding:8px}.so-letter-options input[type=range]{width:100%;accent-color:#507d70}.so-letter-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.so-transform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.so-transform-grid .so-btn,.so-letter-actions .so-btn{min-width:0;white-space:normal;text-align:center;padding:8px 5px;font-size:11px}.so-letters{border-color:#d2e3d9;background:#f6faf7}.so-letters .so-mini{margin:5px 0 12px}.so-letter-options output{font-size:11px;color:#688678}
@media(min-width:900px){.so-view-grid{gap:5px}.so-view-grid figure{padding:4px}.so-view-grid figcaption{font-size:9px}}
