@charset "UTF-8";:root{--color-bg: #f6faf3;--color-bg-elevated: #ffffff;--color-symbol: #a1d600;--color-symbol-strong: #67dc00;--color-symbol-soft: #b3d600;--symbol-gradient: linear-gradient(135deg, #75dc00, #d4ff00);--color-border-subtle: #d6e6c8;--color-text-main: #0f172a;--color-text-muted: #6b7280;--background-greenish-white: rgba(250, 253, 244, .88);--background-greenish-white-elevated: rgba(248, 252, 240, .9);--background-greenish-white-dense: rgba(246, 250, 236, .95);--color-neutral-canvas: #fafff6;--color-ui-fill-muted: rgba(140, 190, 95, .14);--color-ui-fill-hover: rgba(140, 190, 95, .2);--color-ui-icon-stroke: rgba(100, 160, 64, .85);--color-ui-icon-stroke-soft: rgba(100, 160, 64, .75);--color-accent-fill-ghost: rgba(48, 220, 0, .05);--gradient-body-radial-tl: radial-gradient(circle at top left, rgba(48, 220, 0, .04), transparent 40%);--gradient-body-radial-br: radial-gradient(circle at bottom right, rgba(212, 255, 0, .055), transparent 40%);--gradient-sidebar-tint: linear-gradient(180deg, rgba(48, 220, 0, .045), rgba(15, 23, 42, .02));--gradient-section-card-tint: radial-gradient(circle at top left, rgba(48, 220, 0, .08), transparent 60%);--gradient-section-card-tint-strong: radial-gradient(circle at top left, rgba(48, 220, 0, .16), transparent 65%);--gradient-composer-panel-tint: radial-gradient(circle at top left, rgba(48, 220, 0, .16), transparent 62%);--gradient-placeholder-image: linear-gradient(135deg, #e2ecd4, #d0e4b8);--symbol-gradient-translucent: linear-gradient(to right, rgba(48, 200, 40, .78), rgba(200, 220, 60, .78));--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-xs: 5px;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-8: 2rem;--max-width-readable: 720px;--shadow-soft: 0 18px 45px rgba(15, 23, 42, .12);--symbol-shadow: 0 12px 14px #b2d6002b;--transition-fast: .15s ease-out;--transition-med: .22s ease;--sidebar-width: 260px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Pretendard,Segoe UI,sans-serif;color:var(--color-text-main);background:var(--gradient-body-radial-tl),var(--gradient-body-radial-br),#fff}a{color:inherit;text-decoration:none}button{font-family:inherit}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-shell{display:flex;flex:1;min-height:0}.topbar{height:60px;padding:0 1.5rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid rgba(15,23,42,.04);background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.topbar__menu-button{width:36px;height:36px;border-radius:999px;border:1px solid rgba(15,23,42,.06);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.topbar__menu-button span{width:16px;height:2px;border-radius:999px;background:var(--color-text-main);position:relative}.topbar__menu-button span:before,.topbar__menu-button span:after{content:"";position:absolute;left:0;width:16px;height:2px;border-radius:999px;background:inherit}.topbar__menu-button span:before{top:-5px}.topbar__menu-button span:after{bottom:-5px}.topbar__menu-button:hover{background:var(--color-neutral-canvas);box-shadow:0 10px 25px #0f172a14;transform:translateY(-1px)}.topbar__logo{display:flex;align-items:center;gap:.6rem}.topbar__logo-symbol{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;overflow:hidden;flex-shrink:0}.topbar__logo-symbol img{width:100%;height:100%;object-fit:contain;display:block;background-color:transparent}.topbar__logo-text{display:flex;flex-direction:column;line-height:1.05}.topbar__logo-text-main{font-weight:800;letter-spacing:.08em;font-size:.9rem}.topbar__logo-text-sub{font-size:.7rem;color:var(--color-text-muted)}.fab{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:999px;border:none;padding:0;cursor:pointer;background-image:var(--symbol-gradient);color:#ecfeff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--symbol-shadow);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);z-index:60}.fab__icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;line-height:0;margin-bottom:5px;transform:translateY(1px)}.fab:hover{transform:translateY(-2px);box-shadow:var(--symbol-shadow);filter:brightness(1.03)}.composer-overlay{position:fixed;inset:0;border:none;padding:0;cursor:pointer;background:#02061759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.composer-panel{position:fixed;right:22px;bottom:90px;width:min(560px,100vw - 44px);max-height:calc(100vh - 140px);overflow:auto;border-radius:22px;background:var(--color-bg-elevated);border:1px solid var(--color-symbol-soft);box-shadow:var(--shadow-soft);z-index:55}.composer-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1.1rem 1.2rem .6rem;border-bottom:1px solid rgba(15,23,42,.06)}.composer-panel__close{flex:0 0 auto;min-width:54px;height:45px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding-inline:0;white-space:nowrap}@media(max-width:520px){.composer-panel__header{align-items:center}.composer-panel__close{min-width:48px;height:48px}}.composer-panel__title{margin:0;font-size:1.05rem}.composer-panel__subtitle{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.composer-panel__body{padding:1rem 1.2rem 1.2rem}.sidebar--collapsed .sidebar__section-label{text-align:center}.sidebar--collapsed .sidebar__link{justify-content:center;padding-inline:.4rem}.sidebar--collapsed .sidebar__link-label{display:none}.sidebar{width:var(--sidebar-width);padding:1.25rem 1.25rem 1.75rem;border-right:1px solid rgba(15,23,42,.04);background:var(--gradient-sidebar-tint),var(--color-neutral-canvas);display:flex;flex-direction:column;gap:1rem;transition:width var(--transition-med),padding var(--transition-med)}.sidebar--collapsed{width:72px;padding-inline:.75rem}.sidebar__section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:.35rem}.sidebar__nav{display:flex;flex-direction:column;gap:.3rem}.sidebar__link{display:flex;align-items:center;gap:.7rem;padding:.55rem .75rem;border-radius:999px;color:var(--color-text-muted);font-size:.85rem;border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.sidebar__link-icon{width:22px;height:22px;border-radius:999px;background:var(--color-accent-fill-ghost);display:flex;align-items:center;justify-content:center;color:var(--color-symbol-strong);font-size:.8rem}.sidebar__link-label{white-space:nowrap}.sidebar__link:hover{background:#fff;border-color:var(--color-symbol-soft);color:var(--color-text-main);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.sidebar__link--active,.sidebar__link--primary{background-image:var(--symbol-gradient);background-clip:padding-box;color:#ecfeff;border-color:transparent}.sidebar__link--active .sidebar__link-icon,.sidebar__link--primary .sidebar__link-icon{background:#0f172a1a;color:#e0faff}.sidebar__link--active:hover,.sidebar__link--primary:hover{box-shadow:var(--symbol-shadow)}.sidebar-overlay{position:fixed;inset:60px 0 0;border:none;padding:0;cursor:pointer;background:#02061759;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:35;opacity:0;pointer-events:none;transition:opacity var(--transition-med)}.sidebar-overlay--show{opacity:1;pointer-events:auto}.main-content{flex:1;padding:1.5rem 1.75rem 2.5rem;max-width:1120px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:1.5rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}.page-title{font-size:1.6rem;margin:0;letter-spacing:-.02em}.page-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.badge-soft{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;border:1px solid var(--color-symbol-soft);background:var(--color-accent-fill-ghost);color:var(--color-symbol-strong);font-size:.7rem;font-weight:500}.section-card{border-radius:var(--radius-lg);background:var(--color-bg);padding:1.25rem 1.35rem 1.4rem;box-shadow:var(--shadow-soft);border:1px solid var(--color-symbol-soft)}.section-card img{width:100%}.section-card--primary{background:var(--color-bg)}.section-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.9rem;margin-bottom:.9rem}.section-card__title{margin:0;font-size:1.05rem}.section-card__subtitle{margin:.2rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.note-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-content:center}.note-card{border-radius:var(--radius-md);padding:.9rem .95rem;background:#fff;border:1px solid var(--color-symbol-soft);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.5rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.note-card:hover{transform:translateY(-3px);box-shadow:var(--symbol-shadow);border-color:var(--color-symbol-strong)}.note-card--with-image{padding:0;overflow:hidden}.note-card__image-wrapper{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden}.note-card__image{width:100%;height:100%;object-fit:cover;display:block}.note-card__image--placeholder{width:100%;height:100%;background:var(--gradient-placeholder-image)}.note-card__topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem;padding:.5rem .75rem;background:var(--symbol-gradient-translucent);color:#ecfeff;min-height:2.1375rem;box-sizing:border-box}.note-card__topbar-title{flex:1 1 0;min-width:0;font-size:.85rem;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-card__subject--topbar{flex-shrink:0;padding:.1rem .6rem;white-space:nowrap}.note-card__body{padding:.6rem .75rem .75rem}.note-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem}.note-card__subject{padding:.1rem .55rem;border-radius:999px;background:#0000001c;color:#ffffffe6;font-size:.75rem;font-weight:700;line-height:1.25}.note-card__date{color:var(--color-text-muted)}.note-card__title{margin:.1rem 0 0;font-size:.98rem}.note-card__excerpt{margin:0;font-size:.82rem;color:var(--color-text-muted)}.note-card__excerpt--one-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1rem}.note-card__footer{margin-top:.4rem;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.note-card__author{color:var(--color-text-muted)}.pill-button{padding:.25rem .7rem;border-radius:999px;border:none;background:#0f172aeb;color:var(--color-neutral-canvas);font-size:.72rem;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.pill-button:hover{background:#020617;transform:translateY(-1px);box-shadow:0 10px 24px #0f172a59}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.45rem .95rem;border-radius:999px;border:none;background-image:var(--symbol-gradient);color:#ecfeff;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 0 10px var(--color-symbol-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 2px 15px var(--color-symbol-soft);filter:brightness(1.03)}.button-ghost{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--color-symbol-soft);background:var(--background-greenish-white);font-size:.78rem;color:var(--color-text-main);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.button-ghost:hover{border-color:var(--color-symbol-strong);background:#fff;transform:translateY(-1px);box-shadow:0 12px 30px #0f172a14}.button-danger{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(248,113,113,.7);background:#fee2e2cc;font-size:.78rem;color:#b91c1c;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.button-danger:hover{border-color:#dc2626b3;background:#fee2e2;transform:translateY(-1px);box-shadow:0 12px 30px #7f1d1d1f}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.search-input{position:relative;flex:1;min-width:220px}.search-input input{width:100%;padding:.55rem .7rem .55rem 2.1rem;border-radius:999px;border:1px solid var(--color-symbol-soft);background:var(--background-greenish-white-elevated);font-size:.8rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.search-input input:focus{border-color:var(--color-symbol-strong);box-shadow:var(--symbol-shadow);background:#fff}.search-input__icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:999px;border:1px solid var(--color-symbol-soft)}.search-input__icon:before{content:"";position:absolute;inset:3px;border-radius:inherit;border:2px solid var(--color-ui-icon-stroke)}.search-input__icon:after{content:"";position:absolute;right:-5px;bottom:-1px;width:6px;height:2px;border-radius:999px;background:var(--color-ui-icon-stroke);transform:rotate(40deg)}.subject-filter{display:flex;flex-wrap:wrap;gap:.4rem}.subject-filter button{padding:.3rem .7rem;border-radius:999px;border:1px solid var(--color-symbol-soft);background:var(--background-greenish-white-elevated);font-size:.75rem;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.subject-filter button.selected{border-color:var(--color-symbol-strong);background:var(--color-accent-fill-ghost);color:var(--color-symbol-strong);box-shadow:var(--symbol-shadow);transform:translateY(-1px)}.layout-two-columns{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr);gap:1.1rem;align-items:flex-start}.note-form{display:flex;flex-direction:column;gap:.9rem}.note-form__row{border-radius:var(--radius-md);border:1px dashed var(--color-symbol-soft);background:var(--background-greenish-white);padding:.7rem .75rem .8rem;display:flex;flex-direction:column;gap:.55rem}.note-form__row-header{display:flex;align-items:flex-start;justify-content:space-between}.note-form__row-header--split{gap:.75rem}.note-form__header-field{display:flex;flex-direction:column;gap:.3rem;flex:1}.note-form__header-field--subject{flex:0 0 auto;min-width:110px;max-width:36%}@media(max-width:520px){.note-form__row-header--split{flex-direction:column;align-items:stretch}.note-form__header-field--subject{width:100%;max-width:100%;min-width:0}}.note-form__header-field--subject{flex:0 0 auto;width:150px}.note-form__row-title{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.note-form__fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.5rem .75rem;align-items:flex-start}.note-form__fields--single{grid-template-columns:minmax(0,1fr)}.note-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-text-muted)}.note-form input[type=text],.note-form input[type=search]{border-radius:999px;border:1px solid var(--color-symbol-soft);padding:.4rem .7rem;font-size:.8rem;background:#fff;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.note-form input[type=text]:focus,.note-form input[type=search]:focus{border-color:var(--color-symbol-strong);box-shadow:var(--symbol-shadow)}.note-form__message textarea{border-radius:14px;border:1px solid var(--color-symbol-soft);padding:.55rem .7rem;font-size:.8rem;resize:none;min-height:120px;background:#fff;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.note-form__message textarea:focus{border-color:var(--color-symbol-strong);box-shadow:var(--symbol-shadow);background:#fff}.note-form__file{grid-column:1/-1;display:flex;flex-direction:column;gap:.4rem}.note-form__file-label{font-size:.75rem;color:var(--color-text-muted)}.note-form__file-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.note-form__file-trigger{padding-inline:.8rem}.note-form__file-name{font-size:.75rem;color:var(--color-text-muted)}.note-form__file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0 0 0 0);overflow:hidden}.note-form__preview{width:140px;height:100px;border-radius:10px;background-size:cover;background-position:center;border:1px solid var(--color-symbol-soft);box-shadow:0 10px 26px #0f172a24}.note-form__preview-list{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.55rem}.note-form__preview-wrapper{position:relative;width:140px;height:100px;overflow:hidden;border-radius:10px}.note-form__preview-remove{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:999px;border:none;padding:0;cursor:pointer;background:#0f172ae6;color:#e5f9ff;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast)}.note-form__preview-wrapper:hover .note-form__preview-remove{opacity:1;pointer-events:auto;transform:translateY(-1px)}.note-form__row-remove{font-size:.75rem}.subject-select{position:relative}.subject-select__button{width:100%;height:29.3px;margin-top:-1px;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--color-symbol-soft);background:#fff;font-size:.8rem;cursor:pointer;color:var(--color-text-main);transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.subject-select__button:hover{background:var(--background-greenish-white-dense);border-color:var(--color-symbol-soft);box-shadow:var(--symbol-shadow);transform:translateY(-1px)}.subject-select__chevron{font-size:.8rem;color:var(--color-text-muted)}.subject-select__menu{position:absolute;inset-inline:0;top:calc(100% + .25rem);border-radius:14px;background:#fff;box-shadow:0 20px 55px #0f172a33;border:1px solid var(--color-symbol-soft);padding:.25rem;z-index:10}.subject-select__option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.3rem .5rem;border-radius:999px;border:none;background:transparent;font-size:.8rem;cursor:pointer;color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.subject-select__option:hover{background:var(--color-ui-fill-muted);transform:translateY(-.5px)}.subject-select__option.selected{background:var(--color-accent-fill-ghost);color:var(--color-symbol-strong);border-color:var(--color-symbol-strong)}.subject-select__option-label{flex:1;text-align:left}.note-dropzone{margin-top:.6rem;border-radius:16px;border:1.5px dashed var(--color-symbol-soft);background:var(--background-greenish-white-elevated);padding:.7rem .75rem}.note-dropzone__inner{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;color:var(--color-text-muted)}.note-dropzone__strong{color:var(--color-symbol-strong)}.note-form__actions{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.note-group-list{display:flex;flex-direction:column;gap:.9rem;max-height:520px;overflow:auto;padding-right:.3rem}.note-group{border-radius:var(--radius-md);border:1px solid var(--color-symbol-soft);background:var(--background-greenish-white);padding:.7rem .75rem .8rem}.note-group__date{margin-bottom:.5rem}.note-group__date-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .65rem;border-radius:999px;background:#0f172adb;color:#e5f9ff;font-size:.7rem}.note-group__items{display:flex;flex-direction:column;gap:.45rem}.note-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.6rem;align-items:center;padding:.45rem .4rem;border-radius:var(--radius-sm);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.note-row__subject{font-size:.75rem;font-weight:600;color:var(--color-symbol-strong)}.note-row__main{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.note-row__title{margin:0;font-size:.85rem}.note-row__thumb{width:44px;height:32px;border-radius:9px;background-size:cover;background-position:center;background-color:var(--color-ui-fill-hover);border:1px solid var(--color-symbol-soft)}.note-row:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:var(--shadow-soft)}.empty-state{margin:.3rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.page--note-detail .danger-section,.page--note-detail .note-detail-container{display:flex;align-items:center;justify-content:center}.page--note-detail .note-detail{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;max-width:var(--max-width-readable)}.page--note-detail .note-detail__images{display:flex;flex-direction:column;gap:var(--space-3)}.page--note-detail .note-detail__actions{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end;flex-wrap:wrap}.page--note-detail .note-detail__image{width:100%;border-radius:var(--radius-xs);display:block;object-fit:contain;box-shadow:var(--shadow-soft)}.page--note-detail .divider{border:none;border-top:1px solid var(--color-border-subtle);margin:var(--space-8) 0}.page--seat{gap:1.25rem}.seat-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.seat-toolbar__grow{flex:1;min-width:0}.seat-control-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem 1rem;align-items:end}.seat-field{display:flex;flex-direction:column;gap:.25rem}.seat-field label{font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.seat-field input[type=number],.seat-field input[type=text]{padding:.4rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-symbol-soft);background:var(--color-bg-elevated);font-size:.85rem}.seat-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:1.25rem;align-items:start}@media(max-width:900px){.seat-layout{grid-template-columns:1fr}}.seat-panel{border-radius:var(--radius-lg);background:var(--color-bg-elevated);border:1px solid var(--color-symbol-soft);padding:1rem 1.1rem 1.15rem;box-shadow:var(--shadow-soft)}.seat-panel__title{margin:0 0 .65rem;font-size:.95rem;font-weight:700;letter-spacing:-.02em}.seat-panel__hint{margin:0 0 .75rem;font-size:.78rem;color:var(--color-text-muted);line-height:1.45}.seat-add-row{display:flex;gap:.45rem;margin-bottom:.75rem}.seat-add-row input{flex:1;min-width:0}.seat-people{display:flex;flex-direction:column;gap:.4rem;max-height:280px;overflow-y:auto}.seat-person{display:grid;grid-template-columns:1fr auto;gap:.35rem .5rem;align-items:center;padding:.35rem .45rem;border-radius:var(--radius-sm);border:1px solid var(--color-symbol-soft);background:var(--color-neutral-canvas)}.seat-person__name{font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-person__row2{grid-column:1/-1;display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--color-text-muted)}.seat-person__row2 input{width:.85rem;height:.85rem;accent-color:var(--color-symbol-soft)}.seat-stage-wrap{border-radius:var(--radius-lg);background:var(--background-greenish-white-dense);border:1px solid var(--color-symbol-soft);padding:1rem 1.1rem 1.2rem}.seat-stage-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem}.seat-teacher-desk{display:flex;align-items:center;justify-content:center;min-height:2.6rem;border-radius:var(--radius-md);background:var(--color-symbol-soft);color:#f8fafc;font-weight:700;font-size:.9rem;letter-spacing:.12em;box-shadow:var(--shadow-soft)}.seat-teacher-desk--top{margin-bottom:.65rem}.seat-teacher-desk--bottom{margin-top:.65rem}.seat-hall{display:flex;flex-direction:column;align-items:center;gap:.5rem;transform-origin:center center}.seat-hall--flip,.seat-hall--flip .seat-cell{transform:rotate(180deg)}.seat-grid{--seat-division-gap: .65rem;display:grid;gap:.35rem;row-gap:.35rem;column-gap:0;width:100%;max-width:min(100%,720px)}.seat-cell{margin:2px;aspect-ratio:1;min-height:44px;min-width:0;border-radius:var(--radius-xs);border:2px solid var(--color-ui-fill-muted);background:var(--color-bg-elevated);cursor:pointer;padding:.15rem;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(.55rem,1.6vw,.72rem);font-weight:600;line-height:1.15;word-break:keep-all;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.seat-cell:hover:not(:disabled){border-color:var(--color-symbol-soft);box-shadow:var(--symbol-shadow)}.seat-cell--blocked{cursor:pointer;border-style:dashed;border-color:var(--color-text-muted);background:repeating-linear-gradient(-45deg,#94a3b829,#94a3b829 5px,#94a3b80f 5px 10px);color:transparent}.seat-cell--blocked:after{content:"—";font-size:.65rem;color:var(--color-text-muted)}.seat-cell--filled{background:var(--color-accent-fill-ghost);border-color:var(--color-symbol-soft);color:var(--color-text-main);cursor:default}.seat-cell--reserved{border-style:solid;border-width:2px;border-color:var(--color-symbol-strong);background:#b3d6001f;cursor:grab}.seat-cell--reserved:active{cursor:grabbing}.seat-cell--draggable-seat{cursor:grab}.seat-cell--draggable-seat:active{cursor:grabbing}.seat-cell--rolling{background:linear-gradient(135deg,#b3d60052,#22c55e2e);border-color:var(--color-symbol-strong);color:var(--color-text-main);box-shadow:0 0 0 2px #b3d6002e,0 4px 14px #0f172a1f;animation:seat-roll-pulse .36s ease-in-out infinite alternate;cursor:default}@keyframes seat-roll-pulse{0%{transform:translateY(-1.5px) scale(.985)}to{transform:translateY(1.5px) scale(1.015)}}.seat-cell--reveal{animation:seat-reveal-flash .7s cubic-bezier(.22,1.4,.36,1) both;z-index:1}@keyframes seat-reveal-flash{0%{transform:scale(.7);background:#b3d600a6;box-shadow:0 0 0 8px #b3d60059}55%{transform:scale(1.12);background:#b3d60059;box-shadow:0 0 0 4px #b3d6002e}to{transform:scale(1);box-shadow:0 0 #b3d60000}}.seat-person--draggable{cursor:grab}.seat-person--draggable:active{cursor:grabbing}.seat-split-field{grid-column:1/-1}.seat-badge{font-size:.65rem;font-weight:600;color:var(--color-symbol-strong)}.seat-cell:disabled{cursor:default;opacity:1}.seat-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:.75rem;font-size:.72rem;color:var(--color-text-muted)}.seat-legend span{display:inline-flex;align-items:center;gap:.3rem}.seat-legend__swatch{width:.85rem;height:.85rem;border-radius:3px;border:1px solid var(--color-symbol-soft);background:var(--color-bg-elevated)}.seat-legend__swatch--blocked{background:repeating-linear-gradient(-45deg,#94a3b838,#94a3b838 3px,#94a3b814 3px 6px)}.seat-legend__swatch--front{border-color:var(--color-symbol-soft);box-shadow:var(--shadow-soft)}.seat-export-target{background:var(--background-greenish-white-dense);padding:.75rem;border-radius:var(--radius-md)}.seat-export-title{text-align:center;font-size:.85rem;font-weight:700;color:var(--color-text-muted);margin:0 0 .5rem}.seat-alert{padding:.45rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;background:#dc262614;border:1px solid rgba(220,38,38,.28);color:#991b1b}.seat-draw-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0f172aa6,#0f172ad9 70%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:seat-overlay-fade .25s ease-out}@keyframes seat-overlay-fade{0%{opacity:0}to{opacity:1}}.seat-draw-overlay__inner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 2rem}.seat-draw-overlay__hint{margin:0;font-size:.95rem;font-weight:600;letter-spacing:.18em;color:#ffffffd1;text-transform:uppercase}.seat-draw-overlay__num{font-size:clamp(7rem,22vw,16rem);font-weight:900;line-height:1;color:#fff;text-shadow:0 0 36px rgba(179,214,0,.45),0 12px 48px rgba(0,0,0,.55);animation:seat-draw-pop .7s cubic-bezier(.18,1.5,.4,1) both;-webkit-user-select:none;user-select:none;letter-spacing:-.04em}.seat-draw-overlay__num--final{background:linear-gradient(135deg,#d9ff3b,#b3d600 60%,#80d0ff);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 12px 48px rgba(179,214,0,.45);animation:seat-draw-pop-final .85s cubic-bezier(.18,1.5,.4,1) both;font-size:clamp(4.5rem,16vw,11rem)}@keyframes seat-draw-pop{0%{transform:scale(.35);opacity:0;filter:blur(8px)}50%{transform:scale(1.18);opacity:1;filter:blur(0)}to{transform:scale(1);opacity:1}}@keyframes seat-draw-pop-final{0%{transform:scale(.5) rotate(-4deg);opacity:0}45%{transform:scale(1.25) rotate(2deg);opacity:1}70%{transform:scale(.96) rotate(-1deg)}to{transform:scale(1) rotate(0);opacity:1}}.seat-draw-overlay__dots{display:inline-flex;gap:.45rem}.seat-draw-overlay__dots span{width:.55rem;height:.55rem;border-radius:50%;background:#ffffff8c;animation:seat-draw-dot 1.05s ease-in-out infinite both}.seat-draw-overlay__dots span:nth-child(2){animation-delay:.15s}.seat-draw-overlay__dots span:nth-child(3){animation-delay:.3s}@keyframes seat-draw-dot{0%,80%,to{transform:scale(.6);opacity:.45}40%{transform:scale(1.15);opacity:1}}@media print{.topbar,.sidebar,.sidebar-overlay{display:none!important}.app-shell{display:block!important}.main-content{max-width:none!important;padding:0!important;margin:0!important}.page--seat{gap:0!important;padding:0!important}.page--seat>.page-header,.page--seat>.seat-toolbar,.page--seat>.seat-alert,.page--seat .seat-panel,.page--seat .seat-stage-actions,.page--seat .seat-legend{display:none!important}.seat-no-print{display:none!important}.page--seat .seat-layout{display:block!important;gap:0!important}.page--seat .seat-stage-wrap{border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important}.page--seat .seat-export-target{background:#fafff6!important;padding:.75rem!important;border-radius:var(--radius-md);max-width:720px;margin:0 auto}@page{margin:12mm}}.page--agent{display:flex;flex-direction:column;gap:var(--space-4);min-height:min(70vh,640px)}.agent-chat{display:flex;flex-direction:column;flex:1;min-height:0;border-radius:var(--radius-lg);border:1px solid var(--color-symbol-soft);background:var(--color-bg-elevated);box-shadow:var(--shadow-soft);overflow:hidden}.agent-chat__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle)}.agent-chat__avatar{width:2.75rem;height:2.75rem;border-radius:var(--radius-md);object-fit:cover;border:none;box-shadow:var(--symbol-shadow);flex-shrink:0}.agent-chat__meta{min-width:0}.agent-chat__title{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-main);letter-spacing:-.02em}.agent-chat__subtitle{margin:.15rem 0 0;font-size:.78rem;color:var(--color-text-muted)}.agent-chat__scroll{flex:1;min-height:200px;max-height:min(52vh,480px);overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-neutral-canvas)}.agent-chat__empty{margin:auto;text-align:center;font-size:.85rem;color:var(--color-text-muted);line-height:1.5;max-width:18rem}.agent-msg{display:flex;gap:var(--space-3);max-width:92%}.agent-msg--user{align-self:flex-end;flex-direction:row-reverse}.agent-msg__body{display:flex;flex-direction:column;gap:.4rem;min-width:0}.agent-msg__bubble{padding:.55rem .75rem;border-radius:var(--radius-md);font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--color-text-main)}.agent-msg__caret{display:inline-block;width:.45rem;height:1em;margin-left:1px;vertical-align:-2px;background:currentColor;opacity:.55;animation:agent-caret 1s steps(2,start) infinite}@keyframes agent-caret{0%,50%{opacity:.55}51%,to{opacity:0}}.agent-msg__navigate{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:var(--radius-sm);font-size:.75rem;background:var(--color-accent-fill-ghost);border:1px dashed var(--color-symbol-soft);align-self:flex-start}.agent-msg__navigate-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;color:var(--color-text-main)}.agent-msg__navigate-hint{color:var(--color-text-muted)}.agent-trace{list-style:none;margin:0;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.35rem;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border-subtle);font-size:.78rem;line-height:1.4}.agent-trace__item{display:flex;align-items:flex-start;gap:.45rem;color:var(--color-text-muted)}.agent-trace__dot{width:.45rem;height:.45rem;border-radius:50%;flex-shrink:0;margin-top:.4rem;background:var(--color-symbol)}.agent-trace__item--thought .agent-trace__dot{background:var(--color-text-muted);opacity:.55}.agent-trace__item--running .agent-trace__dot{background:var(--color-symbol);animation:agent-trace-pulse 1.1s ease-in-out infinite}.agent-trace__item--success .agent-trace__dot{background:#16a34a}.agent-trace__item--error .agent-trace__dot{background:#dc2626}.agent-trace__tool-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.agent-trace__text{color:var(--color-text-main);font-weight:500;word-break:break-word}.agent-trace__item--thought .agent-trace__text{color:var(--color-text-muted);font-weight:400;font-style:italic}.agent-trace__preview{color:var(--color-text-muted);font-size:.72rem;white-space:pre-wrap;word-break:break-word;max-height:4.5rem;overflow:hidden;text-overflow:ellipsis}@keyframes agent-trace-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.agent-msg--ipari .agent-msg__bubble{background:var(--color-bg-elevated);border:1px solid var(--color-symbol-soft);box-shadow:0 4px 14px #64a0401f}.agent-msg--user .agent-msg__bubble{background:var(--color-accent-fill-ghost);border:1px solid var(--color-border-subtle)}.agent-msg__avatar{width:2rem;height:2rem;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--color-symbol-soft);flex-shrink:0;align-self:flex-end}.agent-msg--user .agent-msg__avatar{display:none}.agent-chat__composer{display:flex;gap:var(--space-2);align-items:flex-end;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);background:var(--color-bg-elevated)}.agent-chat__textarea{flex:1;min-height:2.75rem;max-height:8rem;resize:vertical;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--color-symbol-soft);background:var(--color-bg-elevated);color:var(--color-text-main);font-size:.88rem;font-family:inherit;line-height:1.4;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.agent-chat__textarea:focus{border-color:var(--color-symbol-strong);box-shadow:var(--shadow-soft)}.agent-chat__send{flex-shrink:0}.agent-chat__typing{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.75rem;color:var(--color-text-muted)}.agent-chat__typing-dot{width:.35rem;height:.35rem;border-radius:50%;background:var(--color-symbol);animation:agent-typing 1.2s ease-in-out infinite}.agent-chat__typing-dot:nth-child(2){animation-delay:.15s}.agent-chat__typing-dot:nth-child(3){animation-delay:.3s}@keyframes agent-typing{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.agent-chat__error{margin:0 var(--space-4) var(--space-3);padding:.45rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;color:#991b1b;background:#fee2e2d9;border:1px solid rgba(248,113,113,.45)}.agent-chat__close{margin-left:auto;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;transition:background var(--transition-fast),color var(--transition-fast)}.agent-chat__close:hover{background:var(--color-ui-fill-hover);color:var(--color-text-main)}.agent-note-bar-list{display:flex;flex-direction:column;gap:.3rem;width:100%}.agent-note-bar{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .55rem;border-radius:var(--radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);text-decoration:none;color:var(--color-text-main);font-size:.82rem;line-height:1.3;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);max-width:100%;min-width:0}.agent-note-bar:hover{background:var(--color-ui-fill-muted);border-color:var(--color-symbol-soft);transform:translate(1px)}.agent-note-bar:focus-visible{outline:2px solid var(--color-symbol-strong);outline-offset:2px}.agent-note-bar__cover{width:1.25em;height:1.25em;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--gradient-placeholder-image);position:relative;display:inline-flex;align-items:center;justify-content:center}.agent-note-bar__cover img{width:100%;height:100%;object-fit:cover;display:block}.agent-note-bar__cover-fallback{font-size:.7em;font-weight:700;color:#0f172a8c;line-height:1}.agent-note-bar__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.agent-trace__item--notes{flex-direction:column;align-items:stretch;gap:.4rem}.agent-trace__item--notes .agent-trace__dot{display:none}.ipari-fab{position:fixed;left:var(--space-4);bottom:var(--space-4);width:3.5rem;height:3.5rem;border-radius:999px;border:none;background:var(--symbol-gradient);box-shadow:var(--shadow-soft),0 0 0 1px #fff6 inset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-main);transition:transform var(--transition-fast),box-shadow var(--transition-fast);z-index:60}.ipari-fab img{width:2.25rem;height:2.25rem;border-radius:50%;object-fit:cover}.ipari-fab:hover{transform:translateY(-2px) scale(1.04)}.ipari-fab:active{transform:translateY(0) scale(.98)}.ipari-fab--active{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle)}.ipari-fab__close{font-size:1.1rem;color:var(--color-text-main);line-height:1}.ipari-fab__pulse{position:absolute;inset:-4px;border-radius:999px;border:2px solid var(--color-symbol-strong);animation:ipari-fab-pulse 1.4s ease-out infinite;pointer-events:none}@keyframes ipari-fab-pulse{0%{transform:scale(.85);opacity:.6}to{transform:scale(1.25);opacity:0}}.ipari-bubble{position:fixed;left:var(--space-4);bottom:calc(var(--space-4) + 4.25rem);width:min(22rem,100vw - 2 * var(--space-4));max-height:min(34rem,100vh - 7rem);z-index:59;animation:ipari-bubble-in .22s ease-out}.ipari-bubble .agent-chat{height:min(34rem,100vh - 7rem);box-shadow:0 24px 60px #0f172a38;border-radius:var(--radius-lg)}.ipari-bubble .agent-chat__scroll{max-height:none}.agent-chat--bubble{height:100%;display:flex;flex-direction:column}@keyframes ipari-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.ipari-bubble{left:var(--space-2);right:var(--space-2);width:auto}}@media(max-width:900px){.layout-two-columns{grid-template-columns:minmax(0,1fr)}.page-header{flex-direction:column;align-items:flex-start}.main-content{padding-inline:1.1rem}}@media(max-width:720px){.sidebar{display:flex;position:fixed;top:60px;left:0;height:calc(100vh - 60px);z-index:40;width:min(var(--sidebar-width),86vw);transform:translate(-105%);transition:transform var(--transition-med);box-shadow:0 24px 60px #0f172a38}.sidebar.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:min(var(--sidebar-width),86vw);padding-inline:1.25rem}.sidebar--collapsed .sidebar__link{justify-content:flex-start;padding-inline:.75rem}.sidebar--collapsed .sidebar__link-label{display:inline}.main-content{max-width:100%}.section-card{border-radius:18px}.note-form__fields{grid-template-columns:minmax(0,1fr)}.composer-panel{right:10px;left:10px;width:auto;bottom:10px;max-height:calc(100vh - 20px);border-radius:22px}}@media(max-width:520px){.topbar{padding-inline:1rem}.page-title{font-size:1.35rem}.section-card{padding-inline:1rem}}
