
.gdm-root, .gdm-root *{box-sizing:border-box}.gdm-root,.gdm-root{margin:0;min-height:100%;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#172033;background:#eaf0f7}
.gdm-root button,.gdm-root textarea,.gdm-root input,.gdm-root select{font:inherit}/* 修正: 書式コントロールをヘッダー自体に統合し、専用の別バー行が不要になったため、gridの行を再びヘッダー58px+ワークスペース1frの2行に戻した */
/* 修正: grid-template-columns未指定だと暗黙の列がauto(=内容のmax-contentに基づくサイズ)になり、ヘッダー内の書式コントロールの合計幅がビューポートより広い場合に列自体がその幅まで広がってしまう(結果、タイトルが見切れたり月ピルが画面外に出る)。minmax(0,1fr)を明示し、列幅を常にビューポート基準に固定し、はみ出しは.header-format側のoverflow-x:autoで吸収させる */
.gdm-root .app{min-height:100vh;display:grid;grid-template-rows:58px 1fr;grid-template-columns:minmax(0,1fr)}.gdm-root .topbar{height:58px;background:#17365d;color:#fff;display:flex;align-items:center;padding:0 20px;gap:12px;box-shadow:0 2px 10px #17365d33;position:sticky;top:0;z-index:20}/* 修正: 書式コントロールがヘッダーに入って幅超過が起きたとき、日本語見出しは区切りなしで折返し可能なため自動最小幅が極端に小さく、flexの縮小対象がタイトル側に偏って2行に折り返されていた。flex:0 0 autoとwhite-space:nowrapで縮小させず、縮小は.header-format側だけで受ける(横スクロールで吸収)ようにした */
.gdm-root .brand{flex:0 0 auto;white-space:nowrap;font-size:20px;font-weight:900;letter-spacing:.04em}.gdm-root .top-actions{margin-left:auto;display:flex;gap:8px}.gdm-root .btn{border:0;border-radius:10px;padding:9px 14px;background:#fff;color:#17365d;font-weight:800;cursor:pointer;box-shadow:0 2px 5px #0002}.gdm-root .btn.primary{background:#2e74d2;color:#fff}.gdm-root .btn:hover{filter:brightness(.97);transform:translateY(-1px)}.gdm-root .workspace{display:grid;grid-template-columns:minmax(340px,430px) minmax(650px,1fr);height:calc(100vh - 58px);overflow:hidden}.gdm-root .editor{background:#f7f9fc;border-right:1px solid #cfd9e6;overflow:auto;padding:16px}.gdm-root .preview-area{overflow:auto;padding:22px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 50% 30%,#fff 0,#e9eef5 70%)}.gdm-root .panel{background:#fff;border:1px solid #d7e0eb;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 4px 14px #17365d0d}.gdm-root .panel-title{font-weight:900;color:#17365d;margin-bottom:9px;display:flex;align-items:center;gap:7px}.gdm-root .panel-title .step{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#2e74d2;color:#fff;font-size:13px}.gdm-root .paste{width:100%;height:170px;resize:vertical;border:2px solid #aac3e2;border-radius:10px;padding:11px;line-height:1.65;background:#fbfdff}.gdm-root .row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gdm-root .field{display:block;margin:8px 0}.gdm-root .field span{display:block;font-size:12px;font-weight:800;color:#52657c;margin-bottom:4px}.gdm-root .field input,.gdm-root .field textarea,.gdm-root .field select{width:100%;border:1px solid #bccbda;border-radius:8px;padding:8px 9px;background:#fff}.gdm-root .field textarea{height:82px;resize:vertical;line-height:1.5}.gdm-root .field textarea.tall{height:125px}.gdm-root .status{min-height:20px;color:#227344;font-weight:700;font-size:13px;margin-top:8px}.gdm-root .hint{font-size:12px;line-height:1.6;color:#607286;margin-top:7px}.gdm-root .danger{color:#b3261e}

.gdm-root .sheet-wrap{width:794px;min-width:794px;filter:drop-shadow(0 10px 25px #18324c35)}.gdm-root .sheet{--accent:#2588d8;--accent2:#f2a817;--green:#58a93c;width:794px;height:1123px;background:#fff;position:relative;overflow:hidden;padding:22px 25px 18px;color:#111;transform-origin:top center}.gdm-root .sheet *{box-sizing:border-box}.gdm-root .paper-text{position:relative;z-index:3}/* 修正: タイトル右側に学校名・学年・日付欄を新設するため、mastheadを2カラムのflex構成に変更。masthead-mainは従来通り中央寄せ、masthead-sideは新設の3行を縦に並べる */
/* 修正: タイトル・サブタイトルを紙面全体の左右中央に表示するため、左側にも学校名欄と同じ幅の余白列を設けた3カラム構成(左spacer/中央タイトル/右side)にした。片側だけに固定幅の欄があると、その分だけ中央寄せの基準がずれて見えるため */
.gdm-root .masthead{height:154px;text-align:center;position:relative;display:grid;grid-template-columns:148px 1fr 148px;align-items:center;gap:12px}
/* 修正: タイトル枠の高さ調整ボタン(.title-height-adjust)をposition:absoluteで重ねて配置するため、基準としてposition:relativeを追加 */
.gdm-root .masthead-main{grid-column:2;min-width:0;text-align:center;position:relative}
.gdm-root .masthead-side{grid-column:3;display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:left}
.gdm-root .side-field{border:2px solid var(--accent);border-radius:8px;padding:5px 10px;font-size:14px;font-weight:700;line-height:1.3;min-height:1.3em;background:#fff}
.gdm-root .side-field:empty:before{content:attr(data-placeholder);color:#9aa7b5;font-weight:600}
/* 修正: タイトル右に学校名欄を新設した分、タイトルの表示幅が狭くなったため、長いタイトルでも収まりやすいようfont-sizeを71px→58pxに調整し、折り返し時の見た目のためoverflow-wrap:break-wordを追加 */
.gdm-root .main-title{font-family:"Comic Sans MS","Segoe Print","Yu Gothic",sans-serif;font-size:58px;font-weight:900;letter-spacing:1px;line-height:1.05;margin:5px 0 0;color:#101010;transform:rotate(-1deg);text-shadow:1px 1px 0 #000;overflow-wrap:break-word}.gdm-root .wave-line{width:500px;height:13px;margin:4px auto 4px;background:
 radial-gradient(ellipse at 10px 1px,transparent 8px,var(--accent) 9px 10px,transparent 11px) 0 3px/25px 12px repeat-x}.gdm-root .issue{font-size:18px;font-weight:900;letter-spacing:.1em;margin-top:0}.gdm-root .catchcopy{display:inline-block;font-size:22px;font-weight:900;margin-top:9px;padding:0 9px 5px;border-bottom:3px solid var(--accent2);line-height:1.35}/* 修正: 右側145pxの余白はイラスト用に確保していたが、イラストは移動・拡大縮小可能でユーザーが自分で枠の幅も調整できるため、左右均等の余白に変更 */
.gdm-root .intro{height:208px;padding:8px 10px 7px 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:14.2px;font-weight:600;line-height:1.8;white-space:pre-wrap;overflow:hidden}.gdm-root .mid-grid{height:344px;display:grid;grid-template-columns:41% 59%;gap:13px}.gdm-root .bottom-grid{height:300px;display:grid;grid-template-columns:41% 59%;gap:13px;margin-top:13px}.gdm-root .box{position:relative;border:2px solid var(--accent);border-radius:17px;padding:31px 10px 8px;background:#fff}.gdm-root .box.study{border-color:var(--green)}.gdm-root .box.goal{border-color:var(--accent2)}
/* 修正: 見出し(.sign)の背景を色付きグラデーションから白色に統一し、box-sizing:border-boxとflex中央寄せを追加して高さ調整ボタンに対応(高さを変えても文字が上に張り付かず中央に残る) */
.gdm-root .sign{position:absolute;top:-18px;left:50%;transform:translateX(-50%);min-width:220px;padding:5px 20px 6px;border:2px solid var(--accent);border-radius:18px;background:#fff;font-size:21px;font-weight:900;text-align:center;white-space:nowrap;letter-spacing:.05em;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.gdm-root .study .sign{border-color:var(--green);background:#fff}.gdm-root .goal .sign{border-color:var(--accent2);background:#fff}
.gdm-root .sign-height-adjust{display:none;position:absolute;top:3px;right:5px;z-index:30;gap:2px;background:#fff;border:1px solid #287bd4;border-radius:10px;padding:1px;box-shadow:0 2px 6px #17365d33}
.gdm-root .sheet.layout-unlocked .resizable-field.selected-object .sign-height-adjust{display:flex}
.gdm-root .sign-height-btn{width:20px;height:20px;border:0;border-radius:50%;background:#eaf3ff;color:#17365d;font-weight:900;font-size:13px;line-height:1;cursor:pointer;touch-action:manipulation}
.gdm-root .sign-height-btn:active{background:#287bd4;color:#fff}
@media print{.gdm-root .sign-height-adjust{display:none!important}}.gdm-root .events{font-size:13.5px;font-weight:700;line-height:1.48}.gdm-root .event-row{display:grid;grid-template-columns:116px 1fr;gap:5px;padding:5px 3px;border-bottom:1.5px dashed var(--accent)}.gdm-root .event-row.holiday{color:#ed211c}.gdm-root .event-row:last-child{border-bottom:0}.gdm-root .study-table{font-size:12.6px;font-weight:700;border:1px solid var(--green)}.gdm-root .study-row{display:grid;grid-template-columns:60px 1fr;border-bottom:1.5px dashed var(--green);min-height:28px;align-items:center}.gdm-root .study-row:last-child{border-bottom:0}.gdm-root .subject{height:100%;display:grid;place-items:center;border-right:1px solid var(--green);font-weight:900}.gdm-root .study-text{padding:4px 8px;line-height:1.3}.gdm-root .goal-copy{font-size:20px;font-weight:900;text-align:center;padding:14px 2px 10px;border-bottom:3px solid var(--accent2);line-height:1.35}.gdm-root .goal-list{font-size:14px;font-weight:700;line-height:1.55;margin:14px 0 0;padding-left:18px}.gdm-root .goal-list li{margin:9px 0}.gdm-root .notice-list{counter-reset:n;display:grid;gap:0;font-size:11.2px;line-height:1.32;font-weight:650}.gdm-root .notice-item{position:relative;padding:5px 4px 5px 34px;border-bottom:1.5px dashed var(--accent);white-space:pre-wrap}.gdm-root .notice-item:last-child{border-bottom:0}.gdm-root .notice-item:before{counter-increment:n;content:counter(n);position:absolute;left:2px;top:5px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#236bb3;color:#fff;font-size:15px;font-weight:900}.gdm-root .notice-title{font-weight:900;font-size:12.5px}.gdm-root .decor{display:none;position:absolute;z-index:4;pointer-events:none}.gdm-root .decor svg{width:100%;height:100%;overflow:visible}.gdm-root .d-top-left{left:8px;top:10px;width:145px;height:132px}.gdm-root .d-top-right{right:6px;top:8px;width:165px;height:146px}.gdm-root .d-kids{right:23px;top:235px;width:120px;height:145px}.gdm-root .d-mid-left{left:4px;top:444px;width:57px;height:59px}.gdm-root .d-mid-right{right:4px;top:458px;width:68px;height:53px}.gdm-root .d-bottom-left{left:8px;bottom:8px;width:285px;height:76px}.gdm-root .d-bottom-right{right:8px;bottom:5px;width:230px;height:82px}.gdm-root .scribble{stroke:#202020;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;fill:none}.gdm-root .thin{stroke-width:2}.gdm-root .season-label{font-family:"Yu Gothic",sans-serif;font-size:12px;font-weight:900;fill:#17365d}.gdm-root .print-note{font-size:12px;color:#52657c;text-align:center;margin-top:10px}
/* 修正: 裏面(2ページ目)の新設。ページ区切りラベル(page-divider)、裏面の読み取り専用ヘッダー(masthead-back)、拡大したお知らせ欄(notice-back/notice-list-back)を追加 */
/* 修正: 裏面は常時表示ではなく「＋裏面を追加」ボタンでのみ表示するため、そのボタンと、表示後に出すクローズボタン(back-close-btn)のスタイルを追加 */
.gdm-root .add-back-page-btn{display:block;width:794px;margin:16px auto 8px;padding:14px 10px;border:2px dashed #9fb3c7;border-radius:14px;background:#f5f9fd;color:#3a5674;font-size:14px;font-weight:800;cursor:pointer}
.gdm-root .add-back-page-btn:hover{background:#eaf2fa;border-color:#6f92b5}
.gdm-root .add-back-page-btn[hidden]{display:none}
.gdm-root .page-divider{width:794px;margin:16px auto 8px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;color:#5b6b7c;font-size:13px;font-weight:800;letter-spacing:.12em}
.gdm-root .page-divider[hidden]{display:none}
.gdm-root .page-divider span{display:inline-block;padding:4px 20px;border:1px solid #c7d3df;border-radius:999px;background:#fff}
.gdm-root .back-close-btn{width:24px;height:24px;border-radius:50%;border:1px solid #c7d3df;background:#fff;color:#5b6b7c;font-size:14px;line-height:1;cursor:pointer}
.gdm-root .back-close-btn:hover{background:#fde8e7;border-color:#e2a7a2;color:#a72d28}
.gdm-root .sheet-back[hidden]{display:none}
.gdm-root .masthead-back{text-align:center;padding-bottom:10px;margin-bottom:20px;border-bottom:3px solid var(--accent)}
.gdm-root .back-title{font-family:var(--title-font,"Klee One","Segoe Print","Comic Sans MS","Yu Gothic",sans-serif);font-size:30px;font-weight:900;color:#101010}
.gdm-root .back-issue{font-size:14px;font-weight:800;letter-spacing:.08em;color:#52657c;margin-top:3px}
.gdm-root .notice-back{min-height:900px}
.gdm-root .notice-list-back{font-size:14.5px;line-height:1.65}
.gdm-root .notice-list-back .notice-item{padding:10px 6px 10px 46px}
.gdm-root .notice-list-back .notice-item:before{width:30px;height:30px;font-size:18px;top:9px}
.gdm-root .notice-list-back .notice-title{font-size:15px}
@media(max-width:1100px){.gdm-root .workspace{grid-template-columns:360px 1fr}.gdm-root .preview-area{justify-content:flex-start}.gdm-root .editor{padding:10px}}
@media(max-width:780px){.gdm-root .app{display:block}.gdm-root .topbar{position:relative}.gdm-root .workspace{display:block;height:auto;overflow:visible}.gdm-root .editor{border:0}.gdm-root .preview-area{padding:12px;overflow:auto;justify-content:flex-start}.gdm-root .sheet-wrap{transform-origin:top left}.gdm-root .top-actions .png{display:none}}
/* 修正: 書式コントロールはヘッダー(.topbar)に統合済みのため、topbarを非表示にすれば印刷時は自動的に含まれない */
@media print{.gdm-root{background:#fff}.gdm-root .topbar,.gdm-root .editor,.gdm-root .print-note,.gdm-root .page-divider,.gdm-root .add-back-page-btn{display:none!important}.gdm-root .workspace,.gdm-root .preview-area{display:block;height:auto;overflow:visible;padding:0;background:#fff}.gdm-root .sheet-wrap{width:210mm;min-width:210mm;filter:none}.gdm-root .sheet{width:210mm;height:297mm;transform:none!important}.gdm-root .sheet-back{break-before:page;page-break-before:always}@page{size:A4 portrait;margin:0}}

body.admin-bar .gdm-root .app{min-height:calc(100vh - 32px);min-height:calc(100dvh - 32px)}
/* 修正: workspaceの高さをvh計算で固定していたのを廃止。.app側のgrid-template-rows(58px 1fr)の1fr行に任せることで、
   admin-barの有無などでheaderの実高さが変わっても、workspace側の数値を都度合わせ直す必要がなくなる */
@media(max-width:782px){body.admin-bar .gdm-root .app{min-height:calc(100vh - 46px);min-height:calc(100dvh - 46px)}}
/* 修正: 裏面(2ページ目)が297mm固定高さでクリップされないよう、heightをautoにしてinsetをtop/leftのみに変更(表・裏の2ページとも正しく印刷されるようにするため) */
@media print{body.gdm-print-mode *{visibility:hidden!important}body.gdm-print-mode .gdm-root,body.gdm-print-mode .gdm-root *{visibility:visible!important}body.gdm-print-mode .gdm-root{position:absolute;top:0;left:0;width:210mm;height:auto;margin:0!important;z-index:2147483647}}


.gdm-root .topbar .side-toggle{background:#ffffff18;color:#fff;border:1px solid #ffffff66;box-shadow:none;padding:8px 12px}
.gdm-root .workspace.sidebar-hidden{grid-template-columns:1fr}.gdm-root .workspace.sidebar-hidden .editor{display:none}
.gdm-root .workspace.sidebar-hidden .preview-area{justify-content:center}
.gdm-root .format-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.gdm-root .check-row{display:flex;align-items:center;gap:8px;padding:8px 2px;color:#344960;font-size:13px;font-weight:800}
.gdm-root .check-row input{width:18px;height:18px;accent-color:#2e74d2}
.gdm-root .layout-lock-row{position:sticky;top:47px;z-index:11;margin:-4px 0 12px;padding:10px 12px;border:1px solid #b9cce0;border-radius:11px;background:#fff;box-shadow:0 3px 10px #17365d12}.gdm-root .layout-lock-row span{display:grid;gap:1px}.gdm-root .layout-lock-row strong{color:#213e60}.gdm-root .layout-lock-row small{color:#687b8e;font-size:10px;font-weight:700}
.gdm-root .sheet .paper-text,.gdm-root .sheet .intro{font-family:var(--body-font,"BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif)}
.gdm-root .sheet .main-title{font-family:var(--title-font,"Klee One","Segoe Print","Comic Sans MS","Yu Gothic",sans-serif)}
.gdm-root .sheet .issue,.gdm-root .sheet .catchcopy,.gdm-root .sheet .sign{font-family:var(--heading-font,"Zen Maru Gothic","BIZ UDPGothic","Yu Gothic",sans-serif)}
.gdm-root .notice-list{counter-reset:none}.gdm-root .notice-item{padding-left:4px}.gdm-root .notice-item:before{display:none!important;content:none!important}
.gdm-root .font-upload{grid-column:1/-1}.gdm-root .font-upload-status{font-size:12px;font-weight:800;color:#267047;line-height:1.5;margin-top:6px}.gdm-root .font-note{grid-column:1/-1;font-size:11px;color:#65778a;line-height:1.5;margin-top:-3px}
.gdm-root .sidebar-tabs{position:sticky;top:-16px;z-index:12;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:-16px -16px 13px;padding:12px 12px 10px;background:#f7f9fcee;border-bottom:1px solid #d7e0eb;backdrop-filter:blur(8px)}.gdm-root .sidebar-tab{border:1px solid #b9cadc;border-radius:10px;padding:9px 5px;background:#fff;color:#466078;font-size:13px;font-weight:900;cursor:pointer}.gdm-root .sidebar-tab.active{border-color:#2e74d2;background:#2e74d2;color:#fff;box-shadow:0 3px 8px #2e74d238}.gdm-root .tab-pane{display:none}.gdm-root .tab-pane.active{display:block}.gdm-root .compact-panel{padding:12px 14px}.gdm-root .compact-panel .panel-title{margin-bottom:5px}.gdm-root .direct-guide{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border-radius:10px;background:#eaf4ff;color:#245b91;font-size:12px;font-weight:800;line-height:1.55;margin-bottom:12px}.gdm-root .direct-guide .guide-mark{flex:0 0 25px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#2e74d2;color:#fff}.gdm-root .hidden-state{display:none!important}.gdm-root .tab-actions{display:grid;gap:7px}.gdm-root .tab-actions .btn{width:100%}
.gdm-root .selection-size-tool{grid-column:1/-1;border:1px solid #bfd2e7;border-radius:11px;padding:10px;background:#f4f9ff}.gdm-root .selection-size-title{font-size:12px;font-weight:900;color:#345d86;margin-bottom:7px}.gdm-root .selection-size-row{display:block}.gdm-root .selection-size-row select{width:100%;border:1px solid #aac0d8;border-radius:8px;padding:8px;background:#fff}.gdm-root .user-font-size{line-height:inherit}
/* 修正: .selection-size-statusは書式バー新設に伴いクラス名を.format-bar-statusへ変更したため、このルールは不要になり削除 */
.gdm-root .sheet.size-small .paper-text{font-size:90%}.gdm-root .sheet.size-large .paper-text{font-size:108%}
.gdm-root .sheet.panels-soft .box,.gdm-root .sheet.panels-soft .sign,.gdm-root .sheet.panels-soft .study-table{background-color:#ffffffe0}
.gdm-root .sheet.panels-transparent .box,.gdm-root .sheet.panels-transparent .sign,.gdm-root .sheet.panels-transparent .study-table{background:transparent}
.gdm-root .sheet.preview-edit [contenteditable="true"]{cursor:text;border-radius:3px;outline:1px dashed transparent;transition:outline-color .15s,background .15s}
.gdm-root .sheet.preview-edit [contenteditable="true"]:hover{outline-color:#3183df;background:#eaf4ffb8}
.gdm-root .sheet.preview-edit [contenteditable="true"]:focus{outline:2px solid #3183df;background:#fff;box-shadow:0 0 0 4px #3183df24}
.gdm-root .resizable-field{position:relative}.gdm-root .resize-handle{display:none;position:absolute;right:-1px;bottom:-1px;width:23px;height:23px;z-index:30;cursor:nwse-resize;touch-action:none;border-radius:6px 0 13px 0;background:linear-gradient(135deg,transparent 0 38%,#fff 39% 48%,#287bd4 49% 59%,#fff 60% 69%,#287bd4 70% 80%,#fff 81%);filter:drop-shadow(-1px -1px 1px #17365d55)}.gdm-root .move-handle{display:none;position:absolute;left:-10px;top:-10px;width:24px;height:24px;z-index:31;place-items:center;border-radius:50%;background:#287bd4;border:3px solid #fff;box-shadow:0 2px 7px #17365d66;cursor:move;touch-action:none}.gdm-root .move-handle:before{content:"✥";color:#fff;font-size:14px;font-weight:900;line-height:1}
.gdm-root .resize-help{font-size:12px;color:#2870b8;font-weight:800;margin:-2px 0 8px 26px}
.gdm-root .edit-badge{position:sticky;top:10px;align-self:flex-start;margin-left:-104px;z-index:8;background:#17365de8;color:#fff;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:900;pointer-events:none}
.gdm-root .illustration-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gdm-root .illustration-tools .btn{padding:8px 7px;font-size:13px}.gdm-root .illustration-tools .wide{grid-column:1/-1}.gdm-root .file-button{position:relative;overflow:hidden;text-align:center}.gdm-root .file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.gdm-root .illustration-layer{position:absolute;inset:0;z-index:12;pointer-events:none}
/* 修正: 「背面」ボタンでイラストを文章(.paper-text, z-index:3)より奥へ送れるようにするための層。.illustration-theme-layer(z-index:2)と同じ段(文章より下)に配置 */
.gdm-root .illustration-layer-back{position:absolute;inset:0;z-index:2;pointer-events:none}.gdm-root .movable-illustration{position:absolute;touch-action:none;user-select:none;pointer-events:auto;cursor:pointer;transform-origin:center}.gdm-root .movable-illustration img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.gdm-root .movable-illustration.selected{outline:2px solid #247bd2;box-shadow:0 0 0 3px #fff9}.gdm-root .illustration-resize{display:none;position:absolute;right:-10px;bottom:-10px;width:23px;height:23px;border-radius:50%;background:#247bd2;border:3px solid #fff;box-shadow:0 1px 5px #0005;cursor:nwse-resize;touch-action:none}.gdm-root .illustration-status{padding:8px 10px;border-radius:9px;background:#e9f4ff;color:#185a9d;font-size:12px;font-weight:800;line-height:1.5;margin:7px 0}
.gdm-root .movable-illustration{pointer-events:auto;cursor:pointer}.gdm-root .sheet.layout-unlocked .movable-illustration{cursor:move}.gdm-root .resizable-field.selected-object{outline:2px solid #287bd4;box-shadow:0 0 0 3px #fff9;z-index:13}.gdm-root .sheet.layout-locked .resizable-field.selected-object{outline-style:dashed}.gdm-root .sheet.layout-unlocked .resizable-field.selected-object .resize-handle,.gdm-root .sheet.layout-unlocked .resizable-field.selected-object .move-handle{display:grid}.gdm-root .sheet.layout-unlocked .movable-illustration.selected .illustration-resize{display:block}.gdm-root .sheet.layout-unlocked .resizable-field.is-resizing,.gdm-root .sheet.layout-unlocked .resizable-field.is-moving{outline:3px solid #287bd4;box-shadow:0 4px 15px #17365d33}.gdm-root .sheet.layout-locked .movable-illustration.selected{outline-style:dashed}
@media(max-width:780px){.gdm-root .topbar{gap:6px;padding:0 8px}.gdm-root .brand{font-size:16px}.gdm-root .topbar .side-toggle{padding:7px 8px}.gdm-root .edit-badge{display:none}.gdm-root .format-grid{grid-template-columns:1fr}}
@media print{.gdm-root .edit-badge{display:none!important}.gdm-root .sheet.preview-edit [contenteditable="true"]{outline:0!important;box-shadow:none!important}}
@media print{.gdm-root .resize-handle,.gdm-root .move-handle{display:none!important}}
@media print{.gdm-root .illustration-resize{display:none!important}.gdm-root .movable-illustration{outline:0!important;box-shadow:none!important}}
@media print{.gdm-root .resizable-field.selected-object{outline:0!important;box-shadow:none!important}}

/* v1.3: 初期モーダル + 右下コンテキストツール */
.gdm-root .topbar{justify-content:flex-start}
/* 修正: 月ピルは常にヘッダー右端固定(flex:0 0 auto)。中央の書式コントロール(.header-format)がflex:1で残り幅を占めるため、月ピルまで引きずられて中央に寄ることはない */
.gdm-root .top-month{padding:6px 12px;border:1px solid #ffffff66;border-radius:999px;background:#ffffff18;font-size:13px;font-weight:900;flex:0 0 auto}
/* 修正: 固定vh計算をやめ、.appのgrid(1fr行)による自動ストレッチに任せる(理由は上のadmin-bar側コメント参照) */
.gdm-root .workspace{display:block;overflow:hidden}
/* 修正: ヘッダー直下の別バー(.format-bar)を廃止し、Wordのリボンのようなフォント・見出し・タイトル・文字サイズの書式コントロールをヘッダー自体に統合。案内文(旧.top-guide)はこのコントロール群と場所が競合するため終了し、この横スクロール可能なグループがヘッダー中央を占める(左:タイトル/中央:書式コントロール/右:月ピルの3分割は維持) */
.gdm-root .header-format{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:14px;overflow-x:auto}
.gdm-root .format-field{display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}
.gdm-root .format-field span{font-size:11px;font-weight:800;color:#bcd2ee}
.gdm-root .format-field select{border:1px solid #bccbda;border-radius:8px;padding:6px 8px;background:#fff;font-size:12px;min-width:118px}
.gdm-root .format-bar-status{flex:1 1 auto;min-width:120px;font-size:11px;font-weight:800;color:#dceaff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 修正: ヘッダーがネイビー背景になったため、書式ボタンは同ヘッダー内の.side-toggleと同じ半透明白スタイルに変更(以前の白地・紺文字はネイビー背景の直下で使う前提のスタイルだった) */
.gdm-root .format-more-btn{flex:0 0 auto;border:1px solid #ffffff66;border-radius:999px;padding:7px 14px;background:#ffffff18;color:#fff;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap}
.gdm-root .format-more-btn:hover{border-color:#fff;background:#ffffff2e}
/* 修正: 右下フロートから移設した「編集」ボタン。文字未選択時は明確に押せないと分かるよう淡色化する */
.gdm-root .format-edit-btn:disabled{opacity:.45;cursor:not-allowed}
.gdm-root .format-edit-btn:not(:disabled):hover{border-color:#fff;background:#ffffff2e}
/* 修正: 右パディングを常時96pxにしていたため紙面が左右中央から約37px左にズレていた。通常幅は左右均等22pxにする */
.gdm-root .preview-area{height:100%;padding:22px;justify-content:center;overflow:auto}
.gdm-root .sheet-wrap{margin-inline:auto}
/* 修正: 追加。紙面(794px)とフローティングボタンが重なりうる中間幅の帯域(781〜1000px)だけ右余白を確保。780px以下は既存のモバイル用メディアクエリがさらに上書きするので対象外 */
@media(max-width:1000px) and (min-width:781px){.gdm-root .preview-area{padding-right:96px}}
.gdm-root .floating-tools{position:fixed;right:18px;bottom:18px;z-index:9990;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.gdm-root .base-floats{display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:auto}.gdm-root .context-floats{display:grid;grid-template-columns:repeat(2,72px);gap:7px;padding:9px;border:1px solid #c6d5e5;border-radius:18px;background:#f9fbfeee;box-shadow:0 8px 28px #17365d30;backdrop-filter:blur(8px);pointer-events:auto}.gdm-root .context-floats[hidden]{display:none!important}.gdm-root .float-caption{grid-column:1/-1;text-align:center;color:#466079;font-size:11px;font-weight:900}.gdm-root .float-btn{width:58px;height:58px;border:1px solid #c2d1e1;border-radius:50%;display:grid;place-items:center;align-content:center;gap:1px;padding:5px;background:#fff;color:#17365d;box-shadow:0 5px 15px #17365d32;cursor:pointer;font:inherit;font-weight:900}.gdm-root .float-btn img{width:22px;height:22px;display:block}.gdm-root .float-btn span{font-size:9px;line-height:1.05}.gdm-root .float-btn:hover,.gdm-root .float-btn:focus-visible{transform:translateY(-2px);border-color:#2e74d2;box-shadow:0 7px 18px #17365d3d}.gdm-root .float-btn.context{width:72px;height:48px;border-radius:13px;display:flex;justify-content:center;gap:5px}.gdm-root .float-btn.context span{font-size:10px}.gdm-root .float-btn.primary-float{background:#2e74d2;color:#fff;border-color:#2e74d2}.gdm-root .float-btn.primary-float img{filter:brightness(0) invert(1)}.gdm-root .float-btn.lock-float.active{background:#d4af37;border-color:#b8941f;color:#fff}.gdm-root .float-btn.lock-float.active img{filter:brightness(0) invert(1)}/* 修正: ロック中の反転色を他アプリ共通のゴールド(#d4af37/#b8941f)に統一し、アイコンも白反転させて視認性を確保(以前は薄黄色#fff3c6で色味が違っていた) */.gdm-root .float-btn.danger-float{color:#a72d28;border-color:#efb5b1;background:#fff8f7}.gdm-root .float-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.gdm-root .modal-backdrop{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:20px;background:#10294599;backdrop-filter:blur(5px)}.gdm-root .modal-backdrop.open{display:flex}.gdm-root .modal-card{width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:22px;border:1px solid #cad7e5;border-radius:20px;background:#f8fbff;box-shadow:0 22px 70px #0d274566}.gdm-root .modal-card.design-card{width:min(680px,100%)}.gdm-root .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.gdm-root .modal-head h2{margin:0;color:#17365d;font-size:23px}.gdm-root .modal-step{margin-bottom:3px;color:#2e74d2;font-size:11px;font-weight:900;letter-spacing:.08em}.gdm-root .modal-close{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;background:#e3ebf4;color:#294763;font-size:25px;line-height:1;cursor:pointer}.gdm-root .modal-paste{height:310px;resize:vertical}.gdm-root .modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:13px}
/* 修正: モーダル内のボタンはテキストの長さに応じて幅がバラバラだったため、min-widthとtext-alignで見た目の大きさを揃えた */
/* 修正: 長いラベル(例:「すべての枠を標準に戻す」)だけ2行に折り返され、他のボタンと高さが揃わなかったため、white-space:nowrapと明示的なheightで高さも統一した */
.gdm-root .modal-actions .btn{min-width:132px;height:40px;padding:0 14px;text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.gdm-root .modal-actions .modal-primary{margin-left:auto}.gdm-root .modal-card .field select,.gdm-root .modal-card .field textarea{background:#fff}.gdm-root .modal-card .illustration-status{margin:5px 0 12px}.gdm-root .hidden-state{display:none!important}
@media(max-width:780px){.gdm-root .workspace{height:auto;min-height:calc(100vh - 58px);overflow:visible}.gdm-root .preview-area{height:auto;min-height:calc(100vh - 58px);padding:12px 68px 12px 12px}.gdm-root .header-format{gap:8px}.gdm-root .format-field select{min-width:96px;font-size:11px}.gdm-root .format-bar-status{display:none}.gdm-root .format-more-btn{padding:6px 10px;font-size:11px}.gdm-root .floating-tools{right:8px;bottom:8px}.gdm-root .float-btn{width:50px;height:50px}.gdm-root .context-floats{grid-template-columns:repeat(2,64px);padding:7px}.gdm-root .float-btn.context{width:64px;height:44px}.gdm-root .modal-backdrop{padding:8px;align-items:flex-start}.gdm-root .modal-card{max-height:calc(100vh - 16px);padding:16px;border-radius:16px}.gdm-root .modal-paste{height:42vh}/* 修正: flex:1 1 42%で幅を強制していたため、長いラベルのボタンだけ折り返されて高さがそろわなかった。white-space:nowrap(共通ルール側)と組み合わせ、幅は内容に合わせて自然に決まるようにした */
.gdm-root .modal-actions .btn{flex:0 1 auto}.gdm-root .modal-actions .modal-primary{flex-basis:100%}}
@media print{.gdm-root .floating-tools,.gdm-root .modal-backdrop{display:none!important}}

/* v1.4: 紙面レイアウト・タイトルデザイン選択 */
.gdm-root .calendar-panel{display:none}
.gdm-root .setup-card{width:min(980px,100%)}
.gdm-root .template-choice-section{margin:12px 0 15px}
.gdm-root .template-choice-label{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#17365d;font-size:13px;font-weight:900}
.gdm-root .template-choice-label>span,.gdm-root .template-month-field>span>b,.gdm-root .field-step{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;background:#2e74d2;color:#fff;font-size:12px;font-weight:900}
.gdm-root .template-choice-grid{display:grid;gap:8px}
/* 修正: 「2段新聞」「カード」削除で紙面レイアウトが3種、「手描き枠」削除でタイトルデザインが4種になったため列数を調整 */
.gdm-root .layout-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gdm-root .title-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gdm-root .template-choice{min-width:0;border:2px solid #cfdae6;border-radius:12px;padding:8px;background:#fff;color:#294763;display:grid;place-items:center;gap:3px;cursor:pointer;font:inherit;box-shadow:0 2px 7px #17365d0c;transition:border-color .15s,box-shadow .15s,transform .15s}
.gdm-root .template-choice:hover{border-color:#78a8db;transform:translateY(-1px)}
.gdm-root .template-choice.active{border-color:#2e74d2;background:#f0f7ff;box-shadow:0 0 0 3px #2e74d21c}
.gdm-root .template-choice strong{font-size:12px;line-height:1.2}.gdm-root .template-choice small{color:#6a7d90;font-size:9px;line-height:1.2;text-align:center}
.gdm-root .layout-mini{width:72px;height:49px;display:grid;gap:2px;padding:5px;border:1px solid #9eb2c7;background:#fff;overflow:hidden}
.gdm-root .layout-mini i{display:block;border-radius:1px;background:#bdd2e8}
/* 修正: 「2段新聞」「カード」削除に伴い.mini-newspaper/.mini-cards関連ルールを削除 */
.gdm-root .mini-standard{grid-template-columns:1fr 1.35fr;grid-template-rows:10px 1fr 1fr}.gdm-root .mini-standard i:first-child{grid-column:1/-1}.gdm-root .mini-standard i:nth-child(2){grid-column:1/-1;background:#dbe6f1}
.gdm-root .mini-calendar{grid-template-columns:repeat(3,1fr);grid-template-rows:8px repeat(2,1fr)}.gdm-root .mini-calendar i:first-child{grid-column:1/-1;background:#83acd6}.gdm-root .mini-calendar i:not(:first-child){outline:1px solid #d1dce7;background:#f5f8fb}
.gdm-root .mini-start{grid-template-columns:1fr 1fr;grid-template-rows:9px 1fr 13px}.gdm-root .mini-start i:first-child{grid-column:1/-1;background:#82add8}.gdm-root .mini-start i:nth-child(2){grid-column:1/-1;background:#dce7f2}.gdm-root .mini-start i:nth-child(3){grid-column:1/-1}
.gdm-root .title-choice{padding:8px 5px}.gdm-root .title-mini{width:100%;min-height:31px;display:grid;place-items:center;color:#17365d;font-size:11px;line-height:1}
.gdm-root .title-mini-square{border:2px solid #587b9e}.gdm-root .title-mini-rounded{border:2px solid #587b9e;border-radius:10px}.gdm-root .title-mini-banner{background:#587b9e;color:#fff}
.gdm-root .template-month-field>span{display:flex;align-items:center;gap:7px}.gdm-root .modal-paste{height:220px}

/* タイトルデザインは紙面レイアウトから独立して組み合わせる */
/* 修正: 「手描き枠」デザインを削除したためtitle-handdrawnへの参照を除去 */
.gdm-root .sheet.title-square .main-title,.gdm-root .sheet.title-rounded .main-title,.gdm-root .sheet.title-banner .main-title{width:min(590px,82%);margin:2px auto 0;padding:9px 20px 11px;font-size:58px;line-height:.92;text-shadow:none;transform:none}
.gdm-root .sheet.title-square .main-title{border:3px solid var(--accent);background:#fff}
/* 修正: 角丸枠タイトルの背景をうっすら色付きグラデーションから白色に統一(見出しと同じく「タイトルの枠の背景は白色がデフォルト」に対応) */
.gdm-root .sheet.title-rounded .main-title{border:3px solid var(--accent);border-radius:28px;background:#fff}
.gdm-root .sheet.title-banner .main-title{width:calc(100% - 150px);border-radius:3px;background:var(--accent);color:#fff;box-shadow:10px 0 0 var(--accent2),-10px 0 0 var(--accent2)}
/* 修正: 「四角枠」「角丸枠」タイトルのみ、枠の高さをボタンで調整できるようにする(枠なし・帯は対象外というユーザー指定のため、この2つのセレクタだけに限定)。box-sizing:border-boxでボタンのoffsetHeightとstyle.heightを一致させ、flexで文字を中央寄せして高さを変えても文字位置が崩れないようにする */
.gdm-root .sheet.title-square .main-title,.gdm-root .sheet.title-rounded .main-title{box-sizing:border-box;display:flex;align-items:center;justify-content:center}
/* 修正: 枠なし・帯タイトルには上のボタンによる高さ指定を絶対に反映させない安全策(タイトルデザインを切り替えても、以前square/roundedで設定した高さが残っていて漏れ出さないようにする) */
.gdm-root .sheet.title-free .main-title,.gdm-root .sheet.title-banner .main-title{height:auto!important}
/* 修正: 見出し高さボタン(.sign-height-adjust)と同じく、通常のレイアウトの流れに含めず絶対配置のオーバーレイにする。
   flowに含めるとmasthead(高さ固定154px)からはみ出し、直下の冒頭文(.intro)欄がクリックを奪ってしまう不具合があったため、position:absoluteに変更した */
.gdm-root .title-height-adjust{display:none;position:absolute;top:2px;right:2px;z-index:30;align-items:center;justify-content:center;gap:2px;background:#fff;border:1px solid #287bd4;border-radius:10px;padding:1px;box-shadow:0 2px 6px #17365d33}
.gdm-root .sheet.title-square .title-height-adjust,.gdm-root .sheet.title-rounded .title-height-adjust{display:flex}
.gdm-root .title-height-btn{width:22px;height:22px;border:1px solid #287bd4;border-radius:50%;background:#eaf3ff;color:#17365d;font-weight:900;font-size:14px;line-height:1;cursor:pointer;touch-action:manipulation}
.gdm-root .title-height-btn:active{background:#287bd4;color:#fff}
@media print{.gdm-root .title-height-adjust{display:none!important}}

/* カレンダー型 */
.gdm-root .sheet.layout-calendar{padding:17px 22px 15px}
.gdm-root .sheet.layout-calendar .masthead{height:120px}
.gdm-root .sheet.layout-calendar .main-title{font-size:54px}
.gdm-root .sheet.layout-calendar.title-square .main-title,.gdm-root .sheet.layout-calendar.title-rounded .main-title,.gdm-root .sheet.layout-calendar.title-banner .main-title{font-size:45px;padding-block:7px}
.gdm-root .sheet.layout-calendar .issue{font-size:15px}.gdm-root .sheet.layout-calendar .catchcopy{font-size:17px;margin-top:5px;padding-bottom:2px}
.gdm-root .sheet.layout-calendar .intro{height:110px;padding:4px 8px 4px 8px;font-size:12.5px;line-height:1.55}
.gdm-root .sheet.layout-calendar .calendar-panel{display:block;height:400px;margin-top:17px;padding:25px 4px 4px;border-radius:6px}
.gdm-root .sheet.layout-calendar .calendar-panel>.sign{top:-17px;min-width:260px;border-radius:5px;font-size:19px}
.gdm-root .calendar-grid{height:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:25px repeat(var(--calendar-weeks,5),minmax(0,1fr));border-top:1px solid #667d93;border-left:1px solid #667d93;background:#fff}
.gdm-root .calendar-weekday,.gdm-root .calendar-day{min-width:0;border-right:1px solid #667d93;border-bottom:1px solid #667d93}
.gdm-root .calendar-weekday{display:grid;place-items:center;background:#e9f1f8;font-size:12px;font-weight:900}.gdm-root .calendar-weekday.saturday{color:#1466c3}.gdm-root .calendar-weekday.sunday{color:#d62b2b}
.gdm-root .calendar-day{position:relative;padding:3px 4px;overflow:hidden;font-size:9.5px;line-height:1.18}.gdm-root .calendar-day.outside{background:#f1f4f7}.gdm-root .calendar-day.saturday{background:#edf6ff}.gdm-root .calendar-day.sunday,.gdm-root .calendar-day.holiday{background:#fff0f0}.gdm-root .calendar-date{font-size:12px;font-weight:900;text-align:right}.gdm-root .calendar-day.saturday .calendar-date{color:#1466c3}.gdm-root .calendar-day.sunday .calendar-date,.gdm-root .calendar-day.holiday .calendar-date{color:#d62b2b}.gdm-root .calendar-event{margin-top:2px;font-weight:750;overflow-wrap:anywhere}.gdm-root .calendar-day.holiday .calendar-event{color:#b92121}
.gdm-root .sheet.layout-calendar .mid-grid{height:155px;display:block;margin-top:12px}.gdm-root .sheet.layout-calendar .mid-grid>.box:first-child{display:none}.gdm-root .sheet.layout-calendar .mid-grid>.study{height:155px;padding-top:27px}.gdm-root .sheet.layout-calendar .study-row{min-height:20px}.gdm-root .sheet.layout-calendar .study-table{font-size:10.4px;display:grid;grid-template-columns:1fr 1fr}.gdm-root .sheet.layout-calendar .study-row{grid-template-columns:45px 1fr}.gdm-root .sheet.layout-calendar .bottom-grid{height:200px;grid-template-columns:36% 64%;gap:10px;margin-top:12px}.gdm-root .sheet.layout-calendar .bottom-grid .box{padding-top:26px}.gdm-root .sheet.layout-calendar .goal-copy{font-size:15px;padding:8px 2px 6px}.gdm-root .sheet.layout-calendar .goal-list{font-size:11px;margin-top:6px;line-height:1.35}.gdm-root .sheet.layout-calendar .goal-list li{margin:4px 0}.gdm-root .sheet.layout-calendar .notice-list{font-size:9.6px;line-height:1.2}

/* 修正: 「2段新聞型」「カード型」レイアウトを削除(標準とほぼ同じ見た目だったため) */

/* 学年スタート型 */
.gdm-root .sheet.layout-start .masthead{height:175px}.gdm-root .sheet.layout-start .main-title{font-size:56px}.gdm-root .sheet.layout-start.title-square .main-title,.gdm-root .sheet.layout-start.title-rounded .main-title,.gdm-root .sheet.layout-start.title-banner .main-title{font-size:54px}.gdm-root .sheet.layout-start .intro{height:330px;padding:18px 82px 14px;font-size:15.2px;line-height:1.9;text-align:justify}.gdm-root .sheet.layout-start .mid-grid{height:270px;grid-template-columns:1fr 1fr;gap:15px}.gdm-root .sheet.layout-start .bottom-grid{height:245px;grid-template-columns:43% 57%;gap:15px}.gdm-root .sheet.layout-start .box{border-radius:5px}.gdm-root .sheet.layout-start .sign{border-radius:5px}

@media(max-width:780px){.gdm-root .layout-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gdm-root .title-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gdm-root .template-choice:last-child{grid-column:auto}.gdm-root .modal-paste{height:34vh}}

/* イラストタイプ */
.gdm-root .illustration-type-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.gdm-root .illustration-choice{padding-inline:4px}.gdm-root .illustration-choice strong{font-size:10.5px}
/* 修正: 実際のイラスト素材のサムネイルを表示できるようボックスを少し拡大し、はみ出さないようoverflow:hiddenを追加(JS側で読み込めた場合のみbackground-imageを設定し、失敗時は従来の簡易アイコンのまま) */
.gdm-root .illustration-mini{position:relative;width:64px;height:48px;display:grid;place-items:center;border-radius:9px;background:#eef4fa;color:#315474;font-size:18px;line-height:1;overflow:hidden}
.gdm-root .mini-handdrawn{font-family:"Klee One","Yu Gothic",sans-serif;transform:rotate(-5deg);border:1px dashed #647f9c;background:#fff}
.gdm-root .mini-animal{background:#fff3e6}.gdm-root .mini-animal i{width:25px;height:24px;border:2px solid #76513d;border-radius:50%;background:#fff;position:relative}.gdm-root .mini-animal i:before,.gdm-root .mini-animal i:after{content:"";position:absolute;top:-10px;width:8px;height:14px;border:2px solid #76513d;border-radius:50%;background:#fff}.gdm-root .mini-animal i:before{left:0;transform:rotate(-18deg)}.gdm-root .mini-animal i:after{right:0;transform:rotate(18deg)}
.gdm-root .mini-pop{background:#fff0c9;color:#ea7040;text-shadow:12px 7px 0 #58a9db,-13px 6px 0 #e9669b}
.gdm-root .mini-nature{background:#edf8e9;color:#4b8f52;font-family:serif;font-size:15px;border-radius:50% 12px 50% 12px}
.gdm-root .mini-school{background:linear-gradient(145deg,#fff7cf,#dff2ff);color:#315474;font-size:10px;border:1px solid #edb74b;box-shadow:inset 0 0 0 2px #fff9}
.gdm-root .mini-simple{background:#fff;border:1px solid #536b82;border-radius:0;font-size:20px;font-weight:400}.gdm-root .mini-none{background:#f3f4f5;color:#8b969f}
.gdm-root .illustration-theme-layer{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.gdm-root .illustration-theme-layer img{display:block;width:100%;height:100%;object-fit:fill}
.gdm-root .sheet.illustration-animal{background:#fffdf8}.gdm-root .sheet.illustration-animal .movable-illustration{filter:drop-shadow(0 2px 2px #5f493522)}
.gdm-root .sheet.illustration-pop{background:#fff}.gdm-root .sheet.illustration-pop .movable-illustration{filter:none}
.gdm-root .sheet.illustration-nature{background:linear-gradient(135deg,#f8fff6,#fff 32%,#fff 70%,#f6fcf1)}.gdm-root .sheet.illustration-nature .movable-illustration{filter:drop-shadow(0 1px 2px #385f3822)}
.gdm-root .sheet.illustration-school{background:#fff}.gdm-root .sheet.illustration-school .movable-illustration{filter:drop-shadow(0 2px 2px #17365d20)}
.gdm-root .sheet.illustration-simple{background:#fff}.gdm-root .sheet.illustration-simple .movable-illustration{opacity:1;filter:none}.gdm-root .sheet.illustration-simple .box{border-width:1px;border-radius:2px}.gdm-root .sheet.illustration-simple .sign{border-width:1px;border-radius:2px;background:#fff;box-shadow:none}
.gdm-root .sheet.illustration-none .illustration-layer,.gdm-root .sheet.illustration-none .illustration-layer-back,.gdm-root .sheet.illustration-none .illustration-theme-layer{display:none}
.gdm-root .sheet.illustration-simple .illustration-layer,.gdm-root .sheet.illustration-simple .illustration-layer-back{display:block}
/* 修正: textFloatTools内に「非表示」ボタンを追加したため、2つのボタンを縦に並べるレイアウトを明示 */
.gdm-root .text-reset-float{pointer-events:auto;display:flex;flex-direction:column;gap:8px}.gdm-root .text-reset-float[hidden]{display:none!important}.gdm-root .reset-box-float{position:relative;width:58px;height:58px;border-color:#7da6cf;background:#f7fbff}.gdm-root .reset-box-float span{font-size:8px}.gdm-root .reset-box-float:not(:disabled)::after{content:"選択枠を元の位置へ";position:absolute;right:68px;top:50%;transform:translateY(-50%) translateX(5px);padding:6px 9px;border-radius:8px;background:#17365d;color:#fff;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s}.gdm-root .reset-box-float:hover::after,.gdm-root .reset-box-float:focus-visible::after{opacity:1;transform:translateY(-50%)}
/* 修正: hideSelectedBoxBtnは.reset-box-floatの位置・見た目を共有しつつ、ツールチップ文言だけIDセレクタで上書き(danger-floatとの重ね掛けで色は赤系になる) */
.gdm-root #hideSelectedBoxBtn:not(:disabled)::after{content:"選択した枠を非表示にする(あとで戻せます)"}
@media(max-width:780px){.gdm-root .illustration-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.9.1: イラスト追加モーダル・枠の表示切替モーダル */
.gdm-root .add-illustration-card{width:min(760px,100%)}
.gdm-root .illustration-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:46vh;overflow:auto;margin-top:4px;padding:4px;border:1px solid #dbe4ee;border-radius:12px;background:#f7fafd}
.gdm-root .illustration-picker-item{border:2px solid #d3dfeb;border-radius:10px;padding:5px;background:#fff;cursor:pointer;display:grid;place-items:center;aspect-ratio:1/1;transition:border-color .15s,transform .15s}
.gdm-root .illustration-picker-item img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.gdm-root .illustration-picker-item:hover,.gdm-root .illustration-picker-item:focus-visible{border-color:#2e74d2;transform:translateY(-2px)}
.gdm-root .box-visibility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gdm-root .box-toggle{position:relative;padding:12px 8px}
.gdm-root .box-toggle strong{font-size:14px}
.gdm-root .box-toggle small{font-size:11px;font-weight:800}
.gdm-root .box-toggle.active small{color:#227344}
.gdm-root .box-toggle:not(.active) small{color:#9a2f2f}
@media(max-width:780px){.gdm-root .box-visibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gdm-root .illustration-picker-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));max-height:38vh}}
/* 修正: 枠を非表示にした際、レイアウト側の表示ルール(.calendar-panelなど)より確実に優先させるためimportantを使用 */
.gdm-root .resizable-field.box-hidden{display:none!important}
/* 選択枠だけに操作ハンドルを表示。本文のoverflowでも隠れない枠内配置。 */
.gdm-root .sheet [contenteditable="true"]{resize:none!important}
.gdm-root .resizable-field > .move-handle,
.gdm-root .resizable-field > .resize-handle{display:none!important;user-select:none;touch-action:none}
.gdm-root .sheet.layout-unlocked .resizable-field.selected-object > .move-handle,
.gdm-root .sheet.layout-unlocked .resizable-field.selected-object > .resize-handle{display:grid!important}
.gdm-root .resizable-field > .move-handle{left:2px;top:2px;width:30px;height:30px;line-height:1;white-space:normal}
.gdm-root .resizable-field > .resize-handle{right:2px;bottom:2px;width:26px;height:26px}
.gdm-root .sheet.layout-unlocked .resizable-field.selected-object{outline:2px solid #287bd4;outline-offset:0}
.gdm-root .sheet.layout-locked .resizable-field.selected-object{outline:none;box-shadow:none}
.gdm-root .text-frame{min-width:0}
.gdm-root .text-frame > [contenteditable]{max-width:100%}
/* 保存・出力を右下の1ボタンに集約 */
.gdm-root .save-float-wrap{position:relative;pointer-events:auto}
.gdm-root .save-float-menu{position:absolute;right:70px;bottom:0;width:218px;display:grid;gap:6px;padding:9px;border:1px solid #c6d5e5;border-radius:17px;background:#f9fbfef5;box-shadow:0 10px 30px #17365d35;backdrop-filter:blur(8px)}
.gdm-root .save-float-menu[hidden]{display:none!important}
.gdm-root .save-menu-btn{min-height:50px;width:100%;display:flex;align-items:center;gap:11px;padding:7px 12px;border:1px solid #cfdae6;border-radius:12px;background:#fff;color:#17365d;text-align:left;cursor:pointer;font:inherit;box-shadow:0 2px 7px #17365d12}
.gdm-root .save-menu-btn:hover,.gdm-root .save-menu-btn:focus-visible{border-color:#2e74d2;background:#f2f7ff;transform:translateX(-2px)}
.gdm-root .save-menu-btn img{width:24px;height:24px;flex:0 0 24px}
.gdm-root .save-menu-btn span{display:grid;gap:1px}
.gdm-root .save-menu-btn b{font-size:13px;line-height:1.2}
.gdm-root .save-menu-btn small{font-size:10px;line-height:1.2;color:#61758a;font-weight:700}
.gdm-root .save-float-toggle[aria-expanded="true"]{background:#17365d;border-color:#17365d}
/* Markdown見出し横の文章整形プロンプト */
.gdm-root .field .source-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.gdm-root .field .source-heading-title{display:flex;align-items:center;gap:6px;margin:0;color:#52657c;font-size:12px;font-weight:800}
.gdm-root .prompt-copy-btn{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 10px;border:1px solid #8fb1d7;border-radius:9px;background:#f2f7ff;color:#1d568f;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.gdm-root .prompt-copy-btn:hover,.gdm-root .prompt-copy-btn:focus-visible{border-color:#2e74d2;background:#e4effd}
.gdm-root .prompt-copy-btn img{width:17px;height:17px}
.gdm-root .prompt-copy-status{display:block;min-height:17px;margin:-2px 0 4px;color:#267047;font-size:10px;font-weight:800;text-align:right}
@media(max-width:780px){.gdm-root .save-float-menu{right:58px;width:196px}}
@media(max-width:560px){.gdm-root .field .source-heading{align-items:flex-start}.gdm-root .prompt-copy-btn{max-width:155px;white-space:normal;text-align:left}}
@media print{
 .gdm-root .sheet.layout-unlocked .resizable-field.selected-object > .move-handle,
 .gdm-root .sheet.layout-unlocked .resizable-field.selected-object > .resize-handle,
 .gdm-root .sheet .resizable-field > .move-handle,
 .gdm-root .sheet .resizable-field > .resize-handle{display:none!important}
 .gdm-root .sheet .resizable-field.selected-object{outline:none!important;box-shadow:none!important}
}
