:root{--claim-color: #2563EB;--data-color: #16A34A;--warrant-color: #D97706;--backing-color: #7C3AED;--qualifier-color: #0D9488;--rebuttal-color: #DC2626;--bg: #f3f6f9;--bg2: #e6edf5;--surface: #ffffff;--surface2: #f7fafc;--text: #1e293b;--text-muted: #64748b;--border: #cbd8e6;--border-light: #dce6ef;--shadow: rgba(31,55,77,.08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;background:var(--bg);color:var(--text);height:100vh;display:flex;flex-direction:column;overflow:hidden}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}#app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}header{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:10px;flex-wrap:wrap;box-shadow:0 1px 4px var(--shadow)}header h1{font-size:18px;font-weight:800;letter-spacing:0;white-space:nowrap}header h1 span{color:var(--claim-color)}header h1 small{color:var(--text-muted);font-size:11px;font-weight:800}.file-ops{display:flex;gap:4px}.file-ops button{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);padding:5px 11px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;white-space:nowrap}.file-ops button:hover{background:var(--surface);border-color:var(--claim-color);color:var(--claim-color)}.language-toggle{display:flex;border:1px solid var(--border);border-radius:9px;background:var(--bg2);overflow:hidden}.language-toggle button{border:none;border-right:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:800;padding:6px 10px;white-space:nowrap}.language-toggle button:last-child{border-right:none}.language-toggle button.active{background:var(--surface);color:var(--claim-color);box-shadow:0 1px 3px var(--shadow)}.language-toggle button:hover:not(.active){background:#ffffff80;color:var(--text)}#info-modal{display:none;position:fixed;inset:0;background:#0f172a8f;z-index:8100;align-items:center;justify-content:center;padding:18px}#info-modal.open{display:flex}.info-panel{width:min(860px,96vw);max-height:88vh;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 24px 64px #0000003d}.info-panel-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border-light);background:var(--surface)}.info-panel-head h2{margin:0;font-size:18px}.info-close{border:none;border-radius:6px;background:var(--bg2);color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;padding:5px 10px}#info-modal-body{padding:18px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.guide-card{border:1px solid var(--border-light);border-left:5px solid var(--claim-color);border-radius:8px;padding:12px 14px;background:var(--surface2)}.guide-card.role-data{border-left-color:var(--data-color)}.guide-card.role-warrant{border-left-color:var(--warrant-color)}.guide-card.role-backing{border-left-color:var(--backing-color)}.guide-card.role-qualifier{border-left-color:var(--qualifier-color)}.guide-card.role-rebuttal{border-left-color:var(--rebuttal-color)}.guide-card-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.guide-card-head span{display:inline-grid;width:26px;height:24px;place-items:center;border:1px solid currentColor;border-radius:5px;color:var(--claim-color);font-size:11px;font-weight:900}.guide-card p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.7}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.template-card{display:grid;gap:6px;min-height:90px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);cursor:pointer;padding:14px;text-align:left}.template-card:hover{border-color:var(--claim-color);background:#2563eb0f}.template-card strong{font-size:15px}.template-card span{color:var(--text-muted);font-size:13px;line-height:1.6}.view-toggle{display:flex;background:var(--bg2);border-radius:10px;overflow:hidden;border:1px solid var(--border)}.view-toggle button{background:none;border:none;color:var(--text-muted);padding:6px 13px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;white-space:nowrap;border-right:1px solid var(--border)}.view-toggle button:last-child{border-right:none}.view-toggle button.active{background:var(--surface);color:var(--claim-color);box-shadow:0 1px 3px var(--shadow)}.view-toggle button:hover:not(.active){color:var(--text);background:#ffffff80}.sc-toggle-btn{background:var(--bg2);border:1px solid var(--border);color:var(--text-muted);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;font-weight:800;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sc-toggle-btn:hover{background:var(--surface);color:var(--claim-color);border-color:var(--claim-color)}.toast{position:fixed;bottom:48px;left:50%;transform:translate(-50%);background:#1e293b;color:#e2e8f0;padding:10px 22px;border-radius:10px;opacity:0;transition:opacity .25s;z-index:9000;pointer-events:none;font-size:13px;font-weight:600;box-shadow:0 4px 16px #0000004d;white-space:nowrap}.toast.show{opacity:1}#sc-modal{display:none;position:fixed;inset:0;background:#0000008c;z-index:8000;align-items:center;justify-content:center}#sc-modal.open{display:flex}.sc-panel{background:var(--surface);border-radius:16px;padding:28px 32px;max-width:520px;width:92%;box-shadow:0 24px 64px #00000040;position:relative;max-height:90vh;overflow-y:auto}.sc-panel-title{font-size:16px;font-weight:800;color:var(--text);margin-bottom:20px}.sc-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}.sc-close:hover{background:var(--bg2);color:var(--text)}.sc-group{margin-bottom:18px}.sc-group-title{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:1px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-light)}.sc-row{display:flex;align-items:center;padding:4px 0;font-size:13px;gap:10px}.sc-keys{display:flex;gap:3px;flex-shrink:0;min-width:150px}.sc-desc{color:var(--text-muted)}kbd{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:10px;font-family:monospace;color:var(--text);white-space:nowrap}main{flex:1;overflow:auto;position:relative}#outline-view{padding:24px;max-width:900px;margin:0 auto}.outline-node .children{margin-left:28px;border-left:2px solid var(--border-light);padding-left:12px}.node-row{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:8px;margin:2px 0;transition:background .15s;cursor:default}.node-row:hover{background:#2563eb0d}.node-row.selected{background:#2563eb1a}.node-bullet{width:8px;height:8px;border-radius:50%;flex-shrink:0}.node-role-tag{font-size:10px;font-weight:800;padding:2px 7px;border-radius:5px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;min-width:26px;text-align:center;cursor:pointer;border:1.5px solid;transition:transform .1s}.node-role-tag:hover{transform:scale(1.1)}.role-claim .node-bullet{background:var(--claim-color)}.role-claim .node-role-tag{border-color:var(--claim-color);color:var(--claim-color);background:#2563eb14}.role-data .node-bullet{background:var(--data-color)}.role-data .node-role-tag{border-color:var(--data-color);color:var(--data-color);background:#16a34a14}.role-warrant .node-bullet{background:var(--warrant-color)}.role-warrant .node-role-tag{border-color:var(--warrant-color);color:var(--warrant-color);background:#d9770614}.role-backing .node-bullet{background:var(--backing-color)}.role-backing .node-role-tag{border-color:var(--backing-color);color:var(--backing-color);background:#7c3aed14}.role-qualifier .node-bullet{background:var(--qualifier-color)}.role-qualifier .node-role-tag{border-color:var(--qualifier-color);color:var(--qualifier-color);background:#0d948814}.role-rebuttal .node-bullet{background:var(--rebuttal-color)}.role-rebuttal .node-role-tag{border-color:var(--rebuttal-color);color:var(--rebuttal-color);background:#dc262614}.node-text{flex:1;background:none;border:none;color:var(--text);font-size:14px;padding:4px 8px;border-radius:6px;outline:none;font-family:inherit;line-height:1.5}.node-text:focus{background:#2563eb0a;box-shadow:0 0 0 2px #2563eb1f}.node-actions{opacity:0;transition:opacity .15s;display:flex;gap:2px}.node-row:hover .node-actions{opacity:1}.node-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:14px}.node-actions button:hover{background:#2563eb14;color:var(--text)}#toulmin-vertical-view,#toulmin-horizontal-view,#paragraph-view{display:none;padding:32px;overflow:auto;height:100%}.toulmin-argument{margin-bottom:52px}.toulmin-argument-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;padding-bottom:8px;border-bottom:1px solid var(--border-light);font-weight:700}.toulmin-triangle{display:flex;flex-direction:column;align-items:center}.t-claim-area{margin-bottom:8px;z-index:2}.t-arrows{z-index:1}.t-bottom-row{display:flex;justify-content:center;gap:48px;z-index:2;flex-wrap:wrap}.t-extension-row{display:flex;justify-content:center;gap:20px;margin-top:28px;z-index:2;flex-wrap:wrap}.t-card{border-radius:14px;padding:16px 20px;min-width:200px;max-width:340px;border:2px solid;background:var(--surface);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px var(--shadow)}.t-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1e50821f}.t-card-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.t-card-input{width:100%;background:var(--surface2);border:1px solid var(--border-light);color:var(--text);font-size:14px;padding:8px 10px;border-radius:8px;outline:none;font-family:inherit;line-height:1.5;resize:vertical;min-height:36px;transition:border-color .2s,box-shadow .2s}.t-card-input:focus{border-color:var(--claim-color);box-shadow:0 0 0 3px #2563eb1a}.t-card-input::placeholder{color:var(--text-muted);font-style:italic}.t-card.claim{border-color:var(--claim-color)}.t-card.claim .t-card-label{color:var(--claim-color)}.t-card.data{border-color:var(--data-color)}.t-card.data .t-card-label{color:var(--data-color)}.t-card.warrant{border-color:var(--warrant-color)}.t-card.warrant .t-card-label{color:var(--warrant-color)}.t-card.backing{border-color:var(--backing-color)}.t-card.backing .t-card-label{color:var(--backing-color)}.t-card.qualifier{border-color:var(--qualifier-color)}.t-card.qualifier .t-card-label{color:var(--qualifier-color)}.t-card.rebuttal{border-color:var(--rebuttal-color)}.t-card.rebuttal .t-card-label{color:var(--rebuttal-color)}.t-card-sub{min-width:160px;max-width:230px;padding:12px 14px}.triangle-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;margin:0 0 24px;padding:10px 12px;background:#fffffff0;box-shadow:0 8px 18px #1f374d14;backdrop-filter:blur(8px)}.triangle-status{display:flex;align-items:baseline;gap:10px;color:var(--text-muted);font-size:12px}.triangle-status strong{color:var(--text);font-size:14px}.triangle-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.triangle-controls button{border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.triangle-controls button.active{border-color:var(--claim-color);background:#2563eb14;color:var(--claim-color)}.triangle-controls button:disabled{cursor:not-allowed;opacity:.42}.toulmin-horizontal{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:8px 0}.th-col{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;z-index:2}.th-arrow-col{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1;flex-shrink:0;padding:0 4px}.th-card{border-radius:12px;padding:14px 18px;min-width:180px;max-width:280px;border:2px solid;background:var(--surface);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px var(--shadow)}.th-card:hover{transform:translate(2px);box-shadow:0 8px 24px #1e50821f}.th-card-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.th-card-input{width:100%;background:var(--surface2);border:1px solid var(--border-light);color:var(--text);font-size:13px;padding:6px 8px;border-radius:6px;outline:none;font-family:inherit;line-height:1.5;resize:vertical;min-height:32px;transition:border-color .2s,box-shadow .2s}.th-card-input:focus{border-color:var(--claim-color);box-shadow:0 0 0 3px #2563eb1a}.th-card-input::placeholder{color:var(--text-muted);font-style:italic}.th-card.claim{border-color:var(--claim-color)}.th-card.claim .th-card-label{color:var(--claim-color)}.th-card.data{border-color:var(--data-color)}.th-card.data .th-card-label{color:var(--data-color)}.th-card.warrant{border-color:var(--warrant-color)}.th-card.warrant .th-card-label{color:var(--warrant-color)}.th-card.backing{border-color:var(--backing-color)}.th-card.backing .th-card-label{color:var(--backing-color)}.th-card.qualifier{border-color:var(--qualifier-color)}.th-card.qualifier .th-card-label{color:var(--qualifier-color)}.th-card.rebuttal{border-color:var(--rebuttal-color)}.th-card.rebuttal .th-card-label{color:var(--rebuttal-color)}.th-card-small{min-width:140px;max-width:200px;padding:10px 12px}#paragraph-view{max-width:800px;margin:0 auto}.para-article{background:var(--surface);border-radius:16px;padding:36px 44px;margin-bottom:40px;box-shadow:0 2px 16px var(--shadow);border:1px solid var(--border-light);position:relative}.para-article-num{position:absolute;top:16px;right:20px;font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:1px}.para-paragraph{font-size:15.5px;line-height:2;color:var(--text);margin-bottom:0;text-align:justify;font-feature-settings:"palt"}.para-sentence{transition:background .2s;border-radius:3px;padding:0 1px;cursor:default}.para-sentence:hover{background:#2563eb14}.para-sentence:before{display:none}.para-role-indicator{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px;vertical-align:middle;position:relative;top:-1px}.para-role-indicator.c{background:var(--claim-color)}.para-role-indicator.d{background:var(--data-color)}.para-role-indicator.w{background:var(--warrant-color)}.para-role-indicator.b{background:var(--backing-color)}.para-role-indicator.q{background:var(--qualifier-color)}.para-role-indicator.r{background:var(--rebuttal-color)}.para-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.para-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);font-weight:600}.para-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:20px}.para-toolbar button{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.para-toolbar button:hover{background:#2563eb0f;border-color:var(--claim-color);color:var(--claim-color)}.para-empty{text-align:center;color:var(--text-muted);padding:60px 0;font-size:14px}.add-argument-btn{display:block;margin:20px auto;padding:12px 28px;background:var(--surface);border:2px dashed var(--border);color:var(--text-muted);border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px var(--shadow)}.add-argument-btn:hover{background:#2563eb0f;border-color:var(--claim-color);color:var(--claim-color);transform:translateY(-1px);box-shadow:0 4px 16px #1e50821f}.role-picker{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 32px #1e50822e;z-index:100;display:none}.role-picker button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:7px 14px;cursor:pointer;border-radius:6px;font-size:12px;white-space:nowrap;font-weight:500}.role-picker button:hover{background:#2563eb0f}.view-transition{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}footer{background:var(--surface);border-top:1px solid var(--border);padding:6px 24px;font-size:11px;color:var(--text-muted);display:flex;justify-content:space-between;flex-shrink:0;box-shadow:0 -1px 4px var(--shadow);align-items:center}.auto-grow{overflow:hidden}#print-output{display:none}@media(max-width:760px){body{height:100dvh}header{align-items:stretch;padding:10px}header h1{width:calc(100% - 42px);font-size:16px}.file-ops,.view-toggle,.language-toggle{width:100%;overflow-x:auto}.file-ops button,.view-toggle button,.language-toggle button{flex:1 0 auto;min-height:34px}.sc-toggle-btn{position:absolute;top:10px;right:10px}#outline-view,#toulmin-vertical-view,#toulmin-horizontal-view,#paragraph-view{padding:16px 12px}.outline-node .children{margin-left:14px;padding-left:8px}.node-row{gap:6px;padding:6px}.node-actions{opacity:1}.t-arrows{max-width:100%;height:auto}.t-bottom-row,.t-extension-row{gap:12px}.t-card,.th-card{width:min(100%,340px);min-width:min(100%,220px)}.para-article{padding:36px 20px 24px}.guide-grid,.template-grid{grid-template-columns:1fr}.triangle-toolbar{position:static;display:grid}.triangle-controls{justify-content:start}footer{gap:10px;padding:8px 10px}}@media print{@page{margin:16mm}body{display:block;height:auto;overflow:visible;background:#fff;color:#111827}body *{visibility:hidden!important}#print-output,#print-output *{visibility:visible!important}#print-output{display:block!important;position:static;padding:0}#app-container{display:block;height:auto;overflow:visible}header,footer,main,#toast,#sc-modal,#info-modal,.role-picker{display:none!important}#print-output h1{margin:0 0 8mm;font-size:20pt}#print-output h2{margin:8mm 0 3mm;border-bottom:1px solid #cbd8e6;padding-bottom:2mm;font-size:14pt}#print-output p{margin:0 0 4mm;line-height:1.8}#print-output table{border-collapse:collapse;width:100%;margin:2mm 0 5mm}#print-output th,#print-output td{border:1px solid #cbd8e6;padding:2mm;vertical-align:top}}
