:root{--bg-dark:#0f172a;--bg-panel:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--border:#334155;--canvas-bg:#e2e8f0}body{background-color:var(--bg-dark);color:var(--text-main);height:100vh;margin:0;font-family:Inter,Noto Sans JP,sans-serif;overflow:hidden}#root{height:100%}.app-container{flex-direction:column;height:100vh;display:flex}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#1e293bb3;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.app-header h1{color:#fff;margin:0;font-size:1.25rem;font-weight:600}.app-header p{color:var(--text-muted);margin:0;font-size:.85rem}.app-main{flex:1;display:flex;overflow:hidden}.pdf-editor{width:100%;height:100%;display:flex}.toolbar{background-color:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;gap:1rem;width:250px;padding:1.5rem;display:flex;overflow-y:auto}.toolbar-title{margin-bottom:.5rem;font-size:1rem;font-weight:600}.toolbar button,.toolbar label{color:var(--text-main);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;background-color:#0000;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:all .2s;display:flex}.toolbar button:hover,.toolbar label:hover{background-color:#ffffff0d}.toolbar button.primary{background-color:var(--accent);border-color:var(--accent);color:#fff;margin-top:auto}.toolbar button.primary:hover{background-color:var(--accent-hover)}.properties-panel{background:#0003;border-radius:8px;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.75rem;display:flex}.properties-panel label{color:var(--text-muted);cursor:default;background:0 0;border:none;flex-direction:column;gap:.25rem;padding:0;font-size:.8rem;display:flex}.properties-panel label:hover{background:0 0}.properties-panel input,.properties-panel select{background:var(--bg-dark);border:1px solid var(--border);color:#fff;border-radius:4px;padding:.4rem}.workspace{background-color:#0b1120;flex:1;padding:2rem;position:relative;overflow:auto}.workspace.is-empty{background:var(--bg-dark);justify-content:center;align-items:center;width:100%;min-height:100dvh;display:flex;overflow-y:auto}@media (width<=800px){.workspace.is-empty{justify-content:flex-start;align-items:flex-start;padding-top:2rem}}.canvas-container-wrapper{touch-action:none;background:#fff;width:max-content;margin:0 auto;position:relative;box-shadow:0 25px 50px -12px #00000080}.empty-state{text-align:center;border:2px dashed var(--border);background:#1e293b66;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;max-width:90%;padding:4rem;display:flex}@media (width<=800px){.empty-state{gap:1rem;padding:2rem 1rem}.empty-state img{object-fit:contain;max-height:120px;width:160px!important;height:auto!important;margin-bottom:.5rem!important}.empty-state h2{font-size:1.1rem}}.empty-state h2{margin:0;font-size:1.5rem}.empty-state p{color:var(--text-muted);margin-top:.5rem;margin-bottom:0}.empty-state label{background-color:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:.75rem 2rem;font-weight:500;transition:background-color .2s;display:inline-block}.empty-state label:hover{background-color:var(--accent-hover)}.pagination{border:1px solid var(--border);background:#0003;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding:.5rem;display:flex}.pagination button{background:var(--bg-dark);border:1px solid var(--border);color:#fff;cursor:pointer;border-radius:4px;align-items:center;padding:.4rem;display:flex}.pagination button:hover{background:var(--border)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.pagination span{-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:600}.mobile-menu-btn,.sidebar-overlay,.toolbar-close-btn{display:none}@media (width<=800px){.app-header{padding:.6rem 1rem}.app-header h1{font-size:.9rem}.app-header p,.toolbar{display:none}.workspace{padding:.5rem .5rem 80px}.empty-state{margin:1rem;padding:1.5rem}.mobile-bottom-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:.5rem .25rem env(safe-area-inset-bottom);z-index:1000;background:#1e293be6;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0006}.mobile-tool-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px;font-size:.6rem;transition:color .2s;display:flex}.mobile-tool-btn.active{color:var(--accent)}.mobile-properties-row{bottom:calc(64px + env(safe-area-inset-bottom));background:var(--bg-panel);border:1px solid var(--border);z-index:999;border-radius:12px;align-items:center;gap:.8rem;padding:.5rem 1rem;display:flex;position:fixed;left:10px;right:10px;overflow-x:auto;box-shadow:0 8px 32px #00000080}.mobile-properties-row strong{white-space:nowrap;opacity:.7;font-size:.75rem}.mobile-properties-row label{align-items:center;gap:.4rem;font-size:.75rem;display:flex}.mobile-properties-row input{background:var(--bg-dark);border:1px solid var(--border);color:#fff;border-radius:4px;width:60px;padding:.3rem}.mobile-pagination-overlay{bottom:calc(74px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1001;background:#0f172af2;border:1px solid #ffffff1a;border-radius:99px;align-items:center;gap:1.5rem;padding:.5rem 1.2rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0009}.mobile-pagination-overlay button{color:#fff;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.mobile-pagination-overlay button:disabled{opacity:.3}.mobile-pagination-overlay span{text-align:center;min-width:60px;font-size:.85rem;font-weight:600}}.color-swatch-row{align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.color-swatch{cursor:pointer;border:2px solid #ffffff1a;border-radius:6px;width:28px;height:28px;transition:transform .15s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000004d}.color-swatch:hover{border-color:#fff6;transform:scale(1.15)}.color-swatch.active{box-shadow:0 0 0 2px var(--bg-dark), 0 0 0 4px var(--accent);border-color:#fff;transform:scale(1.1)}
