:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#f1f3f5;--bg-sidebar:#fff;--border-color:#e9ecef;--text-primary:#1a1a1a;--text-secondary:#495057;--text-muted:#868e96;--accent-primary:#d4af37;--accent-secondary:#c5a028;--accent-glow:#d4af3733;--error:#fa5252;--success:#40c057;--max-width:1400px;--header-height:70px;--sidebar-width:320px;--font-sans:"Inter","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;--font-serif:"Playfair Display","Yu Mincho","YuMincho",serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-header{height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;background:#ffffffe6;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 3px #0000000d}.logo-container{align-items:center;gap:12px;display:flex}.logo-icon{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;width:32px;height:32px;font-family:var(--font-serif);border-radius:6px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 2px 5px #d4af3766}.logo-text{font-family:var(--font-serif);letter-spacing:.05em;color:#000;font-size:1.25rem}.logo-sub{opacity:.6;font-family:var(--font-sans);color:var(--text-secondary);margin-left:8px;font-size:.8rem;font-weight:400}.header-actions{gap:16px;display:flex}.nav-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:.9rem;transition:color .2s;display:flex}.nav-link:hover{color:var(--accent-primary)}.main-content{padding-top:calc(var(--header-height) + 40px);width:100%;max-width:var(--max-width);margin:0 auto;padding-bottom:40px;padding-left:20px;padding-right:20px}.hero-text{text-align:center;margin-bottom:60px}.hero-text h2{background:linear-gradient(45deg,#1a1a1a,#4a4a4a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:16px;font-size:3rem}.hero-text p{color:var(--text-secondary);font-size:1.1rem}.form-container{max-width:800px;margin:0 auto}.form-section{margin-bottom:40px}.form-section-title{color:var(--text-primary);border-bottom:2px solid var(--border-color);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;font-size:1.25rem;display:flex}.form-section-title svg{color:var(--accent-primary)}.highlight-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:30px;box-shadow:0 4px 20px #00000005}.form-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}}.input-group{flex-direction:column;margin-bottom:0;display:flex}.input-label{color:var(--text-primary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.form-control{background:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid #ced4da;border-radius:8px;padding:12px 16px;font-size:1rem;transition:all .2s}.form-control:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #d4af371a}.file-upload-wrapper{background:var(--bg-tertiary);cursor:pointer;border:2px dashed #ced4da;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:120px;transition:all .2s;display:flex;position:relative;overflow:hidden}.file-upload-wrapper:hover{border-color:var(--accent-primary);background:#fff}.file-upload-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.file-preview{object-fit:cover;width:100%;height:100%}.file-placeholder{color:var(--text-muted);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex}.form-actions{justify-content:flex-end;padding-top:20px;display:flex}.revision-container{flex-direction:column;gap:24px;height:calc(100vh - 180px);display:flex}@media (min-width:900px){.revision-container{flex-direction:row}}.canvas-area{border:1px solid var(--border-color);background:#f1f3f5;border-radius:12px;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #0000000d}.canvas-layer{cursor:crosshair;position:absolute;top:0;left:0}.sidebar-panel{background:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:100%;height:300px;display:flex;box-shadow:0 4px 12px #0000000d}@media (min-width:900px){.sidebar-panel{width:var(--sidebar-width);height:auto}}.sidebar-header{border-bottom:1px solid var(--border-color);font-family:var(--font-serif);background:var(--bg-secondary);border-radius:12px 12px 0 0;align-items:center;gap:8px;padding:16px;font-size:1.1rem;display:flex}.annotation-list{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.annotation-item{border:1px solid var(--border-color);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000008}.annotation-item:hover{border-color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 8px #0000000d}.badge{background:var(--accent-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:flex}.annotation-text{color:var(--text-primary);font-size:.9rem;line-height:1.4}.btn-icon{color:#adb5bd;cursor:pointer;background:0 0;border:none;padding:4px}.btn-icon:hover{color:var(--error)}.sidebar-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 12px 12px;padding:16px}.popover{border:1px solid var(--accent-primary);z-index:50;background:#fff;border-radius:8px;width:280px;padding:12px;animation:.2s fadeIn;position:absolute;box-shadow:0 4px 20px #00000026}.popover-input{background:var(--bg-secondary);width:100%;color:var(--text-primary);border:1px solid #ced4da;border-radius:4px;margin-bottom:8px;padding:8px;font-size:.9rem}.popover-actions{justify-content:space-between;align-items:center;display:flex}.btn-xs{cursor:pointer;border-radius:4px;padding:4px 12px;font-size:.8rem}.btn-add{background:var(--accent-primary);color:#fff;border:none;font-weight:600}.btn-cancel{color:#868e96;background:0 0;border:none}.btn-cancel:hover{color:var(--text-primary)}.btn{cursor:pointer;font-size:1rem;font-weight:500;font-family:var(--font-sans);border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;transition:all .3s;display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 4px 15px var(--accent-glow);text-shadow:0 1px 2px #0000001a}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.btn-outline{border:1px solid var(--border-color);color:var(--text-secondary);background:#fff;box-shadow:0 2px 4px #00000008}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 4px 8px #0000000d}.btn-full{width:100%}.flex-col-gap{flex-direction:column;gap:16px;display:flex}.text-center{text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s forwards fadeIn}
