  .editor-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:var(--page-gap);
    max-width:940px;
    margin:0 auto var(--sp-9);
    align-items:start;
    animation:cardIn var(--dur-slower) var(--ease-out) both;
  }
  @media (max-width:760px){
    .editor-wrap{grid-template-columns:1fr;}
  }
  .preview-col{
    background:linear-gradient(180deg, var(--card-soft) 0%, var(--card) 30%);
    border:var(--solid);
    border-radius:var(--radius-xl);
    padding:0 0 0;
    box-shadow:var(--shadow-md);
    overflow:hidden;
    position:sticky; top:var(--sp-5);
  }
  .preview-label{
    font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--text-faint);padding:var(--sp-4);
    margin:0;
  }
  .preview-cover{width:100%;aspect-ratio:16/9;object-fit:contain;display:none;margin-top:var(--sp-2);border-radius:0;background:linear-gradient(135deg, var(--lav), var(--pink), var(--peach));}
  .preview-body{padding:var(--sp-1) var(--sp-6) var(--sp-6);}
  .preview-body h2{font-family:'Baloo 2',cursive;color:var(--accent-deep);margin:0 0 var(--sp-1) 0;font-size:1.35rem;}
  .preview-body .p-sub{color:var(--accent);opacity:0.85;margin:0 0 var(--sp-2) 0;font-size:0.92rem;}
  .preview-body .md{line-height:1.6;font-size:0.95rem;margin:0;}
  .preview-body .md h1{font-size:1.2rem;color:var(--accent-deep);}
  .preview-body .md h2{font-family:'Baloo 2',cursive;font-size:1rem;color:var(--lav-deep);}
  .preview-body .md strong{color:var(--text);}
  .preview-body .md code{background:var(--card-soft);border:var(--border);border-radius:var(--radius-sm);padding:1px 6px;font-family:'Courier New',monospace;font-size:0.85em;}
  .preview-body .md blockquote{border-left:3px solid var(--lav);margin:var(--sp-2) 0;padding:var(--sp-1) var(--sp-3);color:var(--text-soft);}
  .entries-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    gap:var(--page-gap);
    scroll-margin-block:var(--sp-6);
  }
  .gcard{
    background:var(--card);
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:var(--solid);
    box-shadow:var(--shadow-sm);
    cursor:pointer;
    position:relative;
    opacity:0;
    transform:translateY(20px) scale(0.96);
    animation:cardIn var(--dur-slow) var(--ease-out) forwards;
    transition:transform var(--dur-base) var(--ease-bounce), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
  }
  @keyframes cardIn{
    to{opacity:1;transform:translateY(0) scale(1);}
  }
  .gcard::after{
    content:'';
    position:absolute;inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px transparent;
    transition:box-shadow var(--dur-base) var(--ease-out);
    pointer-events:none;
  }
  .gcard:hover{
    transform:translateY(-8px) scale(1.01);
    box-shadow:var(--shadow-lg);
    border-color:var(--ring);
  }
  .gcard:active{transform:translateY(-2px) scale(0.98);}
  .gcard-media{
    position:relative;
    width:100%;
    min-height:140px;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, var(--lav) 0%, var(--pink) 50%, var(--peach) 100%);
  }
  .gcard-media:has(img){
    aspect-ratio:auto;
    min-height:0;
  }
  .gcard-media img.media-bg{
    position:absolute;inset:-8%;
    width:116%;height:116%;
    object-fit:cover;
    filter:blur(34px) saturate(1.35);
    transform:scale(1.05);
    pointer-events:none;user-select:none;
  }
  .gcard-media img.media-main{
    position:relative;z-index:1;
    width:auto;height:auto;
    max-width:100%;max-height:min(340px, 46vh);
    object-fit:contain;
    display:block;
    filter:saturate(1.05);
    box-shadow:0 10px 34px rgba(70,40,92,0.28);
    transition:filter var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
  }
  .gcard:hover .gcard-media img.media-main{filter:saturate(1.25) brightness(1.03);transform:scale(1.015);}
  .blur-fade-media{
    position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg, rgba(20,10,30,0.18) 0%, rgba(20,10,30,0.05) 60%, rgba(20,10,30,0.28) 100%);
    pointer-events:none;
  }
  .blur-preview{
    position:absolute;inset:0;
    padding:var(--sp-5);
    font-size:0.85rem;
    line-height:1.5;
    color:rgba(76,63,87,0.72);
    filter:blur(5px);
    transform:scale(1.02);
    transition:filter var(--dur-base) var(--ease-out);
    overflow:hidden;
  }
  .gcard:hover .blur-preview{filter:blur(2px);}
  .blur-fade{
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.62) 100%);
  }
  .gcard-info{padding:var(--sp-4) var(--sp-5);}
  .gcard-info h3{
    font-family:'Baloo 2', cursive;
    margin:0 0 var(--sp-1) 0;
    font-size:1.15rem;
    color:var(--text);
    transition:color var(--dur-fast) var(--ease-out);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .gcard:hover .gcard-info h3{color:var(--accent-deep);}
  .gcard-sub{
    margin:0 0 var(--sp-2) 0;font-size:0.85rem;color:var(--accent);
    font-weight:500;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .gcard-info time{
    font-size:0.72rem;color:var(--text-faint);
    display:flex;align-items:center;gap:var(--sp-2);
    letter-spacing:0.02em;
  }
  .gcard-info time::before{
    content:'';
    width:var(--sp-2);height:var(--sp-2);border-radius:50%;
    background:linear-gradient(135deg, var(--lav), var(--pink));
    flex:none;
  }

  .card-actions{
    position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:2;display:flex;gap:var(--sp-1);
    opacity:0;transform:translateY(-6px) scale(0.95);
    transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-bounce);
  }
  .gcard:hover .card-actions{opacity:1;transform:translateY(0) scale(1);}
  @media (hover:none), (pointer:coarse){
    .card-actions{opacity:1;transform:none;}
  }
  .card-actions button{
    display:flex;align-items:center;justify-content:center;
    background:var(--surface-raised);color:var(--text-primary);border:none;
    width:34px;height:34px;border-radius:50%;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(138,104,160,0.28);
    backdrop-filter:blur(4px);
    transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-bounce);
  }
  .card-actions button:hover{transform:scale(1.15);background:var(--surface-hover);color:var(--accent-deep);}
  .card-actions .ico{width:16px;height:16px;}
  .card-actions .del-btn{background:var(--button-danger-bg);color:var(--button-danger-text);}
  .card-actions .del-btn:hover{background:var(--button-danger-hover);color:var(--button-danger-text);}
  .spec-badge{
    display:inline-flex;align-items:center;gap:6px;
    margin:0 0 10px;padding:5px 12px;border-radius:var(--r-pill);
    background:var(--grad-soft);color:var(--promo-text);
    font-size:0.78rem;font-weight:700;letter-spacing:0.2px;
    box-shadow:var(--shadow-sm);
  }
  .spec-badge .ico{width:0.95rem;height:0.95rem;flex:none;}
  .gcard .spec-badge{position:absolute;top:12px;left:12px;z-index:2;margin:0;}
  .modal-body .spec-badge{margin-top:4px;}
  .preview-body .spec-badge{margin-bottom:10px;}
  .gcard-specfoot{
    display:inline-flex;align-items:center;gap:6px;margin-top:10px;
    padding:5px 12px;border-radius:var(--r-pill);
    background:var(--grad-soft);color:var(--promo-text);
    font-size:0.74rem;font-weight:700;letter-spacing:0.2px;
    box-shadow:var(--shadow-sm);
  }
  .gcard-specfoot span{line-height:0;}
  .modal-specfoot{
    display:inline-flex;align-items:center;gap:6px;margin:2px 0 12px;
    padding:5px 12px;border-radius:var(--r-pill);
    background:var(--grad-soft);color:var(--promo-text);
    font-size:0.78rem;font-weight:700;box-shadow:var(--shadow-sm);
  }
