/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Bone Flow Formal Style Header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Component ID : 028
File         : bone-textarea.css
Version      : 1.0.12
Status       : Development
Standard     : Bone Flow Development Standard v1.0
Description  : Bone TextArea本体および正式テストページ用スタイル。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
:root{color-scheme:dark;--bf-bg:#0b111b;--bf-panel:#111a27;--bf-panel2:#162234;--bf-line:#31425a;--bf-text:#eaf2ff;--bf-sub:#9eafc4;--bf-accent:#5ba6ff;--bf-ok:#55e6a5;--bf-warn:#ffc857;--bf-error:#ff7b8a}
*{box-sizing:border-box}body{margin:0;background:var(--bf-bg);color:var(--bf-text);font-family:Meiryo,"Yu Gothic",system-ui,sans-serif}.bf-page{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:24px 0 56px}.bf-header{margin-bottom:18px}.bf-header h1{margin:0;font-size:30px}.bf-header p{margin:6px 0;color:var(--bf-sub)}.bf-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bf-badge{padding:5px 9px;border:1px solid var(--bf-line);border-radius:999px;background:#0f1724;font-size:12px}.bf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bf-card{min-width:0;padding:16px;border:1px solid var(--bf-line);border-radius:12px;background:var(--bf-panel)}.bf-card--wide{grid-column:1/-1}.bf-card h2,.bf-card h3{margin:0 0 10px}.bf-card p{color:var(--bf-sub)}.bf-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bf-field{display:grid;gap:6px}.bf-field label{font-size:13px;color:#c8d5e7}.bf-field input[type="text"],.bf-field input[type="number"],.bf-field select,.bf-field textarea{width:100%;padding:9px 10px;border:1px solid #50627d;border-radius:8px;background:#0c1420;color:var(--bf-text)}.bf-check{display:flex;align-items:center;gap:8px}.bf-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}button{padding:9px 13px;border:1px solid #4f6f9c;border-radius:8px;background:#17304f;color:#eef6ff;cursor:pointer}button:hover{background:#21456e}button:disabled{opacity:.45;cursor:not-allowed}.is-danger{border-color:#7d3544;background:#3a1f28}.bone-textarea{display:grid;gap:6px;width:100%;min-width:0}.bone-textarea__input{width:100%;min-width:0;padding:10px 12px;border:1px solid #64748b;border-radius:8px;background:#0c1420;color:#eef6ff;font:inherit;outline:none;transition:border-color .12s,box-shadow .12s,background .12s}.bone-textarea__input::placeholder{color:#71839c}.bone-textarea.is-focused .bone-textarea__input{border-color:var(--bf-accent);box-shadow:0 0 0 3px rgba(91,166,255,.18)}.bone-textarea.is-invalid .bone-textarea__input{border-color:var(--bf-error);box-shadow:0 0 0 3px rgba(255,123,138,.12)}.bone-textarea.is-readonly .bone-textarea__input{background:#141d2a}.bone-textarea.is-disabled .bone-textarea__input{opacity:.55}.bone-textarea.is-dirty .bone-textarea__input{border-style:dashed}.bone-textarea__feedback{min-height:18px;font-size:12px;color:var(--bf-sub)}.bone-textarea__feedback[data-level="error"]{color:var(--bf-error)}.bone-textarea__feedback[data-level="warning"]{color:var(--bf-warn)}.bone-textarea__feedback[data-level="success"]{color:var(--bf-ok)}.bf-preview-stage{display:grid;gap:14px;padding:18px;border:1px dashed #52637b;border-radius:10px;background:#0c1420}.bf-state-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bf-state{padding:8px;border:1px solid var(--bf-line);border-radius:8px;background:#0e1825}.bf-state span{display:block;color:var(--bf-sub);font-size:11px}.bf-state strong{display:block;margin-top:3px;overflow-wrap:anywhere}.bf-flow{display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr;align-items:center;gap:10px;padding:18px;border:1px solid var(--bf-line);border-radius:10px;background:#0c1420}.bf-node{min-height:72px;padding:10px;border:1px solid #50627d;border-radius:8px;background:#172337;display:grid;place-items:center;text-align:center}.bf-arrow{font-size:28px;color:var(--bf-accent)}.bf-code{margin:0;max-height:320px;overflow:auto;padding:12px;border:1px solid var(--bf-line);border-radius:8px;background:#09101a;color:#cfe1fa;white-space:pre-wrap;word-break:break-word}.bf-test-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.bf-test-summary strong{font-size:20px}.bf-pass{color:var(--bf-ok)}.bf-fail{color:var(--bf-error)}.bf-pending{color:var(--bf-warn)}.bf-test-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.bf-test-list li{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:7px 9px;border:1px solid #29384e;border-radius:7px;background:#0d1623}.bf-console{min-height:120px;max-height:260px;overflow:auto;padding:10px;border:1px solid var(--bf-line);border-radius:8px;background:#080e16;font-family:Consolas,monospace;font-size:12px;white-space:pre-wrap}.bf-completion{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bf-completion>div{padding:9px;border:1px solid var(--bf-line);border-radius:8px;background:#0d1623}.bf-completion span{display:block;color:var(--bf-sub);font-size:11px}.bf-completion strong{display:block;margin-top:3px}.bf-dependencies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.bf-dependency{padding:10px;border:1px solid var(--bf-line);border-radius:8px;background:#0f1724}.bf-dependency b{display:block}.bf-dependency span{color:var(--bf-sub);font-size:12px}@media(max-width:860px){.bf-grid,.bf-property-grid{grid-template-columns:1fr}.bf-card--wide{grid-column:auto}.bf-flow{grid-template-columns:1fr}.bf-arrow{transform:rotate(90deg);justify-self:center}.bf-state-row,.bf-completion,.bf-dependencies{grid-template-columns:1fr 1fr}}@media(max-width:520px){.bf-page{width:min(100% - 20px,1280px);padding-top:14px}.bf-state-row,.bf-completion,.bf-dependencies{grid-template-columns:1fr}.bf-header h1{font-size:24px}}


/* v1.0.0 Untrusted IN / Joint WAIT-BLOCK integration */
.bone-textarea[data-security-state="rejected"] .bone-textarea__input{border-color:#ff7b8a;background:#21131a}
.bone-textarea.is-waiting .bone-textarea__input{border-color:#d5a733;box-shadow:0 0 0 3px rgba(255,200,87,.11)}
.bone-textarea.is-blocked .bone-textarea__input{border-color:#eb5055;box-shadow:0 0 0 3px rgba(235,80,85,.14)}
.bf-security-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bf-security-result{margin-top:10px;padding:10px;border:1px solid var(--bf-line);border-radius:8px;background:#0b1421;min-height:72px;white-space:pre-wrap;overflow-wrap:anywhere}
.bf-delivery-stage{position:relative;height:190px;margin-top:12px;border:1px solid #35435a;border-radius:10px;background:#0a1019;overflow:hidden}.bf-delivery-stage .bf-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.bf-delivery-stage .bf-delivery-overlay{z-index:7;overflow:visible}.bf-delivery-node{position:absolute;z-index:3;top:62px;width:160px;padding:12px 10px;border:1px solid #4c6584;border-radius:8px;background:#172235;color:#f5f8fc;text-align:center}.bf-delivery-node--source{left:5%}.bf-delivery-node--target{right:5%}.bf-delivery-node small{display:block;margin-top:4px;color:#aeb9c9}.bf-delivery-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.bf-delivery-pill{display:inline-flex;padding:5px 10px;border:1px solid #425a78;border-radius:999px;font-weight:800}.bf-delivery-pill.is-ready{color:#67efb1;background:#123a31}.bf-delivery-pill.is-waiting{color:#ffd166;background:#352b12}.bf-delivery-pill.is-blocked{color:#ff8a98;background:#3c171d}.bf-visual-confirm{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid #425a78;border-radius:8px;background:#111722}.bf-visual-confirm.is-confirmed{border-color:#3b936b;background:#123126}.bf-target-log{max-height:130px;overflow:auto;margin-top:8px;padding:8px;border:1px solid #29384e;border-radius:7px;background:#080e16;font-family:Consolas,monospace;font-size:12px;white-space:pre-wrap}.bf-complete-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
@media(max-width:860px){.bf-security-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.bf-security-grid{grid-template-columns:1fr}.bf-delivery-node{width:116px;font-size:.78rem}.bf-delivery-node--source{left:3%}.bf-delivery-node--target{right:3%}}


/* v1.0.0 - #027正式基準を継承した connection image / bilingual Property / QA visibility */
.bf-language-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:9px 10px;border:1px solid var(--bf-line);border-radius:8px;background:#0d1623}.bf-language-toolbar strong{margin-right:4px}.bf-language-button.is-active{border-color:#68d6ff;background:#1d4664;box-shadow:0 0 0 2px rgba(104,214,255,.14) inset}
.bf-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bf-connection-card{min-width:0;padding:12px;border:1px solid #35435a;border-radius:10px;background:#0d1623}.bf-connection-card--wide{grid-column:1/-1}.bf-connection-card h3{margin:0 0 4px;font-size:1rem}.bf-connection-card>p{margin:0 0 8px;font-size:.82rem}.bf-connection-stage{position:relative;isolation:isolate;height:150px;overflow:hidden;border:1px solid #2f4057;border-radius:8px;background:#09111c}.bf-connection-stage .bf-svg{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden}.bf-connection-node{position:absolute;z-index:2;top:48px;width:clamp(88px,24%,132px);min-height:54px;display:grid;place-items:center;padding:8px;border:1px solid #50627d;border-radius:8px;background:#172337;text-align:center}.bf-connection-node strong{display:block}.bf-connection-node small{display:block;margin-top:3px;color:#9fb4cc}.bf-connection-node--source{left:2%}.bf-connection-node--target{right:2%}.bf-connection-node--textarea{left:50%;transform:translateX(-50%);border-color:#5985b7}.bf-connection-node.is-missing{border-style:dashed;border-color:#a74a59;background:#281a20;color:#ff9ba5}.bf-connection-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin-top:8px;font-size:.76rem}.bf-connection-diagnostics span{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid #213047}.bf-connection-diagnostics b{overflow-wrap:anywhere}.bf-connection-diagnostics .is-ok{color:#55e6a5}.bf-connection-diagnostics .is-error{color:#ff7b8a}.bf-connection-diagnostics .is-warn{color:#ffc857}
.bf-qa-toolbar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:12px;border:1px solid #36516f;border-radius:9px;background:#0c1725}.bf-qa-stat{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #2e425c;border-radius:999px;background:#0a1320}.bf-qa-stat span{color:#9eafc4}.bf-test-meta{margin:-2px 0 10px;color:#9eafc4;font-size:.78rem}.bf-test-list li{min-height:42px;align-items:start}.bf-test-list li span{overflow-wrap:anywhere}.bf-card--qa{grid-column:1/-1}.bf-visual-status{margin-top:8px;color:#9eafc4;font-size:.8rem}
/* Make delivery geometry explicit instead of inheriting mutable Joint display options. */
.bf-delivery-stage .bf-svg{z-index:2}.bf-delivery-stage .bf-delivery-overlay{z-index:7;overflow:visible}.bf-delivery-stage .bf-joint-path{filter:drop-shadow(0 0 3px rgba(91,166,255,.25))}
@media(max-width:860px){.bf-connection-grid{grid-template-columns:1fr}.bf-connection-card--wide{grid-column:auto}.bf-connection-diagnostics{grid-template-columns:1fr}}
@media(max-width:620px){.bf-connection-stage{height:170px}.bf-connection-node{top:58px;width:32%;font-size:.76rem;padding:7px 5px}}

/* #002 formal Joint visual parity inherited from the #027 baseline */
.bone-label-test-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bone-label-overall-summary{display:grid;grid-template-columns:minmax(145px,1.2fr) repeat(6,minmax(100px,1fr));align-items:center;margin:0 0 18px;border:1px solid #33445c;border-radius:8px;background:#0e1724;overflow:hidden}.bone-label-overall-summary>div{display:grid;gap:4px;place-items:center;min-height:66px;padding:8px 12px;border-left:1px solid #33445c;text-align:center}.bone-label-overall-summary>div span{font-size:.78rem;color:#98a9bf}.bone-label-overall-summary>div strong{font-size:1rem;color:#eef4ff}.bone-label-overall-summary .bf-overall{display:grid;place-items:center;min-height:42px;margin:12px;border-radius:6px;background:#172438;font-size:1.1rem;font-weight:800}.bone-label-result-section{margin-top:15px;border:1px solid #30425b;border-radius:8px;background:#0c1522;overflow:hidden}.bone-label-result-section>h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 14px;border-bottom:1px solid #305798;background:linear-gradient(90deg,#123f87,#174f9b);color:#fff;font-size:1.08rem}.bone-label-result-badge{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:4px 11px;border:1px solid currentColor;border-radius:999px;background:#172438;font-size:.76rem;font-weight:800}.bone-label-result-badge.is-not-run{color:#aebbd0}.bone-label-result-badge.is-pass{color:#67efb1;background:#123a31}.bone-label-result-badge.is-fail{color:#ff7d8d;background:#421d27}.bone-label-validation-list{display:grid;gap:7px;padding:12px 14px}.bone-label-validation-list--columns{grid-template-columns:repeat(2,minmax(0,1fr))}.bone-label-validation-row{display:grid;grid-template-columns:28px 58px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:1px solid #2c3a50;border-radius:7px;background:#111b2a}.bone-label-validation-row.is-fail{border-color:#7a3844;background:#21151d}.bone-label-validation-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#203049;color:#cfe1f8;font-weight:700}.bone-label-validation-detail{display:grid;gap:3px}.bone-label-validation-name{font-weight:700}.bone-label-validation-reason{font-size:.9rem;color:#aebbd0}.bf-connection-stage .bf-joint-flow-indicator,.bf-delivery-stage .bf-joint-flow-indicator{z-index:6}.bf-connection-stage .bf-joint-direction-marker,.bf-delivery-stage .bf-joint-direction-marker{display:block}.bf-connection-stage .bf-svg,.bf-delivery-stage .bf-svg{overflow:visible}@media(max-width:900px){.bone-label-overall-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bone-label-validation-list--columns{grid-template-columns:1fr}}


/* v1.0.0 - Theme / layout / Parent Dependency / Active border effects */
.bone-textarea{--bta-text:#eef6ff;--bta-placeholder:#71839c;--bta-border:#64748b;--bta-accent:#5ba6ff;--bta-focus-glow:rgba(91,166,255,.18);--bone-textarea-background:#0c1420;position:relative;min-width:0;max-width:100%}
.bone-textarea[data-theme="dark"]{--bta-text:#f1f6ff;--bta-placeholder:#7f91aa;--bta-border:#52657f;--bta-accent:#68d6ff;--bta-focus-glow:rgba(104,214,255,.20)}
.bone-textarea[data-theme="light"]{--bta-text:#172033;--bta-placeholder:#6b7280;--bta-border:#8996a8;--bta-accent:#2457d6;--bta-focus-glow:rgba(36,87,214,.17)}
.bone-textarea[data-theme="neon"]{--bta-text:#e9fdff;--bta-placeholder:#69a7b5;--bta-border:#1c8ca2;--bta-accent:#35f4ff;--bta-focus-glow:rgba(53,244,255,.25);filter:drop-shadow(0 0 5px rgba(53,244,255,.10))}
.bone-textarea__control{position:relative;width:100%;height:auto;min-width:0;border-radius:inherit}
.bone-textarea__input{position:relative;z-index:1;display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;line-height:1.5;color:var(--bta-text);border-color:var(--bta-border);background:var(--bone-textarea-background);transition:border-color .12s,box-shadow .12s,background .12s,color .12s,border-radius .12s;font:inherit;outline:none}
.bone-textarea__input::placeholder{color:var(--bta-placeholder)}
.bone-textarea[data-inherit-parent="false"][data-position="top-left"]{justify-self:start;align-self:start}.bone-textarea[data-inherit-parent="false"][data-position="top-center"]{justify-self:center;align-self:start}.bone-textarea[data-inherit-parent="false"][data-position="top-right"]{justify-self:end;align-self:start}.bone-textarea[data-inherit-parent="false"][data-position="middle-left"]{justify-self:start;align-self:center}.bone-textarea[data-inherit-parent="false"][data-position="center"]{justify-self:center;align-self:center}.bone-textarea[data-inherit-parent="false"][data-position="middle-right"]{justify-self:end;align-self:center}.bone-textarea[data-inherit-parent="false"][data-position="bottom-left"]{justify-self:start;align-self:end}.bone-textarea[data-inherit-parent="false"][data-position="bottom-center"]{justify-self:center;align-self:end}.bone-textarea[data-inherit-parent="false"][data-position="bottom-right"]{justify-self:end;align-self:end}
.bone-textarea[data-appearance="normal"] .bone-textarea__input{border-width:1px;border-style:solid;border-radius:8px}.bone-textarea[data-appearance="flat"] .bone-textarea__input{border-width:1px;border-style:solid;border-radius:0;box-shadow:none}.bone-textarea[data-appearance="borderless"] .bone-textarea__input{border-color:transparent;border-radius:0;box-shadow:none}
/* 時計回り: top L→R / right T→B / bottom R→L / left B→T。reverseで反時計回り。 */
.bone-textarea.is-readonly .bone-textarea__input{filter:saturate(.78)}
/* Parent Dependency: 単体の幅/高さ/位置/背景/通常枠を描画上無視。 */
#textarea-host{display:grid;position:relative;width:100%;min-height:140px;padding:12px;border:1px dashed #435872;border-radius:10px;background:#162234;color:#eaf2ff;overflow:visible}#textarea-host[data-parent-dependent="true"]{padding:0}#textarea-host[data-preview-theme="dark"]{background:#0b1420;color:#f1f6ff}#textarea-host[data-preview-theme="light"]{background:#f4f7fb;color:#172033;border-color:#a9b7c8}#textarea-host[data-preview-theme="default"]{background:#162234;color:#eaf2ff}#textarea-host[data-preview-theme="neon"]{background:#06131d;color:#e9fdff;border-color:#35f4ff;box-shadow:0 0 16px rgba(53,244,255,.18)}
.bf-parent-preview{border:2px solid #6a8ab6;border-radius:14px;background:#26354a;color:#f3d36a}.bf-parent-note{margin-top:6px;font-size:.78rem;color:var(--bf-sub)}.bf-parent-settings,.bf-self-settings,.bf-effect-settings{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:11px;border:1px solid #31425a;border-radius:9px;background:#0d1623}.bf-property-group-title{grid-column:1/-1;margin:0;color:#cfe1f7;font-size:.9rem}.bf-property-group-note{grid-column:1/-1;margin:0;color:#90a5be;font-size:.76rem}.bf-field.is-ignored,.bf-check.is-ignored{opacity:.42}.bf-field.is-ignored input,.bf-field.is-ignored select{cursor:not-allowed}.bf-background-controls{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:8px;align-items:end}.bf-background-controls input[type="color"]{width:100%;height:38px;padding:2px;border:1px solid #50627d;border-radius:8px;background:#0c1420}
@media(max-width:860px){.bf-parent-settings,.bf-self-settings,.bf-effect-settings{grid-template-columns:1fr}}

.bf-flow-map{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.2fr);gap:10px;align-items:stretch}.bf-flow-step{padding:10px;border:1px solid var(--bf-line);border-radius:10px;background:#0e1825;display:grid;gap:6px;align-content:start}.bf-flow-step span{font-size:12px;color:var(--bf-sub)}.bf-flow-step strong{font-size:14px;overflow-wrap:anywhere}.bf-flow-step small{font-size:11px;color:#cfe1fa;overflow-wrap:anywhere}.bf-flow-arrow{display:grid;place-items:center;font-size:26px;color:var(--bf-accent)}.bf-flow-note{font-size:12px;color:#9bb0c8;padding:2px 2px 0}@media(max-width:960px){.bf-flow-map{grid-template-columns:1fr}.bf-flow-arrow{transform:rotate(90deg)}}

.bf-preview-node{position:relative;z-index:3;min-height:110px;padding:14px 16px;border:1px solid #50627d;border-radius:10px;background:#172337;display:grid;gap:8px;align-content:start;box-shadow:0 8px 20px rgba(0,0,0,.15)}.bf-preview-node span{font-size:12px;color:var(--bf-sub)}.bf-preview-node strong{font-size:14px;overflow-wrap:anywhere}.bf-preview-node small{font-size:11px;color:#cfe1fa;overflow-wrap:anywhere}.bf-preview-flow-stage .bf-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.bf-preview-flow-stage .bf-delivery-overlay{z-index:4;pointer-events:none}@media(max-width:960px){.bf-preview-flow-stage{grid-template-columns:1fr;gap:18px;min-height:360px;padding:18px}}

.bf-security-stage{position:relative;display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,1fr) minmax(220px,1.2fr);gap:52px;align-items:center;min-height:190px;margin-top:14px;padding:22px 26px;border:1px solid var(--bf-line);border-radius:10px;background:#0c1420;overflow:visible}.bf-security-node{position:relative;z-index:3;min-height:104px;padding:12px 14px;border:1px solid #50627d;border-radius:10px;background:#172337;display:grid;gap:6px;align-content:start}.bf-security-node span{font-size:12px;color:var(--bf-sub)}.bf-security-node strong{font-size:14px;overflow-wrap:anywhere}.bf-security-node small{font-size:11px;color:#cfe1fa;overflow-wrap:anywhere}.bf-security-node--gate{border-style:dashed}.bf-security-stage .bf-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.bf-security-stage .bf-delivery-overlay{z-index:4;pointer-events:none}@media(max-width:900px){.bf-security-stage{grid-template-columns:1fr;gap:18px;min-height:360px;padding:18px}}



/* #028 TextArea v1.0.0 multiline-specific */
.bone-textarea__input{tab-size:4;overflow-wrap:normal;word-break:normal}.bone-textarea[data-inherit-parent="false"] .bone-textarea__control{height:auto}.bone-textarea[data-inherit-parent="true"] .bone-textarea__input{resize:none}.bf-textarea-settings{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:11px;border:1px solid #31425a;border-radius:9px;background:#0d1623}.bf-property-grid textarea{min-height:86px;resize:vertical}.bf-parent-preview{overflow:visible}@media(max-width:860px){.bf-textarea-settings{grid-template-columns:1fr}}

/* #027 TextBox v1.0.21 / #021 Shape v1.0.25 接続イメージ基準（#028 TextArea向けスコープ） */
#connection-images .bone-text-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#connection-images .bone-text-test-card{background:#101827;border:1px solid #31425a;border-radius:8px;padding:12px;min-width:0}
#connection-images .bone-text-test-card--wide{grid-column:1/-1}
#connection-images .bone-text-test-card h3{margin:0 0 4px;color:#f5f8fc;font-size:1rem}
#connection-images .bone-text-usage-flow{position:relative;min-height:168px;display:flex;align-items:center;justify-content:space-around;gap:28px;padding:24px;overflow:hidden}
#connection-images .bone-text-usage-flow>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}
#connection-images .bone-text-node{position:relative;z-index:2;min-width:96px;padding:12px;border:1px solid #4c6584;border-radius:7px;text-align:center;background:#172235;color:#f5f8fc}
#connection-images .bone-text-node strong{color:#55e6a5}
#connection-images .bone-text-node--source strong{color:#65aaff}
#connection-images .bone-text-node--text strong,#connection-images .bone-text-node--target strong{color:#67e487}
#connection-images .bone-text-joint-diagnostic{display:grid;gap:5px;margin-top:8px}
#connection-images .bone-text-joint-diagnostic>div{display:flex;justify-content:space-between;gap:12px;padding:5px 8px;border-radius:5px;background:#1a2331;font-size:.78rem}
#connection-images .bone-text-joint-diagnostic strong{text-align:right;overflow-wrap:anywhere;color:#eef4ff}
#connection-images .bone-text-usage-flow--in-missing,#connection-images .bone-text-usage-flow--in-mismatch,#connection-images .bone-text-usage-flow--out-missing,#connection-images .bone-text-usage-flow--out-mismatch{display:grid;grid-template-columns:1fr 1fr;justify-items:center;align-items:center}
#connection-images .bone-text-usage-flow--out-missing .bone-text-node--text{grid-column:1}
#connection-images .bone-text-usage-flow--in-missing .bone-text-node--source{grid-column:1}
#connection-images .bone-text-usage-flow--in-missing .bone-text-node--text{grid-column:2}
#connection-images .bone-label-joint-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#connection-images .bone-label-joint-line{pointer-events:stroke}
#connection-images .bone-text-joint-legend{margin-top:12px;border:1px solid #31425a;border-radius:8px;padding:10px;color:#cbd8e8}
#connection-images .bone-text-joint-legend-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#connection-images .bone-text-joint-legend-line{display:inline-block;width:40px;height:3px;margin-right:8px;vertical-align:middle}
#connection-images .bone-text-joint-legend-line.is-blue{background:#5ba6ff}
#connection-images .bone-text-joint-legend-line.is-green{background:#4be06b}
#connection-images .bone-text-joint-legend-line.is-orange{background:#f5a623}
#connection-images .bone-text-joint-legend-line.is-red{background:#ff5b73}
#connection-images .bf-joint-path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
#connection-images .bf-joint-path--straight{stroke-linejoin:miter}
#connection-images .bf-joint-marker{transform-box:fill-box;transform-origin:center}
#connection-images .bf-joint-marker-shape{fill:#111722;stroke:#68d6ff;stroke-width:4;vector-effect:non-scaling-stroke}
#connection-images .bf-joint-start--filled-circle .bf-joint-marker-shape,#connection-images .bf-joint-start--filled-square .bf-joint-marker-shape,#connection-images .bf-joint-end--filled-circle .bf-joint-marker-shape,#connection-images .bf-joint-end--filled-square .bf-joint-marker-shape{fill:#68d6ff}
#connection-images .bf-joint-start--error .bf-joint-marker-shape{stroke:#ff697a}
#connection-images .bf-joint-end-error line{stroke:#ff475d;stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke}
#connection-images .bf-joint-end-error-text{fill:#ff475d;font-size:22px;font-weight:900}
#connection-images .bf-joint-label{pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
#connection-images .bf-joint-label rect{vector-effect:non-scaling-stroke}
#connection-images .bf-joint-label text{font-family:Meiryo,"Yu Gothic",sans-serif;font-weight:700;dominant-baseline:alphabetic;pointer-events:none}
#connection-images .bf-joint-label-tail{stroke:#7f93ad;stroke-width:1.5;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}
#connection-images .bf-joint-label-anchor{fill:#0e1622;stroke:#8bdfff;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
@media(max-width:760px){
  #connection-images .bone-text-test-grid{grid-template-columns:1fr}
  #connection-images .bone-text-test-card--wide{grid-column:auto}
  #connection-images .bone-text-joint-legend-items{grid-template-columns:1fr}
}

/* v1.0.8 Class list / live Class sample */
.bf-api-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.bf-api-meta>div{padding:10px;border:1px solid var(--bf-line);border-radius:8px;background:#0d1623}.bf-api-meta span{display:block;color:var(--bf-sub);font-size:11px}.bf-api-meta strong{display:block;margin-top:4px;overflow-wrap:anywhere}.bf-textarea-class-list{display:grid;gap:10px}.bf-textarea-class-card{padding:12px;border:1px solid #304762;border-radius:8px;background:#0c1b2a}.bf-textarea-class-card h3,.bf-textarea-class-card p{margin:0 0 8px}.bf-textarea-class-sample{margin-top:12px;padding:14px;border:1px solid #3f668a;border-radius:9px;background:#0d2032}.bf-textarea-class-sample h3{margin:0 0 8px;color:#b9e6ff}.bf-textarea-class-sample>pre{overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff}.bf-textarea-class-sample-host{min-height:150px;display:flex;align-items:center;padding:12px;border:1px dashed #355272;border-radius:8px;background:#07121d;overflow:auto}.bf-textarea-class-sample-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.bf-textarea-class-sample-actions strong{margin-left:auto;color:#69d8a6}.bf-textarea-class-sample-output{max-height:240px;overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff}@media(max-width:760px){.bf-api-meta{grid-template-columns:1fr 1fr}}


/* v1.0.8 Guide - #027 formal Guide structure adapted to #028 */
/* v1.0.8 Class list / Public API guide */
.bf-api-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.bf-api-meta>div{padding:10px;border:1px solid var(--bf-line);border-radius:8px;background:#0d1623}.bf-api-meta span{display:block;color:var(--bf-sub);font-size:11px}.bf-api-meta strong{display:block;margin-top:4px;overflow-wrap:anywhere}.bf-textarea-class-list{display:grid;gap:10px}.bf-textarea-class-card{padding:12px;border:1px solid #304762;border-radius:8px;background:#0c1b2a}.bf-textarea-class-card h3,.bf-textarea-class-card p{margin:0 0 8px}.bf-textarea-class-methods{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.bf-textarea-class-methods strong{width:100%}.bf-textarea-class-methods code{padding:5px 7px;border:1px solid #355272;border-radius:6px;background:#081722;overflow-wrap:anywhere}.bf-textarea-guide-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.bf-textarea-guide-summary{color:var(--bf-sub);font-size:12px}.bf-textarea-guide-overlay[hidden]{display:none!important}.bf-textarea-guide-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;background:rgba(2,8,18,.78);backdrop-filter:blur(3px)}.bf-textarea-guide-dialog{display:flex;flex-direction:column;width:min(1120px,calc(100vw - 32px));height:min(780px,calc(100vh - 32px));overflow:hidden;border:1px solid #355272;border-radius:10px;background:#0b1725;color:#dcecff;box-shadow:0 24px 70px rgba(0,0,0,.48)}.bf-textarea-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 14px;border-bottom:1px solid #2d4865;background:#102a42}.bf-textarea-guide-header h2,.bf-textarea-guide-header p{margin:0}.bf-textarea-guide-header p{margin-top:3px;color:#9fc0d8;font-size:12px}.bf-textarea-guide-close{min-width:42px}.bf-textarea-guide-layout{display:grid;grid-template-columns:200px minmax(0,1fr);min-height:0;flex:1}.bf-textarea-guide-nav{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-right:1px solid #2d4865;background:#0d2032}.bf-textarea-guide-nav button{padding:10px 14px;border:0;background:transparent;color:#a8c7de;text-align:left;cursor:pointer}.bf-textarea-guide-nav button:hover,.bf-textarea-guide-nav button.is-active{background:#173750;color:#e8f7ff;font-weight:800}.bf-textarea-guide-content{min-width:0;overflow:auto;padding:18px 20px 26px;background:#081722}.bf-textarea-guide-content>section{max-width:880px}.bf-textarea-guide-content h3{margin:0 0 14px;color:#b9e6ff}.bf-textarea-guide-content p{line-height:1.7}.bf-textarea-guide-api-list{display:grid;gap:9px}.bf-textarea-guide-api-card{border:1px solid #2f4865;border-radius:8px;background:#0c1d2b;overflow:hidden}.bf-textarea-guide-api-card>summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr);gap:10px;align-items:center;padding:10px 12px;cursor:pointer;background:#10263a}.bf-textarea-guide-api-card>summary code{color:#dff4ff;overflow-wrap:anywhere}.bf-textarea-guide-api-card>summary span{color:#9fc0d8;font-size:12px}.bf-textarea-guide-api-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.bf-textarea-guide-api-block{padding:10px 12px;border:1px solid #2d4058;border-radius:7px;background:#081722}.bf-textarea-guide-api-block>strong{display:block;margin-bottom:5px;color:#8dccff}.bf-textarea-guide-api-block p{margin:0}.bf-textarea-guide-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid #2d4865;background:#0d2032;color:#9fc0d8;font-size:12px}@media(max-width:760px){.bf-api-meta{grid-template-columns:1fr 1fr}.bf-textarea-guide-layout{grid-template-columns:1fr}.bf-textarea-guide-nav{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid #2d4865}.bf-textarea-guide-api-body{grid-template-columns:1fr}}


/* v1.0.8 #020-style implementation guide detail */
.bf-textarea-class-group h4{margin:0 0 8px;color:#9fdcff;font-size:.88rem}
.bf-textarea-class-methods{display:grid;gap:6px}
.bf-textarea-class-method-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(160px,1fr) auto;gap:10px;align-items:center;padding:7px 8px;border:1px solid #2d4058;border-radius:6px;background:#081722}
.bf-textarea-class-method-row code{border:0!important;padding:0!important;background:transparent!important;color:#dff4ff}
.bf-textarea-class-method-row span{color:#a8c7de;font-size:12px}
.bf-textarea-class-method-row b{color:#69d8a6;font-family:Consolas,monospace;font-size:11px;white-space:nowrap}
.bf-textarea-guide-api-block.is-wide{grid-column:1/-1}
.bf-textarea-guide-api-block pre{margin:7px 0 0;max-width:100%;overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff;white-space:pre}
.bf-textarea-guide-api-block pre code{font-family:Consolas,"Courier New",monospace;font-size:12px}
.bf-textarea-guide-steps{margin:0;padding-left:22px;display:grid;gap:5px;line-height:1.65}
.bf-textarea-guide-api-block p code,.bf-textarea-guide-steps code{padding:1px 4px;border-radius:4px;background:#132b40;color:#dff4ff}
.bf-textarea-guide-api-body--usage{grid-template-columns:1fr}
@media(max-width:760px){.bf-textarea-class-method-row{grid-template-columns:1fr}.bf-textarea-class-method-row b{white-space:normal}}


/* v1.0.8 rebuilt guide: detailed API reference + practical recipes */
.bf-textarea-guide-reference{display:grid;gap:10px}.bf-textarea-guide-reference .bf-textarea-guide-api-card>summary{grid-template-columns:minmax(0,1.5fr) minmax(180px,.8fr)}
.bf-textarea-guide-recipes,.bf-textarea-guide-operations{display:grid;gap:12px}.bf-textarea-guide-recipe,.bf-textarea-guide-operation{padding:13px;border:1px solid #2f4865;border-radius:8px;background:#0c1d2b}.bf-textarea-guide-recipe h4,.bf-textarea-guide-operation h4{margin:0 0 8px;color:#b9e6ff}.bf-textarea-guide-recipe p,.bf-textarea-guide-operation p{margin:5px 0;line-height:1.7}.bf-textarea-guide-recipe pre{margin:9px 0 0;overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff}.bf-textarea-guide-operation ol,.bf-textarea-guide-recipe ol{margin:7px 0 0;padding-left:22px;display:grid;gap:5px;line-height:1.65}


/* v1.0.33 Guide live runtime sample + API inventory */
.bf-textarea-class-sample{margin-top:12px;padding:14px;border:1px solid #3f668a;border-radius:9px;background:#0d2032}.bf-textarea-class-sample h3{margin:0 0 8px;color:#b9e6ff}.bf-textarea-class-sample-host{min-height:72px;display:flex;align-items:center;padding:12px;border:1px dashed #355272;border-radius:8px;background:#07121d;overflow:auto}.bf-textarea-class-sample-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.bf-textarea-class-sample-actions strong{margin-left:auto;color:#69d8a6}.bf-textarea-class-sample-output{max-height:180px;overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff}.bf-textarea-class-sample-code{margin-top:10px}.bf-textarea-class-sample-code>summary{cursor:pointer;color:#9fdcff;font-weight:800}.bf-textarea-class-sample-code pre{overflow:auto;padding:10px 12px;border:1px solid #29425e;border-radius:6px;background:#050d16;color:#dff4ff}.bf-textarea-guide-api-inventory-section h4,#guide-api-detail-heading{margin:0 0 8px;color:#b9e6ff}.bf-textarea-guide-api-inventory-section{margin:0 0 18px}.bf-textarea-guide-api-inventory{display:grid;gap:6px}.bf-textarea-guide-api-inventory-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(180px,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #2f4865;border-radius:7px;background:#0c1d2b}.bf-textarea-guide-api-inventory-row code{color:#dff4ff;overflow-wrap:anywhere}.bf-textarea-guide-api-inventory-row span{color:#a8c7de;font-size:12px}.bf-textarea-guide-api-inventory-row b{color:#69d8a6;font-family:Consolas,monospace;font-size:11px;white-space:nowrap}@media(max-width:760px){.bf-textarea-guide-api-inventory-row{grid-template-columns:1fr}}

/* v1.0.34 Class sample code -> explicit live result pairing */
.bf-textarea-class-sample-result{margin-top:14px;padding-top:14px;border-top:1px solid #29425e}.bf-textarea-class-sample-result h3{margin:0 0 8px;color:#b9e6ff}.bf-textarea-class-sample-result h4{margin:10px 0 6px;color:#9fdcff}.bf-textarea-class-sample-result p{margin:0 0 10px;color:#a8c7de}


/* v1.0.35 Guide Operation: class index links + per-class usage docs */
.bf-textarea-guide-class-index{margin:0 0 16px;padding:12px;border:1px solid #355272;border-radius:8px;background:#0d2032}.bf-textarea-guide-class-index h4,.bf-textarea-guide-class-index p{margin:0 0 8px}.bf-textarea-guide-class-links{display:flex;flex-wrap:wrap;gap:8px}.bf-textarea-guide-class-links a{display:inline-block;padding:7px 10px;border:1px solid #3f6384;border-radius:7px;background:#102a42;color:#b9e6ff;text-decoration:none;font-weight:800}.bf-textarea-guide-class-links a:hover{background:#173750}.bf-textarea-guide-class-doc{scroll-margin-top:18px;margin:0 0 18px;padding:14px;border:1px solid #2f4865;border-radius:8px;background:#0c1d2b}.bf-textarea-guide-class-doc>h4{margin:0 0 12px;color:#b9e6ff}.bf-textarea-guide-class-data{display:grid;gap:7px}.bf-textarea-guide-class-data>div{display:grid;grid-template-columns:minmax(130px,210px) minmax(0,1fr);gap:10px;padding:8px;border:1px solid #27435f;border-radius:6px;background:#091827}.bf-textarea-guide-class-data p{margin:0}.bf-textarea-guide-class-result p{margin-top:0}.bf-textarea-guide-class-result pre{margin-bottom:0}@media(max-width:720px){.bf-textarea-guide-class-data>div{grid-template-columns:1fr}}

/* v1.0.10 Guide layout correction - #027 structure with TextArea long-content containment */
.bf-textarea-guide-layout,.bf-textarea-guide-content,.bf-textarea-guide-content>section,.bf-textarea-guide-reference,.bf-textarea-guide-recipes,.bf-textarea-guide-operations,.bf-textarea-guide-api-card,.bf-textarea-guide-api-body,.bf-textarea-guide-api-block,.bf-textarea-guide-api-inventory-section,.bf-textarea-guide-api-inventory,.bf-textarea-guide-api-inventory-row,.bf-textarea-guide-class-index,.bf-textarea-guide-class-doc,.bf-textarea-guide-class-data,.bf-textarea-guide-class-data>div,.bf-textarea-guide-class-result{min-width:0}
.bf-textarea-guide-content>section{width:100%;box-sizing:border-box}
.bf-textarea-guide-api-inventory-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) max-content}
.bf-textarea-guide-api-inventory-row>*{min-width:0}
.bf-textarea-guide-api-inventory-row code,.bf-textarea-guide-api-inventory-row span{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.bf-textarea-guide-api-card>summary{grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr)}
.bf-textarea-guide-api-card>summary>*{min-width:0}
.bf-textarea-guide-api-card>summary code,.bf-textarea-guide-api-card>summary span{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.bf-textarea-guide-class-data>div{grid-template-columns:minmax(120px,190px) minmax(0,1fr)}
.bf-textarea-guide-class-data code,.bf-textarea-guide-class-data p{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.bf-textarea-guide-api-block pre,.bf-textarea-guide-recipe pre,.bf-textarea-guide-class-result pre{max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:760px){.bf-textarea-guide-api-inventory-row,.bf-textarea-guide-class-data>div{grid-template-columns:1fr}}

/* v1.0.13 Guide content: #027 v1.0.35 formal wording/sections adapted to #028 TextArea responsibility only. */


/* v1.0.13 Class List / normal operation review */
.bf-textarea-class-actions{display:flex;justify-content:flex-end;margin-top:10px}
.bf-textarea-guide-normal-operation{margin:0 0 18px;padding:13px;border:1px solid #3f668a;border-radius:8px;background:#0d2032}
.bf-textarea-guide-normal-operation>h4,.bf-textarea-guide-normal-operation>p{margin:0 0 10px}
.bf-textarea-guide-normal-list{display:grid;gap:9px}

.bf-textarea-class-list{margin-top:12px}

/* #027 completed header action layout / #028 native scoped */
.bf-textarea-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:10px 0}
.bf-textarea-header-actions>a,.bf-textarea-header-actions>button{display:inline-flex;align-items:center;padding:8px 12px;background:#142a40;color:#eef8ff;border:1px solid #3f6689;border-radius:7px;text-decoration:none;font-weight:700;font-size:13px;min-height:34px}
.bf-textarea-header-actions>a:hover,.bf-textarea-header-actions>button:hover{background:#21456e}

/* #040 ColorPicker official Caller presentation */
.bf-color-trigger{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;height:38px;padding:5px 8px;text-align:left;background:#0c1420}.bf-color-trigger__swatch{display:block;width:24px;height:24px;border:1px solid #6f8199;border-radius:5px;background:var(--bf-color-trigger-value,#000000)}.bf-color-trigger__value{min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:Consolas,monospace;font-size:12px;color:#dcecff}
.bf-background-controls:has(.bf-color-trigger){grid-template-columns:minmax(0,1fr) 150px;}

/* #040 gradient RETURN / #022 official overlay bridge. Only caller-owned styles. */
.bone-hover-border-effect-overlay[data-bone-caller-gradient="true"]::after {
    content:"";position:absolute;inset:0;display:block;pointer-events:none;
    border-radius:inherit;padding:3px;background:var(--bone-caller-gradient);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    mask-composite:exclude;
}

/* #028 Active Effect now uses formal #022 overlay instead of local 3-effect fallback. */
